Ir para conteúdo

Featured Replies

Postado

local atk1 = createCombatObject()
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_RED)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function kiaiho(cid, level, maglevel) 
   local min = -(level * 100.0+ maglevel * 100 +0)
   local max = -(level * 500.0+ maglevel * 500 +0)
   return min, max 
end
setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "kiaiho")

arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

local area1 = createCombatArea(arr1)


setCombatArea(atk1, area1)


function onTargetTile(cid, pos)
doCombat(cid,combat1,positionToVariant(pos))
end

setCombatCallback(atk1, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
local function onCastSpell1(parameters)
doCombat(parameters.cid, atk1, parameters.var)
end


function onCastSpell(cid, var)
if exhaustion.get(cid, 100) then
    doPlayerSendCancel(cid, "Wait "..exhaustion.get(cid, 100).." seconds.")
        return true
    end
    exhaustion.set(cid, 100, 15.0)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
return true

end

function onCastSpell(cid, var)
local pos1 = {x = getPlayerPosition(cid).x + 2, y = getPlayerPosition(cid).y + 2, z = getPlayerPosition(cid).z}
local parameters = { cid = cid, var = var, combat1 = combat1}
addEvent(onCastSpell1, 250, parameters)
doSendMagicEffect(pos1, 979)
return true
end

Da um help aqui, tentei encaixa essa função na spell, mas não conseguir! 
 

function onCastSpell(cid, var)
local waittime = 1 -- Tempo de exhaustion em segundos
local storage = 2

if exhaustion.check(cid, storage) then
doPlayerSendCancel(cid, "You are exhausted.")
doSendMagicEffect(getCreaturePosition(cid), 2)
return false
end

No caso é para o player fica com exhaustion já que na spell atual o exhaustion não está funcionando.

Resolvido por Nother

Ir para solução
Postado
  • Solução
local atk1 = createCombatObject()
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_RED)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function kiaiho(cid, level, maglevel) 
   local min = -(level * 100.0+ maglevel * 100 +0)
   local max = -(level * 500.0+ maglevel * 500 +0)
   return min, max 
end
setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "kiaiho")

arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

local area1 = createCombatArea(arr1)


setCombatArea(atk1, area1)


function onTargetTile(cid, pos)
doCombat(cid,combat1,positionToVariant(pos))
end

setCombatCallback(atk1, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
local function onCastSpell1(parameters)
doCombat(parameters.cid, atk1, parameters.var)
end


function onCastSpell(cid, var)
if exhaustion.check(cid, 100010) == TRUE then -- em 100010 coloca uma storage que não está sendo usada 
	doPlayerSendCancel(cid, "Podera usar novamente dentro de 15 segundos.")
	doSendMagicEffect(getCreaturePosition(cid), 32) --effect que sai quando ta com exaust. se não quiser nada so colocar um effect vazio.
	return false
end
local parameters = { cid = cid, var = var}
local pos1 = {x = getPlayerPosition(cid).x + 2, y = getPlayerPosition(cid).y + 2, z = getPlayerPosition(cid).z}
local parameters = { cid = cid, var = var, combat1 = combat1}
addEvent(onCastSpell1, 250, parameters)
doSendMagicEffect(pos1, 979)
exhaustion.set(cid, 100010, 15.0) -- storage aqui tem que ser a mesma de cima
return true
end

Cara não sei nada sobre criar spells, mas o seu exaust colocado errado e eu coloquei da forma certa mas não deu, então peguei o exaust da minha spell e adaptei, testa ai

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo