$player->setLookType($char_to_copy->getLookType());
                    $player->setCap($char_to_copy->getCap());
                    $player->setPosX(0);
                    $player->setPosY(0);
                    $player->setPosZ(0);
                    $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($newchar_name);
                    if ($player->isLoaded()) {
                        $player->setCustomField('world_id', (int) $world_id);
                        $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();
                        $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'] . "');");
                        }
                        $main_content .= '
<div class="TableContainer" >
<table class="Table1" cellpadding="0" cellspacing="0" >
<div class="CaptionContainer" >
Exemplo n.º 2
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);
 }