Ir para conteúdo
  • 0

[Npc] Troca De Dois Items


Adolfohrq

Pergunta

Bom Galera alguem poderia dar uma olhada nesse script que fiz? Sou muito iniciante estou aprendendo ainda a cria-los. Obrigado!

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

 

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

 

 

-- Conversa Jogador/NPC

 

if msgcontains(msg, 'Jester Hat') then

selfSay('Ok, para adquirir o Jaster Hat precisarei de 100 {Nails}, voce pode obter nos War Golem.', cid)

talkState[talkUser] = 1

 

elseif msgcontains(msg, 'Jester Staff') then

selfSay('Ok, para adquirir o Jaster Staff precisarei de 111 {Soul orb}.', cid)

talkState[talkUser] = 2

 

 

elseif (msgcontains(msg, 'nails')) and talkState[talkUser] == 1) then

if (doPlayerRemoveItem(cid, 8309, 100)

doPlayerAddItem(cid, 7957, 1 )

selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)

else

selfSay('Voce nao possui o item', cid)

end

end

 

elseif (msgcontains(msg, 'soul orb')) and talkState[talkUser] == 2) then

if (doPlayerRemoveItem(cid, 5944, 111)

doPlayerAddItem(cid, 7958, 1 )

selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)

else

selfSay('Voce nao possui o item', cid)

end

else

end

return true

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

faltou uns "then" e uma ageitadinha na estrutura de "ifs". agora acho que vai funcionar:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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


-- Conversa Jogador/NPC

if msgcontains(msg, 'Jester Hat') then
   selfSay('Ok, para adquirir o Jaster Hat precisarei de 100 {Nails}, voce pode obter nos War Golem.', cid)
   talkState[talkUser] = 1
elseif msgcontains(msg, 'Jester Staff') then
   selfSay('Ok, para adquirir o Jaster Staff precisarei de 111 {Soul orb}.', cid)
   talkState[talkUser] = 2
end
if (msgcontains(msg, 'nails')) and talkState[talkUser] == 1) then
   if (doPlayerRemoveItem(cid, 8309, 100) then
       doPlayerAddItem(cid, 7957, 1 )
       selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)
   else
       selfSay('Voce nao possui o item', cid)
   end
elseif (msgcontains(msg, 'soul orb')) and talkState[talkUser] == 2) then
   if (doPlayerRemoveItem(cid, 5944, 111) then
       doPlayerAddItem(cid, 7958, 1 )
       selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)
   else
       selfSay('Voce nao possui o item', cid)
   end
end
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

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