Ir para conteúdo

Featured Replies

Postado

Eu usava essa spell de paralyze no meu server, só que ela não me server 100%

 

Spell que era usada

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)

local condition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
setConditionFormula(condition, -0.9, 0, -0.9, 0)
setCombatCondition(combat, condition)

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

O problema dessa spell é o seguinte, meu server tem equipamentos que dao speed ao jogador, exemplo:

Magic Plate Armor (Arm:15, Club abillity +20, Sword abillity +20, Axe abillity +20, Distance abillity +20, Defense +20, magic level +20, speed +2500).

No caso se o jogador estiver equipado com esse armor, e for atacado pela spell de paralyze, ela quase não vai fazer efeito no jogador, por causa do armor.

 

Teria como criar a magia de paralyze com essa função?
speed = getcreaturespeed (cid)

nova speed = speed/10

no caso diminuria em 10 vezes a velocidade do jogador, independende dos items ou nao

  • Respostas 9
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Veja se funciona:

 local distanceCombat = createCombatObject()
setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)

local condition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
setConditionFormula(condition, -0.9, 0, -0.9, 0)

function onCastSpell(cid, var)
    if getPlayerSlotItem(cid, 2) == 2173 then  --checking for amulet of loss
        setCombatCondition(combat, condition)
    end
    return doCombat(cid, combat, var)
end 

add em data/creaturescripts/creaturescripts.xml

 <event type="attack" name="Armorpara" event="script" value="armorpara.lua"/> 

/data/creaturescripts/scripts/armorpara.lua

-- Made by Delconis from Eclipseonline.servegame.com

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)

local condition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
setConditionFormula(condition, -0.9, 0, -0.9, 0)
setCombatCondition(combat, condition)

local _slot = 2 -- Slot item should be in
local _itemid = 2173 -- Item you need to wear

function onAttack(cid, target)
    if getPlayerSlotItem(cid, _slot) == _itemid then  --Check for Item in slot
        return doCombat(cid, combat, var) -- Do combat
    end
end

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.7k

Informação Importante

Confirmação de Termo