Jump to content

caique8921

Campones
  • Posts

    28
  • Joined

  • Last visited

About caique8921

Perfil

  • Gênero
    Masculino

Informações

  • Forma que conheci o xTibia
    Amigos
  • Sou
    OT-Admin

Recent Profile Visitors

1001 profile views

caique8921's Achievements

  1. Estou procurando freelancer na area de otclient , opcodes e programação em LUA. Para editar e mods do otc e criar novos sistemas os mesmos com opcode etc e também alguns bugs na source do servidor
  2. Alguem Pode me dar uma ajuda, quando tento abrir o shop system no site aparece a seguinte mensagem "the mysql extension is deprecated and will be removed in the future use mysqli or pdo instead" ja tentei trocar a linha que da erro para mysqli_connect porém a pagina nem carrega. código do functions <?php class shop { function connect() { $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); return $ots->getDBHandle(); } function isInstalled() { require('config.php'); $con = mysql_connect($config['database']['host'], $config['database']['login'], $config['database']['password']); mysql_select_db($config['database']['database'],$con); if(mysql_query("SELECT * FROM shop_offer,shop_history")) return true; else return false; } function points($account) { $SQL = $this->connect(); $points = $SQL->query('SELECT premium_points FROM accounts WHERE name = "'.$account.'"')->fetch(); return $points['premium_points']; } function getPlayerAccount($name) { $SQL = $this->connect(); $player = $SQL->query('SELECT account_id FROM players WHERE name = "'.$name.'"')->fetch(); return $SQL->query('SELECT * from accounts WHERE id = '.$player['account_id'].''); } function AddPremium($name,$days) { $SQL = $this->connect(); $account = $this->getPlayerAccount($name)->fetch(); return $SQL->query('UPDATE accounts SET premdays = (premdays + '.$days.') WHERE name = "'.$account['name'].'"'); } function CharacterList($account) { $SQL = $this->connect(); $id = $SQL->query('SELECT id FROM accounts WHERE name = "'.$account.'"')->fetch(); return $SQL->query('SELECT * FROM players WHERE account_id = '.$id['id'].''); } function isOnline($name) { $SQL = $this->connect(); $player = $SQL->query('SELECT online FROM players WHERE name = "'.$name.'"')->fetch(); return $player['online']; } function isBanned($name) { $SQL = $this->connect(); $ID = $this->getPlayerAccount($name)->fetch(); return $SQL->query('SELECT * FROM bans WHERE value = '.$ID['id'].''); } function UnBan($name) { $SQL = $this->connect(); $ID = $this->getPlayerAccount($name)->fetch(); return $SQL->query('DELETE FROM bans WHERE value = '.$ID['id'].''); } function execute_file($file) { if (!file_exists($file)) { $this->last_error = "The file $file does not exist."; return false; } $str = file_get_contents($file); if (!$str) { $this->last_error = "Unable to read the contents of $file."; return false; } // split all the queries into an array $quote = ''; $line = ''; $sql = array(); $ignoreNextChar = ''; for ($i = 0; $i < strlen($str); $i++) { if ( !$ignoreNextChar ) { $char = substr($str, $i, 1); $line .= $char; if ($char == ';' && $quote == '') { $sql[] = $line; $line = ''; } else if ( $char == '\\' ) { // Escape char; ignore the next char in the string $ignoreNextChar = TRUE; } else if ($char == '"' || $char == "'" || $char == '`') { if ( $quote == '' ) // Start of a new quoted string; ends with same quote char $quote = $char; else if ( $char == $quote ) // Current char matches quote char; quoted string ends $quote = ''; } } else $ignoreNextChar = FALSE; } if ($quote != '') return false; foreach ($sql as $query) { if (!empty($query)) { $r = mysql_query($query); if (!$r) { $this->last_error = mysql_error(); return false; } } } return true; } function install() { $SQL = $this->connect(); if ($this->isInstalled()) return false; else return $this->execute_file("Shop System/config/Shop.sql"); } } ?>
  3. Clã estou tendo um problema as vezes da um erro monstrouso no executavel apontando para o a tabela player_itens na coluna do atributes deixarei uma imagem mostrando o erro quando ocorre esse erro da um rollback alto no player que deu o bug, alguem poderia dar um help para arrumar isso pls
  4. Olá Galera do xtibia! Venho com 1 probleminha ! Coloquei o serv on para fazer o teste com site, porém quando cria o personagem e faz o login pela 1º aparece os icones em baixo de onde ele logou Icones "BAG,Coins bag, pokedex, fishing rod" enfim todos os container da parte do inventario! Aparece isso \/ para cada container, meu login lua seria esse local config = { loginMessage = getConfigValue('loginMessage'), useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) } function onLogin(cid) if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then --alterado v1.8 doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) else doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) ) end doCreatureSetDropLoot(cid, false) local accountManager = getPlayerAccountManager(cid) if(accountManager == MANAGER_NONE) then local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage if(lastLogin > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) str = "Sua última visita foi em " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str end sendMsgToPlayer(cid, 20, "Seja bem-vindo(a) ao Pokemon PokéZR!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") end if getCreatureName(cid) == "Account Manager" then local outfit = {} if accountManagerRandomPokemonOutfit then outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])} else outfit = accountManagerOutfit end doSetCreatureOutfit(cid, outfit, -1) return true end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end local outfit = {} if getPlayerVocation(cid) == 0 then doPlayerSetMaxCapacity(cid, 7) doPlayerSetVocation(cid, 1) setCreatureMaxMana(cid, 6) doPlayerAddSoul(cid, -getPlayerSoul(cid)) setPlayerStorageValue(cid, 19898, 0) if getCreatureOutfit(cid).lookType == 128 then outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} elseif getCreatureOutfit(cid).lookType == 136 then outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} end doCreatureChangeOutfit(cid, outfit) end registerCreatureEvent(cid, "dropStone") registerCreatureEvent(cid, "ShowPokedex") registerCreatureEvent(cid, "ClosePokedex") registerCreatureEvent(cid, "WatchTv") registerCreatureEvent(cid, "StopWatchingTv") registerCreatureEvent(cid, "WalkTv") registerCreatureEvent(cid, "RecordTv") registerCreatureEvent(cid, "PlayerLogout") registerCreatureEvent(cid, "WildAttack") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "EffectOnAdvance") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "SaveReportBug") registerCreatureEvent(cid, "LookSystem") registerCreatureEvent(cid, "T1") registerCreatureEvent(cid, "T2") registerCreatureEvent(cid, "atkz") registerCreatureEvent(cid, "atk") registerCreatureEvent(cid, "magica") registerCreatureEvent(cid, "Effect") registerCreatureEvent(cid, "bonuspremium") registerCreatureEvent(cid, "PassiveSystem") registerCreatureEvent(cid, "Teste") registerCreatureEvent(cid, "atacar") registerCreatureEvent(cid, "UpAbsolute") registerCreatureEvent(cid, "Outfit250") registerCreatureEvent(cid, "Outfit150") registerCreatureEvent(cid, "onlinebonus") registerCreatureEvent(cid, "BlockSkills") registerCreatureEvent(cid, "GodLight") registerCreatureEvent(cid, "OpenChannelDialog") registerCreatureEvent(cid, "upspeed") registerCreatureEvent(cid, "Monster Hunterl") registerCreatureEvent(cid, "Monster Hunter") registerCreatureEvent(cid, "MonsterKill") registerCreatureEvent(cid, "bossKill") if getPlayerStorageValue(cid, 99284) == 1 then setPlayerStorageValue(cid, 99284, -1) end if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then setPlayerStorageValue(cid, 6598754, -1) setPlayerStorageValue(cid, 6598755, -1) doRemoveCondition(cid, CONDITION_OUTFIT) --alterado v1.9 \/ doTeleportThing(cid, posBackPVP, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end doChangeSpeed(cid, -(getCreatureSpeed(cid))) --///////////////////////////////////////////////////////////////////////////-- local storages = {17000, 63215, 17001, 13008, 5700} for s = 1, #storages do if not tonumber(getPlayerStorageValue(cid, storages[s])) then if s == 3 then setPlayerStorageValue(cid, storages[s], 1) elseif s == 4 then setPlayerStorageValue(cid, storages[s], -1) else if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then setPlayerStorageValue(cid, storages[s], 1) else setPlayerStorageValue(cid, storages[s], -1) end end doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright") end end --/////////////////////////////////////////////////////////////////////////-- if getPlayerStorageValue(cid, 17000) >= 1 then -- fly local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) local addonfly = getPlayerSlotItem(cid, 8).uid local addofly = getItemAttribute(addonfly,"addonfly") if not addofly then doSetItemAttribute(addonfly,"addonfly",0) doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) end if addofly > 0 then doSetCreatureOutfit(cid, {lookType = addofly}, -1) end local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) local apos = getFlyingMarkedPos(cid) apos.stackpos = 0 if getTileThingByPos(apos).itemid <= 2 then doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE) doCreateItem(460, 1, getFlyingMarkedPos(cid)) end doTeleportThing(cid, apos, false) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8 end local posicao = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao) elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") local addonsurf = getPlayerSlotItem(cid, 8).uid local addosurf = getItemAttribute(addonsurf,"addonsurf") if not addosurf then doSetItemAttribute(addonsurf,"addonsurf",0) doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) end if addosurf > 0 then doSetCreatureOutfit(cid, {lookType = addosurf}, -1) end doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8 end elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") if rides[poke] then doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) local addonride = getPlayerSlotItem(cid, 8).uid local addoride = getItemAttribute(addonride,"addonride") if not addofly then doSetItemAttribute(addonride,"addonride",0) doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1) end if addoride > 0 then doSetCreatureOutfit(cid, {lookType = addoride}, -1) end if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8 end else setPlayerStorageValue(cid, 17001, -1) doRegainSpeed(cid) end local posicao2 = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao2) elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then setPlayerStorageValue(cid, 13008, 0) doRegainSpeed(cid) doRemoveCondition(cid, CONDITION_OUTFIT) return true end if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) else doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) end doChangeSpeed(cid, 800) elseif getPlayerStorageValue(cid, 5700) > 0 then --bike doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, getPlayerStorageValue(cid, 5700)) --alterado v1.8 if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1394}, -1) else doSetCreatureOutfit(cid, {lookType = 1393}, -1) end elseif getPlayerStorageValue(cid, 75846) >= 1 then --alterado v1.9 \/ doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) setPlayerStorageValue(cid, 75846, -1) sendMsgToPlayer(cid, 20, "You have been moved to your town!") else doRegainSpeed(cid) end if getPlayerStorageValue(cid, 22545) >= 1 then setPlayerStorageValue(cid, 22545, -1) doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false) setPlayerRecordWaves(cid) end setPlayerStorageValue(cid, 243656, 0) if getPlayerLanguage(cid) == 0 then doPlayerSendTextMessage(cid, 25,"Bem-vindo(a) ao Poké ZR!\nDica de Segurança: Nunca digite sua senha em algum site não oficial!") -- doPlayerSendTextMessage(cid, 25,"Você está fazendo parte do BETA TESTE, então após ser realizado o TESTE as contas iram resetar, os 3 melhores do BETA iram ganhar PONTOS!\n1° = 30\n2° = 25\n3° = 20\ne o 4° e 5° iram ganhar 1 Shiny Stone, 1 Boost Stone, 1 Bike Box.") end if getPlayerLanguage(cid) == 2 then doPlayerSendTextMessage(cid, 25,"Welcome to Poké ZR\nSafety Tip: Never enter your password on any unofficial site!") end if getPlayerLanguage(cid) == 1 then doPlayerSendTextMessage(cid, 25, "Bienvenido a Poké ZR\nConsejo de seguridad: Nunca introduzca su contraseña en cualquier sitio no oficial!") end if getPlayerLanguage(cid) == 0 then doPlayerSendTextMessage(cid, 27,"[Language System (Beta)] Do you speak english? If so, try setting your game language to english. Just say: '!lang en'.") doPlayerSendTextMessage(cid, 27,"[Language System (Beta)] Tu hablas español? si, para mudar la lengua del juego a español apenas diga: '!lang es'.") end if getPlayerLanguage(cid) == 2 then doPlayerSendTextMessage(cid, 27, "[Language System (Beta)] Você fala português? Se sim, experimente mudar a língua do jogo para português. Apenas diga: '!lang pt'.") doPlayerSendTextMessage(cid, 27, "[Language System (Beta)] Tu hablas español? si, para mudar la lengua del juego a español apenas diga: '!lang es'.") end if getPlayerLanguage(cid) == 1 then doPlayerSendTextMessage(cid, 27, "[Language System (Beta)] Do you speak english? If so, try setting your game language to english. Just say: '!lang en'.") doPlayerSendTextMessage(cid, 27, "[Language System (Beta)] Você fala português? Se sim, experimente mudar a língua do jogo para português. Apenas diga: '!lang pt'.") end doSetPlayerSpeedLevel(cid) doPlayerSetMaxCapacity(cid, 7) return true end E meu firstintem na pasta mods <?xml version="1.0" encoding="UTF-8"?> -<mod enabled="yes" contact="otland.net" author="The Forgotten Server" version="1.0" name="First Items"> -<config name="firstitems_config"> -<![CDATA[ config = { storage = 30001, items = {1988, 1987, 2382, 2120, 2580, 2550, 2395, 2547} -- 2395 (portfoil) ok -- 2382 (pokedex) ok -- 2547 (coin case) ok -- 2550 (order) ok -- 1987 (bag) ok -- 1988 (badge case) ok -- 2120 (rope) ok -- 2580 (fishing rod) ok } ]]> </config> -<event name="FirstItems" event="script" type="login"> -<![CDATA[ domodlib('firstitems_config') function onLogin(cid) if getCreatureName(cid) == "Account Manager" then doSetCreatureOutfit(cid, {lookType = 655}, -1) return true end if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid > 0 then return true end for _, id in ipairs(config.items) do doPlayerAddItem(cid, id, 1) end local bag = getPlayerItemById(cid, false, 1988).uid doAddContainerItem(bag, 12267, 1) doAddContainerItem(bag, 12266, 1) doAddContainerItem(bag, 12264, 1) doAddContainerItem(bag, 12265, 1) doAddContainerItem(bag, 12263, 1) doAddContainerItem(bag, 12262, 1) doAddContainerItem(bag, 12261, 1) doAddContainerItem(bag, 12260, 1) return true end ]]> </event> </mod> Alguem Poderia dar um help PLS ;-; Estou usando a base do Poké ZR que foi postado aqui no xtibia
  5. Segui todo o tutorial porém aqui quando clico em checar aparece "Atualização completa" e fica no 25% travado, alguem sabe porque?
  6. Beleza @JulianoZN vou dar uma olhada nessa, obrigado ?
  7. Galera Quais as Empresas com boa Reputação hoje em dia para hospedagem de tibia (derivado) pois usava a 4YouStart mais ao que parece eles encerraram as atividades da empresa
  8. caique8921

    Vip Exp

    O server esta reconhecendo o script de boa vem as mensagens certinhas quando uma conta passa a ser premium ele passa para a mensagem do if dizendo que tem mais exp e tals porem a exp em si não está aumentando continua a mesma ja fiz os teste e continua igual... alguem pode dar um helps
  9. @gabrielzika nada.. fui reproduzir o erro ontem e reparei que ele da isso no executavel antes: [19/04/2019 22:56:07] [Warning - IOLoginData::loadItems] Unserialize error for item with id 11829 Ai causa esse bug do look e do poke sumir =/ esse ai no caso seria o id da ultraball, mais acontece com a normal tambem
  10. Função : function getArticle(str) return str:find("[AaEeIiOoUuYy]") == 1 and "an" or "a" end Look.lua: function onLook(cid, thing, position, lookDistance) local str = "" if not isCreature(thing.uid) then local iname = getItemInfo(thing.itemid) if isPokeball(thing.itemid) then local owner = getItemAttribute(thing.uid, "firstpoke") local pokename = getItemAttribute(thing.uid, "poke") local item = getItemInfo(thing.itemid) str = "You see "..item.article.." "..item.name..".\n" str = str.."It contains "..getArticle(pokename).." "..pokename.." [level "..getItemAttribute(thing.uid, "level").."].\n" if owner and owner ~= getCreatureName(cid) then str = str.."It belongs to "..owner..".\nIt is a unique item." doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return false end local boost = getItemAttribute(thing.uid, "boost") or 0 local boostshow = "" if boost > 0 then str = str.."Boost level: +"..boost..".\n" end if getItemAttribute(thing.uid, "nick") then str = str.."It's nickname is: "..getItemAttribute(thing.uid, "nick")..".\n" end if getItemAttribute(thing.uid, "gender") == SEX_MALE then str = str.."It is male." elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then str = str.."It is female." else str = str.."It is genderless." end str = str.."\n--- Status ---" str = str.."\nOffense: "..math.floor(getItemAttribute(thing.uid, "offense")).." Defense: "..math.floor(getItemAttribute(thing.uid, "defense")).."\n" str = str.."Agility: "..math.floor(getItemAttribute(thing.uid, "speed")).." Sp. Attack: "..math.floor(getItemAttribute(thing.uid, "specialattack")).."\n" str = str.."Vitality: "..math.floor(getItemAttribute(thing.uid, "vitality")).."" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return false elseif string.find(iname.name, "fainted") or string.find(iname.name, "defeated") then str = "You see a "..string.lower(iname.name).." ["..getItemAttribute(thing.uid, "level").."].\n" if getItemAttribute(thing.uid, "gender") == SEX_MALE then str = str.."It is male." elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then str = str.."It is female." else str = str.."It is genderless." end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return false else return true end end local npcname = getCreatureName(thing.uid) local l = string.len(npcname) if not isPlayer(thing.uid) and not isMonster(thing.uid) then --string.sub(npcname, l - 1, l) == " " then local article = getPlayerStorageValue(thing.uid, 9891) == 1 and "He is" or "She is" local nname = string.sub(npcname, 1, l - 2) if nname == getCreatureName(cid) then nname = "yourself" article = "You are" end str = "You see "..nname..". "..article.." a pokemon trainer." doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return false end if not isMonster(thing.uid) then return true end if getCreatureName(thing.uid) == "Evolution" then return false end if not isSummon(thing.uid) then local str = "You see a wild "..string.lower(getCreatureName(thing.uid)).." [level "..getPokemonLevel(thing.uid).."].\n" if getPokemonGender(thing.uid) == SEX_MALE then str = str.."It is male." elseif getPokemonGender(thing.uid) == SEX_FEMALE then str = str.."It is female." else str = str.."It is genderless." end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return false elseif isSummon(thing.uid) and not isPlayer(thing.uid) then local boostlevel = getItemAttribute(getPlayerSlotItem(getCreatureMaster(thing.uid), 8).uid, "boost") or 0 local boostshow = " + "..boostlevel.."]" if showBoostSeparated then boostshow = "] [+"..boostlevel.."]" end local levelinfo = "["..getPokemonLevel(thing.uid)..""..boostshow.."" if getCreatureMaster(thing.uid) == cid then local myball = getPlayerSlotItem(cid, 8).uid local nexp = getItemAttribute(myball, "nextlevelexp") local string = "You see your "..string.lower(getCreatureName(thing.uid)).." "..levelinfo.."." string = string.."\nHit points: "..getCreatureHealth(thing.uid).."/"..getCreatureMaxHealth(thing.uid).."." string = string.."\n"..getPokemonHappinessDescription(thing.uid) if getItemAttribute(myball, "level") <= 100 then string = string.."\nExperience needed to level up: "..nexp.."." end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You see a "..string.lower(getCreatureName(thing.uid)).." "..levelinfo..".\nIt belongs to "..getCreatureName(getCreatureMaster(thing.uid))..".") end return false end return true end @gabriel28 ou se preferir o lib fuction lua completo function doPlayerGiveItem(cid, itemid, amount, subType) local item = 0 if(isItemStackable(itemid)) then item = doCreateItemEx(itemid, amount) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end else for i = 1, amount do item = doCreateItemEx(itemid, subType) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end end end return true end function doPlayerGiveItemContainer(cid, containerid, itemid, amount, subType) for i = 1, amount do local container = doCreateItemEx(containerid, 1) for x = 1, getContainerCapById(containerid) do doAddContainerItem(container, itemid, subType) end if(doPlayerAddItemEx(cid, container, true) ~= RETURNVALUE_NOERROR) then return false end end return true end function doPlayerTakeItem(cid, itemid, amount) return getPlayerItemCount(cid, itemid) >= amount and doPlayerRemoveItem(cid, itemid, amount) end function doPlayerBuyItem(cid, itemid, count, cost, charges) return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItem(cid, itemid, count, charges) end function doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges) return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItemContainer(cid, containerid, itemid, count, charges) end function doPlayerSellItem(cid, itemid, count, cost) if(not doPlayerTakeItem(cid, itemid, count)) then return false end if(not doPlayerAddMoney(cid, cost)) then error('[doPlayerSellItem] Could not add money to: ' .. getPlayerName(cid) .. ' (' .. cost .. 'gp).') end return true end function doPlayerWithdrawMoney(cid, amount) if(not getBooleanFromString(getConfigInfo('bankSystem'))) then return false end local balance = getPlayerBalance(cid) if(amount > balance or not doPlayerAddMoney(cid, amount)) then return false end doPlayerSetBalance(cid, balance - amount) return true end function doPlayerDepositMoney(cid, amount) if(not getBooleanFromString(getConfigInfo('bankSystem'))) then return false end if(not doPlayerRemoveMoney(cid, amount)) then return false end doPlayerSetBalance(cid, getPlayerBalance(cid) + amount) return true end function isPremium(cid) return (isPlayer(cid) and (getPlayerPremiumDays(cid) > 0 or getBooleanFromString(getConfigInfo('freePremium')))) end function getMonthDayEnding(day) if(day == "01" or day == "21" or day == "31") then return "st" elseif(day == "02" or day == "22") then return "nd" elseif(day == "03" or day == "23") then return "rd" end return "th" end function getMonthString(m) return os.date("%B", os.time{year = 1970, month = m, day = 1}) end function getArticle(str) return str:find("[AaEeIiOoUuYy]") == 1 and "an" or "a" end function isNumber(str) return tonumber(str) ~= nil end function doPlayerAddAddons(cid, addon) for i = 0, table.maxn(maleOutfits) do doPlayerAddOutfit(cid, maleOutfits[i], addon) end for i = 0, table.maxn(femaleOutfits) do doPlayerAddOutfit(cid, femaleOutfits[i], addon) end end function doPlayerWithdrawAllMoney(cid) return doPlayerWithdrawMoney(cid, getPlayerBalance(cid)) end function doPlayerDepositAllMoney(cid) return doPlayerDepositMoney(cid, getPlayerMoney(cid)) end function doPlayerTransferAllMoneyTo(cid, target) return doPlayerTransferMoneyTo(cid, target, getPlayerBalance(cid)) end function playerExists(name) return getPlayerGUIDByName(name) ~= 0 end function getTibiaTime() local minutes = getWorldTime() local hours = 0 while (minutes > 60) do hours = hours + 1 minutes = minutes - 60 end return {hours = hours, minutes = minutes} end function doWriteLogFile(file, text) local f = io.open(file, "a+") if(not f) then return false end f:write("[" .. os.date("%d/%m/%Y %H:%M:%S") .. "] " .. text .. "\n") f:close() return true end function getExperienceForLevel(lv) lv = lv - 1 return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3 end function doMutePlayer(cid, time) local condition = createConditionObject(CONDITION_MUTED) setConditionParam(condition, CONDITION_PARAM_TICKS, time * 1000) return doAddCondition(cid, condition) end function getPlayerGroupName(cid) return getGroupInfo(getPlayerGroupId(cid)).name end function getPlayerVocationName(cid) return getVocationInfo(getPlayerVocation(cid)).name end function getPromotedVocation(vid) return getVocationInfo(vid).promotedVocation end function doPlayerRemovePremiumDays(cid, days) return doPlayerAddPremiumDays(cid, -days) end function getPlayerMasterPos(cid) return getTownTemplePosition(getPlayerTown(cid)) end function getHouseOwner(houseId) return getHouseInfo(houseId).owner end function getHouseName(houseId) return getHouseInfo(houseId).name end function getHouseEntry(houseId) return getHouseInfo(houseId).entry end function getHouseRent(houseId) return getHouseInfo(houseId).rent end function getHousePrice(houseId) return getHouseInfo(houseId).price end function getHouseTown(houseId) return getHouseInfo(houseId).town end function getHouseTilesCount(houseId) return getHouseInfo(houseId).tiles end function getItemNameById(itemid) return getItemDescriptionsById(itemid).name end function getItemPluralNameById(itemid) return getItemDescriptionsById(itemid).plural end function getItemArticleById(itemid) return getItemDescriptionsById(itemid).article end function getItemName(uid) return getItemDescriptions(uid).name end function getItemPluralName(uid) return getItemDescriptions(uid).plural end function getItemArticle(uid) return getItemDescriptions(uid).article end function getItemText(uid) return getItemDescriptions(uid).text end function getItemSpecialDescription(uid) return getItemDescriptions(uid).special end function getItemWriter(uid) return getItemDescriptions(uid).writer end function getItemDate(uid) return getItemDescriptions(uid).date end function getTilePzInfo(pos) return getTileInfo(pos).protection end function getTileZoneInfo(pos) local tmp = getTileInfo(pos) if(tmp.pvp) then return 2 end if(tmp.nopvp) then return 1 end return 0 end function doShutdown() return doSetGameState(GAMESTATE_SHUTDOWN) end function doSummonCreature(name, pos, displayError) local displayError, cid = displayError or true, doCreateMonster(name, pos, displayError) if(not cid) then cid = doCreateNpc(name, pos, displayError) end return cid end function getOnlinePlayers() local tmp = getPlayersOnline() local players = {} for i, cid in ipairs(tmp) do table.insert(players, getCreatureName(cid)) end return players end function getPlayerByName(name) local cid = getCreatureByName(name) return isPlayer(cid) and cid or nil end function isPlayer(cid) return isCreature(cid) and cid >= AUTOID_PLAYERS and cid < AUTOID_MONSTERS end function isPlayerGhost(cid) if(not isPlayer(cid)) then return false end return getCreatureCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) or getPlayerFlagValue(cid, PLAYERFLAG_CANNOTBESEEN) end function isMonster(cid) return isCreature(cid) and cid >= AUTOID_MONSTERS and cid < AUTOID_NPCS end function isNpc(cid) return isCreature(cid) and cid >= AUTOID_NPCS end function doPlayerSetExperienceRate(cid, value) return doPlayerSetRate(cid, SKILL__LEVEL, value) end function doPlayerSetMagicRate(cid, value) return doPlayerSetRate(cid, SKILL__MAGLEVEL, value) end function doPlayerAddLevel(cid, amount, round) local experience, level = 0, getPlayerLevel(cid) if(amount > 0) then experience = getExperienceForLevel(level + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(level)) else experience = -((round and getPlayerExperience(cid) or getExperienceForLevel(level)) - getExperienceForLevel(level + amount)) end return doPlayerAddExperience(cid, experience) end function doPlayerAddMagLevel(cid, amount) for i = 1, amount do doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid)) / getConfigInfo('rateMagic')) end return true end function doPlayerAddSkill(cid, skill, amount, round) if(skill == SKILL__LEVEL) then return doPlayerAddLevel(cid, amount, round) elseif(skill == SKILL__MAGLEVEL) then return doPlayerAddMagLevel(cid, amount) end return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill')) end function getPartyLeader(cid) local party = getPartyMembers(cid) if(type(party) ~= 'table') then return 0 end return party[1] end function isInParty(cid) return type(getPartyMembers(cid)) == 'table' end function isPrivateChannel(channelId) return channelId >= CHANNEL_PRIVATE end function doPlayerResetIdleTime(cid) return doPlayerSetIdleTime(cid, 0) end function doBroadcastMessage(text, class) local class = class or MESSAGE_STATUS_WARNING if(type(class) == 'string') then local className = MESSAGE_TYPES[class] if(className == nil) then return false end class = className elseif(class < MESSAGE_FIRST or class > MESSAGE_LAST) then return false end local players = getPlayersOnline() for _, pid in ipairs(players) do doPlayerSendTextMessage(pid, class, text) end print("> Broadcasted message: \"" .. text .. "\".") return true end function doPlayerBroadcastMessage(cid, text, class, checkFlag, ghost) local checkFlag, ghost, class = checkFlag or true, ghost or false, class or TALKTYPE_BROADCAST if(checkFlag and not getPlayerFlagValue(cid, PLAYERFLAG_CANBROADCAST)) then return false end if(type(class) == 'string') then local className = TALKTYPE_TYPES[class] if(className == nil) then return false end class = className elseif(class < TALKTYPE_FIRST or class > TALKTYPE_LAST) then return false end local players = getPlayersOnline() for _, pid in ipairs(players) do doCreatureSay(cid, text, class, ghost, pid) end print("> " .. getCreatureName(cid) .. " broadcasted message: \"" .. text .. "\".") return true end function getBooleanFromString(input) local tmp = type(input) if(tmp == 'boolean') then return input end if(tmp == 'number') then return input > 0 end local str = string.lower(tostring(input)) return (str == "yes" or str == "true" or (tonumber(str) ~= nil and tonumber(str) > 0)) end function doCopyItem(item, attributes) local attributes = attributes or false local ret = doCreateItemEx(item.itemid, item.type) if(attributes) then if(item.actionid > 0) then doItemSetAttribute(ret, "aid", item.actionid) end end if(isContainer(item.uid)) then for i = (getContainerSize(item.uid) - 1), 0, -1 do local tmp = getContainerItem(item.uid, i) if(tmp.itemid > 0) then doAddContainerItemEx(ret, doCopyItem(tmp, true).uid) end end end return getThing(ret) end function doRemoveThing(uid) if(isCreature(uid)) then return doRemoveCreature(uid) end return doRemoveItem(uid) end function setAttackFormula(combat, type, minl, maxl, minm, maxm, min, max) local min, max = min or 0, max or 0 return setCombatFormula(combat, type, -1, 0, -1, 0, minl, maxl, minm, maxm, min, max) end function setHealingFormula(combat, type, minl, maxl, minm, maxm, min, max) local min, max = min or 0, max or 0 return setCombatFormula(combat, type, 1, 0, 1, 0, minl, maxl, minm, maxm, min, max) end function doChangeTypeItem(uid, subtype) local thing = getThing(uid) if(thing.itemid < 100) then return false end local subtype = subtype or 1 return doTransformItem(thing.uid, thing.itemid, subtype) end function doSetItemText(uid, text, writer, date) local thing = getThing(uid) if(thing.itemid < 100) then return false end doItemSetAttribute(uid, "text", text) if(writer ~= nil) then doItemSetAttribute(uid, "writer", tostring(writer)) if(date ~= nil) then doItemSetAttribute(uid, "date", tonumber(date)) end end return true end function getFluidSourceType(itemid) local item = getItemInfo(itemid) return item and item.fluidSource or false end function getDepotId(uid) return getItemAttribute(uid, "depotid") or false end function getItemDescriptions(uid) local thing = getThing(uid) if(thing.itemid < 100) then return false end local item = getItemInfo(thing.itemid) return { name = getItemAttribute(uid, "name") or item.name, plural = getItemAttribute(uid, "pluralname") or item.plural, article = getItemAttribute(uid, "article") or item.article, special = getItemAttribute(uid, "description") or "", text = getItemAttribute(uid, "text") or "", writer = getItemAttribute(uid, "writer") or "", date = getItemAttribute(uid, "date") or 0 } end function getItemWeightById(itemid, count, precision) local item, count, precision = getItemInfo(itemid), count or 1, precision or false if(not item) then return false end if(count > 100) then -- print a warning, as its impossible to have more than 100 stackable items without "cheating" the count print('[Warning] getItemWeightById', 'Calculating weight for more than 100 items!') end local weight = item.weight * count --[[if(precision) then return weight end local t = string.explode(tostring(weight), ".") if(table.maxn(t) == 2) then return tonumber(t[1] .. "." .. string.sub(t[2], 1, 2)) end]]-- return weight end function getItemWeaponType(uid) local thing = getThing(uid) if(thing.itemid < 100) then return false end return getItemInfo(thing.itemid).weaponType end function getItemRWInfo(uid) local thing = getThing(uid) if(thing.itemid < 100) then return false end local item, flags = getItemInfo(thing.itemid), 0 if(item.readable) then flags = 1 end if(item.writable) then flags = flags + 2 end return flags end function getItemLevelDoor(itemid) local item = getItemInfo(itemid) return item and item.levelDoor or false end function isItemStackable(itemid) local item = getItemInfo(itemid) return item and item.stackable or false end function isItemRune(itemid) local item = getItemInfo(itemid) return item and item.clientCharges or false end function isItemDoor(itemid) local item = getItemInfo(itemid) return item and item.type == 5 or false end function isItemContainer(itemid) local item = getItemInfo(itemid) return item and item.group == 2 or false end function isItemFluidContainer(itemid) local item = getItemInfo(itemid) return item and item.group == 12 or false end function isItemMovable(itemid) local item = getItemInfo(itemid) return item and item.movable or false end function isCorpse(uid) local thing = getThing(uid) if(thing.itemid < 100) then return false end local item = getItemInfo(thing.itemid) return item and item.corpseType ~= 0 or false end function getContainerCapById(itemid) local item = getItemInfo(itemid) if(not item or item.group ~= 2) then return false end return item.maxItems end function getMonsterAttackSpells(name) local monster = getMonsterInfo(name) return monster and monster.attacks or false end function getMonsterHealingSpells(name) local monster = getMonsterInfo(name) return monster and monster.defenses or false end function getMonsterLootList(name) local monster = getMonsterInfo(name) return monster and monster.loot or false end function getMonsterSummonList(name) local monster = getMonsterInfo(name) return monster and monster.summons or false end function ChecarPontos(cid) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then local Points= Info:getDataInt("premium_points") Info:free() return Points end return LUA_ERROR end function AddPontos(cid, points) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then db.executeQuery("UPDATE accounts SET premium_points = " .. points .. " WHERE id=" .. getPlayerAccountId(cid) .. ";") Info:free() return 1 end end function RemoverPontos(cid, points) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then db.executeQuery("UPDATE accounts SET premium_points = - " .. points .. " WHERE id=" .. getPlayerAccountId(cid) .. ";") Info:free() return 1 end end
  11. Alguem pode me ajuda no seguinte erro: O poke e capturado normal e depois de upar-lo(level system) com um tempo ele buga na ball e nao aparece mais no look nem da para usar o pokemon e da esse seguinte erro no executavel que estarei postando... oque pode ser? e com isso o pokemon simpleste some e nao da mais para usar nem aparece a foto nem nada como se nao tivesse nada na pokebola
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...