Vá em data/npc e crie um arquivo chamado Recompensa.xml e coloque o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Recompensa" script="data/npc/scripts/recompensa.lua" walkinterval="2000" floorchange="0" access="5" lookdir="1" >
<health now="150" max="150"/>
<look type="128" head="114" body="60" legs="78" feet="115" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|! Voce ja pegou sua {recompensa}?"/>
<parameter key="message_alreadyfocused" value="Voce ja esta falando comigo."/>
<parameter key="message_farewell" value="Ate logo amigo."/>
</parameters>
</npc>
Agora vá em data/npc/scripts e crie um arquivo chamado recompensa.lua e coloque o seguinte conteúdo:
local config = {
storage = 9900, -- STORAGE
magias = {"Berserk", "Hell's Core", "Rage of the Skies", "Strong Ice Wave", "Wrath of Nature"} -- MAGIAS
}
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 creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if not npcHandler:isFocused(cid) then
return false
end
if msgcontains(msg, "recompensa") then
if getPlayerStorageValue(cid, config.storage) > 0 then
selfSay('Voce ja pegou sua recompensa', cid)
return true
end
selfSay("Voce esta pronto para pegar sua recompensa ?", cid)
talkState[talkUser] = 1
elseif (msgcontains(msg, "sim") or msgcontains(msg, "yes")) and talkState[talkUser] == 1 then
local rand = math.random(1, #config.magias)
doPlayerLearnInstantSpell(cid, config.magias[rand])
setPlayerStorageValue(cid, config.storage, 1)
talkState[talkUser] = 0
end
return true
end
function onThink() npcHandler:onThink() end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())




info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril
Bom, gostaria primeiramente de pedir uma ajuda, gostaria de por esse npc aqui para dar uma recompensa ou seja uma magia, mas não sei como fazer isso, alguém pode me explicar? uso 8.54 tfs
Obs; quero que seja por math.random por que terá chance de dar magias aleatórias, se possivel também, queria que colocassem para esse npc só dar essa recompensa se você tiver tal storage, e quando der a recompensa o player perdia a storage e não podia fazer mais a quest novamente.
Desde já grato pela atenção.