Ir para conteúdo

Ajudaa Spell!


890098

Posts Recomendados

Ajuda pelo amor de deus, aqui vai o script:

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_FIREAREA)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

 

arr = {

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

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

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

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

{1, 1, 1, 1, 2, 1, 1, 1, 1},

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

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

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

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

}

local area = createCombatArea(arr)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

function onCastSpell(cid, var)

local storage = 23005

local spellname = "Curse"

local time = 50

 

if exhaustion.check(cid, storage) == false then

exhaustion.set(cid, storage, time)

return doCombat(cid, combat, var)

else

doPlayerSendCancel(cid, "")

return TRUE

end

end

 

 

Esse é o script, eu colokei o return TRUE dai eu uso a spell uma vez ela sai a animação e tudo, mais depois da primeira vez eu fiko soltando e ela n faz animação nenhuma e nem hita, o player só fika flando a magia, apenas. Só o primeiro Say: magia que faz efeito o resto não =(

AJUDA PELO AMOR DEUS :'(

 

 

 

Aqui vai ela no spells.xml se precisar

 

<instant name="Exemplo" words="crux magnum" lvl="30" mana="45" prem="1" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="attack/exemplo.lua">

<vocation id="2"/>

<vocation id="6"/>

<vocation id="1"/> </instant>

Link para o comentário
Compartilhar em outros sites

Tenta trocá-lo por este:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(Formula, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

local condition = createConditionObject(CONDITION_CURSED)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 1, 3000, -45)
addDamageCondition(condition, 1, 3000, -40)
addDamageCondition(condition, 1, 3000, -36)
addDamageCondition(condition, 1, 3000, -35)
addDamageCondition(condition, 1, 3000, -34)
addDamageCondition(condition, 2, 3000, -33)
addDamageCondition(condition, 2, 3000, -32)
addDamageCondition(condition, 2, 3000, -31)
addDamageCondition(condition, 2, 3000, -30)
addDamageCondition(condition, 3, 3000, -29)
addDamageCondition(condition, 3, 3000, -25)
addDamageCondition(condition, 3, 3000, -24)
addDamageCondition(condition, 4, 3000, -23)
addDamageCondition(condition, 4, 3000, -20)
addDamageCondition(condition, 5, 3000, -19)
addDamageCondition(condition, 5, 3000, -15)
addDamageCondition(condition, 6, 3000, -10)
addDamageCondition(condition, 10, 3000, -5)
setCombatCondition(combat, condition)


function onCastSpell(cid, var)
local storage = 23005
local spellname = "Curse"
local time = 50

   	if exhaustion.check(cid, storage) == false then
           	exhaustion.set(cid, storage, time)
           	return doCombat(cid, combat, var)
   	else
           	doPlayerSendCancel(cid, "")
   	end
end

 

 

ou,

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

arr = {
{1, 0, 0, 0, 1, 0, 0, 0, 1},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{1, 0, 0, 0, 1, 0, 0, 0, 1}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)


function onCastSpell(cid, var)
local storage = 23005
local spellname = "Curse"
local time = 50

       if exhaustion.check(cid, storage) == false then
               exhaustion.set(cid, storage, time)
               return doCombat(cid, combat, var)
       else
               doPlayerSendCancel(cid, "")
       end
end

 

Ajudei, +REP

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

Agora volto akele negócio, eu solto ela uma vez e não consigo soltar mais, só depois de MUIIIIITOO TEMPO, tipo 1 minuto de exaust, sóq tipo não aparece a fumacinha do exausted durante esse 1 min, depois que passa esse 1 min ele só solta a magia só e volta dnovo o 1 minuto

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

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_FIREAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

arr = {
{1, 0, 0, 0, 1, 0, 0, 0, 1},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{1, 0, 0, 0, 1, 0, 0, 0, 1}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
function onCastSpell(cid, var)
local storage = 23005
local spellname = "Curse"
local time = 50

if exhaustion.check(cid, storage) == false then
exhaustion.set(cid, storage, time)
return doCombat(cid, combat, var)
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
return true
end

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

pra q vc colocou exhaust no script se tem um pronto no spells.xml

 

tenta isso

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_FIREAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

arr = {
{1, 0, 0, 0, 1, 0, 0, 0, 1},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{1, 0, 0, 0, 1, 0, 0, 0, 1}
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
doCombat(cid, combat, var)
return true
end
function onCastSpell(cid, var)
local storage = 23005
local spellname = "Curse"
local time = 50

if exhaustion.check(cid, storage) == false then
exhaustion.set(cid, storage, time)
doCombat(cid, combat, var)
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return true
end
return true
end

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

talvez isso pegue

edita nessa parte

local storage, duration = 1, 1

5 segundos de exhaust

local storage, duration = 5, 5

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_FIREAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

arr = {
{1, 0, 0, 0, 1, 0, 0, 0, 1},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{1, 0, 0, 0, 1, 0, 0, 0, 1}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
   local storage, duration = 1, 1
   if (os.time() - getPlayerStorageValue(cid, storage)) >= duration then
      setPlayerStorageValue(cid, storage, os.time())
      doCombat(cid, combat, var)
   else
      doPlayerSendCancel(cid, "Wait "..duration.." seconds to use again.")
   end
   return true
end

 

olha acho que da pra remover isto:

 

*Exhaust - tem no spells.xml

*local spellname = "Curse" - não ta usando

 

local time = 50

 

Ta ligado que o time do tfs é em milisegundo neh?

 

5000 = 5 segundos

50 = 0,05 segundos

 

Ficaria assim:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_FIREAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

arr = {
{1, 0, 0, 0, 1, 0, 0, 0, 1},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 1, 0},
{1, 0, 0, 0, 1, 0, 0, 0, 1}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
   return doCombat(cid, combat, var)
end

 

<instant name="Exemplo" words="crux magnum" lvl="30" mana="45" prem="1" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="attack/exemplo.lua">
<vocation id="2"/>
<vocation id="6"/>
<vocation id="1"/> 
</instant> 

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

CARA VC È MEU IDOLOO!!! REP+ de MONTÃO AGRADEÇO FUNFOO!!!!!!!!!

 

 

ja ganho meu rep + + se der pra me ajuda em outro script agradeço tbm se n der n deu ja tem meu rep + =D

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)

setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 1498)

 

local arr1 = {

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

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

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

{0, 0, 0, 2, 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(combat1, area1)

 

 

local function onCastSpell1(parameters)

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

end

 

 

function onCastSpell(cid, var)

 

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

 

addEvent(onCastSpell1, 100, parameters)

 

end

 

 

As m wall que sai estão infinitas e estão dando battle Vermelho (de PK)

queria que as m WALL saissem em seu tempo normal e que n desce battle vermelho só battle normal

 

aki ela no spells;xml

<instant name="gran trap" words="Traped" lvl="100" mana="500" prem="0" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/trap.lua">

<vocation id="1"/>

<vocation id="2"/>

<vocation id="3"/>

<vocation id="4"/>

<vocation id="5"/>

<vocation id="6"/>

<vocation id="7"/>

<vocation id="8"/>

</instant>

Link para o comentário
Compartilhar em outros sites

pz só nas sources

 

1498 é mw infinita

1497 é com decay

 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 1497)

local arr1 = {
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 2, 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(combat1, area1)

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

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1 }
addEvent(onCastSpell1, 100, parameters)
end

Link para o comentário
Compartilhar em outros sites

Vlw s2 =D

sabe aumenta dano de magias e de armas por lv? Tipo queria um OT 999, sóq n da pra te lv 1k, 2k batendo 500k no mas vis e talz, sabe arruma isso?

 

Se ja ganho 12380438487 REP+ todo dia se ganha 1 ta me ajudando mtoo!!

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

×
×
  • Criar Novo...