Ir para conteúdo
  • Cadastre-se

(Resolvido)[Resolvido] Storage por x tempo


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Bom galera, meu pedido é bem simples.

Eu quero 1 script de talkaction que quando o player falar "!ativar" vai adicionar a storage "15000" no player po 10 Segundos alguém pode me ajudar ae?

Editado por Joaovettor (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Testa ai

activate.lua

Spoiler

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, 6000)

function onSay(cid, words, param, channel)

if(hasCondition(cid, CONDITION_EXHAUST)) then
		doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) 
		doPlayerSendCancel(cid, "You are exhausted")
	return true
end

local config = {
	time = 10, -- tempo em segundos
	stor = 15000 -- não mexa
}

	if getPlayerStorageValue(cid, 15000) <= 0 then
			setPlayerStorageValue(cid, config.stor, os.time() + config.time)
		else
			doSendPlayerCancel(cid, "You are exhausted.")
	end
end

 

 

 

talkactions.xml adiciona

<talkactions words="!ativar" event="script" value="activate.lua"/>

 

 

Não sei se vai funcionar, mas testa ai

Editado por Sekk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Sekk Então amigo funcionou porem, não está totalmente do jeito que eu quero.

E que eu criei 1 magia que precisa do storage 15000, porem que só pudesse usar durante 1 tempo de 10 segundos.

OBS: A magia eu tenho, só quero que o storage fique no player por 10 segundos, é tipo a vip que fica 30 dias no player porem por 10 segundos entendeu?

 

Link para o post
Compartilhar em outros sites
2 horas atrás, Joaovettor disse:

@Sekk Então amigo funcionou porem, não está totalmente do jeito que eu quero.

E que eu criei 1 magia que precisa do storage 15000, porem que só pudesse usar durante 1 tempo de 10 segundos.

OBS: A magia eu tenho, só quero que o storage fique no player por 10 segundos, é tipo a vip que fica 30 dias no player porem por 10 segundos entendeu?

 

posta a magia aqui que editamos

 

porque o código do cara está certo. a storage vai ficar no jogador por 10 segundos.

 

ai você poderia dar os 10 segundos assim:

 

 

setPlayerStorageValue(cid, 15000, os.time()+10) -- aqui dá 10 segundos
if getPlayerStorageValue(cid, 15000) - os.time() > 0 then -- aqui checa se ele tem os 10 segundos ainda
--usar magia
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Sekk disse:

function onCastSpell(cid, var) if getPlayerStorageValue(cid, 15000) >= 1 then return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "You can/'t cast this spell.") end return true end

 

@Vodkart

Sim mano é assim que ta o script da minha spell, com o storage e tals, porem o comando que quero, e que ele tenha 1 cooldown tipo de 6 segundos, e que dure 10 segundos, após os 10 segundos remove o storage do player, impossibilitando de usar a magia.

Editado por Joaovettor (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
14 minutos atrás, Joaovettor disse:

 

@Vodkart

Sim mano é assim que ta o script da minha spell, com o storage e tals, porem o comando que quero, e que ele tenha 1 cooldown tipo de 6 segundos, e que dure 10 segundos, após os 10 segundos remove o storage do player, impossibilitando de usar a magia.

 

 

Acho que você nao ta prestando atenção em nada, n ta vendo q eu postei o script ja, n viu q o vodkart pediu a spell pq NÃO SABIAMOS QUE ESTAVA PRONTA, e vc não falou q precisava de cooldown no talkaction. Alias, só falta isso no script e vc continua pedindo ele.

 

 

Atualizei o meu post com o script talkaction, adicionei um 'exhaust' mas n sei se funciona, n lembro como coloca exhaust e peguei um igual de potions.

Editado por Sekk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
function onCastSpell(cid, var) 
	if getPlayerStorageValue(cid, 15000) - os.time() <= 0 then
		doPlayerSendCancel(cid, "You can/'t cast this spell.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return false
	end
	return doCombat(cid, combat, var)
end

 

 

function onSay(cid, words, param, channel)
	local store,exausted = 156201,30 -- exaust na talk
	if getPlayerStorageValue(cid, store) >= os.time() then
		doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true
	end
	setPlayerStorageValue(cid, 15000, os.time()+10)
	setPlayerStorageValue(cid, store, os.time()+exausted) 
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ativado 10 segundos.") return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo