Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

  • 0
Olan trein

[Resolvido] Poder ter +de uma box para abrir

Question

Versão do Servidor: TFS - 0.3.4
Tipo de Script: actions
Código:

Please login or register to see this spoiler.

Bom, se voce clicar nele vc ganha 10x do item sortido, e pode fazer isso a cada 3 horas. Vc n perde a box ao clicar nela, mas ha um limite de tempo para abrir.

Mas se vc tem 2 box a storage funciona para ambas, tornando uma delas inutil. Eu queria que cada box tivesse um storage diferente, para que a pessoa pudesse ter varias boxs.

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 1

@Olan trein

 

Substitua seu código por esse:

 

local id_box = 15266
local storage_time = 100001
local storage = 100000
local addons = {14953,14954,14956,14996,14997,14998,14955}
local quantidade = 10

function onUse(cid, item, frompos, item2, topos, pos)
local randomChance = math.random(1, #addons)
 
 if item.itemid == id_box then 
 
  if (getPlayerStorageValue(cid, storage) <= 10) and (getPlayerStorageValue(cid, storage_time) <= os.time()) then
    doPlayerAddItem(cid, addons[randomChance], quantidade)
    doSendMagicEffect(getCreaturePosition(cid), 28)
    doPlayerSendTextMessage(cid, 19, "Você ganhou " .. quantidade.. " " ..getItemNameById(addons[randomChance]))
    
    if getPlayerStorageValue(cid, storage) < 0 then
      setPlayerStorageValue(cid, storage, 0)
    end  
      
    setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
    
    if getPlayerStorageValue(cid, storage) >= 10 then
      setPlayerStorageValue(cid, storage_time, os.time() + (3*60*60))
    end
    
  return true
      
  else
    doPlayerSendTextMessage(cid, 27, "Você já abriu todas as 10 boxes possíveis dentro do tempo. Agora é necessário esperar 3 horas.")  
  return true
  end
    
  
return true
end
  
end

Assim como pediu, ele consegue abrir 10 boxes no máximo dentro do período de 3 horas, depois que abrir as 10, é necessário esperar 3 horas.

 

Eu testei aqui e funcionou, testa ai e me fala se der algum problema.

Share this post


Link to post
Share on other sites
  • 0
11 horas atrás, Olan trein disse:
Versão do Servidor: TFS - 0.3.4
Tipo de Script: actions
Código:

Please login or register to see this spoiler.

Torna a outra inútil porque no caso ele está trabalhando com 1 item só por conta da verificação da storage. Mas quantas box iguais no máximo o player pode ter? Isso precisa ser definido.

Share this post


Link to post
Share on other sites
  • 0

Edita do seu jeito
 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local daysvalue = 1 * 24 * 60 * 60
storage = 928938923
local daily = getAccountStorageValue(getPlayerAccountId(cid), 13222423)
if getAccountStorageValue(getPlayerAccountId(cid), storage) <= os.time() then
		
			setAccountStorageValue(getPlayerAccountId(cid), storage, os.time() + daysvalue)
			local item = doPlayerAddItem(cid, 1990)
				doItemSetAttribute(item, "description", " Premio Diario [FREE].")
				doItemSetAttribute(item, 'aid', 10032)
				doSendMagicEffect(getThingPos(cid), 29)
	else
		local left = getAccountStorageValue(getPlayerAccountId(cid), storage) - os.time()
		left = {hour = math.floor(left/3600), minutes = math.ceil((left % 3600)/60)}
		doPlayerSendCancel(cid, 'You have to wait '.. left.hour ..'h and '..left.minutes..'min [1 present per account].')
		doSendMagicEffect(getThingPos(cid), 2)
	end
return true
end

Share this post


Link to post
Share on other sites
  • 0
1 hora atrás, brazvct disse:

Edita do seu jeito
 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local daysvalue = 1 * 24 * 60 * 60
storage = 928938923
local daily = getAccountStorageValue(getPlayerAccountId(cid), 13222423)
if getAccountStorageValue(getPlayerAccountId(cid), storage) <= os.time() then
		
			setAccountStorageValue(getPlayerAccountId(cid), storage, os.time() + daysvalue)
			local item = doPlayerAddItem(cid, 1990)
				doItemSetAttribute(item, "description", " Premio Diario [FREE].")
				doItemSetAttribute(item, 'aid', 10032)
				doSendMagicEffect(getThingPos(cid), 29)
	else
		local left = getAccountStorageValue(getPlayerAccountId(cid), storage) - os.time()
		left = {hour = math.floor(left/3600), minutes = math.ceil((left % 3600)/60)}
		doPlayerSendCancel(cid, 'You have to wait '.. left.hour ..'h and '..left.minutes..'min [1 present per account].')
		doSendMagicEffect(getThingPos(cid), 2)
	end
return true
end

Esse é um premio diario, o que eu quero é uma box, que da itens aleatorios e da a cada 3 horas. Sem perder a box no caso

Share this post


Link to post
Share on other sites
  • 0
21 minutos atrás, Olan trein disse:

Esse é um premio diario, o que eu quero é uma box, que da itens aleatorios e da a cada 3 horas. Sem perder a box no caso

Configura de 1 dia pra 3 horas e coloca pra receber a box que da os itens aleatórios ou então configura pra dar os itens aleatórios
O script ta pronto só editar ele

Share this post


Link to post
Share on other sites
  • 0
11 horas atrás, Yan18 disse:

@Olan trein

 

Substitua seu código por esse:

 

local id_box = 15266
local storage_time = 100001
local storage = 100000
local addons = {14953,14954,14956,14996,14997,14998,14955}
local quantidade = 10

function onUse(cid, item, frompos, item2, topos, pos)
local randomChance = math.random(1, #addons)
 
 if item.itemid == id_box then 
 
  if (getPlayerStorageValue(cid, storage) <= 10) and (getPlayerStorageValue(cid, storage_time) <= os.time()) then
    doPlayerAddItem(cid, addons[randomChance], quantidade)
    doSendMagicEffect(getCreaturePosition(cid), 28)
    doPlayerSendTextMessage(cid, 19, "Você ganhou " .. quantidade.. " " ..getItemNameById(addons[randomChance]))
    
    if getPlayerStorageValue(cid, storage) < 0 then
      setPlayerStorageValue(cid, storage, 0)
    end  
      
    setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
    
    if getPlayerStorageValue(cid, storage) >= 10 then
      setPlayerStorageValue(cid, storage_time, os.time() + (3*60*60))
    end
    
  return true
      
  else
    doPlayerSendTextMessage(cid, 27, "Você já abriu todas as 10 boxes possíveis dentro do tempo. Agora é necessário esperar 3 horas.")  
  return true
  end
    
  
return true
end
  
end

Assim como pediu, ele consegue abrir 10 boxes no máximo dentro do período de 3 horas, depois que abrir as 10, é necessário esperar 3 horas.

 

Eu testei aqui e funcionou, testa ai e me fala se der algum problema.

Funciono Vlw

Share this post


Link to post
Share on other sites
  • 0
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para

Please login or register to see this link.

. Se você tiver outras dúvidas, crie um novo tópico.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...