Ir para conteúdo

Thayam

Membro
  • Registro em

  • Última visita

Tudo que Thayam postou

  1. Thayam postou uma resposta no tópico em Suporte Tibia OTServer
    Amigo, siga este tutorial, ele vai responder suas duas dúvidas Tópico by Gratos Tem também este Topico by Matheus que é muito bom!
  2. Thayam postou uma resposta no tópico em Suporte Tibia OTServer
    Sua internet é compartilhada? De uma olhada nessa video-aula, uma opção interessante para seu caso, hospedagem de sites na hostinger, uma empresa muito boa, que eu ja utilizei e recomendo. Com a video aula do Brunds fica tranquilo ver como funciona: Topico by Brunds
  3. Thayam postou uma resposta no tópico em Suporte Tibia OTServer
    Amigo, é um processo muito simples, você vai ver kk Esse tutorial vai resolver seu problema tranquilamente! Topic by ADMDestroyer Segue ele certinho que não tem erro
  4. Acredito que este tutorial possa te ajudar! Só lembrando que tem que trocar as ids!!! Tópic by Arthurabreu
  5. Fico feliz que conseguiu resolver! Dúvida Sanada
  6. Na verdade é simples: Acesse seu arquivo Trade_Go.lua dentro de: data\movements\scripts\PVP e altere isso: local s = { --[action id] = {pos de volta} [33691] = {x=636,y=1465,z=6}, -- Cinnabar [33692] = {x=671,y=946,z=6}, -- pewter [33693] = {x=1060,y=905,z=7}, -- cerulean [33694] = {x=1039,y=1075,z=6}, -- saffron [33695] = {x=1072,y=1246,z=6}, -- vermillion [33696] = {x=1110,y=1421,z=7}, -- fuchsia [33697] = {x=641,y=1168,z=6}, -- viridian [33698] = {x=843,y=1043,z=6}, -- celadon [33699] = {x=1204,y=1044,z=7}, -- Lavender [33700] = {x=1429,y=1599,z=6}, -- Snow City [33701] = {x=259,y=433,z=7}, -- Golden Arena [33711] = {x=269,y=1167,z=7}, -- Hammlin [33712] = {x=246,y=1033,z=7}, -- Shamouti [33713] = {x=257,y=1263,z=6}, -- Ascordbia [33714] = {x=2566,y=448,z=5}, -- Vip 1 [33715] = {x=2680,y=679,z=7}, -- Vip 2 [33716] = {x=2613,y=989,z=7}, -- Vip 3 } local b = { --[action id] = {{pos para onde ir}, {pos de volta}}, [33702] = {{x=907,y=1086,z=13}, {x=980,y=1080,z=13}}, -- Clan Psycraft [33703] = {{x=862,y=1086,z=13}, {x=967,y=1080,z=13}}, -- Clan Orebound [33704] = {{x=820,y=1086,z=13}, {x=964,y=1080,z=13}}, -- Clan Wingeon [33705] = {{x=779,y=1085,z=13}, {x=958,y=1080,z=13}}, -- Clan Naturia [33706] = {{x=737,y=1085,z=13}, {x=973,y=1080,z=13}}, -- Clan Seavel [33707] = {{x=697,y=1085,z=13}, {x=970,y=1080,z=13}}, -- Clan Gardestrike [33708] = {{x=656,y=1085,z=13}, {x=955,y=1080,z=13}}, -- Clan Malefic [33709] = {{x=616,y=1085,z=13}, {x=976,y=1080,z=13}}, -- Clan Raibolt [33710] = {{x=575,y=1085,z=13}, {x=961,y=1080,z=13}}, -- Clan Volcanic } Vale olhar também os outros arquivos da pasta, caso queira dar uma alterada em algo
  7. Mas se o pokemón capturado funciona normalmente tanto para player quanto para GOD, acredito que não deva ocorrer problemas, deixei meu test server online por duas semanas e também tive este erro, mas nunca tive problemas com o catch, provavelmente alguma linha de comando incorreta, vou tentar resolver, caso consiga, te mando a solução
  8. Mas como ele mesmo disse, o servidor dele é por icon system, e por sinal é a mesma base que eu utilizo. Não sou mestre no assunto mais deu pra discernir isso :s Mas quando você captura algum pokemon com o GOD, o catch acontece normalmente? Ou ele não consegue capturar nenhum?
  9. Sim, achei que pudesse ser este o erro, mas vi que não era, tentei mudar com o ultimo post, vamos ver se resolve pra ele, mas se você puder ajudar eu agradeço, você está milhas e milhas na minha frente de conhecimento em scripts. segue o catch system dele: failmsgs = { "Sorry, you didn't catch that pokemon.", "Sorry, your pokeball broke.", "Sorry, the pokemon escaped.", } function doBrokesCount(cid, str, ball) --alterado v1.9 \/ if not isCreature(cid) then return false end local tb = { {b = "normal", v = 0}, {b = "great", v = 0}, {b = "super", v = 0}, {b = "ultra", v = 0}, {b = "saffari", v = 0}, {b = "dark", v = 0}, } for _, e in ipairs(tb) do if e.b == ball then e.v = 1 break end end local string = getPlayerStorageValue(cid, str) local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), dark = (.-);" local t2 = "" for n, g, s, u, s2, d in string:gmatch(t) do t2 = "normal = "..(n+tb[1].v)..", great = "..(g+tb[2].v)..", super = "..(s+tb[3].v)..", ultra = "..(u+tb[4].v)..", saffari = "..(s2+tb[5].v)..", dark = "..(d+tb[6].v)..";" end return setPlayerStorageValue(cid, str, string:gsub(t, t2)) end function sendBrokesMsg(cid, str, ball) if not isCreature(cid) then return false end local string = getPlayerStorageValue(cid, str) local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), dark = (.-);" local msg = {} table.insert(msg, "You have wasted: ") for n, g, s, u, s2, d in string:gmatch(t) do if tonumber(n) and tonumber(n) > 0 then table.insert(msg, tostring(n).." Poke ball".. (tonumber(n) > 1 and "s" or "")) end if tonumber(g) and tonumber(g) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(g).." Great ball".. (tonumber(g) > 1 and "s" or "")) end if tonumber(s) and tonumber(s) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s).." Super ball".. (tonumber(s) > 1 and "s" or "")) end if tonumber(u) and tonumber(u) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(u).." Ultra ball".. (tonumber(u) > 1 and "s" or "")) end if tonumber(s2) and tonumber(s2) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Saffari ball".. (tonumber(s2) > 1 and "s" or "")) end if tonumber(d) and tonumber(d) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(d).." Dark ball".. (tonumber(d) > 1 and "s" or "")) end end if #msg == 1 then return true end if string.sub(msg[#msg], 1, 1) == "," then msg[#msg] = " and".. string.sub(msg[#msg], 2, #msg[#msg]) end table.insert(msg, " trying to catch it.") sendMsgToPlayer(cid, 27, table.concat(msg)) end --alterado v1.9 /\ -------------------------------------------------------------------------------- function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system local name = catchinfo.name local pos = catchinfo.topos local topos = {} topos.x = pos.x topos.y = pos.y topos.z = pos.z local newid = catchinfo.newid local catch = catchinfo.catch local fail = catchinfo.fail local rate = catchinfo.rate local basechance = catchinfo.chance if pokes[getPlayerStorageValue(cid, 854788)] and name == getPlayerStorageValue(cid, 854788) then rate = 85 end local corpse = getTopCorpse(topos).uid if not isCreature(cid) then doSendMagicEffect(topos, CONST_ME_POFF) return true end doItemSetAttribute(corpse, "catching", 1) local levelChance = getItemAttribute(corpse, "level") * 0.02 local totalChance = math.ceil(basechance * (1.2 + levelChance)) local thisChance = math.random(0, totalChance) local myChance = math.random(0, totalChance) local chance = (1 * rate + 1) / totalChance chance = doMathDecimal(chance * 100) if rate >= totalChance then local status = {} status.gender = getItemAttribute(corpse, "gender") status.happy = 500 doRemoveItem(corpse, 1) doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee) return true end if totalChance <= 1 then totalChance = 1 end local myChances = {} local catchChances = {} for cC = 0, totalChance do table.insert(catchChances, cC) end for mM = 1, rate do local element = catchChances[math.random(1, #catchChances)] table.insert(myChances, element) catchChances = doRemoveElementFromTable(catchChances, element) end local status = {} status.gender = getItemAttribute(corpse, "gender") status.happy = 500 doRemoveItem(corpse, 1) local doCatch = false for check = 1, #myChances do if thisChance == myChances[check] then doCatch = true end end if doCatch then doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee) else addEvent(doNotCapturePokemon, 3000, cid, name, typeee) doSendMagicEffect(topos, fail) end end function doCapturePokemon(cid, poke, ballid, status, typeee) if not isCreature(cid) then return true end local list = getCatchList(cid) if not isInArray(list, poke) and not isShinyName(poke) then doPlayerAddSoul(cid, 1) end doAddPokemonInOwnList(cid, poke) doAddPokemonInCatchList(cid, poke) if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end local description = "Contains a "..poke.."." local gender = status.gender local happy = 200 --alterado v1.9 \/ if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then item = doCreateItemEx(ballid) else item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1) end doItemSetAttribute(item, "poke", poke) doItemSetAttribute(item, "hp", 1) doItemSetAttribute(item, "happy", happy) doItemSetAttribute(item, "gender", gender) doItemSetAttribute(item, "fakedesc", description) doItemSetAttribute(item, "description", description) if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then doItemSetAttribute(item, "hands", 0) doItemSetAttribute(item, "morta", "no") doItemSetAttribute(item, "Icone", "yes") doItemSetAttribute(item, "ball", getItemNameById(ballid)) --doTransformItem(item, icons[getItemAttribute(item, "poke")].on) end doItemSetAttribute(item, "morta", "no") doItemSetAttribute(item, "Icone", "yes") doItemSetAttribute(item, "ball", getItemNameById(ballid)) --doTransformItem(item, icons[getItemAttribute(item, "poke")].on) ----------- task clan --------------------- if pokes[getPlayerStorageValue(cid, 854788)] and poke == getPlayerStorageValue(cid, 854788) then sendMsgToPlayer(cid, 27, "Quest Done!") doItemSetAttribute(item, "unique", getCreatureName(cid)) doItemSetAttribute(item, "task", 1) setPlayerStorageValue(cid, 854788, 'done') doItemSetAttribute(item, "morta", "no") doItemSetAttribute(item, "Icone", "yes") doItemSetAttribute(item, "ball", getItemNameById(ballid)) --doTransformItem(item, icons[getItemAttribute(item, "poke")].on) end doItemSetAttribute(item, "morta", "no") doItemSetAttribute(item, "Icone", "yes") doItemSetAttribute(item, "ball", getItemNameById(ballid)) --doTransformItem(item, icons[getItemAttribute(item, "poke")].on) ------------------------------------------- --alterado v1.9 \/ if getPlayerFreeCap(cid) >= 6 then doItemSetAttribute(item, "morta", "no") doItemSetAttribute(item, "Icone", "yes") doItemSetAttribute(item, "ball", getItemNameById(ballid)) doTransformItem(item, icons[getItemAttribute(item, "poke")].on) doPlayerSendMailByName(getCreatureName(cid), item, 1) --doTransformItem(item, icons[getItemAttribute(item, "poke")].on) doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!") doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.") doPlayerSendTextMessage(cid, 27, "Digite !save para evitar perdas!") end local storage = newpokedex[poke].stoCatch sendBrokesMsg(cid, storage, typeee) setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0; dark = 0;") --alterado v1.9 /\ if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) if catchMakesPokemonHappier then setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20) end else doSendMagicEffect(getThingPos(cid), 173) end doIncreaseStatistics(poke, true, true) end function doNotCapturePokemon(cid, poke, typeee) if not isCreature(cid) then return true end if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)]) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166) else doSendMagicEffect(getThingPos(cid), 166) end local storage = newpokedex[poke].stoCatch doBrokesCount(cid, storage, typeee) doIncreaseStatistics(poke, true, false) end function getPlayerInfoAboutPokemon(cid, poke) local a = newpokedex[poke] if not isPlayer(cid) then return false end if not a then print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.") return false end local b = getPlayerStorageValue(cid, a.storage) if b == -1 then setPlayerStorageValue(cid, a.storage, poke..":") end local ret = {} if string.find(b, "catch,") then ret.catch = true else ret.catch = false end if string.find(b, "dex,") then ret.dex = true else ret.dex = false end if string.find(b, "use,") then ret.use = true else ret.use = false end return ret end function doAddPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." use,") end function isPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end return false end function doAddPokemonInCatchList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).catch then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." catch,") end function getCatchList(cid) local ret = {} for a = 1000, 1264 do local b = getPlayerStorageValue(cid, a) if b ~= 1 and string.find(b, "Catch,") then table.insert(ret, oldpokedex[a-1000][1]) end end return ret end function getStatistics(pokemon, tries, success) local ret1 = 0 local ret2 = 0 local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret1 = 0 else ret1 = num end arq:close() local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret2 = 0 else ret2 = num end arq:close() if tries == true and success == true then return ret1, ret2 elseif tries == true then return ret1 else return ret2 end end function doIncreaseStatistics(pokemon, tries, success) local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" if tries == true then local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end if success == true then local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end end function doUpdateGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "NUMBER NAME TRIES / CATCHES\n\n" local str = "" for a = 1, 264 do if string.len(oldpokedex[a][1]) <= 7 then str = "\t" else str = "" end local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n" end local arq = io.open(dir, "w") arq:write(base) arq:close() end function getGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "Number/Name/Tries/Catches\n\n" local str = "" for a = 1, 264 do local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].." "..str..""..number1.." / "..number2.."\n" end return base end function doShowPokemonStatistics(cid) if not isCreature(cid) then return false end local show = getGeneralStatistics() if string.len(show) > 8192 then print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.") doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.") return false end doShowTextDialog(cid, math.random(2391, 2394), show) end
  10. Opa! Precisou é só chamar amigo! Peço por gentileza que marque minha resposta como "Melhor resposta" logo ao lado do ícone Citar, para que o tópico que se de por encerrado Grande abraço!
  11. Exatamente por isso foi citado, mais de uma vez por sinal, "possíveis razões", não limitando a ser esta razão em específico.
  12. Quanto a primeira imagem, são avisos não erros, não há com o que se preocupar. Quanto a ele parar de funcionar, existem algumas possiveis razões: 1) Seu pc não aguenta rodar o tamanho do mapa 2) Seu RME está com algum problema, tente reinstala-lo. 3) Não acho que possa ser esse motivo, mas na dúvida não custa tentar, tente utilizar a versão extended : Tópico by vudi Essas são algumas possibilidades, teste ela e nos diga que bixo deu kk
  13. Calma que de poco em poco a galinha enche o papo. Apague tudo que tiver escrito (faça um backup antes) e troque por isso:
  14. Thayam postou uma resposta no tópico em Suporte Tibia OTServer
    procure na sua pasta lib pelo arquivo configuration.lua. procure por algo parecido com isso: ["Pidgeotto"] = {offense = 0.9, defense = 6, specialattack = 5, vitality = 3.5, agility = 240, exp = 250, level = 20, wildLvl = 30, type = "normal", type2 = "flying"}, Onde: Offense: quanto de atk o pokémon ganhará por level. Defense: quanto de defesa o pokémon ganhará por level. Special Attack: quanto de atk especial o pokémon ganhará por level. Vitality: quanto de vida o pokemón ganhará por level. Agility: quanto de velocidade o pokémon ganhará por level. Exp: Quanto o pokémon dará de experiência a quem matá-lo. Level: Level que será necessário para que o player utilize o pokémon. WildLevel: Level que será o pokémon selvagem. Ai é só editar de acordo com o que você achar melhor
  15. Não é necessário aqueles scripts, pode ser um conforme o Ken Kaneki falou! rsrsrs up
  16. Boa Tarde meus amigos! Adicionei algumas sprites de novos pokémons em meu servidor PDA, e os monstros funcionam perfeitamente, porém, em alguns casos a sprite não aparece, fica somente o nome do pokémon "flutuando", ele ataca normalmente, se move morre e vira o corpse de acordo com o que eu quero, somente a imagem do pokemon que não carrega (e são só algumas, umas carregam e outras não) Alguém saberia o porque? :/ Rep para todos que me ajudarem com certeza Agradeço desde já amigos! up up
  17. tente trocar isso: local levelChance = getItemAttribute(corpse, "level") * 0.02 local totalChance = math.ceil(basechance * (1.2 + levelChance)) local thisChance = math.random(0, totalChance) local myChance = math.random(0, totalChance) local chance = (1 * rate + 1) / totalChance chance = doMathDecimal(chance * 100) por isso: local levelChance = getItemAttribute(corpse, "level") * 1 local totalChance = math.ceil(basechance * (1.2 + levelChance)) local thisChance = math.random(1, totalChance) local myChance = math.random(1, totalChance) local chance = (1 * rate + 1) / totalChance chance = doMathDecimal(chance * 100)
  18. Vamo que vamo lek! Sou mais ativo na área de Poketibia, mas acompanho suas ajudas no geral, sempre prestativo e simpático, to torcendo por ti!
  19. procure no seu catch system.lua por essa linha local levelChance = getItemAttribute(corpse, "level") * 0.02 e troque por isso: local levelChance = getItemAttribute(corpse, "level") * 1 esse erro que está dando ta falando que você ta tentando multiplicar um algoritimo por um valor nulo (no caso 0.02), tente substituir esse valor por 1 (não nulo), e rode o servidor, se der erro no distro, poste aqui novamente!
  20. arrume os spoiler do erro para que possamos ajuda-lo amigo
  21. Adicione o id do portrait em items.xml, actions.xml e movements.xml, ao abrir esses arquivos você verá as id's e acredito que saberá o que fazer. Qualquer dúvida poste ai pra eu te ajudar.
  22. Pode sim sem problemas, teria como fazer isso mas ao invés de dollar ele pedir um item? exemplo diamond id 2254? up up
  23. Thayam postou uma resposta no tópico em Suporte OTServer Derivados
    Do que precisar estou as ordens. Marque minha resposta como melhor resposta para o tópico se dar como resolvido por gentileza
  24. Sim, eu utilizo o item editor para versão extended, pego os ids e adicono no items.xml além de editar o items.otb tbm, porém os pokemóns continuam não saindo da ball :/ Alguma idéia? algo que eu não esteja editando? up

Informação Importante

Confirmação de Termo