Ir para conteúdo
  • Cadastre-se

Spell de paralyze diferente


Posts Recomendados

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

Link para o post
Compartilhar em outros sites

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
Link para o post
Compartilhar em outros sites

Samuel, alertado. Volte para o playground por favor.

 

~~ Tópico:

 

Eu não sei fazer o script, mas achei essas funções e tentei montar alguma base...

 

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 addSpeed = -2500


function onCastSpell(cid, var)


if isPlayer(cid) then
doChangeSpeed(cid, (-getCreatureSpeed(cid)+getCreatureBaseSpeed(cid)+addSpeed))
doChangeSpeed(cid, -X)
end


    return doCombat(cid, combat, var)
end

ajuda em algo?

Link para o post
Compartilhar em outros sites

@Sr.Samuel, essa parte do fórum é cheia de ódio e problemas de comunicação... não torne as coisas piores. Deixe as gracinhas e piadas pro Playground porque brincadeiras desse tipo por aqui vão só irritar os membros e acabar fazendo você ser banido. Leia, e principalmente, siga as regras do fórum!  

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

deu erro, attempt do perform arithmetich global 'X'


removi essa parte do script, e ele da o paralyze em quem usou a spell e não sai nunca o paralyze

 

doChangeSpeed(cid, -X)

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo