Ir para conteúdo
  • Cadastre-se

(Resolvido)Spell diferente


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

  • Solução

local config = {
tempo = 10, --- tempo que vai durar a spell
percent = 20, -- quanto % vai aumentar
cooldown = 20, --- tempo entre um uso e outro
effect1 = 39, -- efeito ao executar a spell
effect2 = 13 -- efeito que vai ficar saindo por segundo enquanto ela tiver ativa
}




local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)




local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUBPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORDPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXEPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+config.percent)
setCombatCondition(combat, condition)




function onCastSpell(cid, var)


local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z}
local position2 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z}


if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) * 0.3) then
if os.time() - getPlayerStorageValue(cid, 54693) >= config.cooldown then
doPlayerSetStorageValue(cid, 54693, os.time())
doSendMagicEffect(position1, config.effect1)
doCombat(cid, combat, var)
for n = 1, config.tempo do
addEvent(function()
if isCreature(cid) then
doSendMagicEffect(position2, config.effect2)
end
end, (n - 1) * 1000)
end 
else
doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 54693))).." seconds.")
return false
end
else
doPlayerSendCancel(cid, "You can only use this skill when you're with less than 30 percent of your life.")
return false
end
return true
end

só altera a position1 e a position2.

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

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