Ir para conteúdo

[Encerrado] Ajuda Spell de Area


wesleybeek

Posts Recomendados

Olá Galera, preciso Muito de Ajuda de Voces, quero Fazer um Spell que seja de Area mas que Obtenha Exhastion Assim ó:

 

 

Spell de Area: Exemplo Katon Sohenka no Jutsu

Após Spell: Espere 10 segundos para Usar esse jutsu Novamente.

 

alguem pode Me Ajudar Pf, vou Passar o Script:

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -92.2, 1, -105.2, 1)

arr1 = {
{0, 0, 0, 0, 0, 1, 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, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 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, 1, 0, 0, 0, 0, 0}
}

local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)

local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end
 
function onCastSpell(cid, var)
local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
return TRUE
end 

Também se Puder Me Ajudar Com Esse Aqui: Mesma Coisa (Adicionar Exhaustion)

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -43.3, 1, -58.5, 1)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -49.5, 1)

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -47.5, 1)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -44.3, 1, -59.5, 1)


arr1 = {
	{3}
}

arr2 = {
	{3}
}

arr3 = {
	{3}
}

arr4 = {
	{3}
}

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
 
local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end
 
local function onCastSpell2(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
end

local function onCastSpell3(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat3, parameters.var)
end

local function onCastSpell4(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat4, parameters.var)
end
 
function onCastSpell(cid, var)
local position348 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 200, parameters)
addEvent(onCastSpell2, 600, parameters)
addEvent(onCastSpell2, 800, parameters)
    doSendMagicEffect(position348, 134)
return TRUE
end 

Agradeço Desde Já. REP + Pra Quem Ajudar.

Link para o comentário
Compartilhar em outros sites

Vo^ce nao adiciona os exaustion no script, e sim no spells.xml la vc coloca a magia exemplo da magia que eu criei

<instant name="Wave" words="wave" direction="1" lvl="1" maglv="100" mana="1" soul="0" exhaustion="1" prem="0" enabled="1" script="mega destruction.lua"></instant>

Veja que o exaustion la 1 significa 1 segundo

Editado por arthurlindo
Link para o comentário
Compartilhar em outros sites

Vo^ce nao adiciona os exaustion no script, e sim no spells.xml la vc coloca a magia exemplo da magia que eu criei

<instant name="Wave" words="wave" direction="1" lvl="1" maglv="100" mana="1" soul="0" exhaustion="1" prem="0" enabled="1" script="mega destruction.lua"></instant>

Veja que o exaustion la 1 significa 1 segundo

 

Cara tipo não é isso: Claro o Spell ja Tem Exhaustion e tudo, mas eu queria fazer que ele tenha Exhastion tipo esse Spell (Só que esse spell é de Torget eu queria fazer ele Como Area) Olá:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 29)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -125.2, 1, -128.2, 1)

function onCastSpell(cid, var)
local waittime = 3 -- Tempo de exhaustion
local storage = 5818

if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+7, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 135)
exhaustion.set(cid, storage, waittime)
return doCombat(cid, combat, var)
end

O Exhastion qeu eu Digo é Esse:


function onCastSpell(cid, var)
local waittime = 3 -- Tempo de exhaustion
local storage = 5818

Mas como eu Não Sei Scriptear eu nao sei onde é Colocado e Talz, se Puder Me Ajduar ou Souber quem Saiba fazer isso eu Agradeço MUITO e Dou Rep ++ Para vc e Praquem Ajudar :D

Link para o comentário
Compartilhar em outros sites

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -92.2, 1, -105.2, 1)

arr1 = {
{0, 0, 0, 0, 0, 1, 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, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 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, 1, 0, 0, 0, 0, 0}
}

local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)

local function onCastSpell1(parameters)
return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end

function onCastSpell(cid, var)
local waittime = 10 -- Tempo de exhaustion
local storage = 5918

if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")

return false
end
local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}

exhaustion.set(cid, storage, waittime)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
return TRUE
end

 

tenta ai

Link para o comentário
Compartilhar em outros sites

Cara até onde sei o exaustion serve para todas as magias.

So que o amigo falou ai em cima está errado o exaustion a cada 1000 = 1 segundo.

Pra deixar em area sua spell modifique o need target,apague ou coloque =0,e exaustion coloque os 10 segundos no caso 10000.

exhaustion="1000" needtarget="1"

Link para o comentário
Compartilhar em outros sites

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -92.2, 1, -105.2, 1)

 

arr1 = {

{0, 0, 0, 0, 0, 1, 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, 1, 1, 1, 1, 1, 1, 1, 0, 0},

{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},

{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},

{0, 0, 1, 1, 1, 1, 1, 1, 1, 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, 1, 0, 0, 0, 0, 0}

}

 

local area1 = createCombatArea(arr1)

setCombatArea(combat1, area1)

 

local function onCastSpell1(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)

end

 

function onCastSpell(cid, var)

local waittime = 10 -- Tempo de exhaustion

local storage = 5918

 

if exhaustion.check(cid, storage) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")

return false

end

local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}

exhaustion.set(cid, storage, waittime)

local parameters = { cid = cid, var = var}

addEvent(onCastSpell1, 100, parameters)

return TRUE

end

 

tenta ai

 

 

Ok, vou testar (Obrigado por Responder, se Funfar Dou Rep++) e Para Outro que tbm Leu e respondeu Tópico!

Sim o Script do DarkHell Funcionou Perfeitamente (ReP++) ..

 

Se Puder Agora ajudar no Segundo Spell: De Torget "Mas da varios Hit" colcoar Exhastion Tambem"

Link para o comentário
Compartilhar em outros sites

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -43.3, 1, -58.5, 1)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -49.5, 1)

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -47.5, 1)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 26)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -44.3, 1, -59.5, 1)


arr1 = {
{3}
}

arr2 = {
{3}
}

arr3 = {
{3}
}

arr4 = {
{3}
}

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)

local function onCastSpell1(parameters)
return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end

local function onCastSpell2(parameters)
return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
end

local function onCastSpell3(parameters)
return isPlayer(parameters.cid) and doCombat(parameters.cid, combat3, parameters.var)
end

local function onCastSpell4(parameters)
return isPlayer(parameters.cid) and doCombat(parameters.cid, combat4, parameters.var)
end

function onCastSpell(cid, var)
local waittime = 10 -- Tempo de exhaustion
local storage = 5818

if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end
local position348 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}

exhaustion.set(cid, storage, waittime)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 200, parameters)
addEvent(onCastSpell2, 600, parameters)
addEvent(onCastSpell2, 800, parameters)
doSendMagicEffect(position348, 134)
return TRUE
end

Link para o comentário
Compartilhar em outros sites

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 26)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -43.3, 1, -58.5, 1)

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 26)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -49.5, 1)

 

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 26)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, 214)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -47.5, 1)

 

local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 26)

setCombatParam(combat4, COMBAT_PARAM_EFFECT, 214)

setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -44.3, 1, -59.5, 1)

 

 

arr1 = {

{3}

}

 

arr2 = {

{3}

}

 

arr3 = {

{3}

}

 

arr4 = {

{3}

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

local area4 = createCombatArea(arr4)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

setCombatArea(combat4, area4)

 

local function onCastSpell1(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)

end

 

local function onCastSpell2(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)

end

 

local function onCastSpell3(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat3, parameters.var)

end

 

local function onCastSpell4(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat4, parameters.var)

end

 

function onCastSpell(cid, var)

local waittime = 10 -- Tempo de exhaustion

local storage = 5818

 

if exhaustion.check(cid, storage) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")

return false

end

local position348 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}

exhaustion.set(cid, storage, waittime)

local parameters = { cid = cid, var = var}

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

addEvent(onCastSpell2, 600, parameters)

addEvent(onCastSpell2, 800, parameters)

doSendMagicEffect(position348, 134)

return TRUE

end

 

 

Ok, vou Testar *-*

 

 

FUNFOU, Perfeitamente (Ja dei Respeito :3)

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...