· 6 years ago · Aug 24, 2019, 11:50 AM
1<?php
2$scriptname = $HTTP_SERVER_VARS[SCRIPT_NAME];
3require("auth.php");
4
5require_once('dbGmAdm.php');
6mysql_select_db($database_dbGmAdm, $dbGmAdm);
7
8//if($HTTP_SESSION_VARS["wc"]=="")
9$wid=$HTTP_GET_VARS["wid"];
10if($wid=="")
11{
12 die("World controller not set");
13}
14else
15{
16 if(!has_perm($HTTP_SESSION_VARS['userid'], $wid, "gmchar", ""))
17 {
18 die("Access denied.");
19 }
20 elseif(($HTTP_GET_VARS[a]=="a" || $HTTP_GET_VARS[a]=="d" || $HTTP_GET_VARS[a]=="s") && !has_perm($HTTP_SESSION_VARS['userid'], $wid, "gmchar", "w"))
21 {
22 die("Access denied. Read-Only.");
23 }
24
25 $rsSvr = mysql_query("SELECT * FROM gm_server WHERE id='{$wid}'", $dbGmAdm) or die(mysql_error($dbGmAdm));
26 $row_rsSvr=mysql_fetch_assoc($rsSvr) or die("invalid world controller");
27 mysql_free_result($rsSvr);
28 $wc_ip = $row_rsSvr[ip];
29 $wc_db = $row_rsSvr[db];
30 $dbWc = mysql_pconnect($row_rsSvr[ip],$row_rsSvr[dbuser],$row_rsSvr[dbpasswd]) or die(mysql_error());
31 mysql_select_db($row_rsSvr[db], $dbWc);
32
33 $hash = $HTTP_GET_VARS[i] % 10;
34 $query_rs1 = "SELECT * FROM pcharacter a, pcharstats_$hash b WHERE a.CharID=b.CharID AND a.CharID='{$HTTP_GET_VARS[i]}'";
35 $rs1 = mysql_query($query_rs1, $dbWc) or die(mysql_error($dbWc));
36 $row1 = mysql_fetch_assoc($rs1);
37 mysql_free_result($rs1);
38
39 if($HTTP_GET_VARS[a]=="s")
40 {
41 $rs_logon = mysql_query("SELECT * FROM authenticated WHERE CharID='{$HTTP_GET_VARS[i]}'", $dbWc) or die(mysql_error($dbWc));
42 $is_logon=mysql_num_rows($rs_logon);
43 mysql_free_result($rs_logon);
44
45 if($is_logon && $HTTP_GET_VARS[force]!=1)
46 {
47 echo "<form name=form1 action=\"{$HTTP_SERVER_VARS[REQUEST_URI]}&force=1\" method='Post'>";
48 echo generate_form('',$HTTP_POST_VARS);
49 echo "<input type=button value='Force Save' onclick='if(confirm(\"Do not force save if the character is being used or this will cause data error.\"))document.form1.submit()'></form>";
50 //post_form('document.form1',$HTTP_SERVER_VARS[REQUEST_URI]."&force=1");
51 die("game character is being used, write access denied.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
52 }
53
54 $rs_maxlevel = mysql_query("SELECT MAX(level)-1 FROM leveladv", $dbWc) or die(mysql_error());
55 list($maxlevel) = mysql_fetch_row($rs_maxlevel);
56 mysql_free_result($rs_maxlevel);
57
58 if($HTTP_POST_VARS[level] > $maxlevel) die("Invalid level is provided as the highest level allowed is $maxlevel.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
59
60
61//* no clan update
62 $was_in_userclan = $row1[ClanID]>0 ;//(float)($row1[ClanID] >= 1 && (float)$row1[ClanID] <= 10);
63 $be_in_userclan = $HTTP_POST_VARS[clanid]>0 ;//((float)$HTTP_POST_VARS[clanid] >= 1 && (float)$HTTP_POST_VARS[clanid] <= 10);
64
65 //if($be_in_userclan)
66 if(!($HTTP_POST_VARS[clanid] == 0 && $HTTP_POST_VARS[guildid] == 0 && $HTTP_POST_VARS[job] == 0))
67 {
68 //check valid rank/job
69 ($HTTP_POST_VARS[job] >= 1 && $HTTP_POST_VARS[job] <=5) or die("Invalid job, {$HTTP_POST_VARS[job]}.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
70
71 if($HTTP_POST_VARS[clanid] == 100) //game master
72 {
73 if($HTTP_POST_VARS[guildid] != 0) die("Guild ID must be 0.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
74 $tbl_clanlist = "clanlist_" . ($HTTP_POST_VARS[clanid] % 10);
75 $tbl_clanlist = "gmlist";
76
77 //check 1 clan 1 PC/NPC leader
78 if($HTTP_POST_VARS[job] == '1')
79 {
80 $rs = mysql_query("SELECT 1 FROM clan WHERE ClanID='$HTTP_POST_VARS[clanid]' AND Type<>0", $dbWc) or die(mysql_error());
81 if(mysql_num_rows($rs)>0) die("Clan already has an NPC leader.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
82
83 //$rs = mysql_query("SELECT Indx FROM {$tbl_clanlist} WHERE ClanID='$HTTP_POST_VARS[clanid]' AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job=1", $dbWc) or die(mysql_error());
84 $rs = mysql_query("SELECT Indx FROM {$tbl_clanlist} WHERE CharID<>'{$HTTP_GET_VARS[i]}' AND Job=1", $dbWc) or die(mysql_error());
85 if(mysql_num_rows($rs)>0) die("Clan already has a leader.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
86 }
87
88 //check member limit
89 //$sql_get_job_slot = "SELECT Indx FROM {$tbl_clanlist} WHERE ClanID='$HTTP_POST_VARS[clanid]' AND (CharID=0 OR CharID='{$HTTP_GET_VARS[i]}') ORDER BY CharID DESC, Indx LIMIT 1;";
90 $sql_get_job_slot = "SELECT Indx FROM {$tbl_clanlist} WHERE (CharID=0 OR CharID='{$HTTP_GET_VARS[i]}') ORDER BY CharID DESC, Indx LIMIT 1;";
91 $rs_job_slot = mysql_query($sql_get_job_slot, $dbWc) or die(mysql_error($dbWc));
92 $num_rows = mysql_num_rows($rs_job_slot);
93 if($num_rows==0) die("Guild/Hall has reached the maximum number of members allowed.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
94 $row2 = mysql_fetch_row($rs_job_slot);
95
96 $sql_set_job="UPDATE {$tbl_clanlist} SET CharID='{$HTTP_GET_VARS[i]}', Job='{$HTTP_POST_VARS[job]}' WHERE Indx='{$row2[0]}';";
97 $befores = get_str_rs($dbWc, "SELECT * FROM {$tbl_clanlist} WHERE Indx='{$row2[0]}';");
98 $rs_set_job = mysql_query($sql_set_job, $dbWc) or die(mysql_error($dbWc));
99 $after = get_str_rs($dbWc, "SELECT * FROM {$tbl_clanlist} WHERE Indx='{$row2[0]}';");
100
101 }
102 else //normal clan
103 {
104
105 if($row_rsSvr[version] < '1.2' || $HTTP_POST_VARS[clanid] != 0)
106 {
107 //check matched clanid and guildid in ally table
108 $rs = mysql_query("SELECT 1 FROM ally WHERE ClanID='{$HTTP_POST_VARS[clanid]}' AND GuildID='{$HTTP_POST_VARS[guildid]}' ", $dbWc) or die(mysql_error($dbWc));
109 if(mysql_num_rows($rs)==0)die("In ally table, Clan, ID {$HTTP_POST_VARS[clanid]} does not have Guild/Hall, ID {$HTTP_POST_VARS[guildid]}.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
110 }
111
112 if($HTTP_POST_VARS[guildid] < 1500) // if is hall (not user guild)
113 {
114 //1 clan 1 leader, 10 minister, 20 master check
115 if($HTTP_POST_VARS[job] == 1 || $HTTP_POST_VARS[job] == 2 || $HTTP_POST_VARS[job] == 3)
116 {
117$droptableint = "DROP TABLE IF EXISTS `intdata_all`";
118$updatesqlint = "
119CREATE TABLE IF NOT EXISTS `intdata_all` (
120 `CharID` int(10) unsigned NOT NULL default '0',
121 `XPPool` int(10) unsigned NOT NULL default '0',
122 `ClanID` int(10) unsigned NOT NULL default '0',
123 `ElderBrotherID` int(10) unsigned NOT NULL default '0',
124 `job` smallint(5) unsigned default '0',
125 `AuctionGold` int(10) unsigned default '0',
126 `Reason` smallint(5) unsigned default '0',
127 `GuildID` int(10) unsigned default '0',
128 `RClanID` smallint(5) unsigned default '0',
129 `Rating` tinyint(3) unsigned default '0',
130 `HeroPoints` smallint(5) unsigned default '0',
131 PRIMARY KEY (`CharID`)
132)TYPE=MRG_MyISAM UNION= (intdata_0, intdata_1,intdata_2,intdata_3,intdata_4, intdata_5,intdata_6, intdata_7,intdata_8,intdata_9);
133";
134 mysql_query($droptableint, $dbWc) or die(mysql_error($dbWc));
135 mysql_query($updatesqlint, $dbWc) or die(mysql_error($dbWc));
136
137 $rank_cnt = 0;
138 $max_rank_cnt[1] = 1;
139 $max_rank_cnt[2] = 10;
140 $max_rank_cnt[3] = 20;
141 if($row_rsSvr[version] >= '1.2')
142 {
143 $max_rank_cnt[3] = 22;
144 }
145 $rs_ally = mysql_query("SELECT * FROM ally WHERE ClanID='{$HTTP_POST_VARS[clanid]}' AND GuildID<1500", $dbWc) or die(mysql_error($dbWc));
146 while($row = mysql_fetch_assoc($rs_ally))
147 {
148 if($row[GuildID] == 0) continue;
149 $tbl_guildlist = "guildlist_" . $row[GuildID] % 10;
150 //$rs_guildlist = mysql_query("SELECT 1 FROM $tbl_guildlist WHERE GuildID='{$row[GuildID]}' AND Job = '{$HTTP_POST_VARS[job]}' AND CharID<>'{$HTTP_GET_VARS[i]}' ", $dbWc) or die(mysql_error($dbWc));
151 $rs_guildlist = mysql_query("SELECT 1 FROM intdata_all WHERE GuildID='{$row[GuildID]}' AND Job = '{$HTTP_POST_VARS[job]}' AND CharID<>'{$HTTP_GET_VARS[i]}' ", $dbWc) or die(mysql_error($dbWc));
152 $rank_cnt += mysql_num_rows($rs_guildlist);
153 /*
154 if(mysql_num_rows($rs_guildlist) >0)
155 {
156 $arrrr = mysql_fetch_row($rs_guildlist);
157 echo $arrrr[0] . "SELECT 1 FROM intdata_all WHERE GuildID='{$row[GuildID]}' AND Job = '{$HTTP_POST_VARS[job]}' AND CharID<>'{$HTTP_GET_VARS[i]}' ";
158 }
159 */
160 }
161 if($rank_cnt >= $max_rank_cnt[$HTTP_POST_VARS[job]]) die("Each clan can have only {$max_rank_cnt[$HTTP_POST_VARS[job]]} {$job_desc[$HTTP_POST_VARS[job]]}(s).<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
162
163 mysql_query("DROP TABLE IF EXISTS intdata_all", $dbWc);
164 }// 1 clan 1 leader, 10minister, 20master check
165 } // is hall (not guild)
166
167 $tbl_guildlist = "guildlist_" . ($HTTP_POST_VARS[guildid] % 10);
168
169 //check NPC leader
170 if($HTTP_POST_VARS[job] == '1')
171 {
172 $rs = mysql_query("SELECT 1 FROM clan WHERE ClanID='$HTTP_POST_VARS[clanid]' AND Type<>0", $dbWc) or die(mysql_error($dbWc));
173 if(mysql_num_rows($rs)>0)die("Clan already has an NPC leader.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
174 }
175
176 if($row_rsSvr[version] >= '1.2')
177 {
178 if($HTTP_POST_VARS[guildid] < 1500) //hall
179 {
180 //check 1 hall 1 leader/minister and 1 hall 2 masters and 1 hall 15 seniors and 1 hall 500 members
181 if($HTTP_POST_VARS[job] == '1' || $HTTP_POST_VARS[job] == '2')
182 {
183 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job IN (1,2)", $dbWc) or die(mysql_error($dbWc));
184 //if(mysql_num_rows($rs)>=1)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has a leader or minister.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
185 }
186 elseif($HTTP_POST_VARS[job] == '3')
187 {
188 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 3", $dbWc) or die(mysql_error($dbWc));
189 if(mysql_num_rows($rs)>=2)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has 2 masters.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
190 }
191 elseif($HTTP_POST_VARS[job] == '4')
192 {
193 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 4", $dbWc) or die(mysql_error($dbWc));
194 if(mysql_num_rows($rs)>=15)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has 15 seniors.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
195 }
196 elseif($HTTP_POST_VARS[job] == '5')
197 {
198 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 5", $dbWc) or die(mysql_error($dbWc));
199 if(mysql_num_rows($rs)>=500)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has 500 members.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
200 }
201 }
202 else // is guilid (id {>=1500}, not hall {<1500})
203 {
204 //check 1 guild 1 leader, 10 minister, 20 masters, 60 seniors and 409 members
205 if($HTTP_POST_VARS[job] == '1')
206 {
207 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 1", $dbWc) or die(mysql_error($dbWc));
208 if(mysql_num_rows($rs)>=1)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has a leader.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
209 }
210 elseif($HTTP_POST_VARS[job] == '2')
211 {
212 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 2", $dbWc) or die(mysql_error($dbWc));
213 if(mysql_num_rows($rs)>=10)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has 10 masters.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
214 }
215 elseif($HTTP_POST_VARS[job] == '3')
216 {
217 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 3", $dbWc) or die(mysql_error($dbWc));
218 if(mysql_num_rows($rs)>=20)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has 20 masters.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
219 }
220 elseif($HTTP_POST_VARS[job] == '4')
221 {
222 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 4", $dbWc) or die(mysql_error($dbWc));
223 if(mysql_num_rows($rs)>=60)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has 60 seniors.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
224 }
225 elseif($HTTP_POST_VARS[job] == '5')
226 {
227 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job = 5", $dbWc) or die(mysql_error($dbWc));
228 if(mysql_num_rows($rs)>=409)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has 409 members.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
229 }
230 }
231 }
232 else
233 {
234 //check 1 Guild 1 leader/minister/master
235 if($HTTP_POST_VARS[job] == '1' || $HTTP_POST_VARS[job] == '2' || $HTTP_POST_VARS[job] == '3')
236 {
237 $rs = mysql_query("SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND CharID>0 AND CharID<>'{$HTTP_GET_VARS[i]}' AND Job IN (1,2,3)", $dbWc) or die(mysql_error($dbWc));
238 if(mysql_num_rows($rs)>0)die("Guild/Hall, ID $HTTP_POST_VARS[guildid], already has a leader, minister, or master.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
239 }
240 }
241
242 //get user/empty slot in guildlist_N
243 $sql_get_job_slot = "SELECT Indx FROM {$tbl_guildlist} WHERE GuildID='$HTTP_POST_VARS[guildid]' AND (CharID=0 OR CharID='{$HTTP_GET_VARS[i]}') ORDER BY CharID DESC, Indx LIMIT 1;";
244 $rs_job_slot = mysql_query($sql_get_job_slot, $dbWc) or die(mysql_error($dbWc));
245 mysql_num_rows($rs_job_slot) > 0 or die("Guild/Hall has reached the maximum number (" . mysql_num_rows($rs_job_slot) . ") of members allowed.<p><a href='{$scriptname}?i={$HTTP_GET_VARS[i]}&wid={$wid}'>Back</a>");
246 $row2 = mysql_fetch_row($rs_job_slot);
247
248 //set guildlist
249 $sql_set_job="UPDATE {$tbl_guildlist} SET CharID='{$HTTP_GET_VARS[i]}', Job='{$HTTP_POST_VARS[job]}' WHERE Indx='{$row2[0]}';";
250 $befores = get_str_rs($dbWc, "SELECT * FROM {$tbl_guildlist} WHERE Indx='{$row2[0]}';");
251 $rs_set_job = mysql_query($sql_set_job, $dbWc) or die(mysql_error($dbWc));
252 $after = get_str_rs($dbWc, "SELECT * FROM {$tbl_guildlist} WHERE Indx='{$row2[0]}';");
253
254 }
255 } //be in clan
256
257 //if($was_in_userclan)
258 //{
259 if($row1[ClanID] == 100)
260 {
261 $tbl_clanlist = "clanlist_" . ($row1[ClanID] % 10);
262 $tbl_clanlist = "gmlist";
263 //$sql_unset_job="UPDATE $tbl_clanlist SET CharID=0, Job=0 WHERE CharID='{$HTTP_GET_VARS[i]}' AND ClanID<>'{$HTTP_POST_VARS[clanid]}';";
264 $sql_unset_job="UPDATE $tbl_clanlist SET CharID=0, Job=0 WHERE CharID='{$HTTP_GET_VARS[i]}';";
265 //execdbsql($dbWc, "SELECT * FROM $tbl_clanlist WHERE CharID='{$HTTP_GET_VARS[i]}' AND ClanID<>'{$HTTP_POST_VARS[clanid]}';", $row_clanlist);
266 execdbsql($dbWc, "SELECT * FROM $tbl_clanlist WHERE CharID='{$HTTP_GET_VARS[i]}';", $row_clanlist);
267 $befores = dump_rs_string($row_clanlist);
268 //$befores = get_str_rs($dbWc, "SELECT * FROM $tbl_clanlist WHERE CharID='{$HTTP_GET_VARS[i]}' AND ClanID<>'{$HTTP_POST_VARS[clanid]}';");
269 $rs_unset_job = mysql_query($sql_unset_job, $dbWc) or die(mysql_error($dbWc));
270 $after = get_str_rs($dbWc, "SELECT * FROM $tbl_clanlist WHERE Indx='{$row_clanlist[Indx]}';");
271
272 }
273 else //normal clan
274 {
275 if($row1[GuildID] != 0)
276 {
277 $tbl_guildlist = "guildlist_" . ($row1[GuildID] % 10);
278 $sql_unset_job="UPDATE $tbl_guildlist SET CharID=0, Job=0 WHERE CharID='{$HTTP_GET_VARS[i]}' AND GuildID<>'{$HTTP_POST_VARS[guildid]}';";
279 execdbsql($dbWc, "SELECT * FROM $tbl_guildlist WHERE CharID='{$HTTP_GET_VARS[i]}' AND GuildID='{$HTTP_POST_VARS[guildid]}';", $row_guildlist);
280 //die($sql_unset_job);
281 $befores = dump_rs_string($row_guildlist);
282 //$befores = get_str_rs($dbWc, "SELECT * FROM $tbl_clanlist WHERE CharID='{$HTTP_GET_VARS[i]}' AND ClanID<>'{$HTTP_POST_VARS[clanid]}';");
283 $rs_unset_job = mysql_query($sql_unset_job, $dbWc) or die(mysql_error($dbWc));
284 $after = get_str_rs($dbWc, "SELECT * FROM $tbl_guildlist WHERE Indx='{$row_guildlist[0][Indx]}';");
285
286 } // guild id > 0
287 }
288 //} //was in clan
289//*/
290 if ($row1[MulPerc])
291 {
292 $temp_str = "MulPerc='{$HTTP_POST_VARS[MultiPercentage]}',";
293 }
294
295 $query_rs = "UPDATE pcharstats_$hash SET
296 Strength='{$HTTP_POST_VARS[strength]}',
297 Constitution='{$HTTP_POST_VARS[constitution]}',
298 Agility='{$HTTP_POST_VARS[agility]}',
299 Mind='{$HTTP_POST_VARS[mind]}',
300 Perception='{$HTTP_POST_VARS[perception]}',
301 AttackRating='{$HTTP_POST_VARS[attackrating]}',
302 DefenseRating='{$HTTP_POST_VARS[defenserating]}',
303 BaseDamage='{$HTTP_POST_VARS[basedamage]}',
304 CurrHP='{$HTTP_POST_VARS[currhp]}',
305 MaxHP='{$HTTP_POST_VARS[maxhp]}',
306 CurrChi='{$HTTP_POST_VARS[currchi]}',
307 MaxChi='{$HTTP_POST_VARS[maxchi]}',
308 HPRegen='{$HTTP_POST_VARS[hpregen]}',
309 ChiRegen='{$HTTP_POST_VARS[chiregen]}',
310 FireResist='{$HTTP_POST_VARS[fireresist]}',
311 ColdResist='{$HTTP_POST_VARS[coldresist]}',
312 PoisonResist='{$HTTP_POST_VARS[poisonresist]}',
313 LightningResist='{$HTTP_POST_VARS[lightningresist]}',
314 PhysicalResist='{$HTTP_POST_VARS[physicalresist]}',
315 MovementMode='{$HTTP_POST_VARS[movementmode]}',
316 Experience='{$HTTP_POST_VARS[experience]}',
317 Level='{$HTTP_POST_VARS[level]}',
318 CharGold='{$HTTP_POST_VARS[chargold]}',
319 StashGold='{$HTTP_POST_VARS[stashgold]}',
320 Prestige='{$HTTP_POST_VARS[prestige]}',
321 AttributePoints='{$HTTP_POST_VARS[attributepoints]}',
322 StancePoints='{$HTTP_POST_VARS[stancepoints]}',
323 PowerPoints='{$HTTP_POST_VARS[powerpoints]}',
324 SkillPoints='{$HTTP_POST_VARS[skillpoints]}',
325 EntityState='{$HTTP_POST_VARS[entitystate]}',
326 ActiveWeapon='{$HTTP_POST_VARS[activeweapon]}',
327 ActiveWeaponSlot='{$HTTP_POST_VARS[activeweaponslot]}',
328 AttackMode='{$HTTP_POST_VARS[attackmode]}',
329 ElementalAdv='{$HTTP_POST_VARS[elementaladv]}',
330 Gender='{$HTTP_POST_VARS[gender]}',
331 MinUnarmedDamage='{$HTTP_POST_VARS[minunarmeddamage]}',
332 MaxUnarmedDamage='{$HTTP_POST_VARS[maxunarmeddamage]}',
333 PartyID='{$HTTP_POST_VARS[partyid]}',
334 TaskChainTag='{$HTTP_POST_VARS[taskchaintag]}',
335 ChainStringID='{$HTTP_POST_VARS[chainstringid]}',
336 XPPool='{$HTTP_POST_VARS[xppool]}',
337 ClanQuit='{$HTTP_POST_VARS[clanquit]}',
338 ClanID='{$HTTP_POST_VARS[clanid]}',
339 GuildID='{$HTTP_POST_VARS[guildid]}',
340 RedPoints='{$HTTP_POST_VARS[RedPoints]}',
341 GreenPoints='{$HTTP_POST_VARS[GreenPoints]}',
342 HeroPoints='{$HTTP_POST_VARS[HeroPoints]}',
343 PKWarning='{$HTTP_POST_VARS[PKWarning]}',
344 NumChainPowers='{$HTTP_POST_VARS[NumChainPowers]}',
345 LastDuelID='{$HTTP_POST_VARS[LastDuelID]}',
346 ReSpecPoints='{$HTTP_POST_VARS[ReSpecPoints]}',
347 $temp_str
348 job='{$HTTP_POST_VARS[job]}'
349 WHERE CharID='{$HTTP_GET_VARS[i]}'";
350// ElderBrotherID='{$HTTP_POST_VARS[elderbrotherid]}',
351// ElderBName='{$HTTP_POST_VARS[elderbrothername]}',
352/*
353*/
354 $befores = get_str_rs($dbWc, "SELECT p1.Username, p1.CharacterName, p2.* FROM pcharacter p1, pcharstats_$hash p2 WHERE p1.CharID='{$HTTP_GET_VARS[i]}' AND p2.CharID='{$HTTP_GET_VARS[i]}';");
355 $rs = mysql_query($query_rs, $dbWc) or die(mysql_error($dbWc));
356 $after = get_str_rs($dbWc, "SELECT p1.Username, p1.CharacterName, p2.* FROM pcharacter p1, pcharstats_$hash p2 WHERE p1.CharID='{$HTTP_GET_VARS[i]}' AND p2.CharID='{$HTTP_GET_VARS[i]}';");
357
358///* clan update
359 $query_rs = "UPDATE intdata_$hash SET ClanID='{$HTTP_POST_VARS[clanid]}', GuildID='{$HTTP_POST_VARS[guildid]}', job='{$HTTP_POST_VARS[job]}' WHERE CharID='{$HTTP_GET_VARS[i]}';";
360 $befores = get_str_rs($dbWc, "SELECT * FROM intdata_$hash WHERE CharID='{$HTTP_GET_VARS[i]}';");
361 $rs = mysql_query($query_rs, $dbWc) or die(mysql_error($dbWc));
362 $after = get_str_rs($dbWc, "SELECT * FROM intdata_$hash WHERE CharID='{$HTTP_GET_VARS[i]}';");
363
364//*/
365 header("Location: {$scriptname}?i={$HTTP_GET_VARS[i]}&wid=$wid");
366 exit();
367 }
368
369 $query_rs = "SELECT * FROM pcharstats_$hash WHERE CharID='{$HTTP_GET_VARS[i]}'";
370 $rs = mysql_query($query_rs, $dbWc) or die(mysql_error($dbWc));
371 $row=mysql_fetch_assoc($rs);
372 if(mysql_num_rows($rs) == 0) die("<font color=red>No matched queries.</font>");
373 mysql_free_result($rs);
374}
375?>
376<html>
377<head>
378<title><?=BROWSER_TITLE?></title>
379<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
380<link href="ga.css" rel="stylesheet" type="text/css"/>
381<script language="JavaScript" type="text/JavaScript">
382<!--
383function postform(form,url){
384 form.action=url;form.submit()
385}
386function valfrm()
387{
388/* clan update
389 if(document.form1.job.value=='0' && document.form1.clanid.value!='0')
390 {
391 alert('clan_id must be 0 if job is 0')
392 return 0
393 }
394*/
395 return 1
396}
397//-->
398</script>
399</head>
400<body>
401<h3>Player Character Stats</h3>
402(World Controller: <?=$row_rsSvr[name]?>)
403<form name="form1" method="post" action="">
404<p>Properties: <a href="pcharacter.php?i=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>">Character</a>
405 | Stat
406 | <a href="charinv.php?f=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>">Inventory</a>
407 | <a href="powerlist.php?f=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>">Power</a>
408 | <a href="skilllist.php?f=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>">Skill</a>
409 | <a href="effectlist.php?f=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>">Effect</a>
410 | <a href="stancelist.php?f=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>">Stance</a>
411 | <a href="questdata.php?i=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>">Quest</a>
412</p>
413<table border="0">
414 <tr>
415 <td>User Name</td>
416 <td><input name="textfield32" type="text" value="<?=$row1[Username]?>" readonly="yes"></td>
417 </tr>
418 <tr>
419 <td>Char Name </td>
420 <td><input name="textfield52" type="text" value="<?=htmlspecialchars(U16btoU8str($row1[CharacterName]))?>" readonly="yes"></td>
421 </tr>
422 <tr>
423 <td>Char ID</td>
424 <td><input name="textfield42" type="text" value="<?=$row1[CharID]?>" readonly="yes"></td>
425 </tr>
426</table>
427<table border="1" cellspacing=0>
428 <tr>
429 <td>Strength</td>
430 <td><input name="strength" type="text" size="11" id="strength" value="<?=$row[Strength]?>"></td>
431 </tr>
432 <tr>
433 <td>Constitution</td>
434 <td><input name="constitution" type="text" size="11" id="constitution" value="<?=$row[Constitution]?>"></td>
435 </tr>
436 <tr>
437 <td>Agility</td>
438 <td><input name="agility" type="text" size="11" id="agility" value="<?=$row[Agility]?>"></td>
439 </tr>
440 <tr>
441 <td>Mind</td>
442 <td><input name="mind" type="text" size="11" id="mind" value="<?=$row[Mind]?>"></td>
443 </tr>
444 <tr>
445 <td>Perception</td>
446 <td><input name="perception" type="text" size="11" id="perception" value="<?=$row[Perception]?>"></td>
447 </tr>
448 <tr>
449 <td>AttackRating</td>
450 <td><input name="attackrating" type="text" size="11" id="attackrating" value="<?=$row[AttackRating]?>"></td>
451 </tr>
452 <tr>
453 <td>DefenseRating</td>
454 <td><input name="defenserating" type="text" size="11" id="defenserating" value="<?=$row[DefenseRating]?>"></td>
455 </tr>
456 <tr>
457 <td>BaseDamage</td>
458 <td><input name="basedamage" type="text" size="11" id="basedamage" value="<?=$row[BaseDamage]?>"></td>
459 </tr>
460 <tr>
461 <td>CurHP/MaxHP</td>
462 <td><input name="currhp" type="text" size="5" id="currhp" value="<?=$row[CurrHP]?>">
463 / <input name="maxhp" type="text" size="5" id="maxhp" value="<?=$row[MaxHP]?>"></td>
464 </tr>
465 <tr>
466 <td>CurChi/MaxChi</td>
467 <td><input name="currchi" type="text" size="5" id="currchi" value="<?=$row[CurrChi]?>">
468 / <input name="maxchi" type="text" size="5" id="maxchi" value="<?=$row[MaxChi]?>"></td>
469 </tr>
470 <tr>
471 <td>HPRegen</td>
472 <td><input name="hpregen" type="text" size="11" id="hpregen" value="<?=$row[HPRegen]?>"></td>
473 </tr>
474 <tr>
475 <td>ChiRegen</td>
476 <td><input name="chiregen" type="text" size="11" id="chiregen" value="<?=$row[ChiRegen]?>"></td>
477 </tr>
478 <tr>
479 <td>FireResist</td>
480 <td><input name="fireresist" type="text" size="11" id="fireresist" value="<?=$row[FireResist]?>"></td>
481 </tr>
482 <tr>
483 <td>ColdResist</td>
484 <td><input name="coldresist" type="text" size="11" id="coldresist" value="<?=$row[ColdResist]?>"></td>
485 </tr>
486 <tr>
487 <td>PoisonResist</td>
488 <td><input name="poisonresist" type="text" size="11" id="poisonresist" value="<?=$row[PoisonResist]?>"></td>
489 </tr>
490 <tr>
491 <td>LightningResist</td>
492 <td><input name="lightningresist" type="text" size="11" id="lightningresist" value="<?=$row[LightningResist]?>"></td>
493 </tr>
494 <tr>
495 <td>PhysicalResist</td>
496 <td><input name="physicalresist" type="text" size="11" id="physicalresist" value="<?=$row[PhysicalResist]?>"></td>
497 </tr>
498 <tr>
499 <td>MovementMode</td>
500 <td><input name="movementmode" type="text" size="11" id="movementmode" value="<?=$row[MovementMode]?>"></td>
501 </tr>
502 <tr>
503 <td>Experience</td>
504 <td><input name="experience" type="text" size="11" id="experience" value="<?=$row[Experience]?>"></td>
505 </tr>
506 <tr>
507 <td>Level</td>
508 <td><input name="level" type="text" size="11" id="level" value="<?=$row[Level]?>"></td>
509 </tr>
510 <tr>
511 <td>chargold</td>
512 <td><input name="chargold" type="text" size="11" id="chargold" value="<?=$row[CharGold]?>"></td>
513 </tr>
514 <tr>
515 <td>stashgold</td>
516 <td><input name="stashgold" type="text" size="11" id="stashgold" value="<?=$row[StashGold]?>"></td>
517 </tr>
518 <tr>
519 <td>Prestige</td>
520 <td><input name="prestige" type="text" size="11" id="prestige" value="<?=$row[Prestige]?>"></td>
521 </tr>
522 <tr>
523 <td>Unallocated Attribute Points</td>
524 <td><input name="attributepoints" type="text" size="11" id="attributepoints" value="<?=$row[AttributePoints]?>"></td>
525 </tr>
526 <tr>
527 <td>Unallocated Stance Points</td>
528 <td><input name="stancepoints" type="text" size="11" id="stancepoints" value="<?=$row[StancePoints]?>"></td>
529 </tr>
530 <tr>
531 <td>Unallocated Power Points</td>
532 <td><input name="powerpoints" type="text" size="11" id="powerpoints" value="<?=$row[PowerPoints]?>"></td>
533 </tr>
534 <tr>
535 <td>Unallocated Skill Points</td>
536 <td><input name="skillpoints" type="text" size="11" id="skillpoints" value="<?=$row[SkillPoints]?>"></td>
537 </tr>
538 <tr>
539 <td>EntityState</td>
540 <td><input name="entitystate" type="text" size="11" id="entitystate" value="<?=$row[EntityState]?>"></td>
541 </tr>
542 <tr>
543 <td>ActiveWeapon</td>
544 <td><input name="activeweapon" type="text" size="11" id="activeweapon" value="<?=$row[ActiveWeapon]?>"></td>
545 </tr>
546 <tr>
547 <td>ActiveWeaponSlot</td>
548 <td><input name="activeweaponslot" type="text" size="11" id="activeweaponslot" value="<?=$row[ActiveWeaponSlot]?>"></td>
549 </tr>
550 <tr>
551 <td>AttackMode</td>
552 <td><input name="attackmode" type="text" size="11" id="attackmode" value="<?=$row[AttackMode]?>"></td>
553 </tr>
554 <tr>
555 <td>ElementalAdv</td>
556 <td><input name="elementaladv" type="text" size="11" id="elementaladv" value="<?=$row[ElementalAdv]?>"></td>
557 </tr>
558 <tr>
559 <td>Gender</td>
560 <td><input name="gender" type="text" size="11" id="gender" value="<?=$row[Gender]?>"></td>
561 </tr>
562 <tr>
563 <td>MinUnarmedDamage</td>
564 <td><input name="minunarmeddamage" type="text" size="11" id="minunarmeddamage" value="<?=$row[MinUnarmedDamage]?>"></td>
565 </tr>
566 <tr>
567 <td>MaxUnarmedDamage</td>
568 <td><input name="maxunarmeddamage" type="text" size="11" id="maxunarmeddamage" value="<?=$row[MaxUnarmedDamage]?>"></td>
569 </tr>
570<!--
571 <tr>
572 <td>ElderBrotherID</td>
573 <td><input name="elderbrotherid" type="text" size="11" id="elderbrotherid" value="<?=$row[ElderBrotherID]?>"></td>
574 </tr>
575-->
576 <tr>
577 <td>PartyID</td>
578 <td><input name="partyid" type="text" size="11" id="partyid" value="<?=$row[PartyID]?>"></td>
579 </tr>
580 <tr>
581 <td>TaskChainTag</td>
582 <td><input name="taskchaintag" type="text" size="11" id="taskchaintag" value="<?=$row[TaskChainTag]?>"></td>
583 </tr>
584 <tr>
585 <td>ChainStringID</td>
586 <td><input name="chainstringid" type="text" size="11" id="chainstringid" value="<?=$row[ChainStringID]?>"></td>
587 </tr>
588 <!--tr>
589 <td>ElderBName</td>
590 <td><input name="elderbrothername" type="text" size="11" id="elderbrothername" value="<?=$row[ElderBName]?>" readonly="yes"></td>
591 </tr-->
592 <tr>
593 <td>XPPool</td>
594 <td><input name="xppool" type="text" size="11" id="xppool" value="<?=$row[XPPool]?>"></td>
595 </tr>
596 <tr>
597 <td>Red Points</td>
598 <td><input name="RedPoints" type="text" size="11" id="RedPoints" value="<?=$row[RedPoints]?>"></td>
599 </tr>
600 <tr>
601 <td>Green Points</td>
602 <td><input name="GreenPoints" type="text" size="11" id="GreenPoints" value="<?=$row[GreenPoints]?>"></td>
603 </tr>
604 <tr>
605 <td>Hero Points</td>
606 <td><input name="HeroPoints" type="text" size="11" id="HeroPoints" value="<?=$row[HeroPoints]?>"></td>
607 </tr>
608 <tr>
609 <td>PKWarning</td>
610 <td><input name="PKWarning" type="text" size="11" id="PKWarning" value="<?=$row[PKWarning]?>"></td>
611 </tr>
612 <tr>
613 <td>Num Chain Powers</td>
614 <td><input name="NumChainPowers" type="text" size="11" id="NumChainPowers" value="<?=$row[NumChainPowers]?>" Maxlength=3></td>
615 </tr>
616 <tr>
617 <td>ClanQuit</td>
618 <td><input name="clanquit" type="text" size="11" id="clanquit" value="<?=$row[ClanQuit]?>"></td>
619 </tr>
620 <tr>
621 <td>ClanID</td>
622 <td><input name="clanid" type="text" size="11" id="clanid" value="<?=$row[ClanID]?>"></td>
623 </tr>
624 <tr>
625 <td>Guild/Hall</td>
626 <td><input name="guildid" type="text" size="11" id="guildid" value="<?=$row[GuildID]?>"></td>
627 </tr>
628 <tr>
629 <td>Rank</td>
630 <td><input name="job" type="text" size="11" id="job" value="<?=$row[Job]?>"></td>
631 </tr>
632 <tr>
633 <td>LastDuelID</td>
634 <td><input name="LastDuelID" type="text" size="11" id="LastDuelID" value="<?=$row[LastDuelID]?>"></td>
635 </tr>
636 <tr>
637 <td>Re Spec Points</td>
638 <td><input name="ReSpecPoints" type="text" size="11" id="ReSpecPoints" value="<?=$row[ReSpecPoints]?>"></td>
639 </tr>
640 <tr>
641 <td>Experience Point Percentage</td>
642 <td><input name="MultiPercentage" type="text" size="11" id="MultiPercentage" value="<?=$row[MulPerc]?>"></td>
643 </tr>
644 </table>
645 <input type="reset" name="Reset" value="Reset">
646 <input type="button" name="Button" value="Save" onClick="if(valfrm())if(confirm('Overwrite?'))postform(document.form1,'<?=$scriptname?>?a=s&i=<?=$HTTP_GET_VARS[i]?>&wid=<?=$wid?>')">
647 </form>
648</body>
649</html>