Elaborei um sistema de contagem de ranking de guilda para você através do MuSite, acredito que você conseguirá aplicar em demais webs também.
1º crie uma variável na tabela Guild com o nome de ResetCount (integer), com o default value 0 e com a caixa de nulls desmarcada.
2º DECLARE NA PÁGINA ONDE VOCÊ DESEJA LISTAR O RANKING:
Código:
<?php
/**
* @ Atualizando o ResetCount da Guild
*/
$ListGuildQ = @mssql_query("SELECT * FROM Guild");
if(@mssql_rows_num($ListGuildQ) > 0)
{
while($ListGuild = @mssql_fetch_object($ListGuildQ))
{
$setGuildNameQ = @mssql_query("SELECT * FROM dbo.MuOnline.GuildMember WHERE dbo.MuOnline.GuildMember.G_Name = '".$ListGuild->G_Name."'");
$setGuildName = @mssql_fetch_object($setGuildNameQ);
$setCharacterQ = @mssql_query("SELECT * FROM dbo.MuOnline.Character WHERE dbo.MuOnline.Character.Name = '".$setGuildName->Name."'");
$setCharacter = @mssql_fetch_object($setCharacterQ);
@mssql_query("UPDATE dbo.MuOnline.Guild SET dbo.MuOnline.Guild.ResetCount = dbo.MuOnline.Guild.ResetCount + '".$setCharacter->ResetCount."' WHERE dbo.MuOnline.Guild.G_Name = '".$ListGuild->G_Name."'");
}
}
/**
* @Listando Ranking de Reset da Guild
*/
$ListRankingQ = @mssql_query("SELECT TOP 3 G_Name, ResetCount FROM Guild ORDER BY ResetCount, GuildName DESC");
if(@mssql_num_rows($ListRankingQ) > 0)
{
while($ListRanking = @mssql_fetch_array($ListRankingQ))
{
$MostraRanking .= "
<strong>".$ListRanking['G_Name']." - ".$ListRanking['ResetCount']."</strong>
";
}
}
?>
Não testei esse código, portanto peço desculpas se houver algum erro e ao mesmo tempo peço que poste aqui para eu ajudar a resolver.
Para chamar o Ranking no site basta utilizar esse comando: <?=$MostraRanking; ?>.
Para zerar o ranking após o pagamento da premiação, você poderá criar uma JOB, como no sistema de resets dos players.