Ir para conteúdo

Featured Replies

Postado

Preciso que a função do addEvent(doCombat, 0, cid, combat, var)

Funcione em function onCastSpell(cid, var) dessa Spell Porque não é por não é via combat é via function onCastSpell(cid, var)

Spoiler

local config = {
mana = 0,
seconds = 0,
storage = 111313,
semMana = "Você não tem mana suficiente.",
msg = "Você precisa aguardar %d segundos para usar essa magia novamente.",
}

local area = createCombatArea(AREA_CIRCLE2X2)

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
for x = 1, 40 do
    addEvent(furyAttackTarget,250*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z})
end
end
function furyAttackTarget(cid,target,pos)
if isCreature(cid) == TRUE and isCreature(target) == TRUE then
   doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,3)
   doAreaCombatHealth(cid,COMBAT_FIREDAMAGE,pos,area,-1,-200,36)
   doAreaCombatHealth(cid,COMBAT_FIREDAMAGE,pos,area,-1,-500,36)
end
end

 

function onCastSpell(cid, var)
  if getPlayerStorageValue(cid, config.storage) == -1 then
    setPlayerStorageValue(cid, config.storage, os.time()-config.seconds)
  end
  if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then
    doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage))))
    return true
  end
  if getPlayerMana(cid) >= config.mana then
    doPlayerAddMana(cid, -config.mana)
    setPlayerStorageValue(cid, config.storage, os.time())
    addEvent(doCombat, 0, cid, combat, var)
  else
    doPlayerSendCancel(cid, config.semMana)
              doSendMagicEffect(getPlayerPosition(cid),2)
  end
  return true
  end

@Rusherzin

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

Resolvido por Rusherzin

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

Top Posters In This Topic

Most Popular Posts

  • @Ribeiro Foda o que você quer fazer ? Você quer adiconar um addEvent, ou seja, você quer um time pra executar algo. Não está funcionando, porquê você ta colocando pro addEvent retorna o combat, s

  • Não tenho certeza se entendi exatamente o que tu querias que eu fizesse, mas... tenta dessa forma:   local config = { mana = 0, seconds = 0, storage = 111313, semMana = "Você não tem mana sufici

Postado
  • Autor

com essa parte a script não funciona se eu acrescento no onCastSpell da script acho pq ela não e por Combat

 

function onCastSpell(cid, var)
  if getPlayerStorageValue(cid, config.storage) == -1 then
    setPlayerStorageValue(cid, config.storage, os.time()-config.seconds)
  end
  if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then
    doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage))))
    return true
  end
  if getPlayerMana(cid) >= config.mana then
    doPlayerAddMana(cid, -config.mana)
    setPlayerStorageValue(cid, config.storage, os.time())
    addEvent(doCombat, 0, cid, combat, var)
  else
    doPlayerSendCancel(cid, config.semMana)
              doSendMagicEffect(getPlayerPosition(cid),2)
  end
  return true
  end

Postado

@Ribeiro Foda o que você quer fazer ? Você quer adiconar um addEvent, ou seja, você quer um time pra executar algo.

Não está funcionando, porquê você ta colocando pro addEvent retorna o combat, sem ter o combat, isso da nem pra questionar. "Como usar algo, que não existe ?". 

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