Ir para conteúdo

matheusmoura97

Membro
  • Registro em

  • Última visita

  1. Tipo de Script: actions Estou começando agora a investir num poketibia, estou utiliziando a base do pokemon imperium... Nessa base venho arrumando alguns bugs e etc que vem me aparecendo, mais estou garrado neste problema... ja fiz alguns topicos aki pedindo ajuda porque o pokemon nao ia pro dp (No Town)... depois de muita procura, vim em um topico que falavam pra deixar todos os DP's de todas as cidades registradas como dp de saffron para resolver o problema, e realmente funcionou. o pokemon quando capturado aparece no dp agora... só que aparece MORTO e SEMPRE NA NORMAL BALL... alguem pode me ajudar com isso? obg vou estar deixando o Catch.lua da actions e o Catch System.lua da lib ae.. -----------------------------------------------------Catch.lua----------------------------------------------------- local ballcatch = { --id normal, id da ball shiy [2394] = {cr = 2, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"}, --alterado v1.9 \/ [2391] = {cr = 4, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"}, [2393] = {cr = 6, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"}, [2392] = {cr = 10, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"}, [13248] = {cr = 9999, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "Premium"}, [12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"}, } function onUse(cid, item, frompos, item3, topos) local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") end local name = string.lower(getItemNameById(item2.itemid)) --alterado v1.9 \/ name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") name = doCorrectPokemonName(name) local x = pokecatches[name] local storage = newpokedex[name].stoCatch --alterado v1.9 \/ if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0;") end if not x then return true end local owner = getItemAttribute(item2.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.") return true end local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9 local typeee = ballcatch[item.itemid].typeee local restrictions = {"Moltres", "Articuno", "Zapdos", "Mew", "Mewtwo", "Entei", "Raikou", "Suicune", "Lugia", "Ho-oh", "Darkrai",} if isInArray(restrictions, name) then return doPlayerSendTextMessage(cid, 26, "Este pokemon é lendário! Não pode ser capturado.") end local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = ballcatch[item.itemid].on catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) local d = getDistanceBetween(getThingPos(cid), topos) if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v1.9 setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...") end addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end -----------------------------------------------------Catch System.lua----------------------------------------------------- local topquest = 1 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}, } 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 = (.-);" local t2 = "" for n, g, s, u, s2 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)..";" 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 = (.-);" local msg = {} table.insert(msg, "You have wasted: ") for n, g, s, u 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 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 = 15 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 = 2 * 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) local quero_esses = {4,3} if rate >= totalChance then local status = {} status.gender = quero_esses[math.random(1, #quero_esses)] status.happy = 160 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 quero_esses = {4,3} local status = {} status.gender = quero_esses[math.random(1, #quero_esses)] status.happy = 70 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 quero_esses = {4,3} if poke == "Porygon" or poke == "Metagross" or poke == "Porygon2" or poke == "Metang" or poke == "Beldum" or poke == "Shiny Metagross" or poke == "Solrock" then gender = 1 else gender = quero_esses[math.random(1, #quero_esses)] end local happy = 250 --alterado v1.9 \/ if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then if ballid == 11826 then item = doCreateItemEx(11828) else item = doCreateItemEx(ballid-1) end 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, "exp", 0) doItemSetAttribute(item, "level", 1) doItemSetAttribute(item, "fakedesc", description) doItemSetAttribute(item, "description", description) if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then doItemSetAttribute(item, "hands", 0) end ----------- 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') end ------------------------------------------- --alterado v1.9 \/ if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then doPlayerSendMailByName(getCreatureName(cid), item, 1) doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!") doPlayerSendTextMessage(cid, 27, "Como voce ja ests segurando seis pokemons, este pokeball foi enviado para o seu deposito.") else addTopQuest(cid, topquest) doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!") end local storage = newpokedex[poke].stoCatch sendBrokesMsg(cid, storage, typeee) setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 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 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 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) 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, 1251 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 getGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "Number/Name/Tries/Catches\n\n" local str = "" for a = 1, 251 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
  2. Alguem Poderia Por Gentileza, me explicar como funciona o sistema de catch. na base que estou utilizando, os pokemons capturados nao vao para o dp... oq pode estar acontecendo, e como proceder? alguma dica...? obg!
  3. Alguem Pode Me Disponibilizar Uma Sprite Do Shiny Gloom Por Favor... Se Alguem Tiver Um Pack Com Varias Sprites De Tipos Diferentes Tbm, não é uma necessidade. apenas um luxo kk, a sprite do sh gloom ta de bom tamanho pra mim... OBG
  4. A todos que precisarem de ajuda nesse caso, que estejam com o mesmo problema. a solução pra mim foi extender o programa... criei um topico aqui, caso precisem. está no meu perfil... obg
  5. Bom, Em Primeiro Lugar Eu Tive Problemas Com O Remere's, e até mesmo criei um tópico aqui no TK pra tentar resolver, e não achei a solução. com muitos testes, acabei descobrindo que eu precisava aplicar a extenção do remere's e funcionou..... consequentimente achei a solução para meu problema, procurei um pouco se achava este mesmo tutorial funcionando aqui, e não encontrei... então resolvi aplicar essa solução para o pessoal aqui do TK... caso aja este mesmo tutorial no TK, ou esteja postando no local errado. me perdoem... Podem Mover/Excluir, não tenho pretenção de obter mérito com este tópico. Este tutorial não é meu, apenas estou repostando algo que achei em outro site, e pode ajudar o pessoal daqui... obg OBS: achei sim tutorial de como fazer, só que os links estavam quebrados, ou downloads foram removidos e etc... ~~Então Vamos lá~~ -Reemere's Map Editor (Versão cliente extendido)- Suporta Versão: 7.6 - 10.37 Features: * Suporte para extended clients. * Support for transparency (Menu File > Preferences > Client Version) Visual C++ Redistributable Packages (Required installation) GitHub Instalando: Basta baixar a versão normal do Remere's Map Editor no Site do Remeres e instalar em seu computador. Depois Baixa a versão que postei pra download. Terceiro Extraia a versão que postei pra download na pasta aonde o Remere's Map Editor foi instalado. Substitui todos os arquivos quando pedir , sempre clicando em subistituir , Sim , Ok. Abre o Remere's Map Editor e vai em Menu File > Preferences > Cliente Version , Clique em Extended e Selecione a pasta do cliente do pokemon ou que você deseja. Basta Fechar o Remere's Map Editor e abrir novamente e selecionar o mapa que deseja editar. Obs: Os clientes regulares não apoiará dados com transparência e / ou opção Extended. Extended Download By Senhor : DOWNLOAD Scan : Clique aqui Créditos : Hjnilsson (RME) MartyX - Ajudou a compilar Comedinha EdMignari Pessoal do TPForums
  6. Olá amigos, Gostaria que da ajuda de vcs mais 1 vez rss, estou testando uma base poketibia. gostei muito da base e etc. só tem um problema que eu gostaria de resolver mas n sei como posso fazer isso e gostaria que me ajudassem. o servidor nao permite trocar/vender/jogar fora e etc, o pokemon inicial. pq esta como pokemon unique, gostaria de saber se vcs podem me ajudar a resolver este problema. desde ja agradeço... REP++
  7. sim brow, fiz isso. e testei diferentes otbm... como eu disse, eu ja estava usando a dias e dias normal. começou isso do nada :4
  8. olá, bom. gostaria de saber se alguem sabe resolver esse problema, meu remeres ta bugando que eu inicio. fica dando problema na dat... ja testei em diferentes arquivos dat. o e problema sempre continua... quando nao da esse erro, fala que nao consegue ler o arquivo "item.otbm".... ja reinstalei o remeres pra ver se resolvia e nada. obg: tudo estava funcionando normal. isso começou do nada.... Segue Abaixo Uma Print Do Problema:
  9. Realmente uma base muito foda, porém muito completa. procuro com apenas os sistemas basicos e system lvl do pokemon. acho mas interessante assim. de qlqer forma REP++ VLW
  10. matheusmoura97 reagiu a uma resposta no tópico: Base PokeTibia
  11. Boa Noite a todos, Gostaria de saber se alguem conhece uma base poketibia, com pelo ao menos boa parte dos pokemons até a 4 geração. uma base que eu consiga editar tranquilamente a exp, catch entre outros sem muitos problemas. e tambem, com as sources.. Obg cla. REP++ OBS: Fiquei em duvida a respeito do local correto do post, caso esteja errado. peço desculpas!
  12. Olá, Td Bom? Espero que sim, gostaria de pedir ajuda com o sistema de preço das casas.. alguem que possa me orientar como deixar elas mais caras? obg Estou Usando Base PokeDash
  13. Base: PokeDash 1.0 Boa Tarde Familia TK, Gostaria de obter uma indicação de profissional em C++. É para projeto sério, de preferencia pessoa bem reputada pelo seu trabalho. Valor a negociar, e pago por trabalho, nao por hora! Obrigado. Meu Trabalho: PokeMania OT (Em Desenvolvimento) Meu Contato: Whats= +15614524940 Email= [email protected]
  14. ja testei isso brother, mais o server nem inicia infelismente...
  15. poderia fornecer uma visao mais ampla da tela por favor, gostaria de ler oque esta no iniciador do server

Informação Importante

Confirmação de Termo