...
info
Grupo: Cavaleiro
Registrado: 19/09/07
Posts: 196
Reputação: +42
Char no Tibia: Programadorfp

info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

kk nem tinha visto seu tópico
deixa eu ver se entendi,você entrega 3 itens diferentes para o npc e depois você escolhe quais dos items pegar?
pode fazer mais que uma vez?
info
Grupo: Campones
Registrado: 10/12/10
Posts: 38
Reputação: 0
Char no Tibia: kitten lady

Acho Que Foi Isso Que Eu Entendi
Ele Pega A Missao Com O Npc Ele Vai Busca Os Itens
E Quando Entregar Ele Ganha Outro Item Como Recompensa
Foi Isso Mesmo Que Eu Entendi Murilo ?
Ta Ai Gostei Da Ideia
Editado Abril 17 por melocom
info
Grupo: Artesão
Registrado: 03/12/11
Posts: 137
Reputação: +5
Char no Tibia: Surionz

Fiz um script aqui rapidão pra voçê, não testei mas não deve ter bugs.
Procure pelo arquivo .lua do seu npc na pasta NPC/scripts, e substitua por:
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()
function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local storage = Ax
local itemrec = Bx
local item1 = Cx
local item2 = Dx
local item3 = Ex
if (getPlayerStorageValue(cid, storage) < 1) then
if(msgcontains(msg, 'mission') or msgcontains(msg, 'quest')) then
talkState[talkUser] = 1
npcHandler:say("Você me trouxe os 3 items que eu te pedi?", cid)
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
talkState[talkUser] = 0
if(doPlayerRemoveItem(cid,item1,1) == TRUE and doPlayerRemoveItem(cid,item2,1) == TRUE and doPlayerRemoveItem(cid,item3,1) == TRUE )
setPlayerStorageValue(cid, storage,1)
doPlayerAddItem(cid,itemrec, 1)
npcHandler:say("Obrigado e aqui está sua recompensa por me ajudar!", cid)
else
npcHandler:say("Você não tem os items necessarios", cid)
end
elseif (getPlayerStorageValue(cid, storage) >= 1) then
if(msgcontains(msg, 'mission') or msgcontains(msg, 'quest')) then
npcHandler:say("Você ja me ajudou nessa quest =/", cid)
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Ax = escolha sua storage, não pus nenhuma pois você já poderia estar usando ela.
Bx = ID do item que o player vai ganhar como recompensa.
Cx,Dx,Ex = ID's dos items que o player tem que entregar ao NPC.
PS: Esse código tem como ser muito otimizado, fiz meio com pressa porque vou dormir, testa ai se funcionar bem, se não posta de novo, que nos arrumamos.
Editado Abril 17 por Sofft




info
Grupo: Cavaleiro
Registrado: 19/09/07
Posts: 196
Reputação: +42
Char no Tibia: Programadorfp
Boa Tarde galera,
estou precisando de um Script para um npc que faça missões.
Por exemplo:
Entro 3 itens diferentes para o Npc, e por recompensa ele me entrega um item escolhido por mim...
Por favor me ajudem... Obg :heart: !
FELIZ DIA DAS CRIANÇAS ;D