Ir para conteúdo
  • Cadastre-se

(Resolvido)Dúvida addEvent


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

Galera comecei ontem a mexer com programação LUA e criar um script básico dentro do sistema de surf do pokémon, e é o a partir que o player entra na água ele recebe o addEvent(doCreatureAddHealth, 180000, cid, -99999) para morrer em 3 minutos mas quando sai da agua continua, então queria cancelar este addEvent ao sair da água, alguém pode me ajudar ?

Link para o post
Compartilhar em outros sites
-- Ao entrar na água
addEvent(function()
	if getCreatureStorage(cid, 88888) == 1 then
		doCreatureAddHealth(cid, -999999)
	end
	return true
end, 3 * 60 * 1000)

-- Ao sair da água
doCreatureSetStorage(cid, 88888, -1)

Att.

Garou

Editado por Garou (veja o histórico de edições)

Link para o post
Compartilhar em outros sites

Acho que não tem como isso no script, veja:

if getPlayerStorageValue(cid, 63215) ~= 1 and getPlayerStorageValue(cid, 17000) <= 0 then

if getPlayerStorageValue(cid, 2314) >= 1 and #getCreatureSummons(cid) == 0 then
doSetCreatureOutfit(cid, {lookType = 608}, -1)
doPlayerSendCancel(cid, "You have three minutes of oxygen from the water.")
addEvent(doCreatureAddHealth, 180000, cid, -99999)
	else
	if (not isInArray(pokesurf, getItemAttribute(item.uid, "nome"))) then
	doPlayerSendCancel(cid, "This pokemon cannot surf.")
	doTeleportThing(cid, fromPosition, false)
	return true
	end
	end
end

e no surfcancel.lua:

if getPlayerStorageValue(cid, 2314) >= 1 then
doRemoveCondition(cid, CONDITION_OUTFIT)
getPlayerStorageValue(cid, 2314, -1)
end
Editado por GabrielSapient (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
-- Ao entrar na água
addEvent(function()
	if getCreatureStorage(cid, 88888) == 1 then
		doCreatureAddHealth(cid, -999999)
	end
	return true
end, 3 * 60 * 1000)

-- Ao sair da água
doCreatureSetStorage(cid, 88888, -1)

Att.

Garou

 

Obrigado meu amigo, e finalmente entendi melhor esse addEvent, valeu ! o Rep fica pra amanhã.

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

Não é necessário, obrigado.

 

Att.

Garou.

Amigo desculpe,  mas agora não está morrendo de jeito nenhum nem dentro d'água nem fora.

Editado por GabrielSapient (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
-- Ao entrar na água
doCreatureSetStorage(cid, 88888, 1)
addEvent(function()
    if getCreatureStorage(cid, 88888) == 1 then
        doCreatureAddHealth(cid, -999999)
    end
    return true
end, 3 * 60 * 1000)

-- Ao sair da água
doCreatureSetStorage(cid, 88888, -1)

resolvido

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
-- Ao entrar na água
doCreatureSetStorage(cid, 88888, 1)
addEvent(function()
    if getCreatureStorage(cid, 88888) == 1 then
        doCreatureAddHealth(cid, -999999)
    end
    return true
end, 3 * 60 * 1000)

-- Ao sair da água
doCreatureSetStorage(cid, 88888, -1)

resolvido

 

Nossa você me ajudando nem havia percebido que não tinha definido a Storage 88888, kkkkk. Muito Obrigado, existe outra maneira que o addEvent possa ir invés de ir assim ?

Link para o post
Compartilhar em outros sites

existir, existe.. mas desse jeito vai resolver seu problema.. a unica coisa que eu acredito q possa dar erro é se o cara ficar entrando e saindo da agua no momento que o addEvent for chamado.. ele pode acabar morrendo caso esteja na agua no momento que o addEvent é checado mesmo tendo acabado de entrar na agua

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

existir, existe.. mas desse jeito vai resolver seu problema.. a unica coisa que eu acredito q possa dar erro é se o cara ficar entrando e saindo da agua no momento que o addEvent for chamado.. ele pode acabar morrendo caso esteja na agua no momento que o addEvent é checado mesmo tendo acabado de entrar na agua

Não pode entrar e sair da água rapidamente porque ao sair remove a Storage do item que ativa ela, o player vai ter que ativar novamente. O único problema que deu foi que exite um tempo quando perde todo sangue e morre e se o player andar um passo da debug pois já perdeu a storage, mas acho que já sei como resolver, qualquer coisa volto ao tópico.

Editado por GabrielSapient (veja o histórico de edições)
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.

  • Conteúdo Similar

    • Por 001rafa
      Galera como faz para poder criar um slot a mais no otcliente para poder equipar com itens por exemplo mais um ring e mais um colar?
      sei que tem q modificar no source do cliente e no distro alguem poderia me ajudar com um tutorial?

      grato pela atenção.

      up
    • Por M Cronos
      Boa Noite amigos, eu estava usando o Object builder e o item editor para adicionar uns sprites no meu servidor para usar com um script, este aqui >>> 
       que o @Comedinha postou para ajudar um outro membro.
      Bom a questão é que o script parece estar funcionando,por que não dá nenhum erro, mas o item também não é usado. bom eu fucei bastante e ainda  não consegui resultado então eu pensei que talvez eu tivesse que setar o item como usável no OB ou no IE, pois me lembro de ter visto isso em algum lugar, mas não consigo achar onde eu faço isso. alguém pode me ajudar? se possível. obrigado.
    • Por fezeRa
      Estou com um problema chato. Seguinte:
       
      O player pega , compra promotion, dai fica lá "Elder Druid", dai se ele reloga, ele volta pra Druid.
      Ou seja não ta salvando a vocation, é algum problema no login.lua que nao salva a vocation atual? Alguem sabe?
    • Por llucas75
      Oi tudo bem?
       
      Eu estava tentando criar um efeito enquanto a pessoa tivesse tal storage com while tipo...
       
       
      local tempo = 1*1*1000
      local storage = 23000
      while (getPlayerStorageValue(cid, storage) >= 1) do
      addEvent(doSendMagicEffect, tempo ,frompos, 35)
      end
       
      Porem não esta funcionando(queria que a cada segundo ele mande um efeito enquanto o player tiver o storage tal).
      Alguém sabe como faze-lo?
    • Por Bryan Robert
      Olá Eu tenho um server 8.0 ou 8.1 e para ligar o server utilizamos Serve.exe ou restarter.bat mas eu queria o server.exe em bat para eu editalo ou fazer ele volter a ser bat se alguem poder me passar link do server.bat ou programa q faz ele votar a ser bat vlw
       
       
      dboeternal.servegame.com:8090
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo