Ir para conteúdo
  • 0

Ajuda Npc catcher


Carlos7457

Pergunta

Gostaria de saber se alguém sabe colocar pra esse sistema da as recompensas em diferentes statos de Catch
Tipo ele dar a recompensa quando o player tiver 30 catcher e depois da outra quando tiver 50 outo 100 e que eu possa configurar bem mas.
Dez de ja agradeço.

 

 

http://www.xtibia.com/forum/topic/205597-npc-catcher/

Editado por Carlos Henrique PxD
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0


local catch_config = {

--[[

[catch_count] = { --[quantidade_de_catch] = {

prize_item = {

{itemid = xxx, count = xxx}, --{itemid = ID_do_item, count = quantidade}

{itemid = xxx, count = xxx}, --{itemid = ID_do_item, count = quantidade}

--etc

},

outfit = xxx --Se ganhar outfit, coloque a storage dela (de outfits.xml). Caso contrário, coloque false.

},

]]--

[30] = { --[quantidade_de_catch] = {

prize_item = {

{itemid = 11639, count = 1}, --{itemid = ID_do_item, count = quantidade}

},

outfit = false --Se ganhar outfit, coloque a storage dela (de outfits.xml). Caso contrário, coloque false.

},

[100] = { --[quantidade_de_catch] = {

prize_item = {

{itemid = 11641, count = 1}, --{itemid = ID_do_item, count = quantidade}

{itemid = 2160, count = 20}, --{itemid = ID_do_item, count = quantidade}

--etc

},

outfit = 49101 --Se ganhar outfit, coloque a storage dela (de outfits.xml). Caso contrário, coloque false.

},

}

 

local CATCH_STORAGE = 8382

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

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

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg:lower(), "mission") or msgcontains(msg:lower(), "help") then

local count, catch, need_catch = #getCatchList(cid)

for catch_count, info in pairs(catch_config) do

if getPlayerStorageValue(cid, CATCH_STORAGE + catch_count) < 1 then

if need_catch then

if catch_count < need_catch then

need_catch = catch_count

end

else

need_catch = catch_count

end

end

end

if not need_catch then

return selfSay("You have completed all my quests.")

elseif count < need_catch then

return selfSay("You need catch "..need_catch.." different pokemons to complete my next task. [Left: "..need_catch - count.." catches]")

end

catch = catch_config[need_catch]

selfSay("Congratulations, take your prizes!")

for i = 1, #catch.prize_item do

doPlayerAddItem(cid, catch.prize_item.itemid, catch.prize_item.count)

end

setPlayerStorageValue(cid, CATCH_STORAGE + need_catch, 1)

if catch.outfit then

setPlayerStorageValue(cid, catch.outfit, 1)

end

end

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

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

  • 0

Não estáo contando os catch,somente o que eu ja peguei,mais os que pego dps que adicionei o npc ela nao conta,tipo faça 2 catch,peguei 2 pokemons e mesmo assim ela continua pedindo,e deu esse erro no executavel nao sei se tenha haver

[26/08/2015 22:13:40] [Error - Npc interface] 
[26/08/2015 22:13:40] data/npc/scripts/cautch.lua:onCreatureSay
[26/08/2015 22:13:40] Description: 
[26/08/2015 22:13:40] data/npc/scripts/cautch.lua:59: attempt to index global 'info' (a nil value)
[26/08/2015 22:13:40] stack traceback:
[26/08/2015 22:13:40] 	data/npc/scripts/cautch.lua:59: in function 'callback'
[26/08/2015 22:13:40] 	data/npc/lib/npcsystem/npchandler.lua:391: in function 'onCreatureSay'
[26/08/2015 22:13:40] 	data/npc/scripts/cautch.lua:36: in function <data/npc/scripts/cautch.lua:36>
Link para o comentário
Compartilhar em outros sites

  • 0

Tem alguma coisa errada, ele esta pedindo o catch de 130 e nao pediu os anteriores.

local catch_config = {

[20] = { --[quantidade_de_catch] = {

prize_item = {

{itemid = 11639, count = 1}, --{itemid = ID_do_item, count = quantidade}

{itemid = 2160, count = 25}, --{itemid = ID_do_item, count = quantidade}

},

outfit = false --Se ganhar outfit, coloque a storage dela (de outfits.xml). Caso contrário, coloque false.

},

 

[35] = { --[quantidade_de_catch] = {

prize_item = {

{itemid = 11639, count = 1}, --{itemid = ID_do_item, count = quantidade}

{itemid = 2160, count = 10}, --{itemid = ID_do_item, count = quantidade}

},

outfit = false --Se ganhar outfit, coloque a storage dela (de outfits.xml). Caso contrário, coloque false.

},

 

[80] = { --[quantidade_de_catch] = {

prize_item = {

{itemid = 11640, count = 1}, --{itemid = ID_do_item, count = quantidade}

{itemid = 2160, count = 25}, --{itemid = ID_do_item, count = quantidade}

},

outfit = false --Se ganhar outfit, coloque a storage dela (de outfits.xml). Caso contrário, coloque false.

},

[130] = { --[quantidade_de_catch] = {

prize_item = {

{itemid = 11641, count = 1}, --{itemid = ID_do_item, count = quantidade}

{itemid = 2160, count = 50}, --{itemid = ID_do_item, count = quantidade}

--etc

},

outfit = 1413 --Se ganhar outfit, coloque a storage dela (de outfits.xml). Caso contrário, coloque false.

},

}

 

local CATCH_STORAGE = 8382

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

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

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg:lower(), "help") or msgcontains(msg:lower(), "Ajuda") then

local count, catch, need_catch = #getCatchList(cid)

for catch_count, info in pairs(catch_config) do

if getPlayerStorageValue(cid, CATCH_STORAGE + catch_count) < 1 then

need_catch = catch_count

catch = info

break

end

end

if not catch then

return selfSay("Voce concluiu todas as minhas missoes.")

elseif count < need_catch then

return selfSay("Voce precisa de cateches de "..need_catch.." pokemons diferentes para completar a minha proxima tarefa. [Left: "..need_catch - count.." catches]")

end

selfSay("Parabens, pegue seus premios!")

for i = 1, #catch.prize_item do

doPlayerAddItem(cid, catch.prize_item.itemid, catch.prize_item.count)

end

setPlayerStorageValue(cid, CATCH_STORAGE + need_catch, 1)

if catch.outfit then

setPlayerStorageValue(cid, catch.outfit, 1)

end

end

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())


02:56 Catcher: Voce precisa de cateches de 130 pokemons diferentes para completar a minha proxima tarefa. [Left: 130 catches]


Acho que deveria ter algum tipo de Storage para cada uma das missões nao?

Link para o comentário
Compartilhar em outros sites

  • 0

Mensagem do Sistema

 

Este tópico foi movido de "OTServSuporteSuporte Scripting" para "OTServSuporteSuporte ScriptingPedidos e dúvidas resolvidos - Scripting".
Sempre seja atento ao postar um tópico, verifique se está postando no lugar correto.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...