RevScript Daily Chest / Reward / Quest

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Hola a todos,

Este script pienso que permitiría poder crear Daily Quests, Daily Rewards y mas aun,

Permite añadirle a un cofre storage, lo que permite que se puede abrir 1 vez por dia, sincronizado con un daily access , esto permitiría crear una zona de palancas con acceso diario y loot diario distinto.
Por ejemplo si pensais en hacer un craft bastante largo y difícil, que se necesiten varios recursos raros, por ejemplo se podrían poner 2 diarios en el cofre y necesitaría unos 100 para crear el objeto, esto es un ejemplo.

Aquí tienen el script,
Encontraran las ID que cambiar y los días en el cual dará el reward.
Deberán de poner el UID ( Unique ID ) en el remeres map editor en el chest deseado.

El script basta ponerlo en data/scripts/actions,

Código:
local DailyChest = Action()

local config = {
     storage = 45392,
     exstorage = 40822,
     days = {
         ["Monday"] = {
             {itemid = 26144, count = {1, 2}}
         },
         ["Tuesday"] = {
             {itemid = 26029, count = {25, 100}},
             {itemid = 8473, count = {25, 100}},
             {itemid = 26030, count = {25, 100}}
         },
         ["Wednesday"] = {
             {itemid = 22396, count = {1, 4}},
             {itemid = 22397, count = {1}}
         },
         ["Thursday"] = {
             {itemid = 25377, count = {1, 3}}
         },
         ["Friday"] = {
             {itemid = 41008, count = {1}},
             {itemid = 41008, count = {1}},
         },
         ["Saturday"] = {
             {itemid = 18509, count = {1, 2}},
             {itemid = 18457, count = {3, 5}}
         },
         ["Sunday"] = {
             {itemid = 24774, count = {2, 5}},
             {itemid = 2160, count = {1, 5}}
         }
     }
}

function DailyChest.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
     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

DailyChest:uid(34801)
DailyChest:register()
 

Ethaanks123

Miembro
LV
7
 
Awards
6
Hola estimado me pregunto como puedo realizar un quest digamos un cofre y que al abrir el cofre de x item un ejemplo digamos un cofre que me de de quest un plate armor podria ayudarme con eso ????? no para que sea cada dia si no para que sea 1 ves y al abrirlo ya no puede obtener el botin del cofre porque ya hizo esa quest
 

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Hola estimado me pregunto como puedo realizar un quest digamos un cofre y que al abrir el cofre de x item un ejemplo digamos un cofre que me de de quest un plate armor podria ayudarme con eso ????? no para que sea cada dia si no para que sea 1 ves y al abrirlo ya no puede obtener el botin del cofre porque ya hizo esa quest
Hola,
En ese caso creas un coffre en el mapa , en donde gustes, le pones actionID 2000, eliges el item en las casillas negras y listo.
 
Arriba