Postado Julho 8, 2016 9 anos Galera, meu ot ta com problema, quando alguém vai criar conta no site da esse erro. A PHP Error was encountered Severity: Notice Message: Undefined index: invalidNameTags Filename: controllers/character.php Line Number: 77 A PHP Error was encountered Severity: Warning Message: in_array() expects parameter 2 to be array, null given Filename: controllers/character.php Line Number: 77 Error An Error Was Encountered Sample character could not be found! Meu Character.php [+] Character.php Character.php alguém pode me dizer como se arruma isso ? REP+ Spoiler <?php class Character extends Controller { function index() { parent::Controller(); } function _characterExists($name) { $this->load->model("character_model"); if($this->character_model->characterExists($name)) { $this->form_validation->set_message('_characterExists', 'This character name already exists, please choose another one!'); return false; } else return true; } function _checkCity($id) { $this->config->load('create_character.php'); if(!array_key_exists($id, $this->config->item('cities'))) { $this->form_validation->set_message('_checkCity', 'Unknown City'); return false; } else return true; } function _checkWorld($id) { $this->config->load('create_character.php'); if(!array_key_exists($id, $this->config->item('worlds'))) { $this->form_validation->set_message('_checkWorld', 'Unknown World'); return false; } else return true; } function _checkVocation($id) { $this->config->load('create_character.php'); if(!array_key_exists($id, $this->config->item('vocations'))) { $this->form_validation->set_message('_checkVocation', 'Unknown Vocation'); return false; } else return true; } function _checkSex($id) { if($id != 0 and $id != 1) { $this->form_validation->set_message('_checkSex', 'Unknown Sex'); return false; } else return true; } function _checkDelay() { global $config; if(!isset($_SESSION['characterDelay'])) $_SESSION['characterDelay'] = 0; if($config['characterDelay']) { if(@(time()-$_SESSION['characterDelay']) > 240) { return true; } else { $this->form_validation->set_message('_checkDelay', 'You cannot create another character just after another. Please wait few minutes.'); return false; } } else return true; } function _validName($name) { require("config.php"); $name = explode(" ", $name); foreach($name as $unit) { if(in_array(strtolower($unit), $config['invalidNameTags'])) { $this->form_validation->set_message('_validName', 'Invalid Name'); return false; } else if(strlen($unit) == 1) { $this->form_validation->set_message('_validName', 'Invalid Name'); return false; } else continue; } } // Function which make the player more real by tatu hunter // Eg: elder'Druid = Elder'Druid // elder'druid = Elder'druid // druid theMaster = Druid themaster function strFirst($name) { $name = explode(' ', trim($name)); for($i=0, $t = sizeof($name); $i<$t; ++$i) for($j=0, $l=strlen($name[$i]); $j<$l; ++$j) !$j ? ($name[$i][$j] = !$i ? ($name[$i][$j] == strtoupper($name[$i][$j]) ? $name[$i][$j] : strtoupper($name[$i][$j])): $name[$i][$j]) : ($name[$i][$j] = ($name[$i][$j-1] == '\'' ? $name[$i][$j] : strtolower($name[$i][$j]))); $ret = ''; foreach($name as $k) $ret .= $k . ' '; return trim($ret); } function create_character($ajax = 0) { require_once("system/application/config/create_character.php"); global $config; global $ide; $data['worlds'] = $config['worlds']; $data['cities'] = $config['cities']; $data['vocations'] = $config['vocations']; $this->load->model("character_model"); $count = $this->character_model->getCount(); if($count >= $config['maxCharacters'] && $ajax == 1) exit; if($count >= $config['maxCharacters']) $ide->redirect(WEBSITE."/index.php/account/index/3"); $this->load->helper('form'); $this->load->library('form_validation'); if($_POST) { $_POST['name'] = trim(ucwords(strtolower(decodeString($_POST['name'])))); $this->form_validation->set_rules('name', 'Player Name', "required|min_length[3]|max_length[20]|nickname|callback__characterExists|callback__validName|callback__checkDelay"); $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()) { show_error('Sample character could not be found!'); } if($_POST['sex'] == "0") $char_to_copy->setLookType(136); $player = $ots->createObject('Player'); $player->setName($this->strFirst($_POST['name'])); $player->setAccount($account_logged); $player->setWorld($_POST['world']); $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->setLossContainers($char_to_copy->getLossContainers()); $player->save(); $_SESSION['characterDelay'] = time(); 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().""); $SQL->query("SELECT * FROM player_depotitems 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']."');"); $SQL->query("INSERT INTO `player_depotitems` (`player_id` ,`pid` ,`sid` ,`itemtype`, `count`, `attributes`) VALUES ('".$player->getId()."', '1', '101', '2589', '1', '".$save_item['attributes']."');"); if($ajax == 0) $ide->redirect(WEBSITE.'/index.php/account/index/1'); else $ide->criticalRedirect(WEBSITE.'/index.php/account/index/1'); } } } if($ajax == 1) { error(validation_errors()); $ide->system_stop(); } else $this->load->view('create_character', $data); } public function view($name = null) { global $config; if(!@is_array($_SESSION['sCharacters'])) $_SESSION['sCharacters'] = array(); $ide = new IDE; if(!empty($name)) { $name = decodeString($name); $data['character'] = $name; $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $player = $ots->createObject('Player'); $player->find($name); if(!$player->isLoaded()) { $ide->redirect("../../character/view/"); } else { if(!in_multiarray($name, $_SESSION['sCharacters'])) { array_unshift($_SESSION['sCharacters'], array("name"=>$name, "time"=>time())); if(count($_SESSION['sCharacters']) > $config['characterSearchLimit']) array_pop($_SESSION['sCharacters']); } $data['player'] = $player; $data['account'] = $player->getAccount(); } $this->load->view('view_character.php', $data); } else { $this->load->helper("form"); if($_POST) { $name = decodeString($_POST['name']); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $player = new OTS_Player(); $player->find($name); if($player->isLoaded()) { $ide->redirect("../character/view/$name"); } else { error("$name could not be found."); } } $this->load->view('character_search.php'); } } public function online() { $this->load->helper('form'); $this->load->model("character_model"); $data['players'] = $this->character_model->getPlayersOnline(); $this->load->view("online_players.php", $data); } public function clearHistory() { global $ide; $_SESSION['sCharacters'] = array(); echo "History Cleared!"; $ide->system_stop(); } } ?> Editado Julho 8, 2016 9 anos por Psgamerbr informação que pode ajudar (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.