Ir para conteúdo
  • 0

[Duvida] Script De Magia


Nando3513

Pergunta

Po galera é o seguinte eu tenho umas magias no meu TFS 8.4 com o estilo de script que vo por abaixo.

No caso as vez os player morrem logo apos soltar a magia dai ela buga nao solta mais dai fica aparecendo so a mensagem "Você precisa aguardar 10 segundos para acumular o espírito." Paraa mim arrumar eu tenho q muda o storage do script vo postar abaixo.

 

 

local config =

{

seconds = 10,

storage = 47112120,

msg = "Você precisa aguardar 10 segundos para acumular o espírito.",

mana = 2400,

semMana = "Você não têm mana suficiente."

}

 

local function useAgain(cid)

setPlayerStorageValue(cid, config.storage, 2)

return TRUE

end

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

 

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

{0, 0, 0, 2, 0, 0, 0},

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

}

arr2 = {

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

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

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

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

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

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

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

{0, 0, 0, 3, 0, 0, 0},

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

 

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

 

local function spell(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

function onCastSpell(cid, var)

if getPlayerStorageValue(cid, config.storage) == 1 then

doPlayerSendCancel(cid, config.msg)

return TRUE

end

if getPlayerStorageValue(cid, config.storage) ~= 1 then

if getPlayerMana(cid) >= config.mana then

doPlayerAddMana(cid, -config.mana)

setPlayerStorageValue(cid, config.storage, 1)

addEvent(useAgain, config.seconds*1000, cid)

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

addEvent(spell, 500, parameters)

return doCombat(cid, combat1, var)

else

doPlayerSendCancel(cid, config.semMana)

end

end

return TRUE

end

 

 

 

 

 

 

E EU TERIA MAIS UMA DÚVIDA, EU QUERIA ACRESCENTAR O SEGUINTE PRA QUE QUANDO EU SOLTACE ESSAS MAGIA USACE NO CASO 75% DA MANA PQ ELA FUNCIONA COMO MAGIA DE COMBO COMO AS STAGES SÃO MEIA ALTA SOBRA MTA MANA, DAI ASSIM FICARIA EQUILIBRADO.

 

ESPERO QUE ME AJUDEM.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
local config =
{
exhaust = 10, -- tempo sem segundos que ficara em exaust
storage = 13896,
manapercent = 75, -- mana em porcentagem que ira retirar
}


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

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

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)

setCombatArea(combat1, area1)
setCombatArea(combat2, area2)

local function spell(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end

function onCastSpell(cid, var)
if (getPlayerStorageValue(cid, config.storage) <= os.time()) then
if getPlayerMana(cid) >= ((config.manapercent/100)*getPlayerMana(cid))  then
doPlayerAddMana(cid, -((config.manapercent/100)*getPlayerMana(cid)))
setPlayerStorageValue(cid, config.storage, os.time()+config.exhaust)
local parameters = { cid = cid, var = var, combat2 = combat2 }
addEvent(spell, 500, parameters)
return doCombat(cid, combat1, var)
else
doPlayerSendCancel(cid, "você nao tem mana o suficiente.")
end
else
doPlayerSendCancel(cid, "Você precisa aguardar "..config.exhaust.." segundos para acumular o espírito.")
end
return TRUE
end

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

  • 0

Vodkart era isso mesmo que eu precisava mais tem uma coisa ali. eu nao sei se nao explikei certo.

 

Mas ali o player pode ter 5000 de mana se ele tiver 3000 sai mesmo assim eu keria q sempre gastace 75% da mana full q ele tem e nao menos q isso

 

intendes?

 

 

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Só tinha um errinho ^^

 

local config =
{
exhaust = 10, -- tempo sem segundos que ficara em exaust
storage = 13896,
manapercent = 75, -- mana em porcentagem que ira retirar
}


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

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

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)

setCombatArea(combat1, area1)
setCombatArea(combat2, area2)

local function spell(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end

function onCastSpell(cid, var)
if (getPlayerStorageValue(cid, config.storage) <= os.time()) then
if getPlayerMana(cid) >= ((config.manapercent/100)*getCreatureMaxMana(cid))  then
doPlayerAddMana(cid, -((config.manapercent/100)*getCreatureMaxMana(cid)))
setPlayerStorageValue(cid, config.storage, os.time()+config.exhaust)
local parameters = { cid = cid, var = var, combat2 = combat2 }
addEvent(spell, 500, parameters)
return doCombat(cid, combat1, var)
else
doPlayerSendCancel(cid, "você nao tem mana o suficiente.")
end
else
doPlayerSendCancel(cid, "Você precisa aguardar "..config.exhaust.." segundos para acumular o espírito.")
end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

  • 0

Eu já sabia disso, apocarai. Não sou burro ^^,

Eu falei sobre isso para ele no msn e ele não queria assim, então tudo bem, não?

 

Tópico Reportado pois dúvida já foi sanada.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...