Ir para conteúdo

[Encerrado] [Pokemon] Dúvidas? - Pda


lucashgas

Posts Recomendados

@all

na real esquece.. ja arrumei.. alias pra quem ta com problema de player n ganhando exp ou n dando pra dar catch nos pokes.. vai em creaturescripts/script/pokeexp.lua e retire essa linha...

if not isCreature(cid) then return true end

 

@Dudu08267

ta ae mano ^^ tpw.. da pra tu editar os itens q pede.. mexendo na tabela itens e no nome dos itens q o npc pede e da pra tu modificar o premio no final da quest.. eu coloquei a box 3 pq achu q eh isso q tinhas em mente.. mas podes alterar como quiser.. e se tiver um pouco de conhecimento em scripts pode alterar mais partes tb.. ^^ fica a tua escolha.. mas concelho.. sempre q for mexer em algu nele, faça um backup... e tb eu n testei todas as funcionalidades do npc.. mas parece ta tudo certo... ;x qlqr coisa soh flar...

NPC BOX 3 +/- parecido com o do PxG...

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

 

function doBuyPokemonWithCasinoCoins(cid, poke) npcHandler:onSellpokemon(cid) end

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

 

function creatureSayCallback(cid, type, msg)

 

if(not npcHandler:isFocused(cid)) then

return false

end

 

if getPlayerStorageValue(cid, 659875) == 6 then

selfSay("You already completed my missions...", cid)

talkState[cid] = 0

return true

end

 

if msgcontains(msg, 'mission') and getPlayerStorageValue(cid, 659875) == -1 then

selfSay("You need catch atleast 30 pokemons, can you do it?", cid)

talkState[cid] = 1

 

elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[cid] == 1 and getPlayerStorageValue(cid, 659875) == -1 then

local list = getCatchList(cid)

if #list >= 30 then

selfSay("Thank you very much, let me know if you want another mission...", cid)

setPlayerStorageValue(cid, 659875, 1)

else

selfSay("You haven't caught 30 pokemons yet, come back when you do that...", cid)

talkState[cid] = 0

return true

end

 

elseif msgcontains(msg, 'mission') and getPlayerStorageValue(cid, 659875) == 1 then

selfSay("You need atleast 50 pokemons in your pokedex, can you do it?", cid)

talkState[cid] = 2

 

elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[cid] == 2 and getPlayerStorageValue(cid, 659875) == 1 then

local unlock = 0

for i = 1, #oldpokedex do

if getPlayerInfoAboutPokemon(cid, oldpokedex[1]).dex then

unlock = unlock + 1

end

end

if unlock >= 50 then

selfSay("Thank you very much, let me know if you want another mission...", cid)

setPlayerStorageValue(cid, 659875, 2)

else

selfSay("You haven't 50 pokemons in your pokedex yet, come back when you do that...", cid)

talkState[cid] = 0

return true

end

 

elseif msgcontains(msg, 'mission') and getPlayerStorageValue(cid, 659875) == 2 then

selfSay("You need have Kabuto, Kabutops, Omanyte, Omastar and Aerodactyl in your pokedex can you do it?", cid)

talkState[cid] = 3

 

elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[cid] == 3 and getPlayerStorageValue(cid, 659875) == 2 then

local poke = ""

 

for a = 1138, 1142 do

if not getPlayerInfoAboutPokemon(cid, oldpokedex[a-1000][1]).dex then

if a == 1142 then

poke = poke..oldpokedex[a-1000][1].."."

else

poke = poke..oldpokedex[a-1000][1]..", "

end

end

end

if poke == "" then

selfSay("Thank you very much, let me know if you want another mission.", cid)

setPlayerStorageValue(cid, 659875, 3)

else

selfSay("You haven't this pokes in your pokedex yet: "..poke, cid)

talkState[cid] = 0

return true

end

 

elseif msgcontains(msg, 'mission') and getPlayerStorageValue(cid, 659875) == 3 then

selfSay("You need be atleast level 60 and have level 50 of fishing, can you do it?", cid)

talkState[cid] = 4

 

elseif (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) and talkState[cid] == 4 and getPlayerStorageValue(cid, 659875) == 3 then

if getPlayerSkill(cid, 6) >= 50 and getPlayerLevel(cid) >= 60 then

selfSay("Thank you very much, let me know if you want another mission.", cid)

setPlayerStorageValue(cid, 659875, 4)

else

selfSay("You haven't level 50 of fishing or don't have level 60...", cid)

talkState[cid] = 0

return true

end

 

elseif msgcontains(msg, 'mission') and getPlayerStorageValue(cid, 659875) == 4 then

selfSay("You need 10 Future orb, 10 Trace of ghost, 10 Ice orb, 10 Gosme, 10 Pot of Lava, 10 Electric box, 10 Ruby, 10 Water pendant, 10 Belt of champion, 10 Bug venom, 10 Bug antena, can you bring it?", cid)

talkState[cid] = 5

 

elseif (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) and talkState[cid] == 5 and getPlayerStorageValue(cid, 659875) == 4 then

--id dos itens{Trace of ghost, Ice orb, Gosme, Pot of Lava, Electric box, Ruby, Water pendant, Belt of champion, Bug venom, Bug antena}

local itens = {12194, 12204, 12201, 12202, 12152, 12176, 12188, 12170, 12195, 12185, 12184}

local check = 0

for i = 1, #itens do

if getPlayerItemCount(cid, itens) >= 10 then

check = check + 1

end

end

if check == #itens then

for a = 1, #itens do

doPlayerRemoveItem(cid, itens[a], 10)

end

selfSay("Thank you very much, let me know if you want another mission.", cid)

setPlayerStorageValue(cid, 659875, 5)

else

selfSay("You don't have some item which i asked for you...", cid)

talkState[cid] = 0

return true

end

 

elseif msgcontains(msg, 'mission') and getPlayerStorageValue(cid, 659875) == 5 then

selfSay("You need atleast 140 pokemons in your pokedex, can you do it?", cid)

talkState[cid] = 6

 

elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[cid] == 6 and getPlayerStorageValue(cid, 659875) == 5 then

local unlock = 0

for i = 1, #oldpokedex do

if getPlayerInfoAboutPokemon(cid, oldpokedex[1]).dex then

unlock = unlock + 1

end

end

if unlock >= 140 then

selfSay("Thank you very much, take it as a reward...", cid)

setPlayerStorageValue(cid, 659875, 6)

doPlayerAddItem(cid, 11640, 1) --premio box 3.. altere como quiser...

else

selfSay("You haven't 140 pokemons in your pokedex yet, come back when you do that...", cid)

talkState[cid] = 0

return true

end

 

elseif (msgcontains(msg, 'no') or msgcontains(msg, 'nao')) then

selfSay("So good bye...", cid)

talkState[cid] = 0

return true

end

 

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

Aqui as vezes aparece este bug. Não sei o porque disto, se alguem souber e me informar.

 

 

 

 

[21/03/2012 20:22:47] [Error - CreatureScript Interface]

[21/03/2012 20:22:47] data/creaturescripts/scripts/look.lua:onLook

[21/03/2012 20:22:47] Description:

[21/03/2012 20:22:47] data/lib/050-function.lua:107: attempt to index local 'str' (a nil value)

[21/03/2012 20:22:47] stack traceback:

[21/03/2012 20:22:47] data/lib/050-function.lua:107: in function 'getArticle'

[21/03/2012 20:22:47] data/creaturescripts/scripts/look.lua:16: in function <data/creaturescripts/scripts/look.lua:1>

 

 

 

E sabe como posso tipo bloquear esta mensagem, me falaram que é quando o pokemon tipo nasce na parede, mais tem horas que aparecem muitos desses bugs e trava o ot, e sou obrigadoo a fecha-lo a mensgem é esta.

 

[21/03/2012 23:46:59] [Error - MoveEvent::executeStep] Call stack overflow.

 

Se tiver como tipo bloquear ela para não aparecer ou fazer com que o pokemon de respawn no sqm mais perto. Ajuda ae, garanto que ajudaram muitas pessoas.

 

E alguem ja descobriu qual é o bug do sudowoodo ?

Link para o comentário
Compartilhar em outros sites

Aqui as vezes aparece este bug. Não sei o porque disto, se alguem souber e me informar.

 

 

 

 

[21/03/2012 20:22:47] [Error - CreatureScript Interface]

[21/03/2012 20:22:47] data/creaturescripts/scripts/look.lua:onLook

[21/03/2012 20:22:47] Description:

[21/03/2012 20:22:47] data/lib/050-function.lua:107: attempt to index local 'str' (a nil value)

[21/03/2012 20:22:47] stack traceback:

[21/03/2012 20:22:47] data/lib/050-function.lua:107: in function 'getArticle'

[21/03/2012 20:22:47] data/creaturescripts/scripts/look.lua:16: in function <data/creaturescripts/scripts/look.lua:1>

 

 

 

E sabe como posso tipo bloquear esta mensagem, me falaram que é quando o pokemon tipo nasce na parede, mais tem horas que aparecem muitos desses bugs e trava o ot, e sou obrigadoo a fecha-lo a mensgem é esta.

 

[21/03/2012 23:46:59] [Error - MoveEvent::executeStep] Call stack overflow.

 

Se tiver como tipo bloquear ela para não aparecer ou fazer com que o pokemon de respawn no sqm mais perto. Ajuda ae, garanto que ajudaram muitas pessoas.

 

E alguem ja descobriu qual é o bug do sudowoodo ?

Cara esse call stack overflow é so tu diminuir os respaws do teu map pois se tem bixo nascendo em parede e na agua esse erro vai sempre acontecer.Eu acho que tinha um movements que alguem postou sobre somente o haunter gastly gengar os shinys deles poderem passar pela parede, de uma procurada.

Alguem tem uma pista de como arrumar o Gentleman outfit?

Só baixar um servidor que você consiga pegar o .dat e o .spr abrir com o dat editor e exportar para o desktop a outfit.idc depois só abrir o seu client com o dat editor e importar a outfit que esta no desktop.

Link para o comentário
Compartilhar em outros sites

Slicer n testei ainda mas vlw vou dar rep + era isso exatamente oq eu qria tipo box 3 do padventures e se eu lembrar amanha e dps de amanha do + rep

Editado por Dudu08267
Link para o comentário
Compartilhar em outros sites

ok slicer.

slicer tem algum lugar pra configura os pokes q precisam ser capturados?? pq eu tenho 30 pokes catch e ta dando isso:

 

errorxl.png

 

alguem ai sabe como faz pra da quando capturar tal pokémon de somente 1 de catch(se for capturar dnv n + de 1 catch skill)(ou se capturar 2 pokes e como se vc tivesse capturado somente 1 o outro n aparece no catch skill)???.

Link para o comentário
Compartilhar em outros sites

@Dudu08267

oia mano como tu ms flo.. o numero 30 ali eh a soul do player.. e isso aumenta por da caught em qlqr poke n importando se tu ja tinha dado catch nele ou n... pq o sistema pede q tu tenha 30 caughts diferentes.. tem certeza q tens 30 caughts diferentes? ou tens caughts de pokes iguais? ... eu testei essa parte e tava 100% com caughts diferentes.. ;x

 

e sobre como arruma esse "problema" da soul... vai no lib/catch system.lua e ache essa linha..

doPlayerAddSoul(cid, 1)

 

e troque essa linha por isso...

local list = getCatchList(cid)
   if not isInArray(list, poke) then
   doPlayerAddSoul(cid, 1)
   end

 

achu q isso deve resolver.. so lembrando q eh bom exclui todos os chares antigos q tenham catch.. pq se n vao ficar errados a soul ali... ;p

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...