· 9 years ago · Dec 26, 2016, 06:38 AM
1<?php
2function BASE_utf8($string)
3{
4 return utf8_encode($string);
5}
6
7
8function hexTobin($data)
9{
10 return pack("H".strlen($data),$data);
11}
12function inverterhex($data)
13{
14 $tamanho=strlen($data);
15 if(($tamanho % 2)!=0)
16 {
17 $data="0".$data;
18 }
19 $data=wordwrap($data, 2, "/", true);
20 $explode=explode("/", $data);
21 $a=0;
22 for($i=(count($explode)-1); $i>=0; $i--)
23 {
24 $join[$a]=$explode[$i];
25 $a++;
26 }
27 $data=implode("", $join);
28 return $data;
29}
30function hex2num($data)
31{
32 return hexdec(inverterhex($data));
33}
34function num2hex($data)
35{
36 return inverterhex(dechex($data));
37}
38
39
40
41//retorna bufer da conta
42function abrirconta($login1)
43{
44 $ini=substr($login1,0,1);
45 $path=@mysql_fetch_array(mysql_query("SELECT `valor` FROM `configs` WHERE `config`='path'"));
46 if(is_numeric($ini))
47 {
48 $ini="etc";
49 }
50 $conta=$path['valor']."/".$ini."/".$login1;
51 if(file_exists($conta))
52 {
53 $open=@fopen($conta,"r");
54 $leitura=@fread($open, filesize($conta));
55 return trim(strtoupper(bin2hex($leitura)));
56 }
57 else
58 {
59 return 0;
60 }
61}
62
63
64
65function RankAll()
66{
67 $query = @mysql_query("SELECT * FROM `accounts`");
68 while($r = mysql_fetch_array($query))
69 {
70 $bh2 = abrirconta($r['login']);
71 $nome1=explode("00",substr($bh2, 416, 24));
72 $nome2=explode("00",substr($bh2, 1928, 24));
73 $nome3=explode("00",substr($bh2, 3440, 24));
74 $nome4=explode("00",substr($bh2, 4952, 24));
75 $nome[1]=BASE_utf8(trim(hexTobin($nome1[0])));
76 $nome[2]=BASE_utf8(trim(hexTobin($nome2[0])));
77 $nome[3]=BASE_utf8(trim(hexTobin($nome3[0])));
78 $nome[4]=BASE_utf8(trim(hexTobin($nome4[0])));
79 $level[1]=substr($bh2, 488,4);
80 $level[2]=substr($bh2, 2000,4);
81 $level[3]=substr($bh2, 3512,4);
82 $level[4]=substr($bh2, 5024,4);
83 $lvl[1]=hexdec(substr($level[1], 2,2).substr($level[1], 0,2))+1;
84 $lvl[2]=hexdec(substr($level[2], 2,2).substr($level[2], 0,2))+1;
85 $lvl[3]=hexdec(substr($level[3], 2,2).substr($level[3], 0,2))+1;
86 $lvl[4]=hexdec(substr($level[4], 2,2).substr($level[4], 0,2))+1;
87 $lvl[1]=substr_replace("000",$lvl[1],3-strlen($lvl[1]),strlen($lvl[1]));
88 $lvl[2]=substr_replace("000",$lvl[2],3-strlen($lvl[2]),strlen($lvl[2]));
89 $lvl[3]=substr_replace("000",$lvl[3],3-strlen($lvl[3]),strlen($lvl[3]));
90 $lvl[4]=substr_replace("000",$lvl[4],3-strlen($lvl[4]),strlen($lvl[4]));
91 $add1=substr($bh2, 610,2);
92 $add2=substr($bh2, 2122,2);
93 $add3=substr($bh2, 3634,2);
94 $add4=substr($bh2, 5146,2);
95 $capa[1]=hex2num(substr($bh2, 840,4));//item
96 $capa[2]=hex2num(substr($bh2, 2352,4));//item
97 $capa[3]=hex2num(substr($bh2, 3864,4));//item
98 $capa[4]=hex2num(substr($bh2, 5376,4));//item
99 $elmo[1]=hex2num(substr($bh2, 616,4));//item
100 $elmo[2]=hex2num(substr($bh2, 2128,4));//item
101 $elmo[3]=hex2num(substr($bh2, 3640,4));//item
102 $elmo[4]=hex2num(substr($bh2, 5152,4));//item
103 $classe[1]=substr($bh2, 456,2);
104 $classe[2]=substr($bh2, 1968,2);
105 $classe[3]=substr($bh2, 3480,2);
106 $classe[4]=substr($bh2, 4992,2);
107 $fragtotal[1]=hex2num(substr($bh2, 1874,2));
108 $fragtotal[2]=hex2num(substr($bh2, 3386,2));
109 $fragtotal[3]=hex2num(substr($bh2, 4898,2));
110 $fragtotal[4]=hex2num(substr($bh2, 6410,2));
111 $fragacumulado[1]=hex2num(substr($bh2, 1868,2));
112 $fragacumulado[2]=hex2num(substr($bh2, 3380,2));
113 $fragacumulado[3]=hex2num(substr($bh2, 4892,2));
114 $fragacumulado[4]=hex2num(substr($bh2, 6404,2));
115 $Frag_Char[1] = ($fragacumulado[1] + $fragtotal[1]);
116 $Frag_Char[2] = ($fragacumulado[2] + $fragtotal[2]);
117 $Frag_Char[3] = ($fragacumulado[3] + $fragtotal[3]);
118 $Frag_Char[4] = ($fragacumulado[4] + $fragtotal[4]);
119 if($classe[1] == "00")
120 {
121 $classe[1]="Transknight";
122 }
123 if($classe[2] == "00")
124 {
125 $classe[2]="Transknight";
126 }
127 if($classe[3] == "00")
128 {
129 $classe[3]="Transknight";
130 }
131 if($classe[4] == "00")
132 {
133 $classe[4]="Transknight";
134 }
135 if($classe[1] == "01")
136 {
137 $classe[1]="Foema";
138 }
139 if($classe[1] == "02")
140 {
141 $classe[1]="Beastmaster";
142 }
143 if($classe[1] === "03"|| $classe[1]==="3")
144 {
145 $classe[1]="Huntress";
146 }
147 if($classe[1] == "04")
148 {
149 $classe[1]="Transknight";
150 }
151 if($classe[2]=="01")
152 {
153 $classe[2]="Foema";
154 }
155 if($classe[2]=="02")
156 {
157 $classe[2]="Beastmaster";
158 }
159 if($classe[2]==="03"|| $classe[2]==="3")
160 {
161 $classe[2]="Huntress";
162 }
163 if($classe[2]=="04")
164 {
165 $classe[2]="Transknight";
166 }
167 if($classe[3]==01)
168 {
169 $classe[3]="Foema";
170 }
171 if($classe[3]=="02")
172 {
173 $classe[3]="Beastmaster";
174 }
175 if($classe[3]=="03"|| $classe[3]=="3")
176 {
177 $classe[3]="Huntress";
178 }
179 if($classe[3]=="04")
180 {
181 $classe[3]="Transknight";
182 }
183 if($classe[4]=="01")
184 {
185 $classe[4]="Foema";
186 }
187 if($classe[4]=="02")
188 {
189 $classe[4]="Beastmaster";
190 }
191 if($classe[4]==="03" || $classe[4]==="3")
192 {
193 $classe[4]="Huntress";
194 }
195 if($classe[4]=="04")
196 {
197 $classe[4]="Transknight";
198 }
199 for($char=1; $char<=4; $char++)
200 {
201 if($classe[$i] === "03")
202 {
203 $classe[$i]="Huntress";
204 }
205 if(($capa[$char] == "350") || ($capa[$char] == "736") || ($capa[$char] == "737") || ($capa[$char] == "738"))//mortal
206 {
207 $evo[$char] = 0; //mortal
208 }
209 elseif($elmo[$char] == "1677")
210 {
211 $evo[$char] = 1; //arch
212 }
213 elseif($elmo[$char] == "1678")
214 {
215 $evo[$char] = 2; //Celestial
216 }
217 elseif($elmo[$char] == "1679")
218 {
219 $evo[$char] = 3; //SubCele
220 }
221 elseif(($elmo[$char] == "1680") || ($elmo[$char] == "2095") || ($elmo[$char] == "2096" ) || ($elmo[$char] == "2097") || ($elmo[$char] == "2098"))
222 {
223 $evo[$char] = 4; //HardCore
224 }
225 elseif(($elmo[$char] == "1681") || ($elmo[$char] == "1728") || ($elmo[$char] == "1729") || ($elmo[$char] == "1730") || ($elmo[$char] == "1731"))
226 {
227 $evo[$char] = 5; //SubHardCore
228 }
229 elseif(($elmo[$char] == "1682") || ($elmo[$char] == "191" ) || ($elmo[$char] == "192" ) || ($elmo[$char] == "193" ) || ($elmo[$char] == "194"))
230 {
231 $evo[$char] = 6; //DarckCore
232 }
233 elseif(($elmo[$char] == "1683") || ($elmo[$char] == "195" ) || ($elmo[$char] == "196" ) || ($elmo[$char] == "197" ) || ($elmo[$char] == "198"))
234 {
235 $evo[$char] = 7; //LifeCore
236 }
237 else
238 {
239 $evo[$char] = -1;
240 }
241
242 }
243
244 $data=@date("dmy");
245 for($i=1; $i<=4; $i++)
246 {
247 if($Frag_Char[$i] = "150")
248 {
249 $Frag_Char[$i] = 0;
250 }
251 if($nome[$i] != "")
252 {
253 $player = @mysql_fetch_array(mysql_query("SELECT * FROM `rank` WHERE `nome`='".$nome[$i]."'"));
254 if($player['nome'] != $nome[$i])
255 {
256 mysql_query("INSERT INTO `rank` (`nome` ,`level` ,`evo` ,`reset`, `pvp` ,`data`)VALUES (
257 '".$nome[$i]."',
258 '".$lvl[$i]."',
259 '".$evo[$i]."',
260 '".$classe[$i]."',
261 '".$Frag_Char[$i]."' ,
262 '".$data."' )");
263 }
264 else
265 {
266 $sql = "UPDATE `rank` SET
267 `level` = '".$lvl[$i]."',
268 `evo` = '".$evo[$i]."', `reset` = '".$classe[$i]."',
269 `pvp` = '".$Frag_Char[$i]."', `data` = '".$data."'
270 WHERE `nome` = '".$nome[$i]."' ;";
271 mysql_query($sql);
272 }
273 }
274
275 }
276 }
277}
278
279
280?>
281
282//puxando o rankin
283
284<?php
285$query=@mysql_query("SELECT * FROM `rank` ORDER BY `evo` DESC, `level` DESC");
286
287
288for($i=1; $i<=12; $i++)
289{
290 $row = mysql_fetch_array($query);
291 $Player_Nome = BASE_utf8($row['nome']);
292 $Player_Level = $row['level'];
293 $Player_Evo = $row['evo'];
294 //$Player_Ban = $row['ban'];
295 $Player_PVP = $row['pvp'];
296 switch($Player_Evo)
297 {
298 case 0:
299 $nick = "<font color='#FF0000'>(M)</font>";
300 break;
301 case 1:
302 $nick = "<font color='#FF0000'>(A)</font>";
303 break;
304 case 2:
305 $nick = "<font color='#FF0000'>(C)</font>";
306 break;
307 case 3:
308 $nick = "<font color='#FF0000'>(SC)</font>";
309 break;
310 case 4:
311 $nick = "<font color='#FF0000'>(HC)</font>";
312 break;
313 case 5:
314 $nick = "<font color='#FF0000'>(SHC)</font>";
315 break;
316 case 6:
317 $nick = "<font color='#FF0000'>(DC)</font>";
318 break;
319 case 7:
320 $nick = "<font color='#FF0000'>(LC)</font>";
321 break;
322 case -1:
323 $nick = "Error";
324 break;
325 }
326 if($Player_Nome)
327 {
328 if($i==1)
329 {
330 $cor="#CC0000";
331 }
332 elseif($i==2)
333 {
334 $cor="#CC3333";
335 }
336 elseif($i==3)
337 {
338 $cor="#CC6666";
339 }
340 else
341 {
342 $cor="#000000";
343 }
344 if(($Player_Nome != "Nulo") && ($Player_Nome != "-----------") && ($Player_Nome != "------------"))
345 {
346 if($nick != "Error" && $Player_Level < 1000)
347 {
348
349 echo "<tr>
350 <td width=\"0\"></td>
351 <td width=\"25\" style=\"color:$cor\" >".$nick."</td>
352 <td width=\"125\" style=\"color:$cor\"> ".$Player_Nome."</td>
353 <td width=\"50\">".$Player_Level."</td>
354 <tr>";
355 }
356 }
357 }
358}
359?>
360
361
362
363//estruturas do banco de dados
364
365--
366-- Base de Dados: `wyd`
367--
368CREATE DATABASE IF NOT EXISTS `wyd` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
369USE `wyd`;
370
371-- --------------------------------------------------------
372
373--
374-- Estrutura da tabela `accounts`
375--
376
377CREATE TABLE IF NOT EXISTS `accounts` (
378 `login` varchar(16) NOT NULL COMMENT 'ID do player',
379 `email` varchar(255) NOT NULL COMMENT 'Email do Player',
380 `vip` varchar(16) NOT NULL COMMENT 'Status se o player é ou não vip',
381 `ban` varchar(255) NOT NULL COMMENT 'Player banido ou não',
382 `staff` varchar(255) NOT NULL COMMENT 'menbro da staff',
383 `nick` varchar(20) NOT NULL COMMENT 'nick do site',
384 `data` int(10) NOT NULL COMMENT 'data de criação',
385 `cash` int(100) unsigned NOT NULL COMMENT 'quantidade de cash',
386 UNIQUE KEY `login` (`login`),
387 UNIQUE KEY `email` (`email`)
388) ENGINE=MyISAM DEFAULT CHARSET=utf8;
389
390-- --------------------------------------------------------
391
392--
393-- Estrutura da tabela `add_base`
394--
395
396CREATE TABLE IF NOT EXISTS `add_base` (
397 `id` int(10) NOT NULL,
398 `nome` varchar(200) NOT NULL,
399 UNIQUE KEY `id` (`id`)
400) ENGINE=MyISAM DEFAULT CHARSET=utf8;
401
402-- --------------------------------------------------------
403
404--
405-- Estrutura da tabela `configs`
406--
407
408CREATE TABLE IF NOT EXISTS `configs` (
409 `config` varchar(200) NOT NULL,
410 `valor` varchar(200) NOT NULL
411) ENGINE=MyISAM DEFAULT CHARSET=utf8;
412
413-- --------------------------------------------------------
414
415--
416-- Estrutura da tabela `contatos`
417--
418
419CREATE TABLE IF NOT EXISTS `contatos` (
420 `id` int(10) NOT NULL,
421 `de` varchar(200) NOT NULL,
422 `titulo` varchar(200) NOT NULL,
423 `tipo` varchar(200) NOT NULL,
424 `mensagem` varchar(2000) NOT NULL,
425 `resposta` varchar(2000) NOT NULL,
426 `data` int(10) NOT NULL,
427 `status` varchar(10) NOT NULL
428) ENGINE=MyISAM DEFAULT CHARSET=utf8;
429
430-- --------------------------------------------------------
431
432--
433-- Estrutura da tabela `evolution`
434--
435
436CREATE TABLE IF NOT EXISTS `evolution` (
437 `index` int(10) NOT NULL,
438 `classe` varchar(16) NOT NULL,
439 UNIQUE KEY `index` (`index`)
440) ENGINE=InnoDB DEFAULT CHARSET=latin1;
441
442-- --------------------------------------------------------
443
444--
445-- Estrutura da tabela `guildas`
446--
447
448CREATE TABLE IF NOT EXISTS `guildas` (
449 `id` int(10) NOT NULL,
450 `cidade` int(10) NOT NULL,
451 `index` int(10) NOT NULL,
452 `guildname` varchar(16) COLLATE utf8_bin NOT NULL,
453 `subguild_1` varchar(16) COLLATE utf8_bin NOT NULL,
454 `subguild_2` varchar(16) COLLATE utf8_bin NOT NULL,
455 `subguild_3` varchar(16) COLLATE utf8_bin NOT NULL
456) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
457
458-- --------------------------------------------------------
459
460--
461-- Estrutura da tabela `itemlist`
462--
463
464CREATE TABLE IF NOT EXISTS `itemlist` (
465 `index` int(5) NOT NULL,
466 `itemname` varchar(100) NOT NULL,
467 UNIQUE KEY `index` (`index`)
468) ENGINE=MyISAM DEFAULT CHARSET=utf8;
469
470-- --------------------------------------------------------
471
472--
473-- Estrutura da tabela `loja_cash`
474--
475
476CREATE TABLE IF NOT EXISTS `loja_cash` (
477 `img` varchar(100) NOT NULL,
478 `nome` varchar(100) NOT NULL,
479 `desc` varchar(100) NOT NULL,
480 `quantidade` int(5) NOT NULL,
481 `valor` int(5) NOT NULL,
482 `id` int(5) NOT NULL,
483 `add` int(5) NOT NULL,
484 `val` int(5) NOT NULL,
485 `add2` int(5) NOT NULL,
486 `val2` int(5) NOT NULL,
487 `add3` int(5) NOT NULL,
488 `val3` int(5) NOT NULL,
489 `vip` varchar(100) NOT NULL,
490 PRIMARY KEY (`id`),
491 UNIQUE KEY `id` (`id`),
492 KEY `id_2` (`id`)
493) ENGINE=MyISAM DEFAULT CHARSET=utf8;
494
495-- --------------------------------------------------------
496
497--
498-- Estrutura da tabela `news`
499--
500
501CREATE TABLE IF NOT EXISTS `news` (
502 `id` int(10) NOT NULL,
503 `acessos` int(10) NOT NULL,
504 `titulo` varchar(200) NOT NULL,
505 `corpo` varchar(2000) NOT NULL,
506 `tipo` varchar(10) NOT NULL,
507 `autor` varchar(25) NOT NULL,
508 `data` int(10) NOT NULL,
509 UNIQUE KEY `id` (`id`)
510) ENGINE=MyISAM DEFAULT CHARSET=utf8;
511
512-- --------------------------------------------------------
513
514--
515-- Estrutura da tabela `permissoes`
516--
517
518CREATE TABLE IF NOT EXISTS `permissoes` (
519 `nome` varchar(30) NOT NULL,
520 `nivel` int(3) NOT NULL,
521 `page` varchar(50) NOT NULL,
522 `file` varchar(64) NOT NULL,
523 UNIQUE KEY `page` (`page`)
524) ENGINE=MyISAM DEFAULT CHARSET=utf8;
525
526-- --------------------------------------------------------
527
528--
529-- Estrutura da tabela `pincode`
530--
531
532CREATE TABLE IF NOT EXISTS `pincode` (
533 `pin` varchar(100) NOT NULL,
534 `valor` varchar(100) NOT NULL,
535 `status` varchar(100) NOT NULL,
536 PRIMARY KEY (`pin`),
537 UNIQUE KEY `pin` (`pin`)
538) ENGINE=MyISAM DEFAULT CHARSET=utf8;
539
540-- --------------------------------------------------------
541
542--
543-- Estrutura da tabela `playerson`
544--
545
546CREATE TABLE IF NOT EXISTS `playerson` (
547 `link` varchar(255) NOT NULL,
548 `nome` varchar(30) NOT NULL,
549 `canal` int(3) NOT NULL,
550 UNIQUE KEY `canal` (`canal`)
551) ENGINE=MyISAM DEFAULT CHARSET=utf8;
552
553-- --------------------------------------------------------
554
555--
556-- Estrutura da tabela `rank`
557--
558
559CREATE TABLE IF NOT EXISTS `rank` (
560 `nome` varchar(20) NOT NULL,
561 `level` int(4) NOT NULL,
562 `evo` varchar(30) NOT NULL,
563 `reset` varchar(100) NOT NULL,
564 `pvp` int(100) NOT NULL,
565 `data` varchar(8) NOT NULL,
566 UNIQUE KEY `nome` (`nome`)
567) ENGINE=MyISAM DEFAULT CHARSET=utf8;
568
569-- --------------------------------------------------------
570
571--
572-- Estrutura da tabela `rank_guild`
573--
574
575CREATE TABLE IF NOT EXISTS `rank_guild` (
576 `nome` varchar(32) COLLATE utf8_bin NOT NULL,
577 `cidade` varchar(32) COLLATE utf8_bin NOT NULL,
578 `pontos` int(32) NOT NULL
579) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
580
581-- --------------------------------------------------------
582
583--
584-- Estrutura da tabela `skilldata`
585--
586
587CREATE TABLE IF NOT EXISTS `skilldata` (
588 `index` int(10) NOT NULL,
589 `skillname` varchar(255) COLLATE utf8_bin NOT NULL,
590 UNIQUE KEY `index` (`index`)
591) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
592
593/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
594/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
595/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;