Ir para conteúdo

(Resolvido)[Spell] Addevent - MagicEffect acabando antes do time

Featured Replies

Postado

Salve galera bom eu e um amigo meu editamos um script e aparentemente esta funcionando normalmente porém tem um problema o efeito da storage não ta saindo no time correto e o efeito do addevent - magiceffect ta saindo antes do time correto.

 

O magic effect e a config.storage tem que durar 10 segundos porém a storage esta durando mais e o effect esta saindo bem antes do time acabar

 

Script

local config = {
cooldown = 20, -- tempo entre uma magia e outra
duration = 10, --- duração
storage = 3482101,
effect = 34 --- efeito que vai sair
}

function onCastSpell(cid, var)
if os.time() - getPlayerStorageValue(cid, 55695) >= config.cooldown then
setPlayerStorageValue(cid, 55695, os.time())
for i = 1, config.duration do
addEvent(function()
 if isCreature(cid) then
 local pos = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}	
				doSendMagicEffect(pos, config.effect)
				setPlayerStorageValue(cid, config.storage, os.time() + config.duration)
end
end, 1000*i)
end
doPlayerSendTextMessage(cid, 27, "Seu kaiten vai durar ".. config.duration .." segundos.")
else
doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce tem que esperar "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55695))).." segundos para usar novamente.", TALKTYPE_CHANNEL_O, CHANNEL_SPELL)
return false
end
    return true
end

Alguém poderia dar uma analisada eu não consegui entender onde esta o problema

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Resolvido por FlavioHulk

Ir para solução
  • Respostas 13
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local config = { cooldown = 20, -- tempo entre uma magia e outra duration = 10, --- duração storage = 3482101, effect = 34 --- efeito que vai sair } function onCastSpell(cid, var) if os.time() -

  • local config = { cooldown = 20, -- tempo entre uma magia e outra duration = 10, --- duração storage = 3482101, effect = 34 --- efeito que vai sair } local function effect(cid) if not isCre

  • @Vodkart amostradinho, tomou meu brilho ?

Postado

Cara, não entendi bem... O efeito tem que durar 10 segundos ou sair após 10 segundos? Porque seu addEvent ali, você tá multiplicando o i * 1000, e tá acontecendo que o effect tá saindo a cada segundo durante 10 segundos...
E seu cooldown está de 20 segundos no config, o que não baterá com os 10 segundos do effect...

Você está utilizando uma storage dentro do addEvent, e utilizando outra storage para check de time.

Postado
  • Autor

@FlavioHulk isso eu quero que o effect fique se repitindo durante 10 segundos e a config.storage dure 10 segundos ai tem a storage pra chegar o cooldown de 20 segundos pra poder usar a spell novamente porém o magic effect dura menos que 10 segundos e a config.storage dura mais que 10 segundos a storage de check a cooldown ta funcionando normalmente

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Postado
local config = {
	cooldown = 20, -- tempo entre uma magia e outra
	duration = 10, --- duração
	storage = 3482101,
	effect = 34 --- efeito que vai sair
}

function onCastSpell(cid, var)
	if os.time() - getPlayerStorageValue(cid, 55695) >= config.cooldown then
		setPlayerStorageValue(cid, 55695, os.time())
		for i = 1, config.duration do
			addEvent(function(cid, effect)
				 if not isCreature(cid) then
				 	return false
				 end

				local pos = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
				doSendMagicEffect(pos, effect)
			end, 1000 * i, cid, config.effect)
		end
	end

	doPlayerSendTextMessage(cid, 27, "Seu kaiten vai durar ".. config.duration .." segundos.")
	setPlayerStorageValue(cid, config.storage, os.time() + config.duration)
	else
		doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce tem que esperar "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55695))).." segundos para usar novamente.", TALKTYPE_CHANNEL_O, CHANNEL_SPELL)
		return false
	end
    return true
end

 

Postado
  • Autor

@FlavioHulk 

[18/10/2018 14:31:55] [Error - LuaScriptInterface::loadFile] data/spells/scripts/nejins/controle/kaiten def.lua:25: 'end' expected (to close 'function' at line 8) near 'else'
[18/10/2018 14:31:55] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/nejins/controle/kaiten def.lua)
[18/10/2018 14:31:55] data/spells/scripts/nejins/controle/kaiten def.lua:25: 'end' expected (to close 'function' at line 8) near 'else'

 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo