Ir para conteúdo
  • 0

[Resolvido] Npc Quest


leonvenigor

Pergunta

13 respostass a esta questão

Posts Recomendados

  • 0

@Subwat, reportado por flood. Não é a primeira vez que vejo tu floodando topicos dessa maneira para ganhar mais posts, sendo que qualquer um pode entender oque esse usuario quer, e mesmo depois do usuario explicar melhor você não atende seu pedido.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

@leonvenigor, o script do npc vai ficar assim:

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

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

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


}

local spellName = "Light" -- 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, 'yes') 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 a spell'.. spellName ..'.', cid)


else

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

end

end

end

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

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

  • 0

se tu diz cara, eu devo satisfação a você? acho que não neh cara.

então fica na sua...

ele não pediu level nem nada nem a spell nem nada, ta mal explicado se quer o que? vai lá se não é ninguém não.

flw

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que me confundi, no spellName poem "light healing", pra testar.

 

@XxJapanxX, com storage da pra fazer tbm, mais seria mais complicado colocar storage em todas as spells. Não é tão complicado, mais é mais complicado que colocar para receber a spell com a função doPlayerLearnInstantSpell(cid, spellName) .

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...