Yes, the pastebin version also works on these servers.
u are greatThanks
The ones limos posted? Aint they custom sprites? hence why he posted them? o.0
if you mean the sprite, it is not custom, it got added in rl tibia in 10.2 version, and she posted only the script, that is custom since there is no free script for the reward chest in real tibia I guess, tfs is still discussing it hereThe ones limos posted? Aint they custom sprites? hence why he posted them? o.0
The ID of the chest is 21584. The plant is 19653.whats the id to that chest?
It's just an image for the script, to give a first impression or idea how this could be used.The ones limos posted? Aint they custom sprites? hence why he posted them? o.0
Tested with TFS 1.0
Every day people can get a different reward from the chest, which reward depens on which day it is.
You can add 1 or more items to 1 day. With more items people will get 1 of those items randomly so they won't always get the same item on a certain day.
It can be used in an actual quest so people can do it more often to get more rewards or be a part of something where people need certain items.
actions.xml
Code:<action uniqueid="3001" script="quests/dailyquest.lua"/>
dailyquest.lua
Code:function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey) local config = { storage = 45392, exstorage = 40822, days = { ["Monday"] = { {itemid = 8839, count = math.random(1, 3)} }, ["Tuesday"] = { {itemid = 2681, count = 1}, {itemid = 2682, count = 1}, {itemid = 2683, count = 1} }, ["Wednesday"] = { {itemid = 2674, count = math.random(1, 10)}, {itemid = 2675, count = math.random(1, 10)}, {itemid = 2676, count = math.random(1, 10)}, {itemid = 2673, count = math.random(1, 10)} }, ["Thursday"] = { {itemid = 2679, count = math.random(2, 15)}, {itemid = 2680, count = math.random(1, 5)} }, ["Friday"] = { {itemid = 2788, count = math.random(1, 3)} }, ["Saturday"] = { {itemid = 6393, count = 1} }, ["Sunday"] = { {itemid = 2389, count = math.random(2, 12)}, {itemid = 2690, count = math.random(1, 5)} } } } local player = Player(cid) local x = config.days[os.date("%A")] if player:getStorageValue(config.storage) == tonumber(os.date("%w")) and player:getStorageValue(config.exstorage) > os.time() then return player:sendCancelMessage("The chest is empty, come back tomorrow for a new reward.") end local c = math.random(#x) local info = ItemType(x[c].itemid) if x[c].count > 1 then text = x[c].count .. " " .. info:getPluralName() else text = info:getArticle() .. " " .. info:getName() end local itemx = Game.createItem(x[c].itemid, x[c].count) if player:addItemEx(itemx) ~= RETURNVALUE_NOERROR then player:getPosition():sendMagicEffect(CONST_ME_POFF) text = "You have found a reward weighing " .. itemx:getWeight() .. " oz. It is too heavy or you have not enough space." else text = "You have received " .. text .. "." player:setStorageValue(config.storage, tonumber(os.date("%w"))) player:setStorageValue(config.exstorage, os.time() + 24*60*60) end player:sendTextMessage(MESSAGE_INFO_DESCR, text) return true end
For older versions: http://pastebin.com/mZj4r7cF
I'm aware of that (I think almost everyone is ), I just did it for the math.random ofc. I had it first without math.random, then I though it would be nice if people can get different amounts, so added some math.random as example and placed it under the function. But it's a good idea, updated main post.Very cool script, but you shouldn't put the config inside the script because every time the script executes it has to run through the entire config, which is a waste of system resources. Instead, you can assign: count = {1, 3} and then do: math.random(count[1], count[2]) within the script, which also eliminates the need for so many "math.random" executions for each item.
Pretty sure you can write it yourself, so I didn't do so. But that will definitely help.
It's possible to fix so you can get a achievement after opening 50 Daily quests chests? (fml just killed my english.)Only uniqueid 3001, you can also use an other one btw, it's just as example, but there is only 1 id used, so there is no need for both uniqueid and actionid.