Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Sistema de Ranking e Guild para site!!


ExploiTT
 Compartilhar

Posts Recomendados

  • Velha Guarda Ex-Staffer

Ola, tudo bem?

 

Eu achei esse codigo php + banco de dados, espero que de pelo menos um ponta pe inicial.

 

Quem for da area acho que pode dá uma luz melhor srsrs

 

Link

É necessário se cadastrar para acessar o conteúdo.

 

[spoiler=Codigo PHP]

<?php

function BASE_utf8($string)

{

return utf8_encode($string);

}

 

 

function hexTobin($data)

{

return pack("H".strlen($data),$data);

}

function inverterhex($data)

{

$tamanho=strlen($data);

if(($tamanho % 2)!=0)

{

$data="0".$data;

}

$data=wordwrap($data, 2, "/", true);

$explode=explode("/", $data);

$a=0;

for($i=(count($explode)-1); $i>=0; $i--)

{

$join[$a]=$explode[$i];

$a++;

}

$data=implode("", $join);

return $data;

}

function hex2num($data)

{

return hexdec(inverterhex($data));

}

function num2hex($data)

{

return inverterhex(dechex($data));

}

 

 

 

//retorna bufer da conta

function abrirconta($login1)

{

$ini=substr($login1,0,1);

$path=@mysql_fetch_array(mysql_query("SELECT `valor` FROM `configs` WHERE `config`='path'"));

if(is_numeric($ini))

{

$ini="etc";

}

$conta=$path['valor']."/".$ini."/".$login1;

if(file_exists($conta))

{

$open=@fopen($conta,"r");

$leitura=@fread($open, filesize($conta));

return trim(strtoupper(bin2hex($leitura)));

}

else

{

return 0;

}

}

 

 

 

function RankAll()

