Segue o código para premiar um jogador com um determinado item / set,
atualmente para 97D porém pode ser facilmente convertido para outras versões caso possua conhecimento em PHP, Items e SQL.
Código:
Código:
<?php
error_reporting(0);
/*
# PS Set Bonus 1.0.0.0 Para 97D
# Projeto Open Source
# Desenvolvido por PS Sistemas
*/
/* Seção Configurações */
define('DB', 'MuOnline'); // Database padrão onde o servidor está instalado
define('IP', '127.0.0.1'); // IP do Sql Server
define('User', 'sa'); // Login do Sql Server
define('Pass', 'dmtseason6dmt'); // Senha do Sql Server
/* Seção Configurações */
echo "<font face='Verdana' Size='3'>";
$conexao = mssql_connect(IP, Login, Pass) or die ("Erro no servidor, tente novamente mais tarde!");
if ($conexao)
{
mssql_select_db(DB, $conexao) or die ("Erro no servidor, tente novamente mais tarde!");
}
$Conta = $_REQUEST["Conta"];
$Set = $_REQUEST["Set"];
$sql_conta_check = mssql_query("SELECT AccountID FROM warehouse WHERE AccountID='$Conta'", $conexao);
$conta_check = mssql_num_rows($sql_conta_check);
function AlteraSerial($code)
{
global $conexao;
$query_serial = mssql_query("exec WZ_GetItemSerial", $conexao);
$result_serial = mssql_fetch_row($query_serial);
$Serial = $result_serial[0];
if (strlen($Serial) < 8)
{
$Falta = str_repeat("0", 8-strlen($Serial));
$Serial = $Serial.$Falta;
}
$ItemChanged = substr_replace($code, $Serial, 6, 8);
return $ItemChanged;
}
if ($conta_check == 0)
{
switch ($Set)
{
case "01":
$Pula = str_repeat("F", 300); // Espaço para cada parte do item
$SetHelm = AlteraSerial("E05FFFAAAAAAAA7F3062"); // Bronze Helm
$SetArmor = AlteraSerial("005FFFAAAAAAAAFF6001"); // Bronze Armor
$SetGloves = AlteraSerial("405FFFAAAAAAAAFF1247"); // Bronze Gloves
$SetPants = AlteraSerial("205FFFAAAAAAAAFF7893"); // Bronze Pants
$SetBoots = AlteraSerial("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 = AlteraSerial("E15FFFAAAAAAAA7F3062"); // Dragon Helm
$SetArmor = AlteraSerial("015FFFAAAAAAAAFF6001"); // Dragon Armor
$SetGloves = AlteraSerial("415FFFAAAAAAAAFF1247"); // Dragon Gloves
$SetPants = AlteraSerial("215FFFAAAAAAAAFF7893"); // Dragon Pants
$SetBoots = AlteraSerial("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 = AlteraSerial("E25FFFAAAAAAAA7F3062"); // Pad Helm
$SetArmor = AlteraSerial("025FFFAAAAAAAAFF6001"); // Pad Armor
$SetGloves = AlteraSerial("425FFFAAAAAAAAFF1247"); // Pad Gloves
$SetPants = AlteraSerial("225FFFAAAAAAAAFF7893"); // Pad Pants
$SetBoots = AlteraSerial("625FFFAAAAAAAAFF4147"); // Pad Boots
$items = $SetHelm.$Pula.$SetArmor.$Pula.$SetGloves.$Pula.$SetPants.$Pula.$SetBoots.$Pula;
break;
}
$TamAtual = strlen($items);
$items = "0x".$items;
/*
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)
*/
mssql_query("INSERT Into warehouse (AccountID) VALUES ('$Conta')", $conexao);
$msresults= mssql_query("UPDATE warehouse SET Items = convert(varbinary(1200), $items) WHERE AccountID='$Conta'", $conexao) or die (mssql_error());
if($msresults)
{
echo "# Premiado com sucesso";
}
else
{
echo "# Erro, tente novamente mais tarde<br>";
}
}
else
{
echo "# Bau já existente";
}
echo "</font>";
?>
Créditos: PS Sistemas.