예제 #1
0
 public static function cmdRankdown(Player $player, $numparams, $params)
 {
     $faction = $player->GetFaction();
     if ($faction == null) {
         return COMMAND_OK;
     }
     if ($faction->AllowedTo($player, MEMBER_ALLOWRANK) == false) {
         return COMMAND_OK;
     }
     if ($target = Factions::EqualFactions($player, $params[1])) {
         if ($player->id == $target->id) {
             return COMMAND_OK;
         }
         $requested_rank = $target->GetRank() + 1;
         if ($requested_rank > $faction->LowestRank()) {
             $player->Send(COLOR_RANKDOWN_MIN, '[ERROR] Given player already has the lowest faction rank');
             return COMMAND_OK;
         }
         if ($target->GetRank() <= $player->GetRank()) {
             $player->Send(COLOR_RANKDOWN_DISALLOW, '[ERROR] You are not allowed to rank down this player');
             return COMMAND_OK;
         }
         $target->SetRank($requested_rank);
         $faction->Send(COLOR_RANKDOWN_SUCCESS, "[FACTION] {$target->name} has been demoted to " . $faction->GetRankName($requested_rank));
     }
     return COMMAND_OK;
 }