Script do NPC:
nomedonpc.xml:
<?xml version="1.0" encoding="UTF-8"?> <npc name="NPC" script="data/npc/scripts/chave.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"/> <look type="144" head="115" body="94" legs="114" feet="114" addons="3"/> <parameters> <parameter key="message_greet" value="|PLAYERNAME|, deseja obter a chave para a quest?" /> </parameters> </npc>
chave.lua:
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
if msgcontains(msg, 'yes') then
selfSay('Aqui está a chave.', cid)
item = doPlayerAddItem(cid, 2088, 1)
doItemSetAttribute(item, "uid", "1509")
talkState[talkUser] = 0
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Script do baú:
actions.xml:
<action uniqueid="1509" script="keychest.lua"/> <action uniqueid="1510" script="keychest.lua"/>
keychest.lua:
function onUse(cid, item, frompos, item2, topos)
local reward = 2160 -- ID do item de recompensa
local count = 1 -- Quantia
if item.uid == 1509 and item2.uid == 1510 then
queststatus = getPlayerStorageValue(cid,5191)
if queststatus == -1 then
doPlayerSendTextMessage(cid,19,"Sua chave foi usada e você obteve "..getItemNameById(reward)..".")
doPlayerRemoveItem(cid, item.uid, 1)
doPlayerAddItem(cid, reward, count)
setPlayerStorageValue(cid, 5191, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você não pode fazer a mesma quest duas vezes.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "O baú está trancado.")
end
return true
end
OBS: O baú deve ter o unique ID 1510.








info
Grupo: Barão
Registrado: 17/10/10
Posts: 230
Reputação: +10
Char no Tibia: Nascont
queria sabe se vcs podem min fazer 2 scripts assim EX:
um player fala Hi pro npc, ai o npc diz um msg, dps disso o player dis YES. Ai o player vai ganhar uma chave e com essa chave ele vai ter que ir em um bau e usa a chave la, e quando ele usa a chave no bau a chave vai ser removida da bp dele e ele vai ganha um item q estava dentro do bau.
valendo 2 rep por 2 dias