Ir para conteúdo
  • Cadastre-se

(Resolvido)[Quest] Diaria Reset Storage


Ir para solução Resolvido por Adriano SwaTT,

Posts Recomendados

Olá pessoal queria fazer uma quest que seja possivel faze-la todo dia, mais vejam oque tem de errado em meus scripts

	<globalevent name="ResetQuest" time="00:00" event="script" value="cardstor.lua"/>
function onTime()
    local globalstor = 50041
    
    if getGlobalStorageValue(globalstor) > 0 then
        setGlobalStorageValue(globalstor, -1)
    end
    
    return true
end

E depois a action:

local config = {
effect = 52,
premiumdays = 1,
remove_on_use = "yes"
}
 
 
function onUse(cid, item, frompos, item2, topos)
doPlayerAddStamina(cid, (2520 - getPlayerStamina(cid)))
doSendMagicEffect(getThingPos(cid), config.effect)
doPlayerAddPremiumDays(cid, config.premiumdays)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de receber um dia de GOLD CARD.")
 
if config.remove_on_use == "yes" then
doRemoveItem(item.uid, 1)
end
return true
end

OBS: Eu registrei no actions.xml so nao axei necessario colocar aqui.

Link para o post
Compartilhar em outros sites
  • Respostas 19
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

local config = { premiumDays = 1, storageQuest = 9999, seconds = 86400, -- seconds de 1 dia. } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, storageQuest) < os.time then setPlayerStorageValue(cid, storageQuest, os.time + config.seconds) doPlayerAddStamina(cid, (2520 - getPlayerStamina(cid))) doSendMagicEffect(getThingPos(cid), 52) doPlayerAddPremiumDays(cid, config.premiumDays) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voc

tente assim:   local config = {     premiumDays = 1,     storageQuest = 9999,     timeWait = 1, -- tempo em dias.     staminaRefuel = 3, -- tempo que irá recuperar em horas } function onUse(cid, item, frompos, item2, topos)     if (getPlayerStorageValue(cid, config.storageQuest) < os.time()) then         setPlayerStorageValue(cid, config.storageQuest, os.time() + (config.timeWait * 24 * 60 * 60 * 1000))         doPlayerSetStamina(cid, (getPlayerStamina(cid)) + (config.staminaRefuel * 60

Ai modifiquei o script que o Adriano fez, testa ai! local config = {     expr = 50000, -- Exp que vai ganhar!     storageQuest = 9999,     timeWait = 1, -- tempo em dias.     staminaRefuel = 3, -- tempo que irá recuperar em horas } function onUse(cid, item, frompos, item2, topos)     if (getPlayerStorageValue(cid, config.storageQuest) < os.time()) then         setPlayerStorageValue(cid, config.storageQuest, os.time() + (config.timeWait * 24 * 60 * 60 * 1000))         doPlayerSetStamina(

Olá pessoal queria fazer uma quest que seja possivel faze-la todo dia, mais vejam oque tem de errado em meus scripts

	<globalevent name="ResetQuest" time="00:00" event="script" value="cardstor.lua"/>
function onTime()
    local globalstor = 50041
    
    if getGlobalStorageValue(globalstor) > 0 then
        setGlobalStorageValue(globalstor, -1)
    end
    
    return true
end

E depois a action:

local config = {
effect = 52,
premiumdays = 1,
remove_on_use = "yes"
}
 
 
function onUse(cid, item, frompos, item2, topos)
doPlayerAddStamina(cid, (2520 - getPlayerStamina(cid)))
doSendMagicEffect(getThingPos(cid), config.effect)
doPlayerAddPremiumDays(cid, config.premiumdays)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de receber um dia de GOLD CARD.")
 
if config.remove_on_use == "yes" then
doRemoveItem(item.uid, 1)
end
return true
end

OBS: Eu registrei no actions.xml so nao axei necessario colocar aqui.

Cara eu não manjo muito, mais fiz uns testes aqui e pelo que parece GlobalStorage é como o nome diz mesmo é 1 GlobalStorage e não a storage de todos os players, tem até 1 table no SQL chamada GlobalStorage, ela serve para fazer eventos diarios por exemplo:

O global event checa se o GlobalStorage XXXX é maior que 0 e faz o teleport ai se tu quiser desligar o evento você muda o storage pra -1 que o evento não vai funcionar.

 

Agora se fosse fazer 1 quest utilizando GlobalStorage como você quer seria assim:

O player ia usar o item e a GlobalStorage XXXX ia mudar para 1, então ninguém mais ia conseguir fazer até o global event mudar o GlobalStorage XXXX para -1, porém ia ficar nisso e só 1 player iria poder fazer a quest por dia no caso...

Acho que é isso, sou iniciante então pode ter algo errado na minha informação!

 

To tentando fazer algum script de quest diaria também, se eu conseguir eu posto aqui pra tu.

Editado por Wakon (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local config = {
	premiumDays = 1,
	storageQuest = 9999,
	seconds = 86400, -- seconds de 1 dia.
}

function onUse(cid, item, frompos, item2, topos)
	
	if getPlayerStorageValue(cid, storageQuest) < os.time then
		setPlayerStorageValue(cid, storageQuest, os.time + config.seconds)
		doPlayerAddStamina(cid, (2520 - getPlayerStamina(cid)))
		doSendMagicEffect(getThingPos(cid), 52)
		doPlayerAddPremiumDays(cid, config.premiumDays)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de receber um dia de GOLD CARD.")
		doRemoveItem(item.uid, 1)
	else
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce ainda nao pode usar.")
	end
		
	return true
end
Link para o post
Compartilhar em outros sites
local config = {
	premiumDays = 1,
	storageQuest = 9999,
	seconds = 86400, -- seconds de 1 dia.
}

function onUse(cid, item, frompos, item2, topos)
	
	if getPlayerStorageValue(cid, storageQuest) < os.time then
		setPlayerStorageValue(cid, storageQuest, os.time + config.seconds)
		doPlayerAddStamina(cid, (2520 - getPlayerStamina(cid)))
		doSendMagicEffect(getThingPos(cid), 52)
		doPlayerAddPremiumDays(cid, config.premiumDays)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de receber um dia de GOLD CARD.")
		doRemoveItem(item.uid, 1)
	else
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce ainda nao pode usar.")
	end
		
	return true
end

 

To tentando usar esse script aqui, mais quando dou use no item aparece assim na distro:

laIRj3b.png

Achei que fosse eu fazendo cagada na hora de editar o script, mais testei o seu sem mexer nada e da isso também :S

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96850
    Tópicos
    519614
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo