AddEvent Bug quando desloga

koete
Por koete
em Scripts

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

fis um script na spell assim

function onCastSpell(cid, var) if isCreature(cid) thendoCreatureSetNoMove(cid, true)
addEvent(doCreatureSetNoMove, 60*1000, cid, false)

end

end

roda tudo certo mas quando o jogador desloga antes do tempo da Event acabar da Bug na Source alguem pode me ajudar?

gabisaoo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/08/08Posts: 57

Ae cara seguinte, fiz com que o player não possa deslogar enquanto estiver com o addevent, vê se funciona não o testei.

 

 

SCRIPT

 

 

function onCastSpell(cid, var)
local tempo = 60 -- coloca aqui o tempo
if isCreature(cid) then
addEvent(doCreatureSetNoMove, tempo*1000, cid, false)
doCreatureSetNoMove(cid, true)
setConditionParam(fightcondition, CONDITION_PARAM_TICKS, tempo * 1000)
end
end

 

 

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

aprenda uma coisa... NUNCA use addEvent assim... -n pegue a mania do skym- sempre faça assim...

local function event(cid)
   if isCreature(cid) then
      doCreatureSetNoMove(cid, false)
   end
end
 
function onCastSpell(cid, var) 
   if isCreature(cid) then
      doCreatureSetNoMove(cid, true)      
      addEvent(event, 60*1000, cid)
   end
return true
end

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

gabisaoo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/08/08Posts: 57

Eu sempre faço assim, mas como foi uma edição, nem mexi nisso.

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

Gabisaoo

 

 

function onCastSpell(cid, var)
local tempo = 60 -- coloca aqui o tempo
if isCreature(cid) then
addEvent(doCreatureSetNoMove, tempo*1000, cid, false)
doCreatureSetNoMove(cid, true)
setConditionParam(fightcondition, CONDITION_PARAM_TICKS, tempo * 1000)
end

end

é uma ótima ideia porém se o player morrer vai relogar ele e vai dar o mesmo debug

 

Slicer

Achei muito interessante o jeito que você usa o AddEvent

mas eu não sei pra que serve aquele

return true

se você pudesse me dar uma explicadinha rápida é porque eu já vi em vários scripts mas nunca soube para que servia. "NooB" eu sei. =)

e outra cara se não for pedir muito é que tipo na minha spell eu coloquei alguns condition ou seja OnCastSpell ja vai ter um return

return doCombat(cid, combat, var)

então como eu adiciono este outro? Posso ter 2 return em um único script?

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

oia, em onCastSpell eu n sei se faz diferença return true ou return false... mas em um onLogin por exemplo, se tu por return false, o player n ira conseguir logar...

 

e sim, pode deixar 2... mas tb nem precisa... pode deixar soh o do doCombat... eu eh q tenhu mania de por sempre return true no final para garantir...

 

e alias, esse n eh um 'jeito'... esse eh modo CORRETO de usar addEvent ^^ justamente para nao dar esse erro no console quando o player desloga antes do addEvent...

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

Slicer Bem foda! Fiz o que você falou coloquei 2 return =)

e funcionou perfeitamente não ta dando Debug nenhum cara

eu não sabia esta forma de "AddEvent" (forma correta)

realmente não deu debug nenhum

muito obrigado pela ajuda Slicer e Gabisao +REP pros dois

 

--Duvida Sanada--

nociam

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/02/13Posts: 541Gênero: Masculino

 

aprenda uma coisa... NUNCA use addEvent assim... -n pegue a mania do skym- sempre faça assim...

local function event(cid)
   if isCreature(cid) then
      doCreatureSetNoMove(cid, false)
   end
end
 
function onCastSpell(cid, var) 
   if isCreature(cid) then
      doCreatureSetNoMove(cid, true)      
      addEvent(event, 60*1000, cid)
   end
return true
end

Nossa uma coisa tao simples, e eu tava com esse erro em varias spell e nao sabia disso, brigadao ai>

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

Tópico movido para a seção de dúvidas e pedidos resolvidos.

Só uso em addEvent de 5 segundos mas acho melhor assim

 

addEvent(function()
if isCreature(cid) then
func(parameters)
end
end, 60 * 60)
jeoz.png

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

assim fica feio kk' e ms em 5seg- ainda da pro player deslogar heim uahuah

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein