Ir para conteúdo

rayner

Membro
  • Registro em

  • Última visita

Tudo que rayner postou

  1. Obrigado pela atenção amgio!
  2. Olá, procurei mais não encontrei! Poderiam me passar um creaturescripts para jogadores premiuns receber 30% á mais da experiência ? Resolvido já!
  3. O aamigo obrigado, tava na dúvida. Pois tive que muda o tempo de varias coisas no server. Rep+ parceiro. Dúvida Resolvida!
  4. Amigo mesmo limpando o meu TFS 0.4 não aceita em plain. Assim entrei no site que me passo, onde coloco o codigo do sha1 para ele me mostra qual é a senha em plain ?
  5. rayner postou uma resposta no tópico em Suporte Tibia OTServer
    Assim, meu server era TFS 0.3.6. Queria o sistemad e War System, tive que mudar para TFS 0.4.0. Mais tive que adicionar umas coisas novas na database do phpmyadmin, que era do cast para funcionar certinho!
  6. Olá, gostaria de saber por que as contas fica com senha assim; 0ed7fe06abf5ec090877c2c297540879171bfe2c Antes de colocar a distro 0.4, eu usava na config. o "plain", usava a distro 0.3.6 Ficava a senha normal ali. Agora como mudei a distro pra 0.4, tenho que usa "sha1" na config, ai a senha fica toda estranha assim no phpadmin, podem me ajudar a deixar normal ?
  7. Deu certo não amigo! Problema resolvido! Adicionei alguns tabelas do cast novas alem da que o amigo ali emcima passou!
  8. Assim! Não sei bem como explica mais não parece ser uma coisa comum! Crio o char no site, depois logo no jogo, até ai tudo bem. Mais ai deslogo e quando volto a logar, meu char tá no templo como se tivesse criado agora. Os chars estão igual account manager, você pode upar e upar, mais se deslogar e logar, ele volta templo level 8 e como se tivesse criado agora. Podem me explicar o por que ? Erro. ?
  9. Boa tarde, gostaria de saber certinho como funciona o tempo da distro 0.4. Pois mudei a minha e falaram que o tempo funciona diferente, e sim notei que realmente funciona diferente, pois o save game esta dando a cada 10 segundos, um atrás do outro. Alguém poderia me explicar como que funciona? Como assim? SIMPLES! 1 Segundo = 1000 1 Minuto = 10000 30 Segundos = 18000 1 Hora = 180000000 Assim..
  10. Boa noite! Estou usando um sistema de Shop Guild! Mais gostaria de saber como coloco para poder usar o comando á cada 5 Dias! Guild Point System: local playersNeeded = 10 local ipsNeeded = 10 local minimumLevel = 100 local storageId = 41578 local pointsForPlayer = 15 local function sendPlayersList(cid, list) for i, pid in ipairs(list) do local level = getPlayerLevel(pid) < minimumLevel and " - " .. getPlayerLevel(cid) .. " level " or "" local valid = getCreatureStorage(pid, storageId) > 1 and " - already received!" or "" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(pid) .. level) end end function onSay(cid, words, param, channel) if(getPlayerGuildLevel(cid) == 3) then local leaderGuild = getPlayerGuildId(cid) local players = getPlayersOnline() local guildMembersValid = {} local guildMembersInvalid = {} for i, pid in ipairs(players) do if(leaderGuild == getPlayerGuildId(pid)) then if(getPlayerLevel(pid) >= minimumLevel and tonumber(getCreatureStorage(pid, storageId)) < 2) then table.insert(guildMembersValid, pid) else table.insert(guildMembersInvalid, pid) end end end if(#guildMembersValid >= playersNeeded) then local IPs = {} for i, pid in ipairs(guildMembersValid) do local ip = getPlayerIp(pid) if(IPs[ip] == nil) then IPs[ip] = ip end end if(#IPs >= ipsNeeded) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that received points:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that did not receive points:") sendPlayersList(cid, guildMembersInvalid) local accounts = {} for i, pid in ipairs(guildMembersValid) do table.insert(accounts, getPlayerAccountId(pid)) doCreatureSetStorage(pid, storageId, os.time()) end db.executeQuery("UPDATE `accounts` SET `guild_points` = `guild_points`+" .. pointsForPlayer .. " WHERE `id` IN (" .. table.concat(accounts, ',') .. ");") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid (" .. playersNeeded .. " required), but you have together only " .. #IPs .. " IPs (" .. ipsNeeded .. " required)") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:") sendPlayersList(cid, guildMembersInvalid) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid, " .. playersNeeded .. " required. Minimum level required is " .. minimumLevel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:") sendPlayersList(cid, guildMembersInvalid) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.") end return true end Podem me ajudar á coloca exaust de 5 dias nesse script?
  11. rayner postou uma resposta no tópico em Suporte Tibia OTServer
    Resolvido ! Obrigado á todos que deu atenção ou até mesmo visualizou!
  12. Resolvido ! Obrigado á todos que deu atenção ou até mesmo visualizou!
  13. Aqui o Shop.php -- ### CONFIG ### -- message send to player by script "type" (types you can check in "data/lib/000-constants.lua") SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_BLUE -- time (in seconds) between queries to MySQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM `z_ots_comunication` WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_container, "tid", id) local iter = 0 while iter ~= container_count do local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_item, "tid", id) doAddContainerItemEx(new_container, new_item) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_item, "tid", id) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') doPlayerSave(cid) db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return true end
  14. Galerinha, seguinte! Meu site ta tudo ok! Mais quando compro um X item determinado no SHOP, ele não para de mandar para o player! Ele manda um, depois mais um, depois outro, e outro e assim fica mandando toda hora, a cada 30 segundos ele manda! Alguem pode me ajudar! [10/06/2015 21:12:48] [Error - GlobalEvent Interface] [10/06/2015 21:12:48] data/globalevents/scripts/shop.lua:onThink [10/06/2015 21:12:48] Description: [10/06/2015 21:12:48] data/globalevents/scripts/shop.lua:64: attempt to call field 'executeQuery' (a nil value) [10/06/2015 21:12:48] stack traceback: [10/06/2015 21:12:48] data/globalevents/scripts/shop.lua:64: in function <data/globalevents/scripts/shop.lua:7> [10/06/2015 21:12:48] [Error - GlobalEvents::think] Couldn't execute event: website_shop_item_delivery
  15. rayner postou uma resposta no tópico em Suporte Tibia OTServer
    Boa noite, gostaria de saber como faço para instalar um site que baixei para o geisor, porém na pasta htdocs não possuí o arquivo install.php, onde entro em htdocs/config/config e coloco install = "start" mais ai ele pede o arquivo install.php. Como posso cofigurar para funcionar sem o install.php ? Não faço minima ideia! Podem me ajudar ?
  16. Primeiro obrigado pela atenção você que esta lendo esse pedido de ajuda! - Estou com um pequeno problema no create account do site. Consigo criar a conta, mais não consigo logar! Troquei o createaccount.php por outro e ai ja deu certo, mais preciso mesmo é do outro! createaccount.php com erro: <p> <?php $location = array( 'GER' =>'Europe', // 'USA' =>'North America' ); $default = 'all'; $worlds = array(); $worlds[0] = array('GER', 'open'); /* $worlds[1] = array('GER', 'optional'); $worlds[2] = array('GER', 'hardcore'); $worlds[3] = array('USA', 'open'); $worlds[4] = array('USA', 'optional'); $worlds[5] = array('USA', 'hardcore'); */ $voc = array(); // if empty, Rook Sample will be used $voc[1] = 'Sorcerer'; $voc[2] = 'Druid'; $voc[3] = 'Paladin'; $voc[4] = 'Knight'; $suggestname = NULL; // not available $version = '860'; // for download link foreach($worlds as $k =>$v) // remove invalid worlds if(!isset($location[$v[0]]) || !isset($config['site']['worlds'][$k])) unset($worlds[$k]); $tmp = array(); foreach($location as $k =>$v) // remove invalid/unused locations foreach($worlds as $i =>$j) if($j[0] == $k) { $tmp[$k] = $v; break; } $location = $tmp; unset($tmp); if(isset($_POST['step']) && $_POST['step'] == 'docreate') { $e = array(); $s = isset($_POST['accountname']) ? $_POST['accountname'] : ''; if($s == '') $e['acc'] = 'Please enter an account name!'; elseif(strlen($s) < 6) $e['acc'] = 'This account name is too short!'; elseif(strlen($s) > 10) $e['acc'] = 'This account name is too long!'; else { $s = strtoupper($s); if(!ctype_alnum($s)) $e['acc'] = 'This account name has an invalid format. Your account name may only consist of numbers 0-9 and letters A-Z!'; elseif(!preg_match('/[A-Z0-9]/', $s)) $e['acc'] = 'Your account name must include at least one letter A-Z!'; else { $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.'); mysql_select_db($config['server']['sqlDatabase']); if(mysql_num_rows(mysql_query('SELECT id FROM accounts WHERE name=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0) $e['acc'] = 'This account name is already used. Please select another one!'; } } $s = isset($_POST['name']) ? trim($_POST['name']) : ''; if(empty($s)) $e['name'] = 'Please enter a name for your character!'; elseif(strlen($s) < 2 || strlen($s) > 29) $e['name'] = 'A name must have at least 2 but no more than 29 letters!'; elseif(preg_match('/[^a-zA-Z ]/', $s)) $e['name'] = 'This name contains invalid letters. Please use only A-Z, a-z and space!'; elseif(!ctype_upper($s[0])) $e['name'] = 'The first letter of a name has to be a capital letter!'; elseif(strpos($s, ' ') !== false) $e['name'] = 'This name contains more than one space between words. Please use only one space between words!'; else { foreach(explode(' ', $s) as $k =>$v) { $words[$k] = str_split($v); $len = strlen($v); if($len == 1) { $e['name'] = 'This name contains a word with only one letter. Please use more than one letter for each word!'; break; } elseif($len > 14) { $e['name'] = 'This name contains a word that is too long. Please use no more than 14 letters for each word!'; break; } } if(!isset($e['name'])) { $total=0; foreach($words as $k =>$p) { if(isset($e['name'])) break; $total++; if($total > 3) { $e['name'] = 'This name contains more than 3 words. Please choose another name!'; break; } $len=0; foreach($p as $i =>$j) { $len++; if($i != 0 && ctype_upper($j)) { $e['name'] = 'In names capital letters are only allowed at the beginning of a word!'; break; } elseif($i == $len-1) { $ff=null; for($h=0;$h<strlen($v); $h++) { if(in_array(strtolower($v[$h]), array('a','e','i','o','u')) !== false) { $ff=true; break; } } if(!$ff) { $e['name'] = 'This name contains a word without vowels. Please choose another name!'; break; } } } } if(!isset($e['name'])) { $s = strtolower($s); for($i = 0; $i < strlen($s); $i++) if($s[$i] == $s[($i+1)] && $s[$i] == $s[($i+2)]) { $e['name'] = 'This character name is already used. Please select another one!'; break; } if(!isset($e['name'])) { foreach(array('aa ', 'ee', 'ii', 'oo', 'uu', 'gm','cm', 'aff ', 'god ', 'abc', 'tutor', 'game', 'admin', 'gerador azul i', 'gerador azul ii', 'gerador azul iii', 'gerador vermelho i', 'gerador vermelho ii', 'gerador vermelho iii', 'emperium of coh', 'guard', 'lion', 'tiger', 'minishabaal', 'yeti', 'yalahari', 'azure frog', 'badger', 'bat', 'bear', 'black sheep', 'blood crab', 'boar', 'bug', 'brimstone bug', 'cat', 'cave rat', 'chicken', 'cockroach', 'coral frog', 'crab', 'crimson frog', 'deathspawn', 'deer', 'dog', 'elephant', 'flamingo', 'gnarlhound', 'green frog', 'husky', 'hyaena', 'mammoth', 'orchid frog', 'panda', 'parrot', 'penguin', 'pig', 'polar bear', 'rabbit', 'rat', 'seagull', 'sheep', 'silver rabbit', 'skunk', 'squirrel', 'terror bird', 'thornback tortoise', 'toad', 'tortoise', 'war wolf', 'werewolf', 'winter wolf', 'wolf', 'carrion worm', 'rift worm', 'rotworm', 'rotworm queen', 'kongra', 'merlkin', 'sibang', 'dark monk', 'monk', 'tha exp carrier', 'fernfang', 'trainer vip', 'trainer wid', 'trainer king', 'training', 'amazon', 'assassin', 'bandit', 'black knight', 'crazed beggar', 'gang member', 'gladiator', 'hero', 'hunter', 'nomad', 'poacher', 'smuggler', 'stalker', 'valkyrie', 'wild warrior', 'barbarian bloodwalker', 'barbarian brutetamer', 'barbarian headsplitter', 'barbarian skullhunter', 'bonelord', 'braindeath', 'elder bonelord', 'gazer', 'demon (bonus)', 'dragon lord (bonus)', 'grim reaper (bonus)', 'hydra (bonus)', 'infernalist (bonus)', 'annihilon', 'apprentice sheng', 'ashmunrah', 'brutus bloodbeard', 'chizzoron the distorter', 'countess sorrow', 'deadeye devious', 'demodras', 'dipthrah', 'dire penguin', 'dracola', 'draptor', 'earth overlord', 'energy overlord', 'ferumbras', 'fire overlord', 'ghazbaran', 'golgordan', 'grorlam', 'hellgorak', 'ice overlord', 'latrivan', 'lethal lissy', 'lord of the elements', 'madareth', 'mahrdis', 'man in the cave', 'massacre', 'morgaroth', 'morguthis', 'mr. punish', 'necropharus', 'omruc', 'orshabaal', 'rahemos', 'ron the ripper', 'thalas', 'the count', 'the handmaiden', 'the horned fox', 'the imperor', 'the old widow', 'the plasmother', 'tiquandas revenge', 'ushuriel', 'vashresamun', 'warlord ruzad', 'zugurosh demon legs', 'zulazza the corruptor', 'achad', 'avalanche', 'azerus', 'axeitus headbanger', 'baron brute', 'bloodpaw', 'bovinus', 'coldheart', 'colerian the barbarian', 'cursed gladiator', 'darakan the executioner', 'deathbringer', 'doomhowl', 'drasilla', 'dreadwing', 'fallen mooh', 'tah master ghar', 'fatality', 'frostfur', 'glitterscale', 'gnorre chyllson', 'grimgor guteater', 'haunter', 'heoni', 'incineron', 'koshei the deathless', 'kreebosh the exile', 'mad technomancer', 'menace', 'snake god essence', 'norgle glacierbeard', 'orcus the cruel', 'pythius the rotten', 'rocko', 'rocky', 'snake think', 'slim', 'spirit of earth', 'spirit of fire', 'spirit of water', 'svoren the mad', 'the axeorcist', 'the dark dancer', 'the dreadorian', 'the hag', 'the hairy one', 'the keeper', 'the masked marauder', 'the obliverator', 'the pit lord', 'tirecz', 'tremorak', 'webster', 'abominator', 'the of wid bosser', 'demon vip', 'hydra vip', 'frost dragon vip', 'dragon lord vip', 'ghastly dragon vip', 'hellspawn vip', 'warlock vip', 'chakoya toolshaper', 'chakoya tribewarden', 'chakoya windcaller', 'acolyte of the cult', 'adept of the cult', 'enlightened of the cult', 'novice of the cult', 'behemoth', 'cyclops', 'cyclops drone', 'cyclops smith', 'frost giant', 'frost giantess', 'dark torturer', 'demon', '[arena] demon', 'destroyer', 'diabolic imp', 'fire devil', 'gozzler', 'hand of cursed fate', 'hellhound', 'hellspawn', 'juggernaut', 'nightmare', 'nightmare scion', 'nightstalker', 'plaguesmith', 'blue djinn', 'efreet', 'green djinn', 'marid', 'dragon', 'dragon hatchling', 'dragon lord', '[arena] dragon lord', 'dragon lord hatchling', 'frost dragon', '[arena] frost dragon', 'frost dragon hatchling', 'ghastly dragon', 'undead dragon', 'dwarf', 'dwarf geomancer', 'dwarf guard', 'dwarf soldier', 'dworc fleshhunter', 'dworc venomsniper', 'dworc voodoomaster', 'blazing fire elemental', 'blistering fire elemental', 'bog raider', 'charged energy elemental', 'defiler', 'earth elemental', 'energy elemental', 'fire elemental', 'hellfire fighter', 'jagged earth elemental', 'massive earth elemental', 'massive energy elemental', 'massive fire elemental', 'massive water elemental', 'muddy earth elemental', 'overcharged energy elemental', 'rift brood', 'roaring water elemental', 'slick water elemental', 'water elemental', 'elf', 'elf arcanist', 'elf scout', 'dryad', 'grynch clan goblin', 'the halloween hare', 'undead jester', 'goblin', 'goblin assassin', 'goblin leader', 'goblin scavenger', 'damaged worker golem', 'gargoyle', 'ice golem', 'stone golem', 'war golem', 'worker golem', 'esmeralda', 'hide', 'leviathan', 'shardhead', 'stonecracker', 'the bloodtusk', 'the many', 'the noxious spawn', 'the snapper', 'thul', 'ancient scarab', 'butterfly', 'centipede', 'insect swarm', 'lancer beetle', 'larva', 'sandcrawler', 'scarab', 'scorpion', 'terramite', 'wasp', 'battlemaster zunzu', 'draken spellweaver', 'draken warmaster', 'draken abomination', 'draken elite', 'eternal guardian', 'lizard abomination', 'lizard chosen', 'lizard dragon priest', 'lizard gate guardian', 'lizard high guard', 'lizard legionnaire', 'lizard noble', 'lizard magistratus', 'lizard sentinel', 'lizard snakecharmer', 'lizard templar', 'lizard zaogun', 'dark apprentice', 'dark magician', 'fury', 'ice witch', 'infernalist', 'mad scientist', 'necromancer', 'priestess', 'warlock', 'yakchal', 'witch', 'stop of wid', 'undead minion', 'minotaur', 'minotaur archer', 'minotaur guard', 'minotaur mage', 'mutated bat', 'mutated human', 'mutated rat', 'mutated tiger', 'orc', 'orc berserker', 'orc leader', 'orc marauder', 'orc rider', 'orc shaman', 'orc spearman', 'orc warlord', 'orc warrior', 'pirate buccaneer', 'pirate corsair', 'pirate cutthroat', 'pirate marauder', 'marujo the wid', 'carniphila', 'haunted treeling', 'spit nettle', 'quara constrictor', 'quara constrictor scout', 'quara hydromancer', 'quara hydromancer scout', 'quara mantassin', 'quara mantassin scout', 'quara pincher', 'quara pincher scout', 'quara predator', 'quara predator scout', 'cobra', 'crocodile', 'hydra', '[arena] hydra', 'killer caiman', 'medusa', 'triple medusa', 'sea serpent', 'serpent spawn', 'snake', 'wyrm', 'wyvern', 'young sea serpent', 'acid blob', 'death blob', 'mercury blob', 'slime', 'son of verminor', 'crystal spider', 'giant spider', 'poison spider', 'spider', 'tarantula', 'wailing widow', 'guardian of cok', 'deathslicer', 'deaththrower', 'eye of the seven', 'flamethrower', 'lavahole', 'lava hole', 'magicthrower', 'paralyzethrower', 'plaguethrower', 'shredderthrower', 'a carved stone tile', 'a carved stone demon', 'mimic', 'frost troll', 'island troll', 'swamp troll', 'troll', 'troll champion', 'troll legionnaire', 'banshee', 'betrayed wraith', 'blightwalker', 'bonebeast', 'bone beast', 'haunted spirit', 'crypt shambler', 'demon skeleton', 'dreadbeast', 'ghost', 'ghoul', 'grim reaper', 'lich', 'lost soul', 'mummy', 'undead hydra', 'phantasm', 'pirate ghost', 'pirate skeleton', 'rift scythe', 'skeleton', 'skeleton warrior', 'souleater', 'spectre', 'undead gladiator', 'undead mine worker', 'undead prospector', 'vampire', 'vampire bride', 'wisp wid', 'zombie', 'zombie event') as $v) if($v == substr($s, 0, strlen($v))) { $e['name'] = 'Voc&ecirc; n&atilde;o pode utilizar nome de monster para criar um personagem !'; break; } if(!isset($e['name'])) { foreach(array('game', 'customer', 'support', 'fuck', 'haha', 'sux', ' abc', 'suck', 'noob', 'tutor', 'admin', 'account', 'gay', 'password', 'manager') as $v) if(strpos($s, $v) !== false) { $e['name'] = 'Voc&ecirc; n&atilde;o pode utilizar nome de monster para criar um personagem !'; break; } if(!isset($e['name'])) { if(!isset($con)) { $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.'); mysql_select_db($config['server']['sqlDatabase']); } if(mysql_num_rows(mysql_query('SELECT id FROM players WHERE name=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0) $e['name'] = 'This character name is already used. Please select another one!'; } } } } } } if(!isset($_POST['world']) || empty($_POST['world'])) $e['world'] = 'Please select a game world for your character!'; if(!isset($_POST['sex']) || ($_POST['sex'] != 'male' && $_POST['sex'] != 'female')) $e['sex'] = 'Please select the sex for your character!'; if(count($voc) != 0 && (!isset($_POST['vocation']) || !is_numeric($_POST['vocation']) || !isset($voc[$_POST['vocation']]))) $e['vocation'] = 'Please select the vocation for your character!'; $s = isset($_POST['email']) ? $_POST['email'] : ''; if($s == '') $e['email'] = 'Please enter your email address!'; elseif(strlen($s) > 49) $e['email'] = 'Your email address is too long!'; elseif(!filter_var($s, FILTER_VALIDATE_EMAIL)) $e['email'] = 'This email address has an invalid format. Please enter a correct email address!'; else { if(!isset($con)) { $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.'); mysql_select_db($config['server']['sqlDatabase']); } if(mysql_num_rows(mysql_query('SELECT id FROM accounts WHERE email=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0) $e['email'] = 'This email address is already used. Please enter another email address!'; } $s1 = isset($_POST['password1']) ? $_POST['password1'] : ''; $s2 = isset($_POST['password2']) ? $_POST['password2'] : ''; if(empty($s2)) $e['pass'] = 'Please enter the password again!'; elseif($s1 != $s2) $e['pass'] = 'The two passwords do not match!'; else { $err = array(); if(strlen($s1) < 5 || strlen($s1) > 29) $err[] = 'The password must have at least 8 and less than 30 letters!'; if(!ctype_alnum($s1)) $err[] = 'The password contains invalid letters!'; if(count($err) != 0) { $e['pass'] = ''; for($i=0; $i < count($err); $i++) $e['pass'] .= ($i == 0 ? '' : '<br/>').$err[$i]; } } if(!isset($_POST['agreerules']) || empty($_POST['agreerules'])) $e['rules'] = 'You have to agree to the Tibia Rules in order to create an account!'; if(count($e) == 0) { $worldid = NULL; foreach($config['site']['worlds'] as $id =>$name) if($worlds[$id] && $name == $_POST['world']) { $worldid = $id; break; } if($worldid === FALSE) $e['world'] = 'Please select a valid game world.'; } if(count($e) != 0) { $main_content = '<div class="SmallBox"><div class="MessageContainer"><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="ErrorMessage"><div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif)"/></div><b>Os seguintes erros ocorreram:</b><br/>'; foreach($e as $error) $main_content .= $error.'<br/>'; $main_content .= '</div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div></div></div><br/>'; } else { $random = rand(1, 9999999); $n = $random; $cur = array(); $q = mysql_query('SELECT id FROM accounts'); while ($r = mysql_fetch_array($q, MYSQL_NUM)) $cur[] = $r[0]; while(true) { if(!in_array($n, $cur)) break; $n++; if($n > 9999999) $n = 1; if($n == $random) die('Failed to create account.'); } if(mysql_query("INSERT INTO accounts (id,name,password,email,created) VALUES($n,'".$_POST['accountname']."','".($config['server']['encryptionType'] == 'plain' ? $_POST['password1'] : hash($config['server']['encryptionType'], $_POST['password1']))."','".$_POST['email']."',".time().")") === true) { $sample = (count($voc) == 0 ? 'Rook' : $voc[$_POST['vocation']]).' Sample'; $q = mysql_query("SELECT id,vocation,town_id,experience,level,maglevel,health,healthmax,mana,manamax,soul,lookbody,lookfeet,lookhead,looklegs,lookaddons,cap,save,posx,posy,posz FROM players WHERE name='$sample' LIMIT 1"); if(mysql_num_rows($q) != 1) die('Missing sample character ('.$sample.')'); $q = mysql_fetch_array($q); mysql_query('INSERT INTO players (name,world_id,account_id,level,vocation,health,healthmax,experience,lookbody,lookfeet,lookhead,looklegs,looktype,lookaddons,maglevel,mana,manamax,soul,town_id,posx,posy,posz,cap,sex,created) VALUES(\''.$_POST['name'].'\','.$worldid.','.$n.','.$q['level'].','.$q['vocation'].','.$q['health'].','.$q['healthmax'].','.$q['experience'].','.$q['lookbody'].','.$q['lookfeet'].','.$q['lookhead'].','.$q['looklegs'].','.($_POST['sex'] == 'female' ? 136 : 128).','.$q['lookaddons'].','.$q['maglevel'].','.$q['mana'].','.$q['manamax'].','.$q['soul'].','.$q['town_id'].','.$q['posx'].','.$q['posy'].','.$q['posz'].','.$q['cap'].','.($_POST['sex'] == 'female' ? 0 : 1).','.time().')'); } else die('Failed to create account.'); $main_content = '<div class="SmallBox"><div class="MessageContainer"><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="Message"><div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><table><tr><td class="LabelV">Note:</td><td style="width:100%"><p>Sua conta foi criada com sucesso faça o download do nosso cliente no link abaixo!</p></td></tr></table></div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div></div></div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></div><br/><div class="TableContainer"><table class="Table4" cellpadding="0" cellspacing="0"><div class="CaptionContainer"><div class="CaptionInnerContainer"><span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></span><div class="Text">Download Client Tibia Wid</div><span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></span><span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span></div></div><tr><td><div class="InnerTableContainer"><table style="width:100%"><tr><td><table width="100%" cellpadding=0 cellspacing=0><tr><td style="vertical-align:top"><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td><table style="width:100%;text-align:center"><tr><td><a href="http://tibiaclient.com/files/tibia'.$version.'.exe" type="application/octet-stream" target="_top"><img style="width:180px;height:180px;border:0px" src="account/download_windows.png"/></a></td><td><a href="http://tibiaclient.com/files/tibia'.$version.'.tar" type="application/octet-stream" target="_top"><img style="width:180px;height:180px;border:0px" src="account/download_linux.png"/><br/></a></td></tr><tr><td valign="top"><a href="https://dl.dropboxusercontent.com/s/nyy87lyzyhoqpnn/TibiaWid%20Cliente.exe?dl=1&token_hash=AAFVX3kzTe9U91QuGthnt_9xKfiV8GzZI5REvpQHFEqkRQ" type="application/octet-stream" target="_top">Cliente Proprio Tibia Wid!</a></td><td valign="top"><a href="https://dl.dropboxusercontent.com/s/nyy87lyzyhoqpnn/TibiaWid%20Cliente.exe?dl=1&token_hash=AAFVX3kzTe9U91QuGthnt_9xKfiV8GzZI5REvpQHFEqkRQ" type="application/octet-stream" target="_top">Linux Tibia wid Client</a></td></tr><tr><td colspan="2">[<span class="HelpLink" onClick="window.open(\'http://www.tibia.com/support/content/help.php?subtopic=requirementes\', \'Help\', \'width=380px, height=310px, scrollbars=yes\')"><a>system requirements</a></span>]</td></tr></table></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td><td style="vertical-align:top"><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td style="text-align:center"><img style="width:254px;height:218px;margin:7px" src="account/successful_download.jpg"/></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr></table><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV">Disclaimer</td></tr><tr><td>The software and any related documentation is provided "as is" without warranty of any kind. The entire risk arising out of use of the software remains with you. In no event shall CipSoft GmbH be liable for any damages to your computer or loss of data.</td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr></table></div></table></div></td></tr>'; return; } } else $_POST['step'] = ''; $main_content .= '<script type="text/javascript" src="account/jquery.js"></script> <script type="text/javascript" src="account/create_character.js"></script> <script type="text/javascript">var PreselectServerLocation="'.$default.'";var g_FormName="CreateAccountAndCharacter";var g_FieldName="accountname";document.getElementById("ActiveSubmenuItemIcon_createaccount").style.visibility = "visible";'; foreach($worlds as $k =>$v) // create dynamic server list $main_content .= 'ServerList.push(new Array(\''.$config['site']['worlds'][$k].'\', \''.$v[0].'\', \''.$v[1].'\'));'; $main_content .= '</script><div style="position:relative;top:0px;left:0px"><form action="?subtopic=createaccount" method=post name="CreateAccountAndCharacter"><div class="TableContainer"><table class="Table5" cellpadding="0" cellspacing="0"><div class="CaptionContainer"><div class="CaptionInnerContainer"><span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span><div class="Text">Create New Account</div><span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span><span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span></div></div><tr><td><div class="InnerTableContainer"><table style="width:100%"><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV150"><span id="accountname_label"'.(isset($e['acc']) ? ' class="red"' : '').'>Account Name:</span></td><td><input id="accountname" name="accountname" class="CipAjaxInput" style="width:206px;float:left" value="'.(isset($_POST['accountname']) ? htmlspecialchars(substr($_POST['accountname'], 0, 30)) : '').'" size="30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_accountname.php\',PostData: \'a_AccountName=\'+this.value,Method: \'POST\'})"/><div id="accountname_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['acc']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id="accountname_errormessage" class="FormFieldError">'.(isset($e['acc']) ? $e['acc'] : '').'</span></td></tr><tr><td class="LabelV150"><span id="email_label"'.(isset($e['email']) ? ' class="red"' : '').'>Email Address:</span></td><td><input id="email" name="email" class="CipAjaxInput" style="width:206px;float:left" value="'.(isset($_POST['email']) ? htmlspecialchars(substr($_POST['email'], 0, 50)) : '').'" autocomplete="off" size="30" maxlength="50" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_email.php\',PostData: \'a_EMail=\'+this.value,Method: \'POST\'})"/><div id="email_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['email']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id="email_errormessage" class="FormFieldError">'.(isset($e['email']) ? $e['email'] : '').'</span></td></tr><tr><td class="LabelV150"><span id="password1_label"'.(isset($e['pass']) ? ' class="red"' : '').'>Password:</span></td><td><input id="password1" type="password" autocomplete="off" name="password1" style="width:206px;float:left" value="'.(isset($_POST['password1']) ? htmlspecialchars(substr($_POST['password1'], 0, 30)) : '').'" size="30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_password.php\',PostData: \'a_Password1=\'+getElementById(\'password1\').value+\'&a_Password2=\'+getElementById(\'password2\').value,Method: \'POST\'})"/><div id="password1_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['pass']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td class="LabelV150"><span id="password2_label"'.(isset($e['pass']) ? ' class="red"' : '').'>Password Again:</span></td><td><input id="password2" type="password" name="password2" style="width:206px;float:left" value="'.(isset($_POST['password2']) ? htmlspecialchars(substr($_POST['password2'], 0, 30)) : '').'" size="30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_password.php\',PostData: \'a_Password1=\'+getElementById(\'password1\').value+\'&a_Password2=\'+getElementById(\'password2\').value,Method: \'POST\'})"/><div id="password2_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['pass']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id="password_errormessage" class="FormFieldError">'.(isset($e['pass']) ? $e['pass'] : '').'</span></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV150"><span id="charactername_label"'.(isset($e['name']) ? ' class="red"' : '').'>Character Name:</span></td><td><input id="charactername" name="name" class="CipAjaxInput" style="width:206px;float:left;position:relative" style="float:left" value="'.(isset($_POST['name']) ? htmlspecialchars(str_replace('+', ' ', substr(trim($_POST['name']), 0, 30))) : '').'" size="30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_charactername.php\',PostData: \'a_CharacterName=\'+this.value,Method: \'POST\'})"/><div id="charactername_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['name']) ? 'n' : '').'ok.gif)"></div>'; if($suggestname) $main_content .= '<br/><small>[<a class="CipAjaxLink" href="https://secure.tibia.com/account/content/ajax_suggestname.php" ajaxcip="true" ajaxcip_datatype="Container">suggest name</a>]</small>'; $main_content .= '</td></tr><tr><td></td><td><span id="charactername_errormessage" class="FormFieldError">'.(isset($e['name']) ? $e['name'] : '').'</span></td></tr><tr><td class="LabelV150"><span'.(isset($e['sex']) ? ' class="red"' : '').'>Sex:</span></td><td><table width="100%"><tr><td><span style="margin-right:75px" class="OptionContainer"><label for="sex_male"><span class="OptionContainer"><input id="sex_male" type="radio" name="sex" value="male"'.(($_POST['sex'] == 'male' || $_POST['step'] != 'docreate') ? ' checked="checked"' : '').'/><label for="sex_male">male</label></span></label></span><span class="OptionContainer"><label for="sex_female"><span class="OptionContainer"><input id="sex_female" type="radio" name="sex" value="female"'.($_POST['sex'] == 'female' ? ' checked="checked"' : '').'/><label for="sex_female">female</label></span></label></span></td><td></td></tr></table></td></tr>'.(isset($e['sex']) ? '<tr><td></td><td><span class="FormFieldError">'.$e['sex'].'</span></td></tr>' : ''); if(count($voc) != 0) { $main_content .= '<tr><td class="LabelV150"><span'.(isset($e['vocation']) ? ' class="red"' : '').'>Vocation:</span></td><td><table width="100%"><tr><td>'; foreach($voc as $k => $v) $main_content .= '<span style="margin-right:15px" class="OptionContainer"><label for="vocation_'.$k.'"> <span class="OptionContainer"><input id="vocation_'.$k.'" type="radio" name="vocation" value="'.$k.'"'.($_POST['vocation'] == $k ? ' checked="checked"' : '').'/><label for="vocation_'.$k.'">'.$v.'</label></span></label></span>'; $main_content .= '</td><td></td></tr></table></td></tr>'.(isset($e['vocation']) ? '<tr><td></td><td><span class="FormFieldError">'.$e['vocation'].'</span></td></tr>' : ''); } $main_content .= '</table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%">'; if(count($location)>1) { // show server location filter $main_content .= '<tr id="filterbox_location"><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'>World Location:</span></td><td><table width="100%"><tr><td width="33%" valign="top"><script>CreateFilterOption(\'server_location\', \'all\', \'all\')</script>&nbsp;&nbsp;</td>'; $i=0; foreach($location as $k =>$v) { $i++; $main_content .= '<td '.($i == count($location) ? '' : 'width="33%" ').'valign="top"><script>CreateFilterOption(\'server_location\', \''.$k.'\', \''.$v.'\')</script>&nbsp;&nbsp;</td>'; } $main_content .= '</tr></table></td></tr>'; } $main_content .= '<tr id="filterbox_pvp"><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'>World Type:</span></td><td><div>'; $optional=true; $open=true; $hardcore=true; foreach($worlds as $k =>$v) { // remove selection if there's no valid worlds if($optional && $v[1] == 'optional') unset($optional); elseif($open && $v[1] == 'open') unset($open); elseif($hardcore && $v[1] == 'hardcore') unset($hardcore); elseif(!$optional && !$open && !$hardcore) break; } $n = 0; foreach(array($optional, $open, $hardcore) as $k) if(!$k) $n++; $main_content .= '<table width="'.round(33.33 * $n).'%"><tr>'; if(!$optional) $main_content .= '<td width="'.(100 / $n).'%" align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'optional\', \'Optional PvP\')</script></b>&nbsp;&nbsp;Only if both sides agree, characters can be fought<br/><br/></td>'; if(!$open) $main_content .= '<td width="'.(100 / $n).'%" align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'open\', \'Open PvP\')</script></b>&nbsp;&nbsp;Killing other characters is possible, but restricted<br/><br/></td>'; if(!$hardcore) $main_content .= '<td align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'hardcore\', \'Hardcore PvP\')</script></b>&nbsp;&nbsp;Killing other characters is not restricted at all<br/><br/></td>'; $main_content .= '</tr></table></div></td></tr><tr><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'>World Name:</span></td><td><div id="js_world_box" style="display:none"><table width="100%"><tr id="world_list_tr" style="text-align:left"></tr></table><span onClick="ToggleVisibility(\'js_world_box\', \'suggested_world_box\'); UpdateServerList(); "><small>[<a style="cursor:pointer">suggest game world</a>]</small></span></div><div id="suggested_world_box">Suggested world: <span id="suggested_world_div"></span><br/><span onClick="ToggleVisibility(\'suggested_world_box\', \'js_world_box\'); "><small>[<a style="cursor:pointer">change game world</a></span>]</small></div></td></tr><tr><td><table id="js_world_box" width="100%"><tr id="world_list_tr"></tr></table><table id="plain_world_box" width="100%"><tr><td>'; foreach($worlds as $k =>$v) $main_content .= '<input id="server_static_'.$config['site']['worlds'][$k].'" type="radio" name="world" value="'.$config['site']['worlds'][$k].'"'.($config['site']['worlds'][$k] == $_POST['world'] ? ' checked="checked"' : '').'><label for="server_static_'.$config['site']['worlds'][$k].'">'.$config['site']['worlds'][$k].'</label><br/>'; $main_content .= '</td></tr></table></td></tr>'.(isset($e['world']) ? '<tr><td></td><td><span class="FormFieldError">'.$e['world'].'</span></td></tr>' : '').'</table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td><b>Please select all of the following check boxes:</b></td></tr><tr><td><input type="checkbox" name="agreerules" value="true" onClick="if(this.checked == true) { document.getElementById(\'agreerules_errormessage\').innerHTML = \'\';} else { document.getElementById(\'agreerules_errormessage\').innerHTML = \'You have to agree to the Tibia Rules in order to create an account!\';}"'.($_POST['step'] == 'docreate' && !isset($e['rules']) ? ' checked="checked"' : '').'/>I agree to the <a href="?subtopic=legaldocuments&page=rules" target="_blank">Tibia Rules</a>.</td></tr><tr><td><span id="agreeprivacy_errormessage" class="FormFieldError">'.(isset($e['privacy']) ? $e['privacy'] : '').'</span></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><script type="text/javascript">PreselectWorld="'; if(isset($_POST['world']) && !empty($_POST['world'])) foreach($config['site']['worlds'] as $id =>$name) if($worlds[$id] && $name == $_POST['world']) { $main_content .= $name; break; } $main_content .= '";InitializeCharacterCreator(PreselectServerLocation, \''.(!$optional ? 'optional' : (!$open ? 'open' : 'hardcore')).'\')</script></table></div></table></div></td></tr><br/></div><center><table border="0" cellspacing="0" cellpadding="0"><tr><td style="border:0px"><input type="hidden" name=step value=docreate><input type="hidden" name=noframe value=""><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this)" onMouseOut="MouseOutBigButton(this)"><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif)"></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif"></div></div></td><tr></form></table></center><script type="text/javascript" language="javascript">document.forms[\'CreateAccountAndCharacter\'].elements[\'accountname\'].focus();</script><script type="text/javascript" src="account/generic.js"></script><script type="text/javascript" src="account/ajaxcip.js"></script>'; E este aqui, é o create account que da certo, mais preciso que funcione no primeiro que citei acima!
  17. Vocês vão querer me xingar, me chama de burro, mais desculpa não manjo muito desse negocio de VIP! Mais em questão do sistema que você citou, amigo fiz tudo cara, deu tudo certo! Apenas na hora quando acaba o VIP, da esse erro. Ele não loga, e aparece este erro chato! Não sei dizer o que é, serio se puderem me ajudar agradeço tipo muuuuuiitoooo! @klipstyle como eu disse deve estar faltando muitas coisas no sistema. isso que você adicionou esta na primeira parte da instalação do sistema. tente recriar apenas a parte. 1° - Acesse a pasta data/lib e crie um arquivo chamado 049-vipsys.lua, coloque isso dentro do arquivo: e sobre esse erro.troque todos db.executeQuery por db.query Olha fiz o que mandou, e ainda deu isso aqui; ERRO: [06/06/2015 01:14:53] [Error - CreatureScript Interface] [06/06/2015 01:14:53] data/creaturescripts/scripts/fimvip.lua:onLogin [06/06/2015 01:14:53] Description: [06/06/2015 01:14:53] data/creaturescripts/scripts/fimvip.lua:11: attempt to call field 'query' (a nil value) [06/06/2015 01:14:53] stack traceback: [06/06/2015 01:14:53] data/creaturescripts/scripts/fimvip.lua:11: in function <data/creaturescripts/scripts/fimvip.lua:1> Namoral cara não me xinga, kkkkkkk ! Alguem mais ? up up
  18. Amigo não sou la um bom sabio sobre server derivados (Naruto, Dbz, Pokemon), mais o que já lhe recomendo a usar é o Modern ACC. # Muito mais simples de se usar, e facil de configurar, pois seu server é totalmente diferente a respeito sobre Tibia, vamos dizer assim, tem classes diferentes!
  19. Tá, mais vo criar um arquivo .lua com o nome de vip.hasVip na pasta lib em /data ? E dentro coloco esse codigo todo certo ? - Se for isso mesmo, deu o seguinte erro agora; Erro: [05/06/2015 23:05:11] [Error - CreatureScript Interface] [05/06/2015 23:05:11] data/creaturescripts/scripts/fimvip.lua:onLogin [05/06/2015 23:05:11] Description: [05/06/2015 23:05:11] data/creaturescripts/scripts/fimvip.lua:11: attempt to call field 'executeQuery' (a nil value) [05/06/2015 23:05:11] stack traceback: [05/06/2015 23:05:11] data/creaturescripts/scripts/fimvip.lua:11: in function <data/creaturescripts/scripts/fimvip.lua:1>
  20. Olá, estou usando este sistema do mock http://www.tibiaking.com/forum/topic/20589-vip-system-by-mock-100/ Mais quando acaba a VIP, da um erro no meu server, e o char não consegue logar! Segue abaixo o script e o erro de FIM VIP: SCRIPT: function onLogin(cid) local temple = { x =32369, y = 32246, z = 6} if vip.hasVip(cid) == true then if getPlayerStorageValue(cid,55555) ~= 1 then setPlayerStorageValue(cid,55555,1) end else if getPlayerStorageValue(cid,55555) == 1 then doTeleportThing(cid, temple) doPlayerSendTextMessage(cid, 22, "Your VIP Time over!") db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";") setPlayerPromotionLevel(cid, 1) setPlayerStorageValue(cid, 55555, 0) end end return true end ERRO: [05/06/2015 22:17:57] [Error - CreatureScript Interface] [05/06/2015 22:17:57] data/creaturescripts/scripts/fimvip.lua:onLogin [05/06/2015 22:17:57] Description: [05/06/2015 22:17:57] data/creaturescripts/scripts/fimvip.lua:3: attempt to index global 'vip' (a nil value) [05/06/2015 22:17:57] stack traceback: [05/06/2015 22:17:57] data/creaturescripts/scripts/fimvip.lua:3: in function <data/creaturescripts/scripts/fimvip.lua:1> Podem me ajudar ?
  21. @TopllDanStar Assim, conseguir adiciona o sistema VIP, agora minha unica dúvida é quando compra á VIP no SITE! Pois na conta aparece assim: Vip Status: VIP, Time 1460549849 Time Left - Aparece esse tanto de número, eu sei que é o tempo, mais isso acaba ? ou não? Pois estou com medo disso não acabar, ai a VIP fica eterna. - E também se possivel gostaria que adicionasse em Vip_days e não em Vip_time na minha data-base do phpmyadmin do xampp. Pois quando o jogador compra a VIP ele adiciona em Vip_time, por isso fica esses números absurdos . Pode me ajudar ?
  22. Fiz uma área somente para quem comprar VIP no meu site, até ai tudo bem. Mais agora quero saber,depois que compro a VIP, como faço para adicionar alguma actions, algum sistema algo do tipo no sqm para somente players vips passarem ?
  23. rayner postou uma resposta no tópico em Suporte Tibia OTServer
    Não sei bem se aqui é a área certa, mais vamos lá. Gostaria de saber se alguém conhece á MUST HOST, e se alguém já adiquiriu serviço deles. Site: http://musthost.com.br/ Alguém pode me indicar algum HOST em VPS bom?
  24. Seguinte, o site não ta adicionando items no SHOP! Alguém pode ajudar ?
  25. Olá, nunca instalei o ZnoteACC, e estou apanhando um pouco. Alguém pode me ajudar, ou me passar um tutorial de como só instalar ele ? Pois chego aqui: Se alguém puder me explica fico grato!

Informação Importante

Confirmação de Termo