Bom, um amigo meu pediu para fazer uma base do "PS Bonus" em classe para ele usar, eu fiz uma base +/- , mais dá pra aproveitar algumas coisas, falta algumas coisinhas para ficar completa, então quem for usar vai ter que dar uma terminada.. quem entende de PHP sabe oque está faltando e não é nada dificil, se procurar aqui no fórum mesmo irá encontrar varias coisas relacionadas ao que está faltando..
O Sistema original pode ser encontrado [Somente usuários registrados podem vem os links. ]
Código PHP:
<?php
//==================================================>
// Class Register bonus
// Class by Alex Luiz
// Base by PSLorde
//==================================================>
class EXRegister
{
public static $_Host = "127.0.0.1";
public static $_Pass = "123456";
public static $_User = "sa";
public static $_DB = "MuOnline";
public static $_Varbinary = 1200;
public function __construct()
{
self::_connect();
}
private static function _connect()
{
}
private static function _serialConvert($value)
{
$VerifyCode = @mssql_query("EXEC WZ_GetItemSerial");
$CodeVerify = @mssql_fetch_row($VerifyCode);
$NewSerial = $CodeVerify[0];
if(strlen($NewSerial) < 8)
{
$Lack = str_repeat("0", 8-strlen($NewSerial));
$$NewSerial = $$NewSerial.$Lack;
}
$ItemChanged = substr_replace($value, $NewSerial, 6, 8);
return $ItemChanged;
}
public static function _bonusSend($Account, $Item)
{
$VerifyAccount = @mssql_query("SELECT [AccountID] FROM Wharehouse WHERE AccountID = '$Account'");
$AccountVerify = @mssql_num_rows($VerifyAccount);
if($AccountVerify == 0)
{
switch($Item)
{
case "01":
$Pula = str_repeat("F", 300); //-> Espaço para cada parte do item
$SetHelm = self::_serialConvert("E05FFFAAAAAAAA7F3062"); //-> Bronze Helm
$SetArmor = self::_serialConvert("005FFFAAAAAAAAFF6001"); //-> Bronze Armor
$SetGloves = self::_serialConvert("405FFFAAAAAAAAFF1247"); //-> Bronze Gloves
$SetPants = self::_serialConvert("205FFFAAAAAAAAFF7893"); //-> Bronze Pants
$SetBoots = self::_serialConvert("605FFFAAAAAAAAFF4147"); //-> Bronze Boots
$items = $SetHelm.$Pula.$SetArmor.$Pula.$SetGloves.$Pula.$SetPants.$Pula.$SetBoots.$Pula;
break;
case "02":
$Pula = str_repeat("F", 300); //-> Espaço para cada parte do item
$PulaAG = str_repeat("F", 460); //-> Espaço para cada parte do item (Armor 2x3)
$SetHelm = self::_serialConvert("E15FFFAAAAAAAA7F3062"); //-> Dragon Helm
$SetArmor = self::_serialConvert("015FFFAAAAAAAAFF6001"); //-> Dragon Armor
$SetGloves = self::_serialConvert("415FFFAAAAAAAAFF1247"); //-> Dragon Gloves
$SetPants = self::_serialConvert("215FFFAAAAAAAAFF7893"); //-> Dragon Pants
$SetBoots = self::_serialConvert("615FFFAAAAAAAAFF4147"); //-> Dragon Boots
$items = $SetHelm.$Pula.$SetArmor.$PulaAG.$SetGloves.$Pula.$SetPants.$Pula.$SetBoots.$Pula;
break;
case "03":
$Pula = str_repeat("F", 300); //-> Espaço para cada parte do item
$SetHelm = self::_serialConvert("E25FFFAAAAAAAA7F3062"); //-> Pad Helm
$SetArmor = self::_serialConvert("025FFFAAAAAAAAFF6001"); //-> Pad Armor
$SetGloves = self::_serialConvert("425FFFAAAAAAAAFF1247"); //-> Pad Gloves
$SetPants = self::_serialConvert("225FFFAAAAAAAAFF7893"); //-> Pad Pants
$SetBoots = self::_serialConvert("625FFFAAAAAAAAFF4147"); //-> Pad Boots
$items = $SetHelm.$Pula.$SetArmor.$Pula.$SetGloves.$Pula.$SetPants.$Pula.$SetBoots.$Pula;
break;
}
}
$TamAtual = strlen($items);
$items = "0x".$items;
mssql_query("INSERT Into warehouse (AccountID) VALUES ('$Account')");
$Result = mssql_query("UPDATE warehouse SET Items = convert(varbinary(self::$_Varbinary), $items) WHERE AccountID='$Conta'");
if($Result)
echo("Premiação feita com sucesso");
else
echo("Premiação falhou");
}
}
/*
Entendendo o item 97D
00 00 FF AAAAAAAA 80 19 58
00 - ID do Item
00 - Level do item,
Tabela de Level do item (Em Hex)
0 = +0
8 = +1
10 = +2
18 = +3
20 = +4
28 = +5
30 = +6
38 = +7
40 = +8
48 = +9
50 = +10
58 = +11
Se somado 4 = Adiciona Luck (Em Hex)
FF - Durabilidade do item
AAAAAAAA - Serial do item
O resto influencia em Option level, items exc etc. (preguiça de verifica tudo)
*/
?>
Créditos pelo sistema: PS Sistemas.
Créditos pela Class: Alex Luiz.