potinho
Advanced OT User
My server have in AAC (Gesior) a button to "clean up players", for some reason, while joining and leaving guilds some players got bugged. So, constantly i need to press this button:

Thats what this button do:
How to fix this? I guess some trigger in DB is missing. For now i had this two triggers:



Thats what this button do:
PHP:
if($action == 'cleanup_players')
{
if($logged)
{
if($group_id_of_acc_logged >= $config['site']['access_admin_panel'])
{
$players_list = new DatabaseList('Player');
}
else
$players_list = $account_logged->getPlayersList();
if(count($players_list) > 0)
{
foreach($players_list as $player)
{
$player_rank = $player->getRank();
if(!empty($player_rank))
{
if($player_rank->isLoaded())
{
$rank_guild = $player_rank->getGuild();
if(!$rank_guild->isLoaded())
{
$player->setCustomField('guild_join_cooldown', time());
$player->setCustomField('guild_leave_cooldown', time());
$player->setRank();
$player->setGuildNick();
$player->save();
$changed_ranks_of[] = $player->getName();
$deleted_ranks[] = 'ID: '.$player_rank->getId().' - '.$player_rank->getName();
$player_rank->delete();
}
}
else
{
$player->setCustomField('guild_join_cooldown', time());
$player->setCustomField('guild_leave_cooldown', time());
$player->setRank();
$player->setGuildNick('');
$player->save();
$changed_ranks_of[] = $player->getName();
}
}
}
$main_content .= "<b>Deleted ranks (this ranks guilds doesn't exist [bug fix]):</b>";
if(!empty($deleted_ranks))
foreach($deleted_ranks as $rank)
$main_content .= "<li>".htmlspecialchars($rank);
$main_content .= "<BR /><BR /><b>Changed ranks of players (rank or guild of rank doesn't exist [bug fix]):</b>";
if(!empty($changed_ranks_of))
foreach($changed_ranks_of as $name)
$main_content .= "<li>".htmlspecialchars($name);
}
else
$main_content .= "0 players found.";
}
else
$main_content .= "You are not logged in.";
$main_content .= "<center><h3><a href=\"?subtopic=guilds\">BACK</a></h3></center>";
}
How to fix this? I guess some trigger in DB is missing. For now i had this two triggers:

