private function LoadCharacterList($locale) { $db = ConnectCharacterDatabase($locale); $q = $db->query("\r\nSELECT\r\n\tcharacters.name,\r\n\tw.world_name,\r\n\tguild_members.rank,\r\n\tguild_members.alliance_rank,\r\n\tguild_members.contribution\r\nFROM\r\n\t`guild_members`\r\nLEFT JOIN \r\n\t`characters`\r\n\tON\r\n\t\tcharacters.id = guild_members.character_id\r\nLEFT JOIN \r\n\tworld_data w\r\n\tON\r\n\t\tw.world_id = characters.world_id\r\nWHERE \r\n\tguild_members.guild_id = " . $this->id . "\r\nAND\r\n\tguild_members.world_id = " . $this->world_id . "\r\nAND\r\n\tcharacters.name IS NOT NULL\r\nORDER BY\r\n\trank ASC"); $this->members = array(); while ($row = $q->fetch_assoc()) { $this->members[] = $row; } }
function IsOwnCharacter($charname, $locale) { global $_loginaccount; $_char_db = ConnectCharacterDatabase($locale); $q = $_char_db->query("\r\nSELECT\r\n\tc.internal_id\r\nFROM\r\n\tcharacters c\r\nLEFT JOIN\r\n\tusers u\r\n\tON\r\n\t\tu.id = c.userid\r\nWHERE\r\n\tc.name = '" . $_char_db->real_escape_string($charname) . "'\r\n\tAND\r\n\tu.account_id = " . $_char_db->GetID()); if ($q->num_rows > 0) { $row = $q->fetch_row(); $q->free(); return $row[0]; } return false; }
public static function GetAndroid($character_id, $locale) { $db = ConnectCharacterDatabase($locale); $q = $db->query("\r\nSELECT\r\n\t*\r\nFROM\r\n\tandroids\r\nWHERE\r\n\tcharacter_id = " . $character_id); if ($q->num_rows == 1) { $row = $q->fetch_assoc(); $q->free(); $droid = new Android(); $droid->name = $row['name']; $droid->type = $row['type']; $droid->face = $row['face']; $droid->skin = $row['skin']; $droid->hair = $row['hair']; return $droid; } $q->free(); return null; }
public function __construct($row, $locale) { $db = ConnectCharacterDatabase($locale); $this->type = ITEM_PET; parent::__construct($row); $temp = null; $q = $db->query("SELECT * FROM pets WHERE cashid = " . $this->cashid . " LIMIT 1"); $temp = $q->fetch_assoc(); $q->free(); $this->name = $temp['name']; $this->closeness = (int) $temp['closeness']; $this->fullness = (int) $temp['fullness']; $this->level = (int) $temp['level']; }
function SetCharacterOption($id, $key, $locale, $value) { $db = ConnectCharacterDatabase($locale); $q = $db->query("\nINSERT INTO\n\tcharacter_options\nVALUES\n(\n\t" . intval($id) . ",\n\t'" . $db->real_escape_string($key) . "',\n\t'" . $db->real_escape_string($value) . "'\n)\nON DUPLICATE KEY UPDATE\n\toption_value = VALUES(`option_value`)"); }
<h2>Characters</h2> <p><b>Tip:</b> For additional options, click on the avatar of a character.</p> <?php require_once __DIR__ . '/../inc/avatar_faces.php'; $char_config = $_loginaccount->GetConfigurationOption('character_config', array('characters' => array(), 'main_character' => null)); $characternames = array(); $query = "\nSELECT \n\tchr.internal_id,\n\tchr.id,\n\tchr.name,\n\tw.world_name\nFROM \n\tcharacters chr \nLEFT JOIN \n\tusers usr \n\tON \n\t\tusr.ID = chr.userid \nLEFT JOIN \n\tworld_data w \n\tON \n\t\tw.world_id = chr.world_id \nWHERE \n\tusr.account_id = '" . $__database->real_escape_string($_loginaccount->GetID()) . "' \nORDER BY \n\tchr.world_id ASC,\n\tchr.level DESC\n"; // printing table rows $cache = array(); $name_internal_id_list = array(); foreach (array('gms', 'ems') as $locale) { $db = ConnectCharacterDatabase($locale); $q = $db->query($query); while ($row = $q->fetch_assoc()) { $row['locale'] = $locale; $row['internal_name'] = $locale . ':' . $row['name']; $cache[] = $row; $characternames[] = $row['internal_name']; $name_internal_id_list[$row['internal_name']] = $row['internal_id']; } $q->free(); } if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['char_shown_option'], $_POST['main_character'])) { $char_options = $_POST['char_shown_option']; $char_face_options = $_POST['char_face_option']; $main_char = $_POST['main_character']; $error = ''; // Lets see if the 'new' main selected exists $found = in_array($main_char, $characternames); if (!$found) { $error = 'An error occurred while selecting the main character.';
switch ($_GET['size']) { case 'original': case 'normal': case 'big': case 'huge': $size = $_GET['size']; break; } } $charname = isset($_GET['name']) ? $_GET['name'] : 'RoboticOil'; $tmp_ok = true; $len = strlen($charname); if ($len < 4 || $len > 12) { $tmp_ok = false; } else { $__char_db = ConnectCharacterDatabase(CURRENT_LOCALE); $q = $__char_db->query("SELECT * FROM characters WHERE name = '" . $__char_db->real_escape_string($charname) . "'"); if ($q->num_rows == 0) { $tmp_ok = false; } } if (!$tmp_ok) { echo file_get_contents('http://mapler.me/inc/img/no-character.png'); die; } // Get character attributes $character_data = $q->fetch_array(); $internal_id = $character_data['internal_id']; $character_id = $character_data['id']; $skin = $character_data['skin'] + 2000; $face = $character_data['eyes'];
public function GetMainCharacterName() { $config = $this->GetConfigurationOption('character_config', array('characters' => array(), 'main_character' => null)); $name = $config['main_character']; if ($name !== null) { if (strpos($name, ':') === false) { $name = 'gms:' . $name; $config['main_character'] = $name; $this->SetConfigurationOption('character_config', $config); } $parts = explode(':', $name); $name = $parts[1]; $locale = $parts[0]; // Check if exists $_char_db = ConnectCharacterDatabase($locale); $q = $_char_db->query("SELECT id FROM characters WHERE name = '" . $_char_db->real_escape_string($name) . "'"); if ($q->num_rows == 0) { $name = null; $config['main_character'] = null; $this->SetConfigurationOption('character_config', $config); } $q->free(); if ($name === null) { return null; } return array('locale' => $locale, 'name' => $name); } return null; }
function GetAlliancedWorldName($worldid, $locale) { $realid = GetAllianceWorldID($worldid, $locale); $db = ConnectCharacterDatabase($locale); $q = $db->query('SELECT world_name FROM world_data WHERE world_id = ' . intval($realid)); $row = $q->fetch_row(); $q->free(); return $row[0]; }