function delete_player($name)
{
    $SQL = $GLOBALS['SQL'];
    $player = new OTS_Player();
    $player->find($name);
    if ($player->isLoaded()) {
        try {
            $SQL->query("DELETE FROM player_skills WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM guild_invites WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM player_items WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM player_depotitems WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM player_spells WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM player_storage WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM player_viplist WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM player_deaths WHERE player_id = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        try {
            $SQL->query("DELETE FROM player_deaths WHERE killed_by = '" . $player->getId() . "';");
        } catch (PDOException $error) {
        }
        $rank = $player->getRank();
        if (!empty($rank)) {
            $guild = $rank->getGuild();
            if ($guild->getOwner()->getId() == $player->getId()) {
                $rank_list = $guild->getGuildRanksList();
                if (count($rank_list) > 0) {
                    $rank_list->orderBy('level');
                    foreach ($rank_list as $rank_in_guild) {
                        $players_with_rank = $rank_in_guild->getPlayersList();
                        $players_with_rank->orderBy('name');
                        $players_with_rank_number = count($players_with_rank);
                        if ($players_with_rank_number > 0) {
                            foreach ($players_with_rank as $player_in_guild) {
                                $player_in_guild->setRank();
                                $player_in_guild->save();
                            }
                        }
                        $rank_in_guild->delete();
                    }
                    $guild->delete();
                }
            }
        }
        $player->delete();
        return TRUE;
    }
}
     if (!$char_to_copy->isLoaded()) {
         $newchar_errors[] .= 'Configuração de caracteres inválida. O caractere <b>' . $char_to_copy_name . '</b> não existe.';
     }
 }
 if (empty($newchar_errors)) {
     if ($newchar_sex == "0") {
         $char_to_copy->setLookType(136);
     }
     $player = $ots->createObject('Player');
     $player->setName($newchar_name);
     $player->setAccount($account_logged);
     $player->setGroup($char_to_copy->getGroup());
     $player->setSex($newchar_sex);
     $player->setVocation($char_to_copy->getVocation());
     $player->setConditions($char_to_copy->getConditions());
     $player->setRank($char_to_copy->getRank());
     $player->setLookAddons($char_to_copy->getLookAddons());
     if ($newchar_town == 0) {
         $newchar_town = 1;
     }
     $player->setTownId($newchar_town);
     $player->setExperience($char_to_copy->getExperience());
     $player->setLevel($char_to_copy->getLevel());
     $player->setMagLevel($char_to_copy->getMagLevel());
     $player->setHealth($char_to_copy->getHealth());
     $player->setHealthMax($char_to_copy->getHealthMax());
     $player->setMana($char_to_copy->getMana());
     $player->setManaMax($char_to_copy->getManaMax());
     $player->setManaSpent($char_to_copy->getManaSpent());
     $player->setSoul($char_to_copy->getSoul());
     $player->setDirection($char_to_copy->getDirection());
示例#3
0
$MadGD->addText($config['cities'][$character->getTownId()])->setPosition();
$row++;
// Player House
$house = $SQL->query('SELECT `name`, `town` FROM `houses` WHERE `world_id` = ' . $character->getWorld() . ' AND `owner` = ' . $character->getId() . ';')->fetch();
if ($house != null) {
    $MadGD->addText('House:', $MadGD->textBold)->setPosition(10, $row * $height);
    if (array_key_exists($house['town'], $config['cities'])) {
        $MadGD->addText($house['name'] . ' (' . $config['cities'][$house['town']] . ')')->setPosition();
        $row++;
    } else {
        $MadGD->addText($house['name'])->setPosition();
        $row++;
    }
}
// Player Guild
if ($character->getRank() != null) {
    $MadGD->addText('Guild Membership:', $MadGD->textBold)->setPosition(10, $row * $height);
    $MadGD->addText($character->getRank()->getName() . ' of the ' . $character->getRank()->getGuild()->getName())->setPosition();
    $row++;
}
// Player Last Login
$MadGD->addText('Last login:'******'Never logged in' : gmdate('M d Y, H:i:s T', $character->getLastLogin()))->setPosition();
$row++;
// Account Status
$MadGD->addText('Account Status:', $MadGD->textBold)->setPosition(10, $row * $height);
$MadGD->addText($character->getAccount()->getPremDays() > 0 ? 'Premium Account' : 'Free Account')->setPosition();
$row++;
// Define all of the slot ids with their names.
$slots = array(2 => 'amulet', 1 => 'helmet', 3 => 'backpack', 6 => 'lefthand', 4 => 'armor', 5 => 'righthand', 9 => 'ring', 7 => 'legs', 10 => 'ammunition', 8 => 'boots');
// Loop through all of the slots.
示例#4
0
文件: guilds.php 项目: s3kk/Gesior
     $player->find($player_n);
     $player_from_account = FALSE;
     if (strlen($new_nick) <= 40) {
         if ($player->isLoaded()) {
             $account_players = $account_logged->getPlayersList();
             if (count($account_players)) {
                 foreach ($account_players as $acc_player) {
                     if ($acc_player->getId() == $player->getId()) {
                         $player_from_account = TRUE;
                     }
                 }
                 if ($player_from_account) {
                     $player->setGuildNick($new_nick);
                     $player->save();
                     $main_content .= 'Guild nick of player <b>' . $player->getName() . '</b> changed to <b>' . htmlentities($new_nick) . '</b>.';
                     $addtolink = '&action=show&guild=' . $player->getRank()->getGuild()->getId();
                 } else {
                     $main_content .= 'This player is not from your account.';
                 }
             } else {
                 $main_content .= 'This player is not from your account.';
             }
         } else {
             $main_content .= 'Unknow error occured.';
         }
     } else {
         $main_content .= 'Too long guild nick. Max. 30 chars, your: ' . strlen($new_nick);
     }
 } else {
     $main_content .= 'You are not logged.';
 }
示例#5
0
 function create_character()
 {
     require_once "system/application/config/create_character.php";
     $data['worlds'] = $config['worlds'];
     $data['cities'] = $config['cities'];
     $data['vocations'] = $config['vocations'];
     $this->load->helper('form');
     $this->load->library('form_validation');
     if ($_POST) {
         $this->form_validation->set_rules('name', 'Player Name', 'required|min_length[3]|max_length[20]|alpha|callback__playerExists');
         $this->form_validation->set_rules('city', 'City', 'required|integer|callback__checkCity');
         $this->form_validation->set_rules('world', 'World', 'required|integer|callback__checkWorld');
         $this->form_validation->set_rules('vocation', 'Vocation', 'required|integer|callback__checkVocation');
         $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');
         if ($this->form_validation->run() == true) {
             $ide = new IDE();
             $char_to_copy_name = $config['newchar_vocations'][$_POST['world']][$_POST['vocation']];
             $ots = POT::getInstance();
             $ots->connect(POT::DB_MYSQL, connection());
             $char_to_copy = new OTS_Player();
             $char_to_copy->find($char_to_copy_name);
             $this->load->model("character_model");
             /* This code (Most of it actually) has been taken from Gesior AAC. */
             $account_logged = $ots->createObject('Account');
             $account_logged->load($this->character_model->getAccountID());
             if (!$char_to_copy->isLoaded()) {
                 $ide->redirect('../../index.php/errors/show/234908');
             }
             if ($_POST['sex'] == "0") {
                 $char_to_copy->setLookType(136);
             }
             $player = $ots->createObject('Player');
             $player->setName($_POST['name']);
             $player->setAccount($account_logged);
             $player->setGroup($char_to_copy->getGroup());
             $player->setSex($_POST['sex']);
             $player->setVocation($char_to_copy->getVocation());
             $player->setConditions($char_to_copy->getConditions());
             $player->setRank($char_to_copy->getRank());
             $player->setLookAddons($char_to_copy->getLookAddons());
             $player->setTownId($_POST['city']);
             $player->setExperience($char_to_copy->getExperience());
             $player->setLevel($char_to_copy->getLevel());
             $player->setMagLevel($char_to_copy->getMagLevel());
             $player->setHealth($char_to_copy->getHealth());
             $player->setHealthMax($char_to_copy->getHealthMax());
             $player->setMana($char_to_copy->getMana());
             $player->setManaMax($char_to_copy->getManaMax());
             $player->setManaSpent($char_to_copy->getManaSpent());
             $player->setSoul($char_to_copy->getSoul());
             $player->setDirection($char_to_copy->getDirection());
             $player->setLookBody($char_to_copy->getLookBody());
             $player->setLookFeet($char_to_copy->getLookFeet());
             $player->setLookHead($char_to_copy->getLookHead());
             $player->setLookLegs($char_to_copy->getLookLegs());
             $player->setLookType($char_to_copy->getLookType());
             $player->setCap($char_to_copy->getCap());
             $player->setPosX($startPos['x']);
             $player->setPosY($startPos['y']);
             $player->setPosZ($startPos['z']);
             $player->setLossExperience($char_to_copy->getLossExperience());
             $player->setLossMana($char_to_copy->getLossMana());
             $player->setLossSkills($char_to_copy->getLossSkills());
             $player->setLossItems($char_to_copy->getLossItems());
             $player->save();
             unset($player);
             $player = $ots->createObject('Player');
             $player->find($_POST['name']);
             if ($player->isLoaded()) {
                 $player->setCustomField('world_id', (int) $_POST['world']);
                 $player->setSkill(0, $char_to_copy->getSkill(0));
                 $player->setSkill(1, $char_to_copy->getSkill(1));
                 $player->setSkill(2, $char_to_copy->getSkill(2));
                 $player->setSkill(3, $char_to_copy->getSkill(3));
                 $player->setSkill(4, $char_to_copy->getSkill(4));
                 $player->setSkill(5, $char_to_copy->getSkill(5));
                 $player->setSkill(6, $char_to_copy->getSkill(6));
                 $player->save();
                 $SQL = POT::getInstance()->getDBHandle();
                 $loaded_items_to_copy = $SQL->query("SELECT * FROM player_items WHERE player_id = " . $char_to_copy->getId() . "");
                 foreach ($loaded_items_to_copy as $save_item) {
                     $SQL->query("INSERT INTO `player_items` (`player_id` ,`pid` ,`sid` ,`itemtype`, `count`, `attributes`) VALUES ('" . $player->getId() . "', '" . $save_item['pid'] . "', '" . $save_item['sid'] . "', '" . $save_item['itemtype'] . "', '" . $save_item['count'] . "', '" . $save_item['attributes'] . "');");
                 }
                 $ide->redirect('../account/index/1');
             }
         }
     }
     $this->load->view('create_character', $data);
 }