[Action] Random Chest

Vodkart
em Actions e Talkactions

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

Versão Testada: 8.54+

 

Autor: Vodkart

 

Explicação:

é uma chest que poderá vir diversos items randomicamente,e ela poderá ser aberta entre alguns intervalos de tempo(ex: cada 30 minutos).

Você poderá decidir se vai precisar ter uma vocação para abrir está chest e decidir tbm se precisará de level...

 

-------------------------------------//-------------------------------------

 

Vamos ao Script.

 

data/actions/script crie um arquivo.lua e renomeie para

 

Randomchest.lua

--[[ Script By Vodkart]]--
function onUse(cid, item, fromPosition, itemEx, toPosition)

local config = {
Need_level = true, -- se irá precisar ter level [[false/true]]
Need_Voc = true -- se ira precisar ter voc [[false/true]]
}

       local c = {
               [8091] = { -- unique id da chest
                      s = 11128, -- storage
                      level = 500, -- level minimo
                      vocations = {1,2,3,4}, -- vocation da chest
                      voc_fail = "Somente char com primeira promotion abrem este bau", -- msg caso ele nao tiver as voc
                      time = 60, -- tempo em minutos para voltar a abrir a chest
                      receber_item = 5, -- tempo em segundos em que ele ganha o item dps de abrir a chest
                      msg = "Você acaba de receber sua Recompensa!", -- msg que vai aparecer dps que ele ganha o item
                      effect = 28, -- efeito que vai aparecer ao abrir a chest
                      item = { {2160, 1},{2152, 25},{2148, 50} } -- items sortiados(pode adicionar mais)
               },
               [8092] = { -- unique id da chest
                      s = 11128, -- storage
                      level = 500, -- level minimo
                      vocations = {5,6,7,8}, -- vocation da chest
                      voc_fail = "Somente char com segunda promotion abrem este bau", -- msg caso ele nao tiver as voc
                      time = 60, -- tempo em minutos para voltar a abrir a chest
                      receber_item = 5, -- tempo em segundos em que ele ganha o item dps de abrir a chest
                      msg = "Você acaba de receber sua Recompensa!", -- msg que vai aparecer dps que ele ganha o item
                      effect = 29, -- efeito que vai aparecer ao abrir a chest
                      item = { {2160, 5},{2152, 50},{2148, 100} } -- items sortiados(pode adicionar mais)
               }
       }



