zipter98 1101 Postado Agosto 8, 2015 Share Postado Agosto 8, 2015 (editado) Sinceramente, não sei qual a área mais adequada para um complemento a um sistema, mas w/e. Este complemento é designado a possibilidade de uso da PokéDex em corpses de pokémons, podendo obter suas informações. Sim, simples assim. data/actions/scripts, pokedex.lua: Troque: if not isCreature(item2.uid) then return true end por: if not isCreature(item2.uid) then local name = getItemNameById(item2.itemid) if name:find("fainted") then name = doCorrectPokemonName(name:gsub("fainted ", "")) if not getPlayerInfoAboutPokemon(cid, name).dex then local exp = newpokedex[name].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..name.." and received "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) doAddPokemonInDexList(cid, name) else doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) end end return true end Testado em PDA v1.9, por Slicer. Editado Agosto 9, 2015 por zipter98 Holograma reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
Strogman 85 Postado Agosto 8, 2015 Share Postado Agosto 8, 2015 boa ideia bem inovador e util as vezes você tá em uma hunt forte e quer da dex mais não consegue pq se der pode acabar morrendo etc Link para o comentário Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Agosto 8, 2015 Share Postado Agosto 8, 2015 Bem,eu testei aqui e quando dou dex no corpo nao acontece nada,somente no pokemon como sempre era Meu Pokedex.lua do actions. local rate = 50 function onUse(cid, item, fromPos, item2, toPos) if not isCreature(item2.uid) then local name = getItemNameById(item2.itemid) if name:find("fainted") then name = doCorrectPokemonName(name:gsub("fainted ", "")) if not getPlayerInfoAboutPokemon(cid, name).dex then local exp = newpokedex[name].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..name.." and received "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) doAddPokemonInDexList(cid, name) else doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8).uid) end end return true end local poke = getCreatureName(item2.uid) if isMonster(item2.uid) then local this = newpokedex[getCreatureName(item2.uid)] local myball = 0 if isSummon(item2.uid) then myball = getPlayerSlotItem(getCreatureMaster(item2.uid), 8) end if isOutlanderPokemon(getCreatureName(item2.uid)) then return false end if pokes[poke].dex then if getPlayerStorageValue(cid, pokes[poke].dex) <= 0 then exp = pokes[poke].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) setPlayerStorageValue(cid, pokes[poke].dex, 1) doShowPokedexRegistration(cid, item2, myball) return true else doShowPokedexRegistration(cid, item2, myball) return true end end doShowPokedexRegistration(cid, item2, myball) return true end if not isPlayer(item2.uid) then return true end local kanto = 0 local johto = 0 local other = 0 for i = 1, #oldpokedex do if i <= 151 then kanto = kanto+1 elseif i <= 251 and i > 151 then johto = johto+1 elseif i >= 252 then other = other+1 end end --alterado v1.6 local player = getRecorderPlayer(toPos, cid) if cid == player then doPlayerSendTextMessage(cid, 27, "You has unlocked "..kanto.." kanto's and "..johto.." johto's and "..other.." other's pokémons until now.") doPlayerSetVocation(cid, 9) --alterado v1.6 openChannelDialog(cid) end return true end Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Agosto 8, 2015 Autor Share Postado Agosto 8, 2015 (editado) Aparentemente a versão do PDA que você usa não é a mesma que a minha. Tente assim: local rate = 50 function onUse(cid, item, fromPos, item2, toPos) if not isCreature(item2.uid) then local name = getItemNameById(item2.itemid) if name:find("fainted") then name = doCorrectPokemonName(name:gsub("fainted ", "")) if isOutlanderPokemon(getCreatureName(item2.uid)) then return false end if pokes[poke].dex then if getPlayerStorageValue(cid, pokes[poke].dex) <= 0 then local exp = pokes[poke].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) setPlayerStorageValue(cid, pokes[poke].dex, 1) doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) else doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) end end end return true end local poke = getCreatureName(item2.uid) if isMonster(item2.uid) then local this = newpokedex[getCreatureName(item2.uid)] local myball = 0 if isSummon(item2.uid) then myball = getPlayerSlotItem(getCreatureMaster(item2.uid), 8) end if isOutlanderPokemon(getCreatureName(item2.uid)) then return false end if pokes[poke].dex then if getPlayerStorageValue(cid, pokes[poke].dex) <= 0 then exp = pokes[poke].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) setPlayerStorageValue(cid, pokes[poke].dex, 1) doShowPokedexRegistration(cid, item2, myball) return true else doShowPokedexRegistration(cid, item2, myball) return true end end doShowPokedexRegistration(cid, item2, myball) return true end if not isPlayer(item2.uid) then return true end local kanto = 0 local johto = 0 local other = 0 for i = 1, #oldpokedex do if i <= 151 then kanto = kanto+1 elseif i <= 251 and i > 151 then johto = johto+1 elseif i >= 252 then other = other+1 end end --alterado v1.6 local player = getRecorderPlayer(toPos, cid) if cid == player then doPlayerSendTextMessage(cid, 27, "You has unlocked "..kanto.." kanto's and "..johto.." johto's and "..other.." other's pokémons until now.") doPlayerSetVocation(cid, 9) --alterado v1.6 openChannelDialog(cid) end return true end Se der algum erro na distro, por favor, avise. Editado Agosto 9, 2015 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Agosto 8, 2015 Share Postado Agosto 8, 2015 Bem,troquei pelo seu e continua o problema,ao dar dex em pokes morto,nao acontece nada,e tmb nao aparece nenhum erro '-' Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Agosto 9, 2015 Autor Share Postado Agosto 9, 2015 (editado) Saberia dizer se as corpses dos pokémons do seu servidor são "defeated pokemon_name" ou "fainted pokemon_name"? Eu não pretendia adaptar o código para outras bases diferentes da que usei, mas vou abrir uma exceção. Editado Agosto 9, 2015 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Agosto 9, 2015 Share Postado Agosto 9, 2015 Bem,eles sao Fainted charmander <um exemplo @up? Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Agosto 9, 2015 Autor Share Postado Agosto 9, 2015 (editado) Troque: if not isCreature(item2.uid) then local name = getItemNameById(item2.itemid) if name:find("fainted") then name = doCorrectPokemonName(name:gsub("fainted ", "")) if isOutlanderPokemon(getCreatureName(item2.uid)) then return false end if pokes[poke].dex then if getPlayerStorageValue(cid, pokes[poke].dex) <= 0 then local exp = pokes[poke].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) setPlayerStorageValue(cid, pokes[poke].dex, 1) doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) else doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) end end end return true end por: if not isCreature(item2.uid) then print("Usou em item.") local name = getItemNameById(item2.itemid) print("Nome do item: "..name) if name:find("fainted") then name = doCorrectPokemonName(name:gsub("fainted ", "")) print("Nome do pokemon: "..name) if isOutlanderPokemon(getCreatureName(item2.uid)) then return false end if pokes[poke].dex then print("Esta na tabela.") if getPlayerStorageValue(cid, pokes[poke].dex) <= 0 then local exp = pokes[poke].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) setPlayerStorageValue(cid, pokes[poke].dex, 1) doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) else doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) end end end return true end E informe o que for imprimido no console. Editado Agosto 9, 2015 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Agosto 9, 2015 Share Postado Agosto 9, 2015 ando dou dex nos pokes mortos aparece isso agora [09/08/2015 20:15:04] Usou em item.[09/08/2015 20:15:04] Nome do item: asphalt na distro!!! Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Agosto 9, 2015 Autor Share Postado Agosto 9, 2015 Cara, você não está usando a PokéDex numa corpse. Está usando no asfalto. Link para o comentário Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Agosto 9, 2015 Share Postado Agosto 9, 2015 Usei no corpo.porem aparece como se o corpo tivesse invisível e da dez em baixo do corpo testei em vários corpos se poke Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Agosto 10, 2015 Autor Share Postado Agosto 10, 2015 O problema está nas corpses, não no sistema. Link para o comentário Compartilhar em outros sites More sharing options...
Rumplestiltiskin 0 Postado Setembro 8, 2015 Share Postado Setembro 8, 2015 (editado) Zipter, posso te fazer um pedido ? Eu ficaria muito agradecido se começasse a desenvolver sistemas para a base PokéCyan, afinal, creio que seja a mais utilizada...Por favor ! Vlw Editado Setembro 8, 2015 por Rumplestiltiskin Link para o comentário Compartilhar em outros sites More sharing options...
Loouis 8 Postado Março 17, 2016 Share Postado Março 17, 2016 O problema está nas corpses, não no sistema. Tbm adoraria alguns sistemas para a base cyan Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados