[Resolvido] Poder ter +de uma box para abrir

Olan trein
em Resolvidos

Olan trein

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 19/07/17Posts: 103Gênero: Masculino

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.

Yan Oliveira

Yan18
avatar
Moderador
Moderador

INFOS

Grupo: ModeradorRegistrado: 05/06/12Posts: 2221Gênero: Masculino
11 horas atrás, Olan trein disse:
Versão do Servidor: TFS - 0.3.4
Tipo de Script: actions
Código:
  Ocultar conteúdo
local tabela = {
horas = 3, 
storage = 234235, -- Nunca o mesmo usado em outro script.
}

function onUse(cid, item, frompos, item2, topos, pos)
 
if getPlayerStorageValue(cid, tabela.storage) <= os.time() then
local addons = {14953,14954,14956,14996,14997,14998,14955}
local randomChance = math.random(1, 7)
if item2.itemid == 15266 then
doSendMagicEffect(getCreaturePosition(cid), 28)
doPlayerAddItem(cid, addons[randomChance], 10)
doPlayerSendTextMessage(cid, 27, "Você ganhou umas Balls!")
setPlayerStorageValue(cid, tabela.storage, tabela.horas*60*60+os.time())
return true
 
end
end
end

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.

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.

Olan trein

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 19/07/17Posts: 103Gênero: Masculino

Seria no caso 10

GamerGoiano

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 11/03/13Posts: 629

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

Olan trein

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 19/07/17Posts: 103Gênero: Masculino
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

GamerGoiano

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 11/03/13Posts: 629
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

Olan trein

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 19/07/17Posts: 103Gênero: Masculino

O script adicionaria storage na conta dae?Pq se s, vai ficar a mesma coisa do meu script

Yan Oliveira

Yan18
avatar
Moderador
Moderador

INFOS

Grupo: ModeradorRegistrado: 05/06/12Posts: 2221Gênero: Masculino

@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.

Olan trein

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 19/07/17Posts: 103Gênero: Masculino
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

Mudrock

Eternal Liers
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 24/12/09Posts: 1002Gênero: MasculinoChar no Tibia: Necromanser
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 Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.

Antenciosamente, Mudrock

Mensagens privadas somente sobre outros assuntos!

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 
 

tumblr_ntxzlfQp3v1uyo57xo8_500.gif (500×225)

 

MudrockAprova#

- EkzGuard