Jaed Le Raep
★Gaeming★
- Joined
- Sep 3, 2007
- Messages
- 1,295
- Reaction score
- 441
This is probably the most amateur way of doing this, but I added in a minimum level requirement for the daily chest so that players can't spam make new characters. All credit to Limos for the entire script, I just added in a small parameter.
Code:
local config = {
storage = 45392,
exstorage = 40822,
days = {
["Monday"] = {
{itemid = 8839, count = {1, 3}}
},
["Tuesday"] = {
{itemid = 2681, count = {1}},
{itemid = 2682, count = {1}},
{itemid = 2683, count = {1}}
},
["Wednesday"] = {
{itemid = 2674, count = {1, 10}},
{itemid = 2675, count = {1, 10}},
{itemid = 2676, count = {1, 10}},
{itemid = 2673, count = {1, 10}}
},
["Thursday"] = {
{itemid = 2679, count = {2, 15}},
{itemid = 2680, count = {1, 5}}
},
["Friday"] = {
{itemid = 2788, count = {1, 3}}
},
["Saturday"] = {
{itemid = 6393, count = {1}}
},
["Sunday"] = {
{itemid = 2389, count = {2, 12}},
{itemid = 2690, count = {1, 5}}
}
}
}
function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey)
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
if getPlayerLevel(cid) < 10 then -- Edit level requirement here
return player:sendCancelMessage("You must be level 10 in order to use this chest.")
end
local c = math.random(#x)
local info, count = ItemType(x[c].itemid), x[c].count[2] and math.random(x[c].count[1], x[c].count[2]) or x[c].count[1]
if count > 1 then
text = count .. " " .. info:getPluralName()
else
text = info:getArticle() .. " " .. info:getName()
end
local itemx = Game.createItem(x[c].itemid, 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