Olá galera!
Montei esse script para meu OTServ, e achei que poderia ser de utilidade pública, então resolvi postar aqui!
Ele funciona para quests simples, onde o player clica em um baú e recebe um item!
E você deve estar se perguntando: "Ok, todos sabem fazer uma quest, qual a vantagem?
A vantagem é: você só usará este script para TODAS as quests do seu server!
Adicione em data/actions/actions.xml:
<action actionid="5000" script="quest.lua"/>
Crie um arquivo em data/actions/scripts com o nome 'quest.lua', e adicione:
function onUse(cid, item, frompos, item2, topos)
queststatus = getPlayerStorageValue(cid, item.uid)
if queststatus == -1 or queststatus == 0 then
qitem = getContainerItem(item.uid, 0)
if getPlayerFreeCap(cid) > getItemWeight(qitem.uid) then
doPlayerSendTextMessage(cid, 22, "You have found a "..getItemName(qitem.itemid)..".")
doPlayerAddItem(cid, qitem.itemid)
setPlayerStorageValue(cid, item.uid, 1)
else
doPlayerSendTextMessage(cid, 24, "You don't have enought capacity.")
end
else
doPlayerSendTextMessage(cid, 22, "The chest is empty.")
end
return 1
end
Funciona assim:
1) Adicione no seu map editor um baú, e nas opções dele, coloque:
Action ID: 5000
Unique ID: O que você desejar, porém não pode se repetir com outra quest.
E adicione o prêmio da quest no baú. No meu caso, uma DSM.
Veja o exemplo:
O player clicará no baú e ganhará uma DSM.
A vantagem é: caso você queira fazer outra quest, baita adicionar outro baú, com Action ID 5000, Unique ID qualquer, e com o prêmio da quest dentro.
Um único script funciona para todas as quests!
Espero que gostem!
Kaul OTServ:GOD
gledsonrt