1 | <?php
|
---|
2 | /*
|
---|
3 | * Project Name: MiniManager for Mangos Server
|
---|
4 | * Date: 17.10.2006 inital version (0.0.1a)
|
---|
5 | * Author: Q.SA
|
---|
6 | * Copyright: Q.SA
|
---|
7 | * Email: *****
|
---|
8 | * License: GNU General Public License v2(GPL)
|
---|
9 | */
|
---|
10 | require_once("header.php");
|
---|
11 | valid_login(0);
|
---|
12 | require_once("scripts/id_tab.php");
|
---|
13 | require_once("scripts/get_lib.php");
|
---|
14 | require_once("scripts/defines.php");
|
---|
15 |
|
---|
16 | //resetování postavy
|
---|
17 | if (array_key_exists('reset', $_GET)) {
|
---|
18 | $sql = new SQL;
|
---|
19 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
20 |
|
---|
21 | $sql_home = mysql_query("SELECT * FROM `character_homebind` WHERE `guid` = '".$_GET['id']."' LIMIT 1");
|
---|
22 | $load_home = mysql_fetch_array($sql_home);
|
---|
23 | $home_char_map = $load_home["map"];
|
---|
24 | $home_char_position_x = $load_home["position_x"];
|
---|
25 | $home_char_position_y = $load_home["position_y"];
|
---|
26 | $home_char_position_z = $load_home["position_z"];
|
---|
27 | if (isset($home_char_map) AND isset ($home_char_position_x) AND isset ($home_char_position_y) AND isset ($home_char_position_z))
|
---|
28 | {
|
---|
29 | mysql_query("UPDATE `character` SET
|
---|
30 | `map` = '".$home_char_map."' ,
|
---|
31 | `position_x` ='".$home_char_position_x."' ,
|
---|
32 | `position_y` = '".$home_char_position_y."' ,
|
---|
33 | `position_z` = '".$home_char_position_z."'
|
---|
34 | WHERE `guid` ='".$_GET['id']."' LIMIT 1");
|
---|
35 | }
|
---|
36 | echo '
|
---|
37 | <script>
|
---|
38 | alert("Pozice postavy byla resetována!");
|
---|
39 | </script>';
|
---|
40 | }
|
---|
41 |
|
---|
42 | if (array_key_exists('reset_xp', $_GET))
|
---|
43 | {
|
---|
44 | // poradi v data
|
---|
45 | $poradi = 857;
|
---|
46 | $poradi = $poradi - 1;
|
---|
47 | $sql = new SQL;
|
---|
48 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
49 | $sql_res = mysql_query("SELECT * FROM `character` WHERE `guid` = '".$_GET['id']."' LIMIT 1");
|
---|
50 | $load_res = mysql_fetch_array($sql_res);
|
---|
51 | $data_old = $load_res["data"];
|
---|
52 | $pole = explode(" " , $data_old);
|
---|
53 | $pole[$poradi] = "0";
|
---|
54 | $save = mysql_query("UPDATE `character` SET `data` = '".implode(" ",$pole)."' WHERE `guid` ='".$_GET['id']."' LIMIT 1");
|
---|
55 | $sql_res_k = mysql_query("SELECT * FROM `character` WHERE `guid` = '".$_GET['id']."' LIMIT 1", $GLOBALS["dbspojeni"]);
|
---|
56 | $load_res_k = mysql_fetch_array($sql_res_k);
|
---|
57 | $pole_k = explode(" ",$load_res["data"]);
|
---|
58 | if ($pole[$poradi] == "0")
|
---|
59 | {
|
---|
60 | echo "<script>alert(\"Pozice postavy byla resetována!\");</script>";
|
---|
61 | }
|
---|
62 | }
|
---|
63 |
|
---|
64 |
|
---|
65 | //########################################################################################################################
|
---|
66 | // SHOW GENERAL CHARACTERS INFO
|
---|
67 | //########################################################################################################################
|
---|
68 | function char_main() {
|
---|
69 | global $lang_global, $lang_char, $lang_item, $output, $realm_db, $characters_db, $realm_id, $user_lvl,$mangos_db,
|
---|
70 | $user_name, $item_datasite, $server, $user_id;
|
---|
71 |
|
---|
72 | if (empty($_GET['id'])) error($lang_global['empty_fields']);
|
---|
73 |
|
---|
74 | $sql = new SQL;
|
---|
75 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
76 |
|
---|
77 | $id = $sql->quote_smart($_GET['id']);
|
---|
78 |
|
---|
79 | $result = $sql->query("SELECT account,race FROM `character` WHERE guid = $id LIMIT 1");
|
---|
80 |
|
---|
81 | if ($sql->num_rows($result)){
|
---|
82 | //resrict by owner's gmlvl
|
---|
83 | $owner_acc_id = $sql->result($result, 0, 'account');
|
---|
84 | $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
|
---|
85 | $query = $sql->query("SELECT gmlevel,username FROM account WHERE id = $owner_acc_id");
|
---|
86 | $owner_gmlvl = $sql->result($query, 0, 'gmlevel');
|
---|
87 | $owner_name = $sql->result($query, 0, 'username');
|
---|
88 |
|
---|
89 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
90 |
|
---|
91 | if( !$user_lvl && !$server[$realm_id]['both_factions']){
|
---|
92 | $side_p = (in_array($sql->result($result, 0, 'race'),array(2,5,6,8,10))) ? 1 : 2;
|
---|
93 | $result_1 = $sql->query("SELECT race FROM `character` WHERE account = '$user_id' LIMIT 1");
|
---|
94 | if ($sql->num_rows($result)){
|
---|
95 | $side_v = (in_array($sql->result($result_1, 0, 'race'),array(2,5,6,8,10))) ? 1 : 2;
|
---|
96 | } else $side_v = 0;
|
---|
97 | unset($result_1);
|
---|
98 | } else {
|
---|
99 | $side_v = 0;
|
---|
100 | $side_p = 0;
|
---|
101 | }
|
---|
102 |
|
---|
103 | if ($user_lvl >= $owner_gmlvl && (($side_v == $side_p) || !$side_v)){
|
---|
104 |
|
---|
105 | $result = $sql->query("SELECT data,name,race,class,zone,map,online,totaltime FROM `character` WHERE guid = '$id'");
|
---|
106 | $char = $sql->fetch_row($result);
|
---|
107 | $char_data = explode(' ',$char[0]);
|
---|
108 |
|
---|
109 | $online = ($char[6]) ? $lang_char['online'] : $lang_char['offline'];
|
---|
110 |
|
---|
111 | if($char_data[CHAR_DATA_OFFSET_GUILD_ID]){
|
---|
112 | $query = $sql->query("SELECT name FROM guild WHERE guildid ='{$char_data[CHAR_DATA_OFFSET_GUILD_ID]}'");
|
---|
113 | $guild_name = $sql->result($query, 0, 'name');
|
---|
114 | if ($user_lvl > 0 ) $guild_name = "<a href=\"guild.php?action=view_guild&error=3&id={$char_data[CHAR_DATA_OFFSET_GUILD_ID]}\" >$guild_name</a>";
|
---|
115 | if ($char_data[CHAR_DATA_OFFSET_GUILD_RANK]){
|
---|
116 | $guild_rank_query = $sql->query("SELECT rname FROM guild_rank WHERE guildid ='{$char_data[CHAR_DATA_OFFSET_GUILD_ID]}' AND rid='{$char_data[CHAR_DATA_OFFSET_GUILD_RANK]}'");
|
---|
117 | $guild_rank = $sql->result($guild_rank_query, 0, 'rname');
|
---|
118 | } else $guild_rank = $lang_char['guild_leader'];
|
---|
119 | } else {
|
---|
120 | $guild_name = $lang_global['none'];
|
---|
121 | $guild_rank = $lang_global['none'];
|
---|
122 | }
|
---|
123 |
|
---|
124 | $block = unpack("f", pack("L", $char_data[CHAR_DATA_OFFSET_BLOCK]));
|
---|
125 | $block = round($block[1],2);
|
---|
126 | $dodge = unpack("f", pack("L", $char_data[CHAR_DATA_OFFSET_DODGE]));
|
---|
127 | $dodge = round($dodge[1],2);
|
---|
128 | $parry = unpack("f", pack("L", $char_data[CHAR_DATA_OFFSET_PARRY]));
|
---|
129 | $parry = round($parry[1],2);
|
---|
130 | $crit = unpack("f", pack("L", $char_data[CHAR_DATA_OFFSET_CRIT]));
|
---|
131 | $crit = round($crit[1],2);
|
---|
132 | $range_crit = unpack("f", pack("L", $char_data[CHAR_DATA_OFFSET_RANGE_CRIT]));
|
---|
133 | $range_crit = round($range_crit[1],2);
|
---|
134 |
|
---|
135 | $equiped_items = array(
|
---|
136 | 1 => array(($char_data[CHAR_DATA_OFFSET_EQU_HEAD]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_HEAD]):0),($char_data[CHAR_DATA_OFFSET_EQU_HEAD]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_HEAD]):0),($char_data[CHAR_DATA_OFFSET_EQU_HEAD]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_HEAD]):0)),
|
---|
137 | 2 => array(($char_data[CHAR_DATA_OFFSET_EQU_NECK]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_NECK]):0),($char_data[CHAR_DATA_OFFSET_EQU_NECK]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_NECK]):0),($char_data[CHAR_DATA_OFFSET_EQU_NECK]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_NECK]):0)),
|
---|
138 | 3 => array(($char_data[CHAR_DATA_OFFSET_EQU_SHOULDER]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_SHOULDER]):0),($char_data[CHAR_DATA_OFFSET_EQU_SHOULDER]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_SHOULDER]):0),($char_data[CHAR_DATA_OFFSET_EQU_SHOULDER]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_SHOULDER]):0)),
|
---|
139 | 4 => array(($char_data[CHAR_DATA_OFFSET_EQU_SHIRT]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_SHIRT]):0),($char_data[CHAR_DATA_OFFSET_EQU_SHIRT]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_SHIRT]):0),($char_data[CHAR_DATA_OFFSET_EQU_SHIRT]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_SHIRT]):0)),
|
---|
140 | 5 => array(($char_data[CHAR_DATA_OFFSET_EQU_CHEST]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_CHEST]):0),($char_data[CHAR_DATA_OFFSET_EQU_CHEST]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_CHEST]):0),($char_data[CHAR_DATA_OFFSET_EQU_CHEST]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_CHEST]):0)),
|
---|
141 | 6 => array(($char_data[CHAR_DATA_OFFSET_EQU_BELT]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_BELT]):0),($char_data[CHAR_DATA_OFFSET_EQU_BELT]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_BELT]):0),($char_data[CHAR_DATA_OFFSET_EQU_BELT]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_BELT]):0)),
|
---|
142 | 7 => array(($char_data[CHAR_DATA_OFFSET_EQU_LEGS]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_LEGS]):0),($char_data[CHAR_DATA_OFFSET_EQU_LEGS]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_LEGS]):0),($char_data[CHAR_DATA_OFFSET_EQU_LEGS]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_LEGS]):0)),
|
---|
143 | 8 => array(($char_data[CHAR_DATA_OFFSET_EQU_FEET]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_FEET]):0),($char_data[CHAR_DATA_OFFSET_EQU_FEET]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_FEET]):0),($char_data[CHAR_DATA_OFFSET_EQU_FEET]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_FEET]):0)),
|
---|
144 | 9 => array(($char_data[CHAR_DATA_OFFSET_EQU_WRIST]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_WRIST]):0),($char_data[CHAR_DATA_OFFSET_EQU_WRIST]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_WRIST]):0),($char_data[CHAR_DATA_OFFSET_EQU_WRIST]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_WRIST]):0)),
|
---|
145 | 10 => array(($char_data[CHAR_DATA_OFFSET_EQU_GLOVES]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_GLOVES]):0),($char_data[CHAR_DATA_OFFSET_EQU_GLOVES]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_GLOVES]):0),($char_data[CHAR_DATA_OFFSET_EQU_GLOVES]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_GLOVES]):0)),
|
---|
146 | 11 => array(($char_data[CHAR_DATA_OFFSET_EQU_FINGER1]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_FINGER1]):0),($char_data[CHAR_DATA_OFFSET_EQU_FINGER1]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_FINGER1]):0),($char_data[CHAR_DATA_OFFSET_EQU_FINGER1]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_FINGER1]):0)),
|
---|
147 | 12 => array(($char_data[CHAR_DATA_OFFSET_EQU_FINGER2]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_FINGER2]):0),($char_data[CHAR_DATA_OFFSET_EQU_FINGER2]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_FINGER2]):0),($char_data[CHAR_DATA_OFFSET_EQU_FINGER2]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_FINGER2]):0)),
|
---|
148 | 13 => array(($char_data[CHAR_DATA_OFFSET_EQU_TRINKET1]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_TRINKET1]):0),($char_data[CHAR_DATA_OFFSET_EQU_TRINKET1]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_TRINKET1]):0),($char_data[CHAR_DATA_OFFSET_EQU_TRINKET1]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_TRINKET1]):0)),
|
---|
149 | 14 => array(($char_data[CHAR_DATA_OFFSET_EQU_TRINKET2]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_TRINKET2]):0),($char_data[CHAR_DATA_OFFSET_EQU_TRINKET2]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_TRINKET2]):0),($char_data[CHAR_DATA_OFFSET_EQU_TRINKET2]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_TRINKET2]):0)),
|
---|
150 | 15 => array(($char_data[CHAR_DATA_OFFSET_EQU_BACK]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_BACK]):0),($char_data[CHAR_DATA_OFFSET_EQU_BACK]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_BACK]):0),($char_data[CHAR_DATA_OFFSET_EQU_BACK]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_BACK]):0)),
|
---|
151 | 16 => array(($char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND]):0),($char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND]):0),($char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND]):0)),
|
---|
152 | 17 => array(($char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND]):0),($char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND]):0),($char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND]):0)),
|
---|
153 | 18 => array(($char_data[CHAR_DATA_OFFSET_EQU_RANGED]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_RANGED]):0),($char_data[CHAR_DATA_OFFSET_EQU_RANGED]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_RANGED]):0),($char_data[CHAR_DATA_OFFSET_EQU_RANGED]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_RANGED]):0)),
|
---|
154 | 19 => array(($char_data[CHAR_DATA_OFFSET_EQU_TABARD]?get_item_tooltip($char_data[CHAR_DATA_OFFSET_EQU_TABARD]):0),($char_data[CHAR_DATA_OFFSET_EQU_TABARD]?get_icon($char_data[CHAR_DATA_OFFSET_EQU_TABARD]):0),($char_data[CHAR_DATA_OFFSET_EQU_TABARD]?get_item_border($char_data[CHAR_DATA_OFFSET_EQU_TABARD]):0))
|
---|
155 | );
|
---|
156 |
|
---|
157 |
|
---|
158 | $output .= "<center>
|
---|
159 | <div id=\"tab\">
|
---|
160 | <ul>
|
---|
161 | <li id=\"selected\"><a href=\"char.php?id=$id\">{$lang_char['char_sheet']}</a></li>";
|
---|
162 |
|
---|
163 | if (($user_lvl > $owner_gmlvl)||($owner_name == $user_name))
|
---|
164 | $output .= "<li><a href=\"char.php?id=$id&action=char_inv\">{$lang_char['inventory']}</a></li>
|
---|
165 | <li><a href=\"char.php?id=$id&action=char_quest\">{$lang_char['quests']}</a></li>
|
---|
166 | <li><a href=\"char.php?id=$id&action=char_skill\">{$lang_char['skills']}</a></li>
|
---|
167 | <li><a href=\"char.php?id=$id&action=char_rep\">{$lang_char['reputation']}</a></li>";
|
---|
168 | $output .= "</ul>
|
---|
169 | </div>
|
---|
170 | <div id=\"tab_content\">
|
---|
171 |
|
---|
172 | <table class=\"lined\" style=\"width: 580px;\">
|
---|
173 | <tr><td colspan=\"6\"><font class=\"bold\">$char[1] - ".get_player_race($char[2])." ".get_player_class($char[3])." (lvl {$char_data[CHAR_DATA_OFFSET_LEVEL]})</font><br />
|
---|
174 | {$lang_char['guild']}: $guild_name | {$lang_char['rank']}: $guild_rank<br />$online</td></tr>
|
---|
175 | <tr>
|
---|
176 | <td width=\"6%\">";
|
---|
177 | if (!empty($equiped_items[1][1])) $output .= maketooltip("<img src=\"{$equiped_items[1][1]}\" class=\"{$equiped_items[1][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_HEAD]}", $equiped_items[1][0], "item_tooltip", "target=\"_blank\"");
|
---|
178 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
179 | $output .= "</td>
|
---|
180 | <td class=\"half_line\" colspan=\"4\">".get_map_name($char[5])." - ".get_zone_name($char[4])."</td>
|
---|
181 | <td width=\"6%\">";
|
---|
182 | if (!empty($equiped_items[10][1])) $output .= maketooltip("<img src=\"{$equiped_items[10][1]}\" class=\"{$equiped_items[10][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_GLOVES]}", $equiped_items[10][0], "item_tooltip", "target=\"_blank\"");
|
---|
183 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
184 | $output .= "</td>
|
---|
185 | </tr>
|
---|
186 | <tr>
|
---|
187 | <td>";
|
---|
188 | if (!empty($equiped_items[2][1])) $output .= maketooltip("<img src=\"{$equiped_items[2][1]}\" class=\"{$equiped_items[2][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_NECK]}", $equiped_items[2][0], "item_tooltip", "target=\"_blank\"");
|
---|
189 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
190 | $output .= "</td>
|
---|
191 | <td class=\"half_line\" colspan=\"4\">
|
---|
192 | {$lang_char['honor_points']}: {$char_data[CHAR_DATA_OFFSET_HONOR_POINTS]}/{$char_data[CHAR_DATA_OFFSET_ARENA_POINTS]} - {$lang_char['honor_kills']}: {$char_data[CHAR_DATA_OFFSET_HONOR_KILL]}</td>
|
---|
193 | <td>";
|
---|
194 | if (!empty($equiped_items[6][1])) $output .= maketooltip("<img src=\"{$equiped_items[6][1]}\" class=\"{$equiped_items[6][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_BELT]}", $equiped_items[6][0], "item_tooltip", "target=\"_blank\"");
|
---|
195 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
196 | $output .= "</td>
|
---|
197 | </tr>
|
---|
198 | <tr>
|
---|
199 | <td>";
|
---|
200 | if (!empty($equiped_items[3][1])) $output .= maketooltip("<img src=\"{$equiped_items[3][1]}\" class=\"{$equiped_items[3][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_SHOULDER]}", $equiped_items[3][0], "item_tooltip", "target=\"_blank\"");
|
---|
201 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
202 | $output .= "</td>
|
---|
203 | <td class=\"half_line\" colspan=\"2\">
|
---|
204 | <div class=\"gradient_p\">{$lang_item['health']}:</div>
|
---|
205 | <div class=\"gradient_pp\">{$char_data[CHAR_DATA_OFFSET_HEALTH]}</div>
|
---|
206 | </td>
|
---|
207 | <td class=\"half_line\" colspan=\"2\" align=\"center\" width=\"50%\">
|
---|
208 | <div class=\"gradient_p\">{$lang_item['mana']}:</div>
|
---|
209 | <div class=\"gradient_pp\">{$char_data[CHAR_DATA_OFFSET_MANA]}</div>
|
---|
210 | </td>
|
---|
211 | <td>";
|
---|
212 | if (!empty($equiped_items[7][1])) $output .= maketooltip("<img src=\"{$equiped_items[7][1]}\" class=\"{$equiped_items[7][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_LEGS]}", $equiped_items[7][0], "item_tooltip", "target=\"_blank\"");
|
---|
213 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
214 | $output .= "</td>
|
---|
215 | </tr>
|
---|
216 | <tr>
|
---|
217 | <td>";
|
---|
218 | if (!empty($equiped_items[15][1])) $output .= maketooltip("<img src=\"{$equiped_items[15][1]}\" class=\"{$equiped_items[15][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_BACK]}", $equiped_items[15][0], "item_tooltip", "target=\"_blank\"");
|
---|
219 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
220 | $output .= "</td>
|
---|
221 | <td class=\"half_line\" colspan=\"2\" rowspan=\"3\" align=\"center\">
|
---|
222 | <div class=\"gradient_p\">
|
---|
223 | {$lang_item['strength']}:<br />
|
---|
224 | {$lang_item['agility']}:<br />
|
---|
225 | {$lang_item['stamina']}:<br />
|
---|
226 | {$lang_item['intellect']}:<br />
|
---|
227 | {$lang_item['spirit']}:<br />
|
---|
228 | {$lang_item['armor']}:
|
---|
229 | </div>
|
---|
230 | <div class=\"gradient_pp\">
|
---|
231 | {$char_data[CHAR_DATA_OFFSET_STR]}<br />
|
---|
232 | {$char_data[CHAR_DATA_OFFSET_AGI]}<br />
|
---|
233 | {$char_data[CHAR_DATA_OFFSET_STA]}<br />
|
---|
234 | {$char_data[CHAR_DATA_OFFSET_INT]}<br />
|
---|
235 | {$char_data[CHAR_DATA_OFFSET_SPI]}<br />
|
---|
236 | {$char_data[CHAR_DATA_OFFSET_ARMOR]}
|
---|
237 | </div>
|
---|
238 | </td>
|
---|
239 | <td class=\"half_line\" colspan=\"2\" rowspan=\"3\" align=\"center\">
|
---|
240 | <div class=\"gradient_p\">
|
---|
241 | {$lang_item['res_holy']}:<br />
|
---|
242 | {$lang_item['res_arcane']}:<br />
|
---|
243 | {$lang_item['res_fire']}:<br />
|
---|
244 | {$lang_item['res_nature']}:<br />
|
---|
245 | {$lang_item['res_frost']}:<br />
|
---|
246 | {$lang_item['res_shadow']}:
|
---|
247 | </div>
|
---|
248 | <div class=\"gradient_pp\">
|
---|
249 | {$char_data[CHAR_DATA_OFFSET_RES_HOLY]}<br />
|
---|
250 | {$char_data[CHAR_DATA_OFFSET_RES_ARCANE]}<br />
|
---|
251 | {$char_data[CHAR_DATA_OFFSET_RES_FIRE]}<br />
|
---|
252 | {$char_data[CHAR_DATA_OFFSET_RES_NATURE]}<br />
|
---|
253 | {$char_data[CHAR_DATA_OFFSET_RES_FROST]}<br />
|
---|
254 | {$char_data[CHAR_DATA_OFFSET_RES_SHADOW]}
|
---|
255 | </div>
|
---|
256 | </td>
|
---|
257 | <td>";
|
---|
258 | if (!empty($equiped_items[8][1])) $output .= maketooltip("<img src=\"{$equiped_items[8][1]}\" class=\"{$equiped_items[8][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_FEET]}", $equiped_items[8][0], "item_tooltip", "target=\"_blank\"");
|
---|
259 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
260 | $output .= "</td>
|
---|
261 | </tr>
|
---|
262 | <tr>
|
---|
263 | <td>";
|
---|
264 | if (!empty($equiped_items[5][1])) $output .= maketooltip("<img src=\"{$equiped_items[5][1]}\" class=\"{$equiped_items[5][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_CHEST]}", $equiped_items[5][0], "item_tooltip", "target=\"_blank\"");
|
---|
265 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
266 | $output .= "</td>
|
---|
267 | <td>";
|
---|
268 | if (!empty($equiped_items[11][1])) $output .= maketooltip("<img src=\"{$equiped_items[11][1]}\" class=\"{$equiped_items[11][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_FINGER1]}", $equiped_items[11][0], "item_tooltip", "target=\"_blank\"");
|
---|
269 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
270 | $output .= "</td>
|
---|
271 | </tr>
|
---|
272 | <tr>
|
---|
273 | <td>";
|
---|
274 | if (!empty($equiped_items[4][1])) $output .= maketooltip("<img src=\"{$equiped_items[4][1]}\" class=\"{$equiped_items[4][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_SHIRT]}", $equiped_items[4][0], "item_tooltip", "target=\"_blank\"");
|
---|
275 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
276 | $output .= "</td>
|
---|
277 | <td>";
|
---|
278 | if (!empty($equiped_items[12][1])) $output .= maketooltip("<img src=\"{$equiped_items[12][1]}\" class=\"{$equiped_items[12][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_FINGER2]}", $equiped_items[12][0], "item_tooltip", "target=\"_blank\"");
|
---|
279 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
280 | $output .= "</td>
|
---|
281 | </tr>
|
---|
282 | <tr>
|
---|
283 | <td>";
|
---|
284 | if (!empty($equiped_items[19][1])) $output .= maketooltip("<img src=\"{$equiped_items[19][1]}\" class=\"{$equiped_items[19][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_TABARD]}", $equiped_items[19][0], "item_tooltip", "target=\"_blank\"");
|
---|
285 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
286 | $output .= "</td>
|
---|
287 | <td class=\"half_line\" colspan=\"2\" rowspan=\"2\" align=\"center\">
|
---|
288 | <div class=\"gradient_p\">
|
---|
289 | {$lang_char['exp']}:<br />
|
---|
290 | {$lang_char['block']}:<br />
|
---|
291 | {$lang_char['dodge']}:<br />
|
---|
292 | {$lang_char['parry']}:
|
---|
293 | </div>
|
---|
294 | <div class=\"gradient_pp\">
|
---|
295 | {$char_data[CHAR_DATA_OFFSET_EXP]}<br />
|
---|
296 | $block%<br />
|
---|
297 | $dodge%<br />
|
---|
298 | $parry%
|
---|
299 | </div>
|
---|
300 | </td>
|
---|
301 | <td class=\"half_line\" colspan=\"2\" rowspan=\"2\" align=\"center\">
|
---|
302 | <div class=\"gradient_p\">
|
---|
303 | {$lang_char['melee_ap']}:<br />
|
---|
304 | {$lang_char['ranged_ap']}:<br />
|
---|
305 | {$lang_char['crit']}:<br />
|
---|
306 | {$lang_char['range_crit']}:
|
---|
307 | </div>
|
---|
308 | <div class=\"gradient_pp\">
|
---|
309 | {$char_data[CHAR_DATA_OFFSET_AP]}<br />
|
---|
310 | {$char_data[CHAR_DATA_OFFSET_RANGED_AP]}<br />
|
---|
311 | $crit%<br />
|
---|
312 | $range_crit%
|
---|
313 | </div>
|
---|
314 | </td>
|
---|
315 | <td>";
|
---|
316 | if (!empty($equiped_items[13][1])) $output .= maketooltip("<img src=\"{$equiped_items[13][1]}\" class=\"{$equiped_items[13][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_TRINKET1]}", $equiped_items[13][0], "item_tooltip", "target=\"_blank\"");
|
---|
317 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
318 | $output .= "</td>
|
---|
319 | </tr>
|
---|
320 | <tr>
|
---|
321 | <td>";
|
---|
322 | if (!empty($equiped_items[9][1])) $output .= maketooltip("<img src=\"{$equiped_items[9][1]}\" class=\"{$equiped_items[9][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_WRIST]}", $equiped_items[9][0], "item_tooltip", "target=\"_blank\"");
|
---|
323 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
324 | $output .= "</td>
|
---|
325 |
|
---|
326 | <td>";
|
---|
327 | if (!empty($equiped_items[14][1])) $output .= maketooltip("<img src=\"{$equiped_items[14][1]}\" class=\"{$equiped_items[14][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_TRINKET2]}", $equiped_items[14][0], "item_tooltip", "target=\"_blank\"");
|
---|
328 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
329 | $output .= "</td>
|
---|
330 | </tr>
|
---|
331 | <tr>
|
---|
332 | <td></td>
|
---|
333 | <td width=\"15%\">";
|
---|
334 | if (!empty($equiped_items[16][1])) $output .= maketooltip("<img src=\"{$equiped_items[16][1]}\" class=\"{$equiped_items[16][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND]}", $equiped_items[16][0], "item_tooltip", "target=\"_blank\"");
|
---|
335 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
336 | $output .= "</td>
|
---|
337 | <td width=\"15%\">";
|
---|
338 | if (!empty($equiped_items[17][1])) $output .= maketooltip("<img src=\"{$equiped_items[17][1]}\" class=\"{$equiped_items[17][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND]}", $equiped_items[17][0], "item_tooltip", "target=\"_blank\"");
|
---|
339 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
340 | $output .= "</td>
|
---|
341 | <td width=\"15%\">";
|
---|
342 | if (!empty($equiped_items[18][1])) $output .= maketooltip("<img src=\"{$equiped_items[18][1]}\" class=\"{$equiped_items[18][2]}\" alt=\"\" />", "$item_datasite{$char_data[CHAR_DATA_OFFSET_EQU_RANGED]}", $equiped_items[18][0], "item_tooltip", "target=\"_blank\"");
|
---|
343 | else $output .= "<img src=\"img/INV/INV_empty_32.gif\" class=\"icon_border_0\" alt=\"\" />";
|
---|
344 | $output .= "</td>
|
---|
345 | <td width=\"15%\"></td>
|
---|
346 | <td></td></tr>
|
---|
347 | </table><br />";
|
---|
348 |
|
---|
349 | if (($user_lvl > $owner_gmlvl)||($owner_name == $user_name)){
|
---|
350 | //total time played
|
---|
351 | $tot_time = $char[7];
|
---|
352 | $tot_days = (int)($tot_time/86400);
|
---|
353 | $tot_time = $tot_time - ($tot_days*86400);
|
---|
354 | $total_hours = (int)($tot_time/3600);
|
---|
355 | $tot_time = $tot_time - ($total_hours*3600);
|
---|
356 | $total_min = (int)($tot_time/60);
|
---|
357 |
|
---|
358 | $output .= "<table class=\"lined\" style=\"width: 580px;\">
|
---|
359 | <tr><td colspan=\"10\">{$lang_char['tot_paly_time']}: $tot_days {$lang_char['days']} $total_hours {$lang_char['hours']} $total_min {$lang_char['min']}</td></tr>
|
---|
360 | </table></div><br />";
|
---|
361 |
|
---|
362 | $output .= "<table class=\"hidden\">
|
---|
363 | <tr><td>";
|
---|
364 | if ($user_lvl > $owner_gmlvl){
|
---|
365 | makebutton($lang_char['chars_acc'], "user.php?action=edit_user&id=$owner_acc_id",140);
|
---|
366 | makebutton($lang_char['edit_button'], "char_edit.php?id=$id",140);
|
---|
367 | }
|
---|
368 | if (($user_lvl > 0)&&(($user_lvl > $owner_gmlvl)||($owner_name == $user_name))){
|
---|
369 | makebutton($lang_char['del_char'], "char_list.php?action=del_char_form&check%5B%5D=$id",140);
|
---|
370 | makebutton($lang_char['send_mail'], "mail.php?type=ingame_mail&to=$char[1]",140);
|
---|
371 | }
|
---|
372 | makebutton($lang_global['back'], "javascript:window.history.back()",140);
|
---|
373 | $output .= "</td></tr>
|
---|
374 | </table><br /></center>";
|
---|
375 |
|
---|
376 | //end of admin options
|
---|
377 | } else {
|
---|
378 | $output .= "<table class=\"hidden\">
|
---|
379 | <tr><td>";
|
---|
380 | makebutton($lang_global['back'], "javascript:window.history.back()",200);
|
---|
381 | $output .= "</td></tr>
|
---|
382 | </table><br /></center>";
|
---|
383 | }
|
---|
384 | } else {
|
---|
385 | $sql->close();
|
---|
386 | error($lang_char['no_permission']);
|
---|
387 | }
|
---|
388 |
|
---|
389 | } else error($lang_char['no_char_found']);
|
---|
390 | $sql->close();
|
---|
391 | }
|
---|
392 |
|
---|
393 |
|
---|
394 | //########################################################################################################################
|
---|
395 | // SHOW INV. AND BANK ITEMS
|
---|
396 | //########################################################################################################################
|
---|
397 | function char_inv() {
|
---|
398 | global $lang_global, $lang_char, $lang_item, $output, $realm_db, $characters_db, $realm_id, $user_lvl,$mangos_db,
|
---|
399 | $user_name,$item_datasite;
|
---|
400 |
|
---|
401 | if (empty($_GET['id'])) error($lang_global['empty_fields']);
|
---|
402 |
|
---|
403 | $sql = new SQL;
|
---|
404 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
405 |
|
---|
406 | $id = $sql->quote_smart($_GET['id']);
|
---|
407 |
|
---|
408 | $result = $sql->query("SELECT account FROM `character` WHERE guid = '$id' LIMIT 1");
|
---|
409 |
|
---|
410 | if ($sql->num_rows($result)){
|
---|
411 | $owner_acc_id = $sql->result($result, 0, 'account');
|
---|
412 | $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
|
---|
413 | $query = $sql->query("SELECT gmlevel,username FROM account WHERE id ='$owner_acc_id'");
|
---|
414 | $owner_gmlvl = $sql->result($query, 0, 'gmlevel');
|
---|
415 | $owner_name = $sql->result($query, 0, 'username');
|
---|
416 |
|
---|
417 | if (($user_lvl > $owner_gmlvl)||($owner_name == $user_name)){
|
---|
418 |
|
---|
419 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
420 |
|
---|
421 | $result = $sql->query("SELECT name,race,class,SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', ".(CHAR_DATA_OFFSET_GOLD+1)."), ' ', -1) FROM `character` WHERE guid = '$id'");
|
---|
422 | $char = $sql->fetch_row($result);
|
---|
423 |
|
---|
424 | $result = $sql->query("SELECT bag,slot,item,item_template FROM character_inventory WHERE guid = '$id' ORDER BY bag,slot");
|
---|
425 | $bag = array(
|
---|
426 | 0=>array(),
|
---|
427 | 1=>array(),
|
---|
428 | 2=>array(),
|
---|
429 | 3=>array(),
|
---|
430 | 4=>array()
|
---|
431 | );
|
---|
432 |
|
---|
433 | $bank = array(
|
---|
434 | 0=>array(),
|
---|
435 | 1=>array(),
|
---|
436 | 2=>array(),
|
---|
437 | 3=>array(),
|
---|
438 | 4=>array(),
|
---|
439 | 5=>array(),
|
---|
440 | 6=>array(),
|
---|
441 | 7=>array()
|
---|
442 | );
|
---|
443 |
|
---|
444 | $bank_bag_id = array();
|
---|
445 | $bag_id = array();
|
---|
446 | $equiped_bag_id = array(0,0,0,0,0);
|
---|
447 | $equip_bnk_bag_id = array(0,0,0,0,0,0,0,0);
|
---|
448 |
|
---|
449 |
|
---|
450 | while ($slot = $sql->fetch_row($result))
|
---|
451 | {
|
---|
452 | if ($slot[0] == 0 && $slot[1] > 18)
|
---|
453 | {
|
---|
454 | if($slot[1] < 23) // SLOT 19 TO 22 (Bags)
|
---|
455 | {
|
---|
456 | $bag_id[$slot[2]] = ($slot[1]-18);
|
---|
457 | $equiped_bag_id[$slot[1]-18] = array($slot[3], $sql->result($sql->query("SELECT ContainerSlots FROM `".$mangos_db[$realm_id]['name']."`.`item_template` WHERE entry ='{$slot[3]}'"), 0, 'ContainerSlots'));
|
---|
458 | }
|
---|
459 | elseif($slot[1] < 39) // SLOT 23 TO 38 (BackPack)
|
---|
460 | {
|
---|
461 | if(isset($bag[0][$slot[1]-23]))
|
---|
462 | $bag[0][$slot[1]-23][0]++;
|
---|
463 | else $bag[0][$slot[1]-23] = array($slot[3],0);
|
---|
464 | }
|
---|
465 | elseif($slot[1] < 67) // SLOT 39 TO 66 (Bank)
|
---|
466 | {
|
---|
467 | $bank[0][$slot[1]-39] = $slot[3];
|
---|
468 | }
|
---|
469 | elseif($slot[1] < 74) // SLOT 67 TO 73 (Bank Bags)
|
---|
470 | {
|
---|
471 | $bank_bag_id[$slot[2]] = ($slot[1]-66);
|
---|
472 | $equip_bnk_bag_id[$slot[1]-66] = array($slot[3], $sql->result($sql->query("SELECT ContainerSlots FROM `".$mangos_db[$realm_id]['name']."`.`item_template` WHERE entry ='{$slot[3]}'"), 0, 'ContainerSlots'));
|
---|
473 | }
|
---|
474 | }
|
---|
475 | else
|
---|
476 | {
|
---|
477 | // Bags
|
---|
478 | if (isset($bag_id[$slot[0]]))
|
---|
479 | {
|
---|
480 | if(isset($bag[$bag_id[$slot[0]]][$slot[1]]))
|
---|
481 | $bag[$bag_id[$slot[0]]][$slot[1]][1]++;
|
---|
482 | else $bag[$bag_id[$slot[0]]][$slot[1]] = array($slot[3],0);
|
---|
483 | }
|
---|
484 | // Bank Bags
|
---|
485 | elseif (isset($bank_bag_id[$slot[0]]))
|
---|
486 | {
|
---|
487 | $bank[$bank_bag_id[$slot[0]]][$slot[1]] = $slot[3];
|
---|
488 | }
|
---|
489 | }
|
---|
490 | }
|
---|
491 |
|
---|
492 | $output .= "<center>
|
---|
493 | <div id=\"tab\">
|
---|
494 | <ul>
|
---|
495 | <li><a href=\"char.php?id=$id\">{$lang_char['char_sheet']}</a></li>
|
---|
496 | <li id=\"selected\"><a href=\"char.php?id=$id&action=char_inv\">{$lang_char['inventory']}</a></li>
|
---|
497 | <li><a href=\"char.php?id=$id&action=char_quest\">{$lang_char['quests']}</a></li>
|
---|
498 | <li><a href=\"char.php?id=$id&action=char_skill\">{$lang_char['skills']}</a></li>
|
---|
499 | <li><a href=\"char.php?id=$id&action=char_rep\">{$lang_char['reputation']}</a></li>
|
---|
500 | </ul>
|
---|
501 | </div>
|
---|
502 |
|
---|
503 | <div id=\"tab_content\">
|
---|
504 | <font class=\"bold\">$char[0] - ".get_player_race($char[1])." ".get_player_class($char[2])."</font><br /><br />
|
---|
505 |
|
---|
506 | <table class=\"lined\" style=\"width: 700px;\">
|
---|
507 | <tr>
|
---|
508 | <th>";
|
---|
509 | if($equiped_bag_id[1]){
|
---|
510 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equiped_bag_id[1][0])."\" alt=\"\" />", "$item_datasite{$equiped_bag_id[1][0]}", get_item_name($equiped_bag_id[1][0]), "item_tooltip", "target=\"_blank\"");
|
---|
511 | $output .= "{$lang_item['bag']} I<br /><font class=\"small\">({$equiped_bag_id[1][1]} {$lang_item['slots']})</font";
|
---|
512 | }
|
---|
513 | $output .= "</th><th>";
|
---|
514 | if($equiped_bag_id[2]){
|
---|
515 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equiped_bag_id[2][0])."\" alt=\"\" />", "$item_datasite{$equiped_bag_id[2][0]}", get_item_name($equiped_bag_id[2][0]), "item_tooltip", "target=\"_blank\"");
|
---|
516 | $output .= "{$lang_item['bag']} II<br /><font class=\"small\">({$equiped_bag_id[2][1]} {$lang_item['slots']})</font>";
|
---|
517 | }
|
---|
518 | $output .= "</th><th>";
|
---|
519 | if($equiped_bag_id[3]){
|
---|
520 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equiped_bag_id[3][0])."\" alt=\"\" />", "$item_datasite{$equiped_bag_id[3][0]}", get_item_name($equiped_bag_id[3][0]), "item_tooltip", "target=\"_blank\"");
|
---|
521 | $output .= "{$lang_item['bag']} III<br /><font class=\"small\">({$equiped_bag_id[3][1]} {$lang_item['slots']})</font>";
|
---|
522 | }
|
---|
523 | $output .= "</th><th>";
|
---|
524 | if($equiped_bag_id[4]){
|
---|
525 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equiped_bag_id[4][0])."\" alt=\"\" />", "$item_datasite{$equiped_bag_id[4][0]}", get_item_name($equiped_bag_id[4][0]), "item_tooltip", "target=\"_blank\"");
|
---|
526 | $output .= "{$lang_item['bag']} IV<br /><font class=\"small\">({$equiped_bag_id[4][1]} {$lang_item['slots']})</font>";
|
---|
527 | }
|
---|
528 | $output .= "</th>
|
---|
529 | </tr>
|
---|
530 | <tr>";
|
---|
531 |
|
---|
532 | for($t = 1; $t < count($bag); $t++){
|
---|
533 | $output .= "<td class=\"bag\" valign=\"bottom\" align=\"center\">
|
---|
534 | <div style=\"width:".(4*43)."px;height:".(ceil($equiped_bag_id[$t][1]/4)*41)."px;\">";
|
---|
535 |
|
---|
536 | $dsp = $equiped_bag_id[$t][1]%4;
|
---|
537 | if ($dsp) $output .= "<div class=\"no_slot\" /></div>";
|
---|
538 | foreach ($bag[$t] as $pos => $item){
|
---|
539 | $output .= "<div style=\"left:".(($pos+$dsp)%4*42)."px;top:".(floor(($pos+$dsp)/4)*41)."px;\">";
|
---|
540 | $output .= maketooltip("<img src=\"".get_icon($item[0])."\" alt=\"\" />".($item[1] ? ($item[1]+1) : ""), "$item_datasite{$item[0]}", get_item_name($item[0]), "item_tooltip", "target=\"_blank\"");
|
---|
541 | $output .= "</div>";
|
---|
542 | }
|
---|
543 | $output .= "</td>";
|
---|
544 | }
|
---|
545 |
|
---|
546 | $output .= "</tr>
|
---|
547 | <tr>
|
---|
548 | <th colspan=\"2\" align=\"left\">
|
---|
549 | <img class=\"bag_icon\" src=\"".get_icon(3960)."\" alt=\"\" align=\"absmiddle\" style=\"margin-left:100px;\" />
|
---|
550 | <font style=\"margin-left:30px;\">{$lang_char['backpack']}</font>
|
---|
551 | </th>
|
---|
552 | <th colspan=\"2\">
|
---|
553 | {$lang_char['bank_items']}
|
---|
554 | </th>
|
---|
555 | </tr>
|
---|
556 | <tr>
|
---|
557 | <td colspan=\"2\" class=\"bag\" align=\"center\" height=\"220px\">
|
---|
558 | <div style=\"width:".(4*43)."px;height:".(ceil(16/4)*41)."px;\">";
|
---|
559 |
|
---|
560 | foreach ($bag[0] as $pos => $item){
|
---|
561 | $output .= "<div style=\"left:".($pos%4*42)."px;top:".(floor($pos/4)*41)."px;\">";
|
---|
562 | $output .= maketooltip("<img src=\"".get_icon($item[0])."\" alt=\"\" />".($item[1] ? ($item[1]+1) : ""), "$item_datasite{$item[0]}", get_item_name($item[0]), "item_tooltip", "target=\"_blank\"");
|
---|
563 | $output .= "</div>";
|
---|
564 | }
|
---|
565 |
|
---|
566 | $money_gold = (int)($char[3]/10000);
|
---|
567 | $money_silver = (int)(($char[3]-$money_gold*10000)/100);
|
---|
568 | $money_cooper = (int)($char[3]-$money_gold*10000-$money_silver*100);
|
---|
569 |
|
---|
570 | $output .= "</div>
|
---|
571 | <div style=\"text-align:right;width:168px;background-image:none;background-color:#393936;padding:2px;\">
|
---|
572 | <b>
|
---|
573 | $money_gold <img src=\"img/gold.gif\" alt=\"\" align=\"absmiddle\" />
|
---|
574 | $money_silver <img src=\"img/silver.gif\" alt=\"\" align=\"absmiddle\" />
|
---|
575 | $money_cooper <img src=\"img/copper.gif\" alt=\"\" align=\"absmiddle\" />
|
---|
576 | </b>
|
---|
577 | ";
|
---|
578 |
|
---|
579 | $output .= "</div>
|
---|
580 | </td>
|
---|
581 | <td colspan=\"2\" class=\"bank\" align=\"center\">
|
---|
582 | <div style=\"width:".(7*43)."px;height:".(ceil(24/7)*41)."px;\">";
|
---|
583 |
|
---|
584 | foreach ($bank[0] as $pos => $item){
|
---|
585 | $output .= "<div style=\"left:".($pos%7*43)."px;top:".(floor($pos/7)*41)."px;\">";
|
---|
586 | $output .= maketooltip("<img src=\"".get_icon($item)."\" class=\"inv_icon\" alt=\"\" />", "$item_datasite$item", get_item_name($item), "item_tooltip", "target=\"_blank\"");
|
---|
587 | $output .= "</div>";
|
---|
588 | }
|
---|
589 |
|
---|
590 | $output .= "</div>
|
---|
591 | </td>
|
---|
592 | </tr>
|
---|
593 | <tr>
|
---|
594 | <th>";
|
---|
595 | if($equip_bnk_bag_id[1]){
|
---|
596 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equip_bnk_bag_id[1][0])."\" alt=\"\" />", "$item_datasite{$equip_bnk_bag_id[1][0]}", get_item_name($equip_bnk_bag_id[1][0]), "item_tooltip", "target=\"_blank\"");
|
---|
597 | $output .= "{$lang_item['bag']} I<br /><font class=\"small\">({$equip_bnk_bag_id[1][1]} {$lang_item['slots']})</font>";
|
---|
598 | }
|
---|
599 | $output .= "</th><th>";
|
---|
600 | if($equip_bnk_bag_id[2]){
|
---|
601 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equip_bnk_bag_id[2][0])."\" alt=\"\" />", "$item_datasite{$equip_bnk_bag_id[2][0]}", get_item_name($equip_bnk_bag_id[2][0]), "item_tooltip", "target=\"_blank\"");
|
---|
602 | $output .= "{$lang_item['bag']} II<br /><font class=\"small\">({$equip_bnk_bag_id[2][1]} {$lang_item['slots']})</font>";
|
---|
603 | }
|
---|
604 | $output .= "</th><th>";
|
---|
605 | if($equip_bnk_bag_id[3]){
|
---|
606 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equip_bnk_bag_id[3][0])."\" alt=\"\" />", "$item_datasite{$equip_bnk_bag_id[3][0]}", get_item_name($equip_bnk_bag_id[3][0]), "item_tooltip", "target=\"_blank\"");
|
---|
607 | $output .= "{$lang_item['bag']} III<br /><font class=\"small\">({$equip_bnk_bag_id[3][1]} {$lang_item['slots']})</font>";
|
---|
608 | }
|
---|
609 | $output .= "</th><th>";
|
---|
610 | if($equip_bnk_bag_id[4]){
|
---|
611 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equip_bnk_bag_id[4][0])."\" alt=\"\" />", "$item_datasite{$equip_bnk_bag_id[4][0]}", get_item_name($equip_bnk_bag_id[4][0]), "item_tooltip", "target=\"_blank\"");
|
---|
612 | $output .= "{$lang_item['bag']} IV<br /><font class=\"small\">({$equip_bnk_bag_id[4][1]} {$lang_item['slots']})</font>";
|
---|
613 | }
|
---|
614 | $output .= "</th>
|
---|
615 | </tr>
|
---|
616 | <tr>";
|
---|
617 |
|
---|
618 | for($t=1; $t < count($bank); $t++){
|
---|
619 | if($t==5){
|
---|
620 | $output .= "</tr>
|
---|
621 | <tr>
|
---|
622 | <th>";
|
---|
623 | if($equip_bnk_bag_id[5]){
|
---|
624 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equip_bnk_bag_id[5][0])."\" alt=\"\" />", "$item_datasite{$equip_bnk_bag_id[5][0]}", get_item_name($equip_bnk_bag_id[5][0]), "item_tooltip", "target=\"_blank\"");
|
---|
625 | $output .= "{$lang_item['bag']} V<br /><font class=\"small\">({$equip_bnk_bag_id[5][1]} {$lang_item['slots']})</font>";
|
---|
626 | }
|
---|
627 | $output .= "</th><th>";
|
---|
628 | if($equip_bnk_bag_id[6]){
|
---|
629 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equip_bnk_bag_id[6][0])."\" alt=\"\" />", "$item_datasite{$equip_bnk_bag_id[6][0]}", get_item_name($equip_bnk_bag_id[6][0]), "item_tooltip", "target=\"_blank\"");
|
---|
630 | $output .= "{$lang_item['bag']} VI<br /><font class=\"small\">({$equip_bnk_bag_id[6][1]} {$lang_item['slots']})</font>";
|
---|
631 | }
|
---|
632 | $output .= "</th><th>";
|
---|
633 | if($equip_bnk_bag_id[7]){
|
---|
634 | $output .= maketooltip("<img class=\"bag_icon\" src=\"".get_icon($equip_bnk_bag_id[7][0])."\" alt=\"\" />", "$item_datasite{$equip_bnk_bag_id[7][0]}", get_item_name($equip_bnk_bag_id[7][0]), "item_tooltip", "target=\"_blank\"");
|
---|
635 | $output .= "{$lang_item['bag']} VII<br /><font class=\"small\">({$equip_bnk_bag_id[7][1]} {$lang_item['slots']})</font>";
|
---|
636 | }
|
---|
637 | $output .= "</th>
|
---|
638 | <th></th>
|
---|
639 | </tr>
|
---|
640 | <tr>";
|
---|
641 | }
|
---|
642 |
|
---|
643 | $output .= "<td class=\"bank\" align=\"center\">
|
---|
644 | <div style=\"width:".(4*43)."px;height:".(ceil($equip_bnk_bag_id[$t][1]/4)*41)."px;\">";
|
---|
645 |
|
---|
646 | $dsp=$equip_bnk_bag_id[$t][1]%4;
|
---|
647 | if ($dsp) $output .= "<div class=\"no_slot\" /></div>";
|
---|
648 | foreach ($bank[$t] as $pos => $item){
|
---|
649 | $output .= "<div style=\"left:".(($pos+$dsp)%4*43)."px;top:".(floor(($pos+$dsp)/4)*41)."px;\">";
|
---|
650 | $output .= maketooltip("<img src=\"".get_icon($item)."\" alt=\"\" />", "$item_datasite$item", get_item_name($item), "item_tooltip", "target=\"_blank\"");
|
---|
651 | $output .= "</div>";
|
---|
652 | }
|
---|
653 | $output .= "</td>";
|
---|
654 | }
|
---|
655 |
|
---|
656 | $output .= "<td class=\"bank\"></td></tr>
|
---|
657 | </table>
|
---|
658 | </div><br />
|
---|
659 | <table class=\"hidden\">
|
---|
660 | <tr><td>";
|
---|
661 | if ($user_lvl > $owner_gmlvl){
|
---|
662 | makebutton($lang_char['chars_acc'], "user.php?action=edit_user&id=$owner_acc_id",140);
|
---|
663 | makebutton($lang_char['edit_button'], "char_edit.php?id=$id",140);
|
---|
664 | }
|
---|
665 | if (($user_lvl > 0)&&(($user_lvl > $owner_gmlvl)||($owner_name == $user_name))){
|
---|
666 | makebutton($lang_char['del_char'], "char_list.php?action=del_char_form&check%5B%5D=$id",140);
|
---|
667 | makebutton($lang_char['send_mail'], "mail.php?type=ingame_mail&to=$char[0]",140);
|
---|
668 | }
|
---|
669 | makebutton($lang_global['back'], "javascript:window.history.back()",140);
|
---|
670 | $output .= "</td></tr>
|
---|
671 | </table><br /></center>";
|
---|
672 |
|
---|
673 | } else {
|
---|
674 | $sql->close();
|
---|
675 | error($lang_char['no_permission']);
|
---|
676 | }
|
---|
677 |
|
---|
678 | } else error($lang_char['no_char_found']);
|
---|
679 | $sql->close();
|
---|
680 | }
|
---|
681 |
|
---|
682 |
|
---|
683 | //########################################################################################################################
|
---|
684 | // SHOW CHARACTERS QUESTS
|
---|
685 | //########################################################################################################################
|
---|
686 | function char_quest(){
|
---|
687 | global $lang_global, $lang_char, $lang_item, $output, $realm_db, $characters_db, $realm_id, $user_lvl,$mangos_db,
|
---|
688 | $user_name, $quest_datasite;
|
---|
689 |
|
---|
690 | if (empty($_GET['id'])) error($lang_global['empty_fields']);
|
---|
691 |
|
---|
692 | $sql = new SQL;
|
---|
693 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
694 |
|
---|
695 | $id = $sql->quote_smart($_GET['id']);
|
---|
696 | $order_by = (isset($_GET['order_by'])) ? $sql->quote_smart($_GET['order_by']) : 1;
|
---|
697 | $dir = (isset($_GET['dir'])) ? $sql->quote_smart($_GET['dir']) : 0;
|
---|
698 | $dir = ($dir) ? 0 : 1;
|
---|
699 | $result = $sql->query("SELECT account,name,race,class FROM `character` WHERE guid = '$id' LIMIT 1");
|
---|
700 |
|
---|
701 | if ($sql->num_rows($result)){
|
---|
702 | $char = $sql->fetch_row($result);
|
---|
703 |
|
---|
704 | $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
|
---|
705 | $result = $sql->query("SELECT gmlevel,username FROM account WHERE id ='$char[0]'");
|
---|
706 | $owner_gmlvl = $sql->result($result, 0, 'gmlevel');
|
---|
707 | $owner_name = $sql->result($result, 0, 'username');
|
---|
708 |
|
---|
709 | if (($user_lvl > $owner_gmlvl)||($owner_name == $user_name)){
|
---|
710 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
711 |
|
---|
712 | $result = $sql->query("SELECT quest,status FROM character_queststatus WHERE guid ='$id' AND ( status = 3 OR status = 1 ) ORDER BY status DESC");
|
---|
713 | $output .= "<center>
|
---|
714 | <div id=\"tab\">
|
---|
715 | <ul>
|
---|
716 | <li><a href=\"char.php?id=$id\">{$lang_char['char_sheet']}</a></li>
|
---|
717 | <li><a href=\"char.php?id=$id&action=char_inv\">{$lang_char['inventory']}</a></li>
|
---|
718 | <li id=\"selected\"><a href=\"char.php?id=$id&action=char_quest\">{$lang_char['quests']}</a></li>
|
---|
719 | <li><a href=\"char.php?id=$id&action=char_skill\">{$lang_char['skills']}</a></li>
|
---|
720 | <li><a href=\"char.php?id=$id&action=char_rep\">{$lang_char['reputation']}</a></li>
|
---|
721 | </ul>
|
---|
722 | </div>
|
---|
723 | <div id=\"tab_content\">
|
---|
724 | <font class=\"bold\">$char[1] - ".get_player_race($char[2])." ".get_player_class($char[3])."</font><br /><br />
|
---|
725 |
|
---|
726 | <table class=\"lined\" style=\"width: 550px;\">
|
---|
727 | <tr>";
|
---|
728 | if ($user_lvl) $output .= "<th width=\"10%\"><a href=\"char.php?id=$id&action=char_quest&order_by=0&dir=$dir\">".($order_by==0 ? "<img src=\"img/arr_".($dir ? "up" : "dw").".gif\" /> " : "")."{$lang_char['quest_id']}</a></th>";
|
---|
729 | $output .= "<th width=\"7%\"><a href=\"char.php?id=$id&action=char_quest&order_by=1&dir=$dir\">".($order_by==1 ? "<img src=\"img/arr_".($dir ? "up" : "dw").".gif\" /> " : "")."{$lang_char['quest_level']}</a></th>
|
---|
730 | <th width=\"78%\"><a href=\"char.php?id=$id&action=char_quest&order_by=2&dir=$dir\">".($order_by==2 ? "<img src=\"img/arr_".($dir ? "up" : "dw").".gif\" /> " : "")."{$lang_char['quest_title']}</a></th>
|
---|
731 | <th width=\"5%\"><img src=\"img/aff_qst.png\" width=\"14\" height=\"14\" border=\"0\" /></a></th>";
|
---|
732 |
|
---|
733 | $quests_1 = array();
|
---|
734 | $quests_3 = array();
|
---|
735 |
|
---|
736 | if ($sql->num_rows($result)){
|
---|
737 | while ($quest = $sql->fetch_row($result)){
|
---|
738 | $query1 = $sql->query("SELECT QuestLevel,Title FROM `".$mangos_db[$realm_id]['name']."`.`quest_template` WHERE entry ='$quest[0]'");
|
---|
739 | $quest_info = $sql->fetch_row($query1);
|
---|
740 | if($quest[1]==1)
|
---|
741 | array_push($quests_1, array($quest[0], $quest_info[0], $quest_info[1]));
|
---|
742 | else
|
---|
743 | array_push($quests_3, array($quest[0], $quest_info[0], $quest_info[1]));
|
---|
744 | }
|
---|
745 | aasort($quests_1, $order_by, $dir);
|
---|
746 | aasort($quests_3, $order_by, $dir);
|
---|
747 |
|
---|
748 | foreach ($quests_3 as $data){
|
---|
749 | $output .= "<tr>";
|
---|
750 | if($user_lvl) $output .= "<td>$data[0]</td>";
|
---|
751 | $output .= "<td>($data[1])</td>
|
---|
752 | <td align=\"left\"><a href=\"$quest_datasite$data[0]\" target=\"_blank\">$data[2]</a></td>
|
---|
753 | <td><img src=\"img/aff_qst.png\" width=\"14\" height=\"14\" /></td></tr>";
|
---|
754 | }
|
---|
755 |
|
---|
756 | if(count($quests_1)) $output .= "<tr><th class=\"title\" colspan=\"".($user_lvl ? "4" : "3")."\" align=\"left\"></th></tr>";
|
---|
757 | foreach ($quests_1 as $data){
|
---|
758 | $output .= "<tr>";
|
---|
759 | if($user_lvl) $output .= "<td>$data[0]</td>";
|
---|
760 | $output .= "<td>($data[1])</td>
|
---|
761 | <td align=\"left\"><a href=\"$quest_datasite$data[0]\" target=\"_blank\">$data[2]</a></td>
|
---|
762 | <td><img src=\"img/aff_tick.png\" width=\"14\" height=\"14\" /></td></tr>";
|
---|
763 | }
|
---|
764 |
|
---|
765 | } else $output .= "<tr><td colspan=\"".($user_lvl ? "4" : "3")."\"><p>{$lang_char['no_act_quests']}</p></td></tr>";
|
---|
766 |
|
---|
767 | $output .= "</table></div><br />
|
---|
768 | <table class=\"hidden\">
|
---|
769 | <tr><td>";
|
---|
770 | if ($user_lvl > $owner_gmlvl)
|
---|
771 | {
|
---|
772 | makebutton($lang_char['chars_acc'], "user.php?action=edit_user&id=$char[0]",140);
|
---|
773 | makebutton($lang_char['edit_button'], "char_edit.php?id=$id",140);
|
---|
774 | }
|
---|
775 | if ( ($user_lvl) && (($user_lvl > $owner_gmlvl) || ($owner_name == $user_name)) )
|
---|
776 | {
|
---|
777 | makebutton($lang_char['del_char'], "char_list.php?action=del_char_form&check%5B%5D=$id",140);
|
---|
778 | makebutton($lang_char['send_mail'], "mail.php?type=ingame_mail&to=$char[1]",140);
|
---|
779 | }
|
---|
780 | makebutton($lang_global['back'], "javascript:window.history.back()",140);
|
---|
781 | $output .= "</td></tr>
|
---|
782 | </table><br /></center>";
|
---|
783 | }
|
---|
784 | else
|
---|
785 | {
|
---|
786 | $sql->close();
|
---|
787 | error($lang_char['no_permission']);
|
---|
788 | }
|
---|
789 | }
|
---|
790 | else error($lang_char['no_char_found']);
|
---|
791 | $sql->close();
|
---|
792 | }
|
---|
793 |
|
---|
794 |
|
---|
795 | //########################################################################################################################
|
---|
796 | // SHOW CHAR REPUTATION
|
---|
797 | //########################################################################################################################
|
---|
798 | function char_rep() {
|
---|
799 | global $lang_global, $lang_char, $lang_item, $output, $realm_db, $characters_db, $realm_id, $user_lvl,$mangos_db,
|
---|
800 | $user_name, $fact_id;
|
---|
801 |
|
---|
802 | if (empty($_GET['id'])) error($lang_global['empty_fields']);
|
---|
803 |
|
---|
804 | $sql = new SQL;
|
---|
805 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
806 |
|
---|
807 | $id = $sql->quote_smart($_GET['id']);
|
---|
808 | $result = $sql->query("SELECT account,name,race,class FROM `character` WHERE guid = '$id' LIMIT 1");
|
---|
809 |
|
---|
810 | if ($sql->num_rows($result)){
|
---|
811 | $char = $sql->fetch_row($result);
|
---|
812 | $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
|
---|
813 | $result = $sql->query("SELECT gmlevel,username FROM account WHERE id ='$char[0]'");
|
---|
814 | $owner_gmlvl = $sql->result($result, 0, 'gmlevel');
|
---|
815 | $owner_name = $sql->result($result, 0, 'username');
|
---|
816 |
|
---|
817 | if (($user_lvl > $owner_gmlvl)||($owner_name == $user_name)){
|
---|
818 |
|
---|
819 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
820 | $result = $sql->query("SELECT faction, standing, flags FROM character_reputation WHERE guid ='$id' AND (flags = 1 OR flags = 17)");
|
---|
821 |
|
---|
822 | $output .= "<center>
|
---|
823 | <div id=\"tab\">
|
---|
824 | <ul>
|
---|
825 | <li><a href=\"char.php?id=$id\">{$lang_char['char_sheet']}</a></li>
|
---|
826 | <li><a href=\"char.php?id=$id&action=char_inv\">{$lang_char['inventory']}</a></li>
|
---|
827 | <li><a href=\"char.php?id=$id&action=char_quest\">{$lang_char['quests']}</a></li>
|
---|
828 | <li><a href=\"char.php?id=$id&action=char_skill\">{$lang_char['skills']}</a></li>
|
---|
829 | <li id=\"selected\"><a href=\"char.php?id=$id&action=char_rep\">{$lang_char['reputation']}</a></li>
|
---|
830 | </ul>
|
---|
831 | </div>
|
---|
832 | <div id=\"tab_content\">
|
---|
833 | <font class=\"bold\">$char[1] - ".get_player_race($char[2])." ".get_player_class($char[3])."</font><br /><br />";
|
---|
834 |
|
---|
835 | require_once("scripts/fact_tab.php");
|
---|
836 |
|
---|
837 | $temp_out = array(
|
---|
838 | 1 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
839 | <tr><th colspan=\"2\" align=\"left\">Alliance</th></tr>",0),
|
---|
840 | 2 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
841 | <tr><th colspan=\"2\" align=\"left\">Horde</th></tr>",0),
|
---|
842 | 3 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
843 | <tr><th colspan=\"2\" align=\"left\">Battleground Forces - Alliance</th></tr>",0),
|
---|
844 | 4 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
845 | <tr><th colspan=\"2\" align=\"left\">Battleground Forces - Horde</th></tr>",0),
|
---|
846 | 5 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
847 | <tr><th colspan=\"2\" align=\"left\">Steamwheedle Cartel</th></tr>",0),
|
---|
848 | 6 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
849 | <tr><th colspan=\"2\" align=\"left\">Outland</th></tr>",0),
|
---|
850 | 7 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
851 | <tr><th colspan=\"2\" align=\"left\">Shattrath City</th></tr>",0),
|
---|
852 | 8 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
853 | <tr><th colspan=\"2\" align=\"left\">Other</th></tr>",0),
|
---|
854 | 0 => array("<table class=\"lined\" style=\"width: 550px;\">
|
---|
855 | <tr><th colspan=\"2\" align=\"left\">Unknown</th></tr>",0)
|
---|
856 | );
|
---|
857 |
|
---|
858 | if ($sql->num_rows($result)){
|
---|
859 | while ($fact = $sql->fetch_row($result)){
|
---|
860 | $temp_out[get_faction_tree($fact[0])][0] .= "<tr><td width=\"60%\">".get_faction_name($fact[0])."</td>
|
---|
861 | <td width=\"40%\">$fact[1]</td></tr>";
|
---|
862 | $temp_out[get_faction_tree($fact[0])][1] = 1;
|
---|
863 | }
|
---|
864 | } else $output .= "<tr><td colspan=\"2\"><br /><br />{$lang_global['err_no_records_found']}<br /><br /></td></tr>";
|
---|
865 |
|
---|
866 | foreach ($temp_out as $out) if ($out[1]) $output .= $out[0]."</table>";
|
---|
867 |
|
---|
868 | $output .= "</div><br />
|
---|
869 | <table class=\"hidden\">
|
---|
870 | <tr><td>";
|
---|
871 | if ($user_lvl > $owner_gmlvl){
|
---|
872 | makebutton($lang_char['chars_acc'], "user.php?action=edit_user&id=$char[0]",140);
|
---|
873 | makebutton($lang_char['edit_button'], "char_edit.php?id=$id",140);
|
---|
874 | }
|
---|
875 | if (($user_lvl > 0)&&(($user_lvl > $owner_gmlvl)||($owner_name == $user_name))){
|
---|
876 | makebutton($lang_char['del_char'], "char_list.php?action=del_char_form&check%5B%5D=$id",140);
|
---|
877 | makebutton($lang_char['send_mail'], "mail.php?type=ingame_mail&to=$char[1]",140);
|
---|
878 | }
|
---|
879 | makebutton($lang_global['back'], "javascript:window.history.back()",140);
|
---|
880 | $output .= "</td></tr>
|
---|
881 | </table><br /></center>";
|
---|
882 |
|
---|
883 | } else {
|
---|
884 | $sql->close();
|
---|
885 | error($lang_char['no_permission']);
|
---|
886 | }
|
---|
887 |
|
---|
888 | } else error($lang_char['no_char_found']);
|
---|
889 | $sql->close();
|
---|
890 |
|
---|
891 | }
|
---|
892 |
|
---|
893 |
|
---|
894 | //########################################################################################################################
|
---|
895 | // SHOW CHARACTERS SKILLS
|
---|
896 | //########################################################################################################################
|
---|
897 | function char_skill() {
|
---|
898 | global $lang_global, $lang_char, $lang_item, $output, $realm_db, $characters_db, $realm_id, $user_lvl,$mangos_db,
|
---|
899 | $user_name, $skill_datasite;
|
---|
900 |
|
---|
901 | if (empty($_GET['id'])) error($lang_global['empty_fields']);
|
---|
902 |
|
---|
903 | $sql = new SQL;
|
---|
904 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
905 |
|
---|
906 | $id = $sql->quote_smart($_GET['id']);
|
---|
907 | $order_by = (isset($_GET['order_by'])) ? $sql->quote_smart($_GET['order_by']) : 1;
|
---|
908 | $dir = (isset($_GET['dir'])) ? $sql->quote_smart($_GET['dir']) : 1;
|
---|
909 | $dir = ($dir) ? 0 : 1;
|
---|
910 |
|
---|
911 | $result = $sql->query("SELECT account FROM `character` WHERE guid = '$id'");
|
---|
912 |
|
---|
913 | if ($sql->num_rows($result) == 1){
|
---|
914 | $owner_acc_id = $sql->result($result, 0, 'account');
|
---|
915 | $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
|
---|
916 | $result = $sql->query("SELECT gmlevel,username FROM account WHERE id ='$owner_acc_id'");
|
---|
917 | $owner_gmlvl = $sql->result($result, 0, 'gmlevel');
|
---|
918 | $owner_name = $sql->result($result, 0, 'username');
|
---|
919 |
|
---|
920 | if (($user_lvl > $owner_gmlvl)||($owner_name == $user_name)){
|
---|
921 |
|
---|
922 | $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
|
---|
923 |
|
---|
924 | $result = $sql->query("SELECT data,name,race,class,CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', ".(CHAR_DATA_OFFSET_LEVEL+1)."), ' ', -1) AS UNSIGNED) AS level FROM `character` WHERE guid = '$id'");
|
---|
925 | $char = $sql->fetch_row($result);
|
---|
926 | $char_data = explode(' ',$char[0]);
|
---|
927 |
|
---|
928 | $output .= "<center>
|
---|
929 | <div id=\"tab\">
|
---|
930 | <ul>
|
---|
931 | <li><a href=\"char.php?id=$id\">{$lang_char['char_sheet']}</a></li>
|
---|
932 | <li><a href=\"char.php?id=$id&action=char_inv\">{$lang_char['inventory']}</a></li>
|
---|
933 | <li><a href=\"char.php?id=$id&action=char_quest\">{$lang_char['quests']}</a></li>
|
---|
934 | <li id=\"selected\"><a href=\"char.php?id=$id&action=char_skill\">{$lang_char['skills']}</a></li>
|
---|
935 | <li><a href=\"char.php?id=$id&action=char_rep\">{$lang_char['reputation']}</a></li>
|
---|
936 | </ul>
|
---|
937 | </div>
|
---|
938 | <div id=\"tab_content\">
|
---|
939 | <font class=\"bold\">$char[1] - ".get_player_race($char[2])." ".get_player_class($char[3])."</font><br /><br />
|
---|
940 |
|
---|
941 | <table class=\"lined\" style=\"width: 550px;\">
|
---|
942 | <tr>
|
---|
943 | <th class=\"title\" colspan=\"".($user_lvl ? "3" : "2")."\" align=\"left\">{$lang_char['skills']}</th></tr>
|
---|
944 | <tr>"
|
---|
945 | .($user_lvl ? "<th><a href=\"char.php?id=$id&action=char_skill&order_by=0&dir=$dir\">".($order_by==0 ? "<img src=\"img/arr_".($dir ? "up" : "dw").".gif\" /> " : "")."{$lang_char['skill_id']}</a></th>" : "")
|
---|
946 | ."<th align=\"right\"><a href=\"char.php?id=$id&action=char_skill&order_by=1&dir=$dir\">".($order_by==1 ? "<img src=\"img/arr_".($dir ? "up" : "dw").".gif\" /> " : "")."{$lang_char['skill_name']}</a></th>
|
---|
947 | <th><a href=\"char.php?id=$id&action=char_skill&order_by=2&dir=$dir\">".($order_by==2 ? "<img src=\"img/arr_".($dir ? "up" : "dw").".gif\" /> " : "")."{$lang_char['skill_value']}</a></th>
|
---|
948 | </tr>";
|
---|
949 | require_once("scripts/id_tab.php");
|
---|
950 |
|
---|
951 | $prof_1_array = array();
|
---|
952 | $prof_2_array = array();
|
---|
953 | $skill_array = array();
|
---|
954 |
|
---|
955 | $skill_rank_array = array(
|
---|
956 | 75 => $lang_char['apprentice'],
|
---|
957 | 150 => $lang_char['journeyman'],
|
---|
958 | 225 => $lang_char['expert'],
|
---|
959 | 300 => $lang_char['artisan'],
|
---|
960 | 350 => $lang_char['master'],
|
---|
961 | 375 => $lang_char['inherent'],
|
---|
962 | 385 => $lang_char['wise']
|
---|
963 | );
|
---|
964 |
|
---|
965 | for ($i = CHAR_DATA_OFFSET_SKILL_DATA; $i <= CHAR_DATA_OFFSET_SKILL_DATA+384 ; $i+=3){
|
---|
966 | if (($char_data[$i])&&(get_skill_name($char_data[$i] & 0x0000FFFF ))){
|
---|
967 | $temp = unpack("S", pack("L", $char_data[$i+1]));
|
---|
968 | $skill = ($char_data[$i] & 0x0000FFFF);
|
---|
969 |
|
---|
970 | if( $skill == 185 || $skill == 129 || $skill == 356 || $skill == 762)
|
---|
971 | {
|
---|
972 | array_push($prof_2_array , array(($user_lvl ? $skill : ''), get_skill_name($skill), $temp[1]));
|
---|
973 | }
|
---|
974 | else if( $skill == 171 || $skill == 182 || $skill == 186 ||
|
---|
975 | $skill == 197 || $skill == 202 || $skill == 333 ||
|
---|
976 | $skill == 393 || $skill == 755 || $skill == 164 ||
|
---|
977 | $skill == 165)
|
---|
978 | {
|
---|
979 | array_push($prof_1_array , array(($user_lvl ? $skill : ''), get_skill_name($skill), $temp[1]));
|
---|
980 | }
|
---|
981 | else
|
---|
982 | {
|
---|
983 | array_push($skill_array , array(($user_lvl ? $skill : ''), get_skill_name($skill), $temp[1]));
|
---|
984 | }
|
---|
985 | }
|
---|
986 | }
|
---|
987 | unset($char_data);
|
---|
988 |
|
---|
989 | aasort($skill_array, $order_by, $dir);
|
---|
990 | aasort($prof_1_array, $order_by, $dir);
|
---|
991 | aasort($prof_2_array, $order_by, $dir);
|
---|
992 |
|
---|
993 | foreach ($skill_array as $data){
|
---|
994 | $max = ($data[2] < $char[4]*5) ? $char[4]*5 : $data[2];
|
---|
995 | $output .= "<tr>"
|
---|
996 | .($user_lvl ? "<td>$data[0]</td>" : "")
|
---|
997 | ." <td align=\"right\">$data[1]</td>
|
---|
998 | <td valign=\"top\" class=\"bar skill_bar\" style=\"background-position: ".(round(385*$data[2]/$max)-385)."px;\">
|
---|
999 | <span>$data[2]/$max</span>
|
---|
1000 | </td>
|
---|
1001 | </tr>";
|
---|
1002 | }
|
---|
1003 |
|
---|
1004 | if(count($prof_1_array)) $output .= "<tr><th class=\"title\" colspan=\"".($user_lvl ? "3" : "2")."\" align=\"left\">{$lang_char['professions']} 1º</th></tr>";
|
---|
1005 | foreach ($prof_1_array as $data){
|
---|
1006 | $max = ($data[2]<76 ? 75 : ($data[2]<151 ? 150 : ($data[2]<226 ? 225 : ($data[2]<301 ? 300 : ($data[2]<351 ? 350 : ($data[2]<376 ? 375 : 385))))));
|
---|
1007 | $output .= "<tr>"
|
---|
1008 | .($user_lvl ? "<td>$data[0]</td>" : "")
|
---|
1009 | ." <td align=\"right\"><a href=\"{$skill_datasite}11.$data[0]\" target=\"_blank\">$data[1]</a></td>
|
---|
1010 | <td valign=\"top\" class=\"bar skill_bar\" style=\"background-position: ".(round(385*$data[2]/$max)-385)."px;\">
|
---|
1011 | <span>$data[2]/$max ({$skill_rank_array[$max]})</span>
|
---|
1012 | </td>
|
---|
1013 | </tr>";
|
---|
1014 | }
|
---|
1015 | if(count($prof_2_array)) $output .= "<tr><th class=\"title\" colspan=\"".($user_lvl ? "3" : "2")."\" align=\"left\">{$lang_char['professions']} 2º</th></tr>";
|
---|
1016 | foreach ($prof_2_array as $data){
|
---|
1017 | $max = ($data[2]<76 ? 75 : ($data[2]<151 ? 150 : ($data[2]<226 ? 225 : ($data[2]<301 ? 300 : ($data[2]<351 ? 350 : ($data[2]<376 ? 375 : 385))))));
|
---|
1018 | $output .= "<tr>"
|
---|
1019 | .($user_lvl ? "<td>$data[0]</td>" : "")
|
---|
1020 | ." <td align=\"right\"><a href=\"{$skill_datasite}9.$data[0]\" target=\"_blank\">$data[1]</a></td>
|
---|
1021 | <td valign=\"top\" class=\"bar skill_bar\" style=\"background-position: ".(round(385*$data[2]/$max)-385)."px;\">
|
---|
1022 | <span>$data[2]/$max ({$skill_rank_array[$max]})</span>
|
---|
1023 | </td>
|
---|
1024 | </tr>";
|
---|
1025 | }
|
---|
1026 | $output .= "</table></div><br />
|
---|
1027 | <table class=\"hidden\">
|
---|
1028 | <tr><td>";
|
---|
1029 | if ($user_lvl > $owner_gmlvl){
|
---|
1030 | makebutton($lang_char['chars_acc'], "user.php?action=edit_user&id=$owner_acc_id",140);
|
---|
1031 | makebutton($lang_char['edit_button'], "char_edit.php?id=$id",140);
|
---|
1032 | }
|
---|
1033 | if (($user_lvl > 0)&&(($user_lvl > $owner_gmlvl)||($owner_name == $user_name))){
|
---|
1034 | makebutton($lang_char['del_char'], "char_list.php?action=del_char_form&check%5B%5D=$id",140);
|
---|
1035 | makebutton($lang_char['send_mail'], "mail.php?type=ingame_mail&to=$char[1]",140);
|
---|
1036 | }
|
---|
1037 | makebutton($lang_global['back'], "javascript:window.history.back()",140);
|
---|
1038 | $output .= "</td></tr>
|
---|
1039 | </table><br /></center>";
|
---|
1040 |
|
---|
1041 | } else {
|
---|
1042 | $sql->close();
|
---|
1043 | error($lang_char['no_permission']);
|
---|
1044 | }
|
---|
1045 |
|
---|
1046 | } else error($lang_char['no_char_found']);
|
---|
1047 | $sql->close();
|
---|
1048 | }
|
---|
1049 |
|
---|
1050 |
|
---|
1051 | //########################################################################################################################
|
---|
1052 | // MAIN
|
---|
1053 | //########################################################################################################################
|
---|
1054 | $action = (isset($_GET['action'])) ? $_GET['action'] : NULL;
|
---|
1055 |
|
---|
1056 | switch ($action) {
|
---|
1057 | case "char_main":
|
---|
1058 | char_main();
|
---|
1059 | break;
|
---|
1060 | case "char_inv":
|
---|
1061 | char_inv();
|
---|
1062 | break;
|
---|
1063 | case "char_quest":
|
---|
1064 | char_quest();
|
---|
1065 | break;
|
---|
1066 | case "char_rep":
|
---|
1067 | char_rep();
|
---|
1068 | break;
|
---|
1069 | case "char_skill":
|
---|
1070 | char_skill();
|
---|
1071 | break;
|
---|
1072 | default:
|
---|
1073 | char_main();
|
---|
1074 | }
|
---|
1075 |
|
---|
1076 | require_once("footer.php");
|
---|
1077 | ?>
|
---|