{

$query = @mysql_query("SELECT * FROM `accounts`");

while($r = mysql_fetch_array($query))

{

$bh2 = abrirconta($r['login']);

$nome1=explode("00",substr($bh2, 416, 24));

$nome2=explode("00",substr($bh2, 1928, 24));

$nome3=explode("00",substr($bh2, 3440, 24));

$nome4=explode("00",substr($bh2, 4952, 24));

$nome[1]=BASE_utf8(trim(hexTobin($nome1[0])));

$nome[2]=BASE_utf8(trim(hexTobin($nome2[0])));

$nome[3]=BASE_utf8(trim(hexTobin($nome3[0])));

$nome[4]=BASE_utf8(trim(hexTobin($nome4[0])));

$level[1]=substr($bh2, 488,4);

$level[2]=substr($bh2, 2000,4);

$level[3]=substr($bh2, 3512,4);

$level[4]=substr($bh2, 5024,4);

$lvl[1]=hexdec(substr($level[1], 2,2).substr($level[1], 0,2))+1;

$lvl[2]=hexdec(substr($level[2], 2,2).substr($level[2], 0,2))+1;

$lvl[3]=hexdec(substr($level[3], 2,2).substr($level[3], 0,2))+1;

$lvl[4]=hexdec(substr($level[4], 2,2).substr($level[4], 0,2))+1;

$lvl[1]=substr_replace("000",$lvl[1],3-strlen($lvl[1]),strlen($lvl[1]));

$lvl[2]=substr_replace("000",$lvl[2],3-strlen($lvl[2]),strlen($lvl[2]));

$lvl[3]=substr_replace("000",$lvl[3],3-strlen($lvl[3]),strlen($lvl[3]));

$lvl[4]=substr_replace("000",$lvl[4],3-strlen($lvl[4]),strlen($lvl[4]));

$add1=substr($bh2, 610,2);

$add2=substr($bh2, 2122,2);

$add3=substr($bh2, 3634,2);

$add4=substr($bh2, 5146,2);

$capa[1]=hex2num(substr($bh2, 840,4));//item

$capa[2]=hex2num(substr($bh2, 2352,4));//item

$capa[3]=hex2num(substr($bh2, 3864,4));//item

$capa[4]=hex2num(substr($bh2, 5376,4));//item

$elmo[1]=hex2num(substr($bh2, 616,4));//item

$elmo[2]=hex2num(substr($bh2, 2128,4));//item

$elmo[3]=hex2num(substr($bh2, 3640,4));//item

$elmo[4]=hex2num(substr($bh2, 5152,4));//item

$classe[1]=substr($bh2, 456,2);

$classe[2]=substr($bh2, 1968,2);

$classe[3]=substr($bh2, 3480,2);

$classe[4]=substr($bh2, 4992,2);

$fragtotal[1]=hex2num(substr($bh2, 1874,2));

$fragtotal[2]=hex2num(substr($bh2, 3386,2));

$fragtotal[3]=hex2num(substr($bh2, 4898,2));

$fragtotal[4]=hex2num(substr($bh2, 6410,2));

$fragacumulado[1]=hex2num(substr($bh2, 1868,2));

$fragacumulado[2]=hex2num(substr($bh2, 3380,2));

$fragacumulado[3]=hex2num(substr($bh2, 4892,2));

$fragacumulado[4]=hex2num(substr($bh2, 6404,2));

$Frag_Char[1] = ($fragacumulado[1] + $fragtotal[1]);

$Frag_Char[2] = ($fragacumulado[2] + $fragtotal[2]);

$Frag_Char[3] = ($fragacumulado[3] + $fragtotal[3]);

$Frag_Char[4] = ($fragacumulado[4] + $fragtotal[4]);

if($classe[1] == "00")

{

$classe[1]="Transknight";

}

if($classe[2] == "00")

{

$classe[2]="Transknight";

}

if($classe[3] == "00")

{

$classe[3]="Transknight";

}

if($classe[4] == "00")

{

$classe[4]="Transknight";

}

if($classe[1] == "01")

{

$classe[1]="Foema";

}

if($classe[1] == "02")

{

$classe[1]="Beastmaster";

}

if($classe[1] === "03"|| $classe[1]==="3")

{

$classe[1]="Huntress";

}

if($classe[1] == "04")

{

$classe[1]="Transknight";

}

if($classe[2]=="01")

{

$classe[2]="Foema";

}

if($classe[2]=="02")

{

$classe[2]="Beastmaster";

}

if($classe[2]==="03"|| $classe[2]==="3")

{

$classe[2]="Huntress";

}

if($classe[2]=="04")

{

$classe[2]="Transknight";

}

if($classe[3]==01)

{

$classe[3]="Foema";

}

if($classe[3]=="02")

{

$classe[3]="Beastmaster";

}

if($classe[3]=="03"|| $classe[3]=="3")

{

$classe[3]="Huntress";

}

if($classe[3]=="04")

{

$classe[3]="Transknight";

}

if($classe[4]=="01")

{

$classe[4]="Foema";

}

if($classe[4]=="02")

{

$classe[4]="Beastmaster";

}

if($classe[4]==="03" || $classe[4]==="3")

{

$classe[4]="Huntress";

}

if($classe[4]=="04")

{

$classe[4]="Transknight";

}

for($char=1; $char<=4; $char++)

{

if($classe[$i] === "03")

{

$classe[$i]="Huntress";

}

if(($capa[$char] == "350") || ($capa[$char] == "736") || ($capa[$char] == "737") || ($capa[$char] == "738"))//mortal

{

$evo[$char] = 0; //mortal

}

elseif($elmo[$char] == "1677")

{

$evo[$char] = 1; //arch

}

elseif($elmo[$char] == "1678")

{

$evo[$char] = 2; //Celestial

}

elseif($elmo[$char] == "1679")

{

$evo[$char] = 3; //SubCele

}

elseif(($elmo[$char] == "1680") || ($elmo[$char] == "2095") || ($elmo[$char] == "2096" ) || ($elmo[$char] == "2097") || ($elmo[$char] == "2098"))

{

$evo[$char] = 4; //HardCore

}

elseif(($elmo[$char] == "1681") || ($elmo[$char] == "1728") || ($elmo[$char] == "1729") || ($elmo[$char] == "1730") || ($elmo[$char] == "1731"))

{

$evo[$char] = 5; //SubHardCore

}

elseif(($elmo[$char] == "1682") || ($elmo[$char] == "191" ) || ($elmo[$char] == "192" ) || ($elmo[$char] == "193" ) || ($elmo[$char] == "194"))

{

$evo[$char] = 6; //DarckCore

}

elseif(($elmo[$char] == "1683") || ($elmo[$char] == "195" ) || ($elmo[$char] == "196" ) || ($elmo[$char] == "197" ) || ($elmo[$char] == "198"))

{

$evo[$char] = 7; //LifeCore

}

else

{

$evo[$char] = -1;

}

 

}

 

$data=@date("dmy");

for($i=1; $i<=4; $i++)

{

if($Frag_Char[$i] = "150")

{

$Frag_Char[$i] = 0;

}

if($nome[$i] != "")

{

$player = @mysql_fetch_array(mysql_query("SELECT * FROM `rank` WHERE `nome`='".$nome[$i]."'"));

if($player['nome'] != $nome[$i])

{

mysql_query("INSERT INTO `rank` (`nome` ,`level` ,`evo` ,`reset`, `pvp` ,`data`)VALUES (

'".$nome[$i]."',

'".$lvl[$i]."',

'".$evo[$i]."',

'".$classe[$i]."',

'".$Frag_Char[$i]."' ,

'".$data."' )");

}

else

{

$sql = "UPDATE `rank` SET

`level` = '".$lvl[$i]."',

`evo` = '".$evo[$i]."', `reset` = '".$classe[$i]."',

`pvp` = '".$Frag_Char[$i]."', `data` = '".$data."'

WHERE `nome` = '".$nome[$i]."' ;";

mysql_query($sql);

}

}

 

}

}

}

 

 

?>

 

//puxando o rankin

 

<?php

$query=@mysql_query("SELECT * FROM `rank` ORDER BY `evo` DESC, `level` DESC");

 

 

for($i=1; $i<=12; $i++)

{

$row = mysql_fetch_array($query);

$Player_Nome = BASE_utf8($row['nome']);

$Player_Level = $row['level'];

$Player_Evo = $row['evo'];

//$Player_Ban = $row['ban'];

$Player_PVP = $row['pvp'];

switch($Player_Evo)

{

case 0:

$nick = "<font color='#FF0000'>(M)</font>";

break;

case 1:

$nick = "<font color='#FF0000'>(A)</font>";

break;

case 2:

$nick = "<font color='#FF0000'>©</font>";

break;

case 3:

$nick = "<font color='#FF0000'>(SC)</font>";

break;

case 4:

$nick = "<font color='#FF0000'>(HC)</font>";

break;

case 5:

$nick = "<font color='#FF0000'>(SHC)</font>";

break;

case 6:

$nick = "<font color='#FF0000'>(DC)</font>";

break;

case 7:

$nick = "<font color='#FF0000'>(LC)</font>";

break;

case -1:

$nick = "Error";

break;

}

if($Player_Nome)

{

if($i==1)

{

$cor="#CC0000";

}

elseif($i==2)

{

$cor="#CC3333";

}

elseif($i==3)

{

$cor="#CC6666";

}

else

{

$cor="#000000";

}

if(($Player_Nome != "Nulo") && ($Player_Nome != "-----------") && ($Player_Nome != "------------"))

{

if($nick != "Error" && $Player_Level < 1000)

{

 

echo "<tr>

<td width=\"0\"></td>  

<td width=\"25\" style=\"color:$cor\" >".$nick."</td>

<td width=\"125\" style=\"color:$cor\">  ".$Player_Nome."</td>

<td width=\"50\">".$Player_Level."</td>

<tr>";

}

}

}

}

?>

 

 

 

 

[spoiler=Estrutura do Banco de Dados]

 

 

//estruturas do banco de dados

 

--

-- Base de Dados: `wyd`

--

CREATE DATABASE IF NOT EXISTS `wyd` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

USE `wyd`;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `accounts`

--

 

CREATE TABLE IF NOT EXISTS `accounts` (

`login` varchar(16) NOT NULL COMMENT 'ID do player',

`email` varchar(255) NOT NULL COMMENT 'Email do Player',

`vip` varchar(16) NOT NULL COMMENT 'Status se o player é ou não vip',

`ban` varchar(255) NOT NULL COMMENT 'Player banido ou não',

`staff` varchar(255) NOT NULL COMMENT 'menbro da staff',

`nick` varchar(20) NOT NULL COMMENT 'nick do site',

`data` int(10) NOT NULL COMMENT 'data de criação',

`cash` int(100) unsigned NOT NULL COMMENT 'quantidade de cash',

UNIQUE KEY `login` (`login`),

UNIQUE KEY `email` (`email`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `add_base`

--

 

CREATE TABLE IF NOT EXISTS `add_base` (

`id` int(10) NOT NULL,

`nome` varchar(200) NOT NULL,

UNIQUE KEY `id` (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `configs`

--

 

CREATE TABLE IF NOT EXISTS `configs` (

`config` varchar(200) NOT NULL,

`valor` varchar(200) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `contatos`

--

 

CREATE TABLE IF NOT EXISTS `contatos` (

`id` int(10) NOT NULL,

`de` varchar(200) NOT NULL,

`titulo` varchar(200) NOT NULL,

`tipo` varchar(200) NOT NULL,

`mensagem` varchar(2000) NOT NULL,

`resposta` varchar(2000) NOT NULL,

`data` int(10) NOT NULL,

`status` varchar(10) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `evolution`

--

 

CREATE TABLE IF NOT EXISTS `evolution` (

`index` int(10) NOT NULL,

`classe` varchar(16) NOT NULL,

UNIQUE KEY `index` (`index`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `guildas`

--

 

CREATE TABLE IF NOT EXISTS `guildas` (

`id` int(10) NOT NULL,

`cidade` int(10) NOT NULL,

`index` int(10) NOT NULL,

`guildname` varchar(16) COLLATE utf8_bin NOT NULL,

`subguild_1` varchar(16) COLLATE utf8_bin NOT NULL,

`subguild_2` varchar(16) COLLATE utf8_bin NOT NULL,

`subguild_3` varchar(16) COLLATE utf8_bin NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `itemlist`

--

 

CREATE TABLE IF NOT EXISTS `itemlist` (

`index` int(5) NOT NULL,

`itemname` varchar(100) NOT NULL,

UNIQUE KEY `index` (`index`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `loja_cash`

--

 

CREATE TABLE IF NOT EXISTS `loja_cash` (

`img` varchar(100) NOT NULL,

`nome` varchar(100) NOT NULL,

`desc` varchar(100) NOT NULL,

`quantidade` int(5) NOT NULL,

`valor` int(5) NOT NULL,

`id` int(5) NOT NULL,

`add` int(5) NOT NULL,

`val` int(5) NOT NULL,

`add2` int(5) NOT NULL,

`val2` int(5) NOT NULL,

`add3` int(5) NOT NULL,

`val3` int(5) NOT NULL,

`vip` varchar(100) NOT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `id` (`id`),

KEY `id_2` (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `news`

--

 

CREATE TABLE IF NOT EXISTS `news` (

`id` int(10) NOT NULL,

`acessos` int(10) NOT NULL,

`titulo` varchar(200) NOT NULL,

`corpo` varchar(2000) NOT NULL,

`tipo` varchar(10) NOT NULL,

`autor` varchar(25) NOT NULL,

`data` int(10) NOT NULL,

UNIQUE KEY `id` (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `permissoes`

--

 

CREATE TABLE IF NOT EXISTS `permissoes` (

`nome` varchar(30) NOT NULL,

`nivel` int(3) NOT NULL,

`page` varchar(50) NOT NULL,

`file` varchar(64) NOT NULL,

UNIQUE KEY `page` (`page`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `pincode`

--

 

CREATE TABLE IF NOT EXISTS `pincode` (

`pin` varchar(100) NOT NULL,

`valor` varchar(100) NOT NULL,

`status` varchar(100) NOT NULL,

PRIMARY KEY (`pin`),

UNIQUE KEY `pin` (`pin`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `playerson`

--

 

CREATE TABLE IF NOT EXISTS `playerson` (

`link` varchar(255) NOT NULL,

`nome` varchar(30) NOT NULL,

`canal` int(3) NOT NULL,

UNIQUE KEY `canal` (`canal`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `rank`

--

 

CREATE TABLE IF NOT EXISTS `rank` (

`nome` varchar(20) NOT NULL,

`level` int(4) NOT NULL,

`evo` varchar(30) NOT NULL,

`reset` varchar(100) NOT NULL,

`pvp` int(100) NOT NULL,

`data` varchar(8) NOT NULL,

UNIQUE KEY `nome` (`nome`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `rank_guild`

--

 

CREATE TABLE IF NOT EXISTS `rank_guild` (

`nome` varchar(32) COLLATE utf8_bin NOT NULL,

`cidade` varchar(32) COLLATE utf8_bin NOT NULL,

`pontos` int(32) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `skilldata`

--

 

CREATE TABLE IF NOT EXISTS `skilldata` (

`index` int(10) NOT NULL,

`skillname` varchar(255) COLLATE utf8_bin NOT NULL,

UNIQUE KEY `index` (`index`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

 

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

 

 

 

Creditos:

Usuario OXABLOD do Pastebin

 

 

Abraços mano!!!!!!

qRXaV1L.png

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.