Ir para conteúdo

Rayo

Membro
  • Registro em

  • Última visita

Tudo que Rayo postou

  1. Por padrão o MySQL,XAMPP e PHP vem configurado como servidor local(localhost ou 127.0.0.1),então se você quer usar um ip fixo eu aconselho você usar o no-ip. Assista esta vídeo aula para ter uma noção de como usá-lo:
  2. Quando o usuário clicar no Barril ja contaria como 1 use?
  3. Versão do Servidor: TFS - 0.3.4 (DxP) Pedido feito: Solução desenvolvida por mim: Substitua a função doFish no arquivo: "DxP-Server-V3\data\actions\scripts\Basic\pesca.lua" local function doFish(cid, pos, ppos, interval) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) if interval > 0 then addEvent(doFish, 1000, cid, pos, ppos, interval-1) return true end local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local fishes = fishing[getPlayerStorageValue(cid, sto_iscas)] local random = {} if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus * 5) end --[[if math.random(1, 100) <= chance then if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus * 5) end]] random = fishes.pokes[math.random(#fishes.pokes)] for i = 1, math.random(random[2]) do if #getCreatureSummons(cid) >= 1 -- se o jogador tiver sumonado algum pokemon,pegará a posição do pokemon then peixe = doSummonCreature(random[1], getClosestFreeTile(cid, getThingPos(getCreatureSummons(cid)[1]))) -- se não pegará a do jogador else peixe = doSummonCreature(random[1],playerpos) end if not isCreature(peixe) then setPlayerStorageValue(cid, storageP, -1) doRemoveCondition(cid, CONDITION_OUTFIT) return true end setPokemonPassive(peixe, true) doSetPokemonAgressiveToPlayer(peixe, cid) setPlayerStorageValue(peixe, storageP, 1) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 0) doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 0) doChallengeCreature(cid, peixe) end end setPlayerStorageValue(cid, storageP, -1) doRemoveCondition(cid, CONDITION_OUTFIT) return true end Como funciona? Se o jogador tiver invocado um pokemon,ele vai sumonar os pokemons pescados próximo ao pokemon do jogador,caso contrario,será próximo ao jogador. Resultado:
  4. Depende, EU ACHO que não pois cada projeto tem suas LIBS com suas particularidades. Pode ser que funcione,mas tenha cuidado com a segurança dele.
  5. Bom dia, venho aqui trazer a versão 1.3 do TFS para projetos 8.6! O Responsável pelo downgrade foi o Nekiro(GitHub Oficial https://github.com/nekiro/forgottenserver/tree/8.6-downgrade) a minha contribuição foi na compilação do projeto e trazer para vocês. Projeto LIMPO(sem customização); Compilado em Windows x64 bits; Bug's resolvidos por eu: Download do projeto(com as Dll's) + Pasta Source: http://www.mediafire.com/file/kxbsbck2kx15axk/forgottenserver-1.3-8.6.zip Vírus Total: https://www.virustotal.com/gui/file/daf950607a96f88fed0cf64052a2f6eb0634d689182904904053cb518c9ed413/detection
  6. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    local combat = Combat() A classe Combat() não existe na sua source e é por isso que você não vai conseguir usar esse script OU você deve ter feito a modificação na source e esqueceu de compilar.
  7. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    Eu vou da um palpite,não sei se irá funcionar(nunca precisei mexer nisso :-P) mas vamos testar. Va em data\actions\scripts\other\createbread.lua onde tem local liquidContainers = {1775, 2005, 2006, 2007, 2008, 2009, 2011, 2012, 2013, 2014, 2015, 2023, 2031, 2032, 2033} Essa variável armazena uma lista de items recipientes utilizadas no otserver. Então remova o ID do golden mug(2033),salva e faça o teste!
  8. Tem certeza que esses storages ja não estão sendo usados no otserver? Teria como colocar o código fonte do NPC?para que possamos verificar melhor.
  9. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    Coloca o script do NPC(o arquivo LUA e o XML) para que possamos verificar melhor!
  10. Rayo postou uma resposta no tópico em Suporte OTServer Derivados
    Pode ser o cliente que você utiliza,já tentou mudar?
  11. Por que você não consegue usar os de level 24?já que o "bug" são os leveis exigidos.
  12. Parabéns!! O erro era o nome da tabela no banco?
  13. Cara, manda uma print da sua tabela do banco de dados, a tabela que armazena os pontos. Eu acho que a função não está encontrando a coluna "points" pode ser que esteja com outro nome no seu banco.
  14. Era só pegar o password que está convertido em SHA1 e usar este site para descriptografar: https://md5decrypt.net/en/Sha1/#answer e descobrir a senha real.
  15. Modifique isto: local ret = res:getDataInt("points") para isto: local ret = res:getDataInt(res,"points") Eu não testei..faça o teste e diga se funcionou
  16. Qual distribuição ou base você utiliza?
  17. Há alguns sites/empresas especializadas nesse serviço e criação de otservs, uma delas é a https://www.otpanel.com/ (eu não faço parte da empresa). 
  18. Olhe este tutorial :
  19. Há alguns sites/empresas especializadas nesse serviço, uma delas é a https://www.otpanel.com/ (eu não faço parte da empresa).
  20. Então cara, eu analisei ambos os códigos e não há erro. Quando a distro fala: attempt to call global 'CanAttackerInFree' (a nil value) Esse "a nil value" quer dizer que aquela função(CanAttackerInFree) não está sendo encontrada na SOURCE(pasta src) da distro. Você terá que procura-lá na source e caso não ache,terá que implementar e compilar novamente. Essa base que você está usando,você tem o link dela para eu baixar e verificar se essa função existe na source?
  21. Então cara,seu servidor web ou vps está com alguma configuração errada pois ele deveria PELO MENOS executar o arquivo HTML. Veja se este tutorial te ajuda: Se não funcionar, veja outros vídeos desta lista: https://www.youtube.com/results?search_query=Instalando+Servidor+Web+Linux+vps
  22. Dentro da pasta var/www , você consegue carregar algum arquivo .HTML? Cria um arquivo de texto , coloca isto dentro dele: <HTML><b>OI TESTE</b></HTML>e salva como "index.html" e tira uma print do que apareceu na tela.
  23. Pelo que eu consegui entender.. a função tem como parâmetro uma string e a váriavel "pokename" está retornando um table de summons(pokemons) e tem que retornar uma string(que é o nome do primeiro pokemon)... eu não tenho ot pokemon,eu fiz a modificação sem testar. Então testa ai! local EFFECTS = { --[OutfitID] = {Effect} ["Magmar"] = 35, ["Jynx"] = 17, --alterado v1.5 ["Shiny Jynx"] = 17, ["Piloswine"] = 205, --alterado v1.8 ["Swinub"] = 205, } local pokes = { ["Bulbasaur"] = {level = 20, cons = 7, vida = 700}, ["Ivysaur"] = {level = 40, cons = 10, vida = 3000}, ["Venusaur"] = {level = 85, cons = 15, vida = 5200}, ["Charmander"] = {level = 20, cons = 7, vida = 970}, ["Charmeleon"] = {level = 40, cons = 10, vida = 2900}, ["Charizard"] = {level = 85, cons = 15, vida = 5200}, ["Squirtle"] = {level = 20, cons = 7, vida = 650}, ["Wartortle"] = {level = 40, cons = 10, vida = 2300}, ["Blastoise"] = {level = 85, cons = 15, vida = 5200}, ["Caterpie"] = {level = 1, cons = 5, vida = 200}, ["Metapod"] = {level = 10, cons = 10, vida = 405}, ["Butterfree"] = {level = 30, cons = 15, vida = 2500}, ["Weedle"] = {level = 1, cons = 5, vida = 325}, ["Kakuna"] = {level = 10, cons = 10, vida = 900}, ["Beedrill"] = {level = 30, cons = 15, vida = 1900}, ["Pidgey"] = {level = 1, cons = 6, vida = 380}, ["Pidgeotto"] = {level = 20, cons = 10, vida = 1400}, ["Pidgeot"] = {level = 65, cons = 15, vida = 3800}, ["Rattata"] = {level = 1, cons = 5, vida = 350}, ["Raticate"] = {level = 20, cons = 10, vida = 900}, ["Spearow"] = {level = 5, cons = 10, vida = 350}, ["Fearow"] = {level = 50, cons = 15, vida = 3300}, ["Ekans"] = {level = 12, cons = 10, vida = 600}, ["Arbok"] = {level = 30, cons = 15, vida = 2300}, ["Pikachu"] = {level = 20, cons = 10, vida = 1250}, ["Raichu"] = {level = 50, cons = 15, vida = 3500}, ["Sandshrew"] = {level = 18, cons = 10, vida = 700}, ["Sandslash"] = {level = 55, cons = 15, vida = 3400}, ["Nidoran Female"] = {level = 10, cons = 8, vida = 600}, ["Nidorina"] = {level = 25, cons = 12, vida = 2135}, ["Nidoqueen"] = {level = 65, cons = 15, vida = 6445}, ["Nidoran Male"] = {level = 10, cons = 8, vida = 620}, ["Nidorino"] = {level = 25, cons = 12, vida = 2125}, ["Nidoking"] = {level = 65, cons = 15, vida = 4200}, ["Clefairy"] = {level = 10, cons = 10, vida = 1400}, ["Clefable"] = {level = 35, cons = 15, vida = 2400}, ["Vulpix"] = {level = 20, cons = 7, vida = 400}, ["Ninetales"] = {level = 65, cons = 15, vida = 3400}, ["Jigglypuff"] = {level = 10, cons = 10, vida = 500}, ["Wigglytuff"] = {level = 42, cons = 15, vida = 2900}, ["Zubat"] = {level = 5, cons = 8, vida = 450}, ["Golbat"] = {level = 30, cons = 10, vida = 1900}, ["Oddish"] = {level = 5, cons = 6, vida = 450}, ["Gloom"] = {level = 18, cons = 10, vida = 1400}, ["Vileplume"] = {level = 50, cons = 15, vida = 3300}, ["Paras"] = {level = 1, cons = 5, vida = 400}, ["Parasect"] = {level = 50, cons = 10, vida = 2500}, ["Venonat"] = {level = 18, cons = 10, vida = 1350}, ["Venomoth"] = {level = 50, cons = 15, vida = 3000}, ["Diglett"] = {level = 5, cons = 7, vida = 470}, ["Dugtrio"] = {level = 35, cons = 10, vida = 2400}, ["Meowth"] = {level = 12, cons = 10, vida = 4000}, ["Persian"] = {level = 30, cons = 12, vida = 1000}, ["Psyduck"] = {level = 12, cons = 10, vida = 800}, ["Golduck"] = {level = 55, cons = 12, vida = 3880}, ["Mankey"] = {level = 10, cons = 8, vida = 1050}, ["Primeape"] = {level = 45, cons = 10, vida = 3000}, ["Growlithe"] = {level = 20, cons = 10, vida = 1000}, ["Arcanine"] = {level = 80, cons = 15, vida = 6000}, ["Poliwag"] = {level = 5, cons = 5, vida = 200}, ["Poliwhirl"] = {level = 20, cons = 10, vida = 1200}, ["Poliwrath"] = {level = 65, cons = 15, vida = 4400}, ["Abra"] = {level = 15, cons = 8, vida = 620}, ["Kadabra"] = {level = 50, cons = 10, vida = 2500}, ["Alakazam"] = {level = 80, cons = 15, vida = 4000}, ["Machop"] = {level = 18, cons = 8, vida = 1100}, ["Machoke"] = {level = 40, cons = 10, vida = 2850}, ["Machamp"] = {level = 70, cons = 15, vida = 6100}, ["Bellsprout"] = {level = 1, cons = 6, vida = 420}, ["Weepinbell"] = {level = 18, cons = 10, vida = 1100}, ["Victreebel"] = {level = 50, cons = 15, vida = 4000}, ["Tentacool"] = {level = 12, cons = 8, vida = 725}, ["Tentacruel"] = {level = 80, cons = 15, vida = 7050}, ["Geodude"] = {level = 1, cons = 10, vida = 700}, ["Graveler"] = {level = 40, cons = 12, vida = 3000}, ["Golem"] = {level = 70, cons = 15, vida = 6500}, ["Ponyta"] = {level = 20, cons = 10, vida = 1000}, ["Rapidash"] = {level = 60, cons = 15, vida = 3000}, ["Slowpoke"] = {level = 12, cons = 10, vida = 600}, ["Slowbro"] = {level = 45, cons = 15, vida = 1500}, ["Magnemite"] = {level = 15, cons = 10, vida = 450}, ["Magneton"] = {level = 40, cons = 15, vida = 1750}, ["Farfetchd"] = {level = 40, cons = 15, vida = 3000}, ["Doduo"] = {level = 12, cons = 10, vida = 600}, ["Dodrio"] = {level = 45, cons = 15, vida = 2650}, ["Seel"] = {level = 20, cons = 10, vida = 750}, ["Dewgong"] = {level = 65, cons = 15, vida = 5200}, ["Grimer"] = {level = 12, cons = 10, vida = 600}, ["Muk"] = {level = 30, cons = 15, vida = 2400}, ["Shellder"] = {level = 5, cons = 10, vida = 800}, ["Cloyster"] = {level = 65, cons = 15, vida = 4000}, ["Gastly"] = {level = 18, cons = 10, vida = 850}, ["Haunter"] = {level = 45, cons = 12, vida = 2500}, ["Gengar"] = {level = 80, cons = 15, vida = 7000}, ["Onix"] = {level = 50, cons = 15, vida = 3000}, ["Crystal Onix"] = {level = 50, cons = 20, vida = 8300}, ["Drowzee"] = {level = 22, cons = 10, vida = 1150}, ["Hypno"] = {level = 50, cons = 15, vida = 1500}, ["Krabby"] = {level = 5, cons = 45, vida = 500}, ["Kingler"] = {level = 35, cons = 15, vida = 2750}, ["Voltorb"] = {level = 1, cons = 10, vida = 620}, ["Electrode"] = {level = 38, cons = 15, vida = 2000}, ["Exeggcute"] = {level = 8, cons = 10, vida = 800}, ["Exeggutor"] = {level = 48, cons = 15, vida = 2300}, ["Cubone"] = {level = 18, cons = 10, vida = 900}, ["Marowak"] = {level = 45, cons = 15, vida = 1400}, ["Hitmonlee"] = {level = 60, cons = 15, vida = 5000}, ["Hitmonchan"] = {level = 60, cons = 20, vida = 4000}, ["Lickitung"] = {level = 45, cons = 10, vida = 3000}, ["Koffing"] = {level = 15, cons = 10, vida = 700}, ["Weezing"] = {level = 30, cons = 15, vida = 1250}, ["Rhyhorn"] = {level = 35, cons = 10, vida = 2900}, ["Rhydon"] = {level = 65, cons = 15, vida = 4200}, ["Chansey"] = {level = 60, cons = 10, vida = 2500}, ["Tangela"] = {level = 40, cons = 8, vida = 800}, ["Kangaskhan"] = {level = 60, cons = 12, vida = 5000}, ["Horsea"] = {level = 5, cons = 10, vida = 300}, ["Seadra"] = {level = 45, cons = 10, vida = 2000}, ["Goldeen"] = {level = 10, cons = 10, vida = 800}, ["Seaking"] = {level = 25, cons = 12, vida = 1300}, ["Staryu"] = {level = 15, cons = 10, vida = 1050}, ["Starmie"] = {level = 45, cons = 15, vida = 2000}, ["Mr Mime"] = {level = 60, cons = 15, vida = 3500}, ["Scyther"] = {level = 70, cons = 15, vida = 5000}, ["Jynx"] = {level = 65, cons = 15, vida = 4500}, ["Elekid"] = {level = 30, cons = 15, vida = 1500}, ["Electabuzz"] = {level = 70, cons = 15, vida = 4000}, ["Magmar"] = {level = 70, cons = 15, vida = 4000}, ["Pinsir"] = {level = 42, cons = 15, vida = 2000}, ["Tauros"] = {level = 40, cons = 10, vida = 2400}, ["Magikarp"] = {level = 1, cons = 5, vida = 120}, ["Gyarados"] = {level = 75, cons = 15, vida = 3000}, ["Lapras"] = {level = 70, cons = 15, vida = 5000}, ["Ditto"] = {level = 40, cons = 10, vida = 1500}, ["Eevee"] = {level = 20, cons = 15, vida = 1500}, ["Vaporeon"] = {level = 55, cons = 15, vida = 3500}, ["Jolteon"] = {level = 55, cons = 15, vida = 3500}, ["Flareon"] = {level = 55, cons = 15, vida = 3500}, ["Porygon"] = {level = 45, cons = 15, vida = 2000}, ["Omanyte"] = {level = 20, cons = 15, vida = 1000}, ["Omastar"] = {level = 70, cons = 15, vida = 3000}, ["Kabuto"] = {level = 20, cons = 10, vida = 1300}, ["Kabutops"] = {level = 70, cons = 15, vida = 5000}, ["Aerodactyl"] = {level = 100, cons = 15, vida = 5000}, ["Snorlax"] = {level = 85, cons = 15, vida = 4000}, ["Articuno"] = {level = 120, cons = 15, vida = 11000}, ["Zapdos"] = {level = 120, cons = 15, vida = 11000}, ["Moltres"] = {level = 120, cons = 15, vida = 11000}, ["Dratini"] = {level = 10, cons = 15, vida = 800}, ["Dragonair"] = {level = 70, cons = 15, vida = 3000}, ["Dragonite"] = {level = 100, cons = 15, vida = 4000}, ["Mewtwo"] = {level = 100, cons = 15, vida = 18000}, ["Mew"] = {level = 100, cons = 15, vida = 7200}, ["Elder Charizard"] = {level = 10, cons = 15, vida = 3000}, ["Shiny Abra"] = {level = 14, cons = 15, vida = 1000}, ["Shiny Arcanine"] = {level = 70, cons = 15, vida = 10000}, ["Shiny Beedrill"] = {level = 24, cons = 15, vida = 3000}, ["Shiny Blastoise"] = {level = 70, cons = 15, vida = 8000}, ["Shiny Butterfree"] = {level = 34, cons = 15, vida = 485}, ["Shiny Dratini"] = {level = 30, cons = 15, vida = 2000}, ["Shiny Electabuzz"] = {level = 90, cons = 15, vida = 4200}, ["Shiny Electrode"] = {level = 48, cons = 15, vida = 4000}, ["Shiny Farfetchd"] = {level = 38, cons = 15, vida = 5000}, ["Shiny Grimer"] = {level = 16, cons = 15, vida = 2000}, ["Shiny Hitmonchan"] = {level = 70, cons = 15, vida = 8000}, ["Shiny Hitmonlee"] = {level = 120, cons = 15, vida = 8000}, ["Shiny Horsea"] = {level = 14, cons = 15, vida = 1080}, ["Shiny Jynx"] = {level = 70, cons = 15, vida = 5000}, ["Shiny Kingler"] = {level = 24, cons = 15, vida = 4000}, ["Shiny Krabby"] = {level = 70, cons = 15, vida = 700}, ["Shiny Magikarp"] = {level = 34, cons = 15, vida = 180}, ["Shiny Muk"] = {level = 30, cons = 15, vida = 3500}, ["Shiny Oddish"] = {level = 90, cons = 15, vida = 700}, ["Shiny Paras"] = {level = 48, cons = 15, vida = 600}, ["Shiny Parasect"] = {level = 38, cons = 15, vida = 3500}, ["Shiny Raichu"] = {level = 16, cons = 15, vida = 4500}, ["Shiny Rattata"] = {level = 70, cons = 15, vida = 600}, ["Shiny Raticate"] = {level = 38, cons = 15, vida = 1200}, ["Shiny Scyther"] = {level = 16, cons = 15, vida = 7000}, ["Shiny Seadra"] = {level = 70, cons = 15, vida = 2500}, ["Shiny Tentacool"] = {level = 120, cons = 15, vida = 1000}, ["Shiny Tentacruel"] = {level = 14, cons = 15, vida = 9000}, ["Shiny Venomoth"] = {level = 70, cons = 15, vida = 4500}, ["Shiny Venusaur"] = {level = 24, cons = 15, vida = 6000}, ["Shiny Voltorb"] = {level = 70, cons = 15, vida = 1000}, ["Shiny Zubat"] = {level = 34, cons = 15, vida = 990}, } local msgunica = true local msgunicago1, msgunicaback1 = "Go, doka!", "Come back, doka!" local msgunicago2, msgunicaback2 = "Let's do it, doka!", "Thanks for helping, doka!" local msgunicago3, msgunicaback3 = "I choose you, doka!", "That's enough, come back!" local msgunicago4, msgunicaback4 = "I need your help, doka!", "You were great, doka!" local msgunicago5, msgunicaback5 = "Let's fight, doka!", "Excellent work, doka!" local msgunicago6, msgunicaback6 = "It's battle time, doka!", "Well done, doka!" function onUse(cid, item, frompos, item2, topos) if #getCreatureSummons(cid) >= 1 and getPlayerStorageValue(getCreatureSummons(cid)[1], 33) >= 1 then return true end local random2 = math.random(1,6) if random2 == 1 then msgunicaback = msgunicaback1 elseif random2 == 2 then msgunicaback = msgunicaback2 elseif random2 == 3 then msgunicaback = msgunicaback3 elseif random2 == 4 then msgunicaback = msgunicaback4 elseif random2 == 5 then msgunicaback = msgunicaback5 elseif random2 == 6 then msgunicaback = msgunicaback6 end local random = math.random(1,6) if random == 1 then msgunicago = msgunicago1 elseif random == 2 then msgunicago = msgunicago2 elseif random == 3 then msgunicago = msgunicago3 elseif random == 4 then msgunicago = msgunicago4 elseif random == 5 then msgunicago = msgunicago5 elseif random == 6 then msgunicago = msgunicago6 end if item.itemid == 2222 or item.itemid == 2223 then gobackeff = 10 elseif item.itemid == 2239 or item.itemid == 2240 then gobackeff = 189 elseif item.itemid == 2234 or item.itemid == 2235 then gobackeff = 190 elseif item.itemid == 2220 or item.itemid == 2221 then gobackeff = 191 elseif item.itemid == 2242 or item.itemid == 2243 then gobackeff = 226 elseif item.itemid == 2192 or item.itemid == 2193 then gobackeff = 223 elseif item.itemid == 2660 or item.itemid == 2661 then gobackeff = 194 elseif item.itemid == 2663 or item.itemid == 2664 then gobackeff = 193 elseif item.itemid == 2655 or item.itemid == 2656 then gobackeff = 195 end local effect = gobackeff if item.itemid == 2223 or item.itemid == 2240 or item.itemid == 2235 or item.itemid == 2221 or item.itemid == 2243 or item.itemid == 2193 or item.itemid == 2661 or item.itemid == 2664 or item.itemid == 2656 then for a, b in pairs(ginasios) do if getPlayerStorageValue(cid, b.storage) == 1 then -- GYM doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.") return true end end end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if #getCreatureSummons(cid) >= 1 then if getPlayerStorageValue(cid, 6547) >= 4 then return true end end if getPlayerStorageValue(cid, 4897) >= 7 then return true end local z = getCreatureSummons(cid)[1] local pokename = getCreatureName(z)[1] local mbk = msgunicaback:gsub("doka", pokename) if getItemAttribute(item.uid, "poke"):find(getCreatureName(z)) then doTransformItem(item.uid, item.itemid-1) doCreatureSay(cid, mbk, TALKTYPE_SAY) return true end local summom = getCreatureSummons(cid) local maxh = pokes[getCreatureName(summom[1])].vida local pct2 = ((getCreatureHealth(summom[1])) / (getCreatureMaxHealth(summom[1]))) local vids = ((getCreatureHealth(summom[1])) - 2) doCreatureAddHealth(summom[1], -vids) setCreatureMaxHealth(summom[1], maxh) doCreatureAddHealth(summom[1], ((maxh) * (pct2))) doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = ["..getCreatureHealth(z).."/"..getCreatureMaxHealth(z).."]") setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 2, 0) doSendMagicEffect(getCreaturePosition(z), effect) doRemoveCreature(z) if getPlayerGroupId(cid) == 8 then setPlayerGroupId(cid, 1) elseif item.itemid == 2222 or item.itemid == 2239 or item.itemid == 2234 or item.itemid == 2220 or item.itemid == 2242 or item.itemid == 2192 or item.itemid == 2660 or item.itemid == 2663 or item.itemid == 2655 then return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "You must put your pokeball in the correct place!") return TRUE end if not canSummon(cid) then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM) end if getPlayerStorageValue(cid, 63215) >= 1 then return doPlayerSendCancel(cid, "You can't use pokeball while surfing.") end if getPlayerStorageValue(cid, 62314) >= 1 then return doPlayerSendCancel(cid, "You can't use pokeball while flying.") end if #getCreatureSummons(cid) >= 1 then return doPlayerSendCancel(cid, "You have already summoned a pokemon.") end for i,x in pairs(pokes) do if i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) then if getPlayerLevel(cid) < x.level then oPlayerSendCancel(cid, "You need level "..x.level.." or higher to use this pokemon.") return true end end end local removed = doCreateItem(1285, 1, getThingPos(cid)) if getItemAttribute(item.uid, "level") == False then doItemSetAttribute(item.uid, "level", 1) ----- aki e o level que o pokemon novo capturado recebe no primeiro goback else doItemSetAttribute(item.uid, "description", " Contains a "..getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1).." Level : "..getItemAttribute(item.uid, "level").."") end doSummonMonster(cid, i) local pk = getCreatureSummons(cid)[1] doTeleportThing(pk, getClosestFreeTile(pk, getThingPos(cid)), false) doRemoveItem(removed, 1) doCreatureSetLookDir(pk, 2) local maxh = pokes[getCreatureName(pk)].vida local levellife = ((getPlayerLevel(cid)) * (pokes[getCreatureName(pk)].cons)) local health = tonumber(getItemAttribute(item.uid, "poke"):match("%[(.-)/")) doConvinceCreature(cid, pk) doCreatureAddHealth(pk, health-maxh) local pct = ((getCreatureHealth(pk)) / (getCreatureMaxHealth(pk))) local vidis = (getCreatureHealth(pk)) setCreatureMaxHealth(pk, ((maxh) + (levellife))) doCreatureAddHealth(pk, 2) doCreatureAddHealth(pk, -vidis) local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 2 then --- numero do level setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+100) ----- quantida de hp que ganha por level end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 3 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+200) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 4 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+300) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 5 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+400) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 6 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+500) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 7 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+600) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 8 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+700) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 9 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+800) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 10 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+900) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 11 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1000) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 12 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1100) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 13 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1200) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 14 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1300) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 15 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1400) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 16 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1500) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 17 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1600) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 18 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1700) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 19 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1800) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 20 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1900) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 21 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2000) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 22 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2100) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 23 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2200) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 24 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2300) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 25 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2400) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 26 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2500) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 27 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2600) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 28 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2700) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 29 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2800) end local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) if getItemAttribute(feet.uid, "level") == 30 then setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+3000) end doCreatureAddHealth(pk, ((getCreatureMaxHealth(pk)) * (pct)) - 2) doTransformItem(item.uid, item.itemid+1) if getPlayerGroupId(cid) == 1 then setPlayerGroupId(cid, 8) end local pokename = getCreatureName(getCreatureSummons(cid)[1]) local mgo = msgunicago:gsub("doka", pokename) doCreatureSay(cid, mgo, TALKTYPE_SAY) doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), "."))) doSendMagicEffect(getCreaturePosition(pk), effect) setPlayerStorageValue(cid, 61204, 1) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") if getItemAttribute(item.uid, "levell") == False then doItemSetAttribute(item.uid, "levell", 0) return TRUE end if getItemText(item.uid) == 3 then doCreatureSetSkullType(pk, 4) else doCreatureSetSkullType(pk, getItemText(item.uid)) end if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1 then --alterado v1.9 << return true end local ballName = getItemAttribute(item.uid, "poke") local btype = getPokeballType(item.itemid) local usando = pokeballs[btype].use local effect = pokeballs[btype].effect if not effect then effect = 21 end unLock(item.uid) --alterado v1.8 if item.itemid == usando then if getPlayerStorageValue(cid, 990) == 1 then -- GYM doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.") return true end if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then --alterado v1.6 if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then BackTeam(cid) end end if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then doPlayerSendCancel(cid, "You can't do that while is controling a mind") return true --alterado v1.5 end if #getCreatureSummons(cid) <= 0 then if isInArray(pokeballs[btype].all, item.itemid) then doTransformItem(item.uid, pokeballs[btype].off) doItemSetAttribute(item.uid, "hp", 0) doPlayerSendCancel(cid, "This pokemon is fainted.") return true end end local cd = getCD(item.uid, "blink", 30) if cd > 0 then setCD(item.uid, "blink", 0) end local z = getCreatureSummons(cid)[1] if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then return true end doReturnPokemon(cid, z, item, effect) elseif item.itemid == pokeballs[btype].on then if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "You must put your pokeball in the correct place!") return TRUE end local thishp = getItemAttribute(item.uid, "hp") if getItemAttribute(item.uid, "hp") == 0 then if isInArray(pokeballs[btype].all, item.itemid) then doTransformItem(item.uid, pokeballs[btype].off) doItemSetAttribute(item.uid, "hp", 0) doPlayerSendCancel(cid, "This pokemon is fainted.") return true end end local pokemon = getItemAttribute(item.uid, "poke") if not pokes[pokemon] then return true end local x = pokes[pokemon] local boost = getItemAttribute(item.uid, "boost") or 0 if getPlayerLevel(cid) < (x.level) then doPlayerSendCancel(cid, "You need level "..(x.level).." to use this pokemon.") return true end local pk = getCreatureSummons(cid)[1] doSummonMonster(cid, pokemon) doItemSetAttribute(item.uid, "pokeballusada", 0) local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then return true end if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited local left = getItemAttribute(item.uid, "transLeft") local name = getItemAttribute(item.uid, "transName") if left and left > 0 then setPlayerStorageValue(pk, 1010, name) doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1) addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn")) doItemSetAttribute(item.uid, "transBegin", os.clock()) else setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto") --edited end end if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end doCreatureSetLookDir(pk, 2) doCreatureSetNick(pk, nick) adjustStatus(pk, item.uid, true, true, true) doAddPokemonInOwnList(cid, pokemon) doTransformItem(item.uid, item.itemid+1) local pokename = getPokeName(pk) --alterado v1.7 local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename) local mgoen = gobackmsgsen[math.random(1, #gobackmsgsen)].go:gsub("doka", pokename) local mgoes = gobackmsgses[math.random(1, #gobackmsgses)].go:gsub("doka", pokename) if getPlayerLanguage(cid) == 2 then doCreatureSay(cid, mgoen, 19) end if getPlayerLanguage(cid) == 0 then doCreatureSay(cid, mgo, 19) end if getPlayerLanguage(cid) == 1 then doCreatureSay(cid, mgoes, 19) end -- doItemSetAttribute(item.uid, "gender", math.random(3, 4)) doSendMagicEffect(getCreaturePosition(pk), effect) if useOTClient then doPlayerSendCancel(cid, '12//,show') --alterado v1.7 end local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not getItemAttribute(pb,"addon") then doSetItemAttribute(pb,"addon",0) end if getItemAttribute(pb,"addon") > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) end else doPlayerSendCancel(cid, "This pokemon is fainted.") end if useKpdoDlls then doUpdateMoves(cid) end return true end
  24. tira um printscreen da sua pasta VPS! Dependendo do vps, a pasta pode ser em /htdocs OU em outros casos...você terá que configurar a porta 8090 do seu servidor web( a maioria das vezes é Apache).

Informação Importante

Confirmação de Termo