Ir para conteúdo

Sistema de Reward


Mudrock

Posts Recomendados

Script feito para TFS 1.x



Esse script foi feito para ajudar os mappers a fazerem quests sem precisar saber scriptwriting. Basta criar um bau, por actionid 15000 e um uniqueid que não coincida com outras storages usadas. Dentro do baú é só por quantos itens quiser.


Em data/actions/scripts crie um script chamado reward_system.lua e cole o seguinte código:








function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local chest = Container(item.uid)

if not chest then
return true
end

local uniqueid = chest:getUniqueId()
if player:getStorageValue(uniqueid) == -2 then
player:sendTextMessage(MESSAGE_INFO_DESCR, "It is empty.")
return true
end

local size = chest:getSize()
local reward = nil

local start = player:getStorageValue(uniqueid) == -1 and 0 or player:getStorageValue(uniqueid)

for i = start, size do
reward = chest:getItem(i)
if not reward then
break
end

if reward:getWeight() > player:getFreeCapacity() then
player:sendTextMessage(MESSAGE_INFO_DESCR, 'You have found a ' .. reward:getName() .. ' weighing ' .. reward:getWeight()/100 .. ' oz it\'s too heavy.')
player:setStorageValue(uniqueid, i)
break
else
local reward_container = Container(reward:getUniqueId())
if reward_container then
reward_container = reward_container:clone()
reward_container:moveTo(player)
else
player:addItem(reward:getId(), 1)
end
local reward_msg = reward:getArticle() .. ' ' .. reward:getName()
if reward:getCount() > 1 then
reward_msg = reward:getCount() .. ' ' .. reward:getPluralName()
end

player:sendTextMessage(MESSAGE_INFO_DESCR, 'You have found ' .. reward_msg .. '.')

player:setStorageValue(uniqueid, -2)
end
end

return true
end




E em actions.xml cole a seguinte tag:




<!-- Reward System -->
<action actionid="15000" script="reward_system.lua"/>

E pronto.



Créditos Elwym


Link para o comentário
Compartilhar em outros sites

Obrigado, estou elaborando alguns tutoriais para essa semana, assim que chegar em casa vou finalizar alguns e mandar para o fórum

ando meio corrido, mas mesmo assim obrigado daniel :D.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...