e = c[item.uid] 
if config.Need_Voc == true and not isInArray(e.vocations, getPlayerVocation(cid)) then 
doPlayerSendCancel(cid, e.voc_fail) 
elseif config.Need_level == true and getPlayerLevel(cid) < e.level then 
doPlayerSendCancel(cid, "Você deve ter pelo menos level ".. e.level .." para abrir a Chest.") 
elseif getPlayerStorageValue(cid, e.s) <= os.time() then  
r = math.random(1, #e.item) 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você receberá seu prêmio em " .. e.receber_item .. " segundos.") 
addEvent(doPlayerAddItem, e.receber_item * 1000, cid, e.item[r][1], e.item[r][2]) 
addEvent(doPlayerSendTextMessage, e.receber_item * 1000, cid, MESSAGE_STATUS_CONSOLE_BLUE, e.msg) 
addEvent(doSendMagicEffect, e.receber_item * 1000, getCreaturePosition(cid), e.effect) 
setPlayerStorageValue(cid, e.s, os.time()+e.time*60) 
else 
minutos = math.floor((getPlayerStorageValue(cid,e.s) - os.time())/(60)) 
doPlayerSendCancel(cid, "Você deve esperar ".. (minutos < 0 and 0 or minutos) .." minutos para voltar a abrir o Bau.")
end 
return TRUE 
end

 

em actions.xml adicione a tag:

 

<action uniqueid="8091;8092" script="Randomchest.lua"/>

bossisg.png

miter

Scripter - XTibia.com
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 28/07/07Posts: 174

Otimo Script, nego!

Parabéns

XTibia, a sua comunidade de Tibia e OTServ.

Tibia s not 3D, Tibia is... xD!





.

tinfer3

Normaly they are the same.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/04/11Posts: 34

ótimo para quests!

The Joker



Eu não quero fazer o que eu posso,eu posso fazer o que eu quero.

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

dei uma revisada,estarei fazendo mais update

bossisg.png

Lordedosots

m
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 18/07/11Posts: 145Char no Tibia: LordeFmorte

muito bom ótimo rep+

 

cara sei q tei uma aria para Pedidos de Scripts + mada melhor do quer pedi au melhor q e você Vodkart ver se da para vu m ajudar

http://www.xtibia.com/forum/topic/179583-so-um-pedido-de-scripts/

 

rep+ com sertesa

a morte e só uma questão de tempo

esto procurando gente para fazer um ot fale com eu e vamos fazer o melhor ot de todos os tem pós

HellCommander

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/10/12Posts: 32Char no Tibia: HellCommander

bom script. ;D

Lendreo

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/07/12Posts: 298Char no Tibia: Lendreo

Tópico revivido, seu comentário é considerado como flood. Reportado

caotic

Afinal de contas,sou um mordomo e tanto
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 04/03/11Posts: 1599Char no Tibia: No Have

HellCommander cuidado este tipo de post e considerado flood,

Fica a mensagem na próxima vez e alerta

HellCommander

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/10/12Posts: 32Char no Tibia: HellCommander

Okay, desculpe, não sabia, que este tipo de coments, erá considerado como flood.

Bom, aproveitando, Vod, você não poderia fazer esta mesma '' Ideia '' de chest, porém fazer com que cada player, só poderá abrir a chest, uma vez? tipo, como se fosse uma '' Quest ''. porém os items seriam Random. deste mesmo jeito. só que o player só poderá abrir 1x. ( Cada player. )

 

Obrigado. pela atenção.

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino
--[[ Script By Vodkart]]--
function onUse(cid, item, fromPosition, itemEx, toPosition)
       local c = {
               [8091] = { -- unique id da chest
                      storage = 11128, -- storage
                      level = 250, -- level minimo
                      item = {{2160,1},{2152,25},{2148,50}} -- items sortiados(pode adicionar mais)
               },
               [8092] = { -- unique id da chest
                      storage = 11129, -- storage
                      level = 500, -- level minimo
                      item = {{2160,1},{2152,25},{2148,50}} -- items sortiados(pode adicionar mais)
               }
       }
local e = c[item.uid] 
if getPlayerLevel(cid) < e.level then 
return doPlayerSendCancel(cid, "Você deve ter pelo menos level ".. e.level .." para abrir a Chest.") 
elseif getPlayerStorageValue(cid, e.storage) ~= -1 then
return doPlayerSendCancel(cid, "você já abriu está Chest.") 
end  
local rand = math.random(1, #e.item)
local itemid,amount = e.item[r][2],e.item[r][1]  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parabéns, você rebeceu "..amount.." " .. itemid .. ".") 
if isItemStackable(itemid) or amount == 1 then
doPlayerAddItem(cid, itemid, amount) 
else
for i = 1, amount do 
doPlayerAddItem(cid, itemid, 1)  
end
end
doSendMagicEffect(getCreaturePosition(cid), math.random(28,30)) 
setPlayerStorageValue(cid, e.storage, 1) 
return true
end

bossisg.png

HellCommander

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/10/12Posts: 32Char no Tibia: HellCommander

Ok, vod, você é o melhor. =)

 

Rep + por ajudar. <:o)

MrCatra

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/09/12Posts: 208

Nao tinha visto esse script.

 

Parabéns Vodkart.

 

REP++

S5aHt.png

 

XTibia

Desde 20/11/2010

 

--Meus Trabalhos--

 

WebDesigner :

ModernACC

Template Poketibia v1 By MrCatra

Template WoDBO v1 By MrCatra

 

 

 

 

 

 

WebDesigner - 17/08/2012

Designer - 16/05/2012

Mapper iniciante - 10/03/2009