Ir para conteúdo
  • 0

Npc De Spells


leonvenigor

Pergunta

galera um cara daki feiz esse spell, funciono e talz, soh q eskeci de pedir uma coisa, pra fazer uma vez soh, e dps q falar com o npc ele falasse: vc ja feiz essa quest.

 

aki esta o script:

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

 

local itemNeed = { -- itens que precisa para completar a troca

 

{itemid = 5886, quant = 10}, -- id do item, quantidade

 

 

}

 

local spellName = "Mold Chakra!" -- nome da spell que aprendera, os nomes das spells se encontrar no arquivo spells.xml

local lvlNeed = 8 -- lvl necessario para fazer a quest.

 

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, 'trocar') then

 

selfSay('Você deseja trocar '.. itemNeed[1].quant ..''.. getItemNameById(itemNeed[1].itemid) ..', pela spell' .. spellName ..'.', cid)

talkState[talkUser] = 2

 

 

elseif talkState[talkUser] == 2 then

 

if msgcontains(msg, 'sim') then

 

if getPlayerLevel(cid) < lvlNeed then

selfSay('Você não possui level necessario.', cid)

return true

end

 

for i=1, #itemNeed do

if getPlayerItemCount(cid, itemNeed.itemid) < itemNeed.quant then

selfSay('Você não possui os item necessarios para troca.', cid)

return true

end

end

 

for i=1, #itemNeed do

doPlayerRemoveItem(cid, itemNeed.itemid, itemNeed.quant)

end

 

doPlayerLearnInstantSpell(cid, spellName)

selfSay('Você aprendeu o jutsu'.. spellName ..'.', cid)

 

 

else

 

selfSay('Você não deseja {trocar}?', cid)

 

end

 

end

 

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

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

local itemNeed = { -- itens que precisa para completar a troca

{itemid = 5886, quant = 10}, -- id do item, quantidade


}

local storage = 15000 -- Não Mecha aqui
local spellName = "Mold Chakra!" -- nome da spell que aprendera, os nomes das spells se encontrar no arquivo spells.xml
local lvlNeed = 8 -- lvl necessario para fazer a quest.

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, 'trocar') then
if getPlayerStorageValue(cid,storage) then
selfSay('Você deseja trocar '.. itemNeed[1].quant ..''.. getItemNameById(itemNeed[1].itemid) ..', pela spell' .. spellName ..'.', cid)
talkState[talkUser] = 2
else
   talkState[talkUser] = 0
   selfSay('Você ja fez essa quest', cid)
end

elseif talkState[talkUser] == 2 then

if msgcontains(msg, 'sim') then

if getPlayerLevel(cid) < lvlNeed then
selfSay('Você não possui level necessario.', cid)
return true
end

for i=1, #itemNeed do
if getPlayerItemCount(cid, itemNeed[i].itemid) < itemNeed[i].quant then
selfSay('Você não possui os item necessarios para troca.', cid)
return true
end
end

for i=1, #itemNeed do
doPlayerRemoveItem(cid, itemNeed[i].itemid, itemNeed[i].quant)
end

doPlayerLearnInstantSpell(cid, spellName)
selfSay('Você aprendeu o jutsu'.. spellName ..'.', cid)


else

selfSay('Você não deseja {trocar}?', cid)

end

end

end

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

Link para o comentário
Compartilhar em outros sites

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

local itemNeed = { -- itens que precisa para completar a troca

{itemid = 5886, quant = 10}, -- id do item, quantidade


}

local spellName = "Mold Chakra!" -- nome da spell que aprendera, os nomes das spells se encontrar no arquivo spells.xml
local lvlNeed = 8 -- lvl necessario para fazer a quest.

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, 'trocar') then

selfSay('Você deseja trocar '.. itemNeed[1].quant ..''.. getItemNameById(itemNeed[1].itemid) ..', pela spell' .. spellName ..'.', cid)
talkState[talkUser] = 2


elseif talkState[talkUser] == 2 then

if msgcontains(msg, 'sim') and getPlayerStorageValue(cid, 39483) <= 0 then

if getPlayerLevel(cid) < lvlNeed then
selfSay('Você não possui level necessario.', cid)
return true
end

for i=1, #itemNeed do
if getPlayerItemCount(cid, itemNeed[i].itemid) < itemNeed[i].quant then
selfSay('Você não possui os item necessarios para troca.', cid)
return true
end
end

for i=1, #itemNeed do
doPlayerRemoveItem(cid, itemNeed[i].itemid, itemNeed[i].quant)
end

doPlayerLearnInstantSpell(cid, spellName)
selfSay('Você aprendeu o jutsu'.. spellName ..'.', cid)
setPlayerStorageValue(cid, 39483, 1)

else

selfSay('Você não deseja {trocar}?', cid)

end

end

end

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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...