Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Cooldown em uma spell


Ir para solução Resolvido por KotZletY,

Posts Recomendados

Eu gostaria que esta spell tenha um cooldown de 60 segundos. Agradeço quem fizer! 

Script: 

Spoiler

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

local condition1 = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition1, CONDITION_PARAM_TICKS, 10000)
setConditionParam(condition1, CONDITION_PARAM_SPEED, -1000)
setConditionFormula(condition1, -0.9, 0, -0.9, 0)
setCombatCondition(combat, condition1)

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

function onCastSpell(cid, var)
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 342)
return doCombat(cid, combat, var)
end

 

Link para o post
Compartilhar em outros sites
  • Solução
Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
local condition1 = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition1, CONDITION_PARAM_TICKS, 10000)
setConditionParam(condition1, CONDITION_PARAM_SPEED, -1000)
setConditionFormula(condition1, -0.9, 0, -0.9, 0)
setCombatCondition(combat, condition1)
function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
function onCastSpell(cid, var)
local tempo = 1 -- Tempo de exhaustion em segundos
local sto = 5889 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas!

if exhaustion.check(cid, sto) then
doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, sto) .. " segundos para usar essa spell novamente.")
return false
end 

local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 342)
exhaustion.set(cid, sto, tempo)
return doCombat(cid, combat, var)
end

 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
7 horas atrás, KotZletY disse:
  Ocultar conteúdo


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
local condition1 = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition1, CONDITION_PARAM_TICKS, 10000)
setConditionParam(condition1, CONDITION_PARAM_SPEED, -1000)
setConditionFormula(condition1, -0.9, 0, -0.9, 0)
setCombatCondition(combat, condition1)
function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
function onCastSpell(cid, var)
local tempo = 1 -- Tempo de exhaustion em segundos
local sto = 5889 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas!

if exhaustion.check(cid, sto) then
doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, sto) .. " segundos para usar essa spell novamente.")
return false
end 

local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 342)
exhaustion.set(cid, sto, tempo)
return doCombat(cid, combat, var)
end

 

 

Apareceu isso quando eu uso a spell in-game:

Spoiler

 

You need be equiped a weapon to use this spell


 

Mas eu uso um arco!! e.. talvez seja minha spell que esteja bugada, então me ensina como faço para colocar cooldown em todas as spells (as que eu quiser, claro.)

Link para o post
Compartilhar em outros sites
4 horas atrás, Mateus Santosss disse:

Apareceu isso quando eu uso a spell in-game:

  Ocultar conteúdo

 

You need be equiped a weapon to use this spell

 

 

 

 

Mas eu uso um arco!! e.. talvez seja minha spell que esteja bugada, então me ensina como faço para colocar cooldown em todas as spells (as que eu quiser, claro.)

traduz o erro

 

"Você precisa ter uma arma para usar esse feitiço"

 

para por coldown em tudo é bem Simples segue esse tutorial.

 

Sempre depois da funçao

function onCastSpell(cid, var)

coloque

 

local tempo = 1 -- Tempo de exhaustion em segundos
local sto = 5889 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas!

if exhaustion.check(cid, sto) then
doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, sto) .. " segundos para usar essa spell novamente.")
return false
end 

e sempre antes do Return coloque

exhaustion.set(cid, sto, tempo)

pronto

 

coloca sua tag ai do Spell.xml a do problema

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites
1 minuto atrás, ZikaLord disse:

traduz o erro

 

"Você precisa ter uma arma para usar esse feitiço"

 

para por coldown em tudo é bem Simples segue esse tutorial.

 

Sempre depois da funçao


function onCastSpell(cid, var)

coloque

 


local tempo = 1 -- Tempo de exhaustion em segundos
local sto = 5889 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas!

if exhaustion.check(cid, sto) then
doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, sto) .. " segundos para usar essa spell novamente.")
return false
end 

e sempre antes do Return coloque


exhaustion.set(cid, sto, tempo)

pronto

 

coloca sua tag ai do Spell.xml a do problema

<instant name="paralyze" words="paralyze" lvl="40" mana="70" prem="0" range="5" needtarget="1" blockwalls="1" needweapon="1" exhaustion="0" needlearn="0" script="Vip/paralyse.lua">
 

Link para o post
Compartilhar em outros sites

Você só quer que tenha o cooldown de 60 segundos ?

 

Tente o seguinte:

 

Em Spells.xml

<instant name="paralyze" words="paralyze" lvl="40" mana="70" prem="0" range="5" needtarget="1" blockwalls="1" needweapon="1" exhaustion="60000" needlearn="0" script="Vip/paralyse.lua">

 

Em paralyse.lua

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
local condition1 = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition1, CONDITION_PARAM_TICKS, 10000)
setConditionParam(condition1, CONDITION_PARAM_SPEED, -1000)
setConditionFormula(condition1, -0.9, 0, -0.9, 0)
setCombatCondition(combat, condition1)
function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
function onCastSpell(cid, var)
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 342)
return doCombat(cid, combat, var)
end

 

 

 

Link para o post
Compartilhar em outros sites

Assim vai ficar com um Coldown Imenso e ele nao vai poder usar em um Combo por Exemplo.

ou seja alterar a Script é bem mais viável do que por no Spell.Xml.

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites
Agora, ZikaLord disse:

Assim vai ficar com um Coldown Imenso e ele nao vai poder usar em um Combo por Exemplo.

ou seja alterar a Script é bem mais viável do que por no Spell.Xml.

Mas eu so queria que a script funcionasse com paralyse ;-;

Eu usando a spell que o menino la em cima passou, como eu faço pra aumentar o tempo de paralyse?

Link para o post
Compartilhar em outros sites
4 horas atrás, Mateus Santosss disse:

Mas eu so queria que a script funcionasse com paralyse ;-;

Eu usando a spell que o menino la em cima passou, como eu faço pra aumentar o tempo de paralyse?

Usa esse Paralize

 

local tempo = 5 -- tempo do paralyze em segundos
local effect = 234 -- efeito que vai sair ao redor do player
local exausted = 8 -- exhausted em segundos
local storage = 13098 -- storage do exausted

local condition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_SPEED, -5000)

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)

local function Efect()
if not isCreature(target) then return true end
local positions = {
[1] = {x=getCreaturePosition(target).x+2, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z},
}
for i=1, #positions do
if isWalkable(positions) then
doSendMagicEffect(positions, effect)
end
end
end

local function No_Move_Target()
if isCreature(target) then
doCreatureSetNoMove(target, 0)
end
return TRUE
end

if isPlayer(cid) and exhaustion.check(cid, storage) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar novamente.")
return false
end

exhaustion.set(cid, storage, exausted)
doCreatureSetNoMove(target, 1)
doAddCondition(target, condition)
addEvent(No_Move_Target, tempo*1000)
local t = 0
while t <= tempo*1000 do
addEvent(Efect, t)
t = t+300
end
return true
end

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites
29 minutos atrás, ZikaLord disse:

Usa esse Paralize

 

local tempo = 5 -- tempo do paralyze em segundos
local effect = 234 -- efeito que vai sair ao redor do player
local exausted = 8 -- exhausted em segundos
local storage = 13098 -- storage do exausted

local condition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_SPEED, -5000)

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)

local function Efect()
if not isCreature(target) then return true end
local positions = {
[1] = {x=getCreaturePosition(target).x+2, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z},
}
for i=1, #positions do
if isWalkable(positions) then
doSendMagicEffect(positions, effect)
end
end
end

local function No_Move_Target()
if isCreature(target) then
doCreatureSetNoMove(target, 0)
end
return TRUE
end

if isPlayer(cid) and exhaustion.check(cid, storage) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar novamente.")
return false
end

exhaustion.set(cid, storage, exausted)
doCreatureSetNoMove(target, 1)
doAddCondition(target, condition)
addEvent(No_Move_Target, tempo*1000)
local t = 0
while t <= tempo*1000 do
addEvent(Efect, t)
t = t+300
end
return true
end

O effect que eu escolho não aparece quando uso o jutsu, apenas da paralyse sem effect nenhum

Link para o post
Compartilhar em outros sites
4 horas atrás, Mateus Santosss disse:

O effect que eu escolho não aparece quando uso o jutsu, apenas da paralyse sem effect nenhum

no meu funciona normal.

tenta mexer na pos

{x=getCreaturePosition(target).x+2, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z},

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites
5 minutos atrás, ZikaLord disse:

no meu funciona normal.

tenta mexer na pos

{x=getCreaturePosition(target).x+2, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z},

Eu editei corretamente. Talvez a magic effect não apareça por causa que o lugar é fechado :?

Link para o post
Compartilhar em outros sites
4 horas atrás, Mateus Santosss disse:

Eu editei corretamente. Talvez a magic effect não apareça por causa que o lugar é fechado :?

manda print

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites
4 horas atrás, Mateus Santosss disse:

é praticamente assim: eu uso o jutsu: PARALYSE, aparece a letra LARANJA e o target fica parado. Porém não aparece nenhum magic effect

qual seria esse efeito?

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites
4 horas atrás, Mateus Santosss disse:

Prints:

  Ocultar conteúdo

z5tdbfH.png0F8id54.png

 

sua sourcer e client estao extendido?

 

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites

É simples, traduz a msg que você vera, com essa tag na linha da spell, needweapon="1" você precisará de uma weapon, qualquer uma para poder usar a spells, remova isso que é GG Easy! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
Agora, KotZletY disse:

É simples, traduz a msg que você vera, com essa tag na tag da spell, needweapon="1" você precisará de uma weapon, qualquer uma para poder usar a spells, remova isso que é GG Easy! 

Eu testei tua spell no meu server mas só aparece o effect mas não da o efeito de paralyse :/

Link para o post
Compartilhar em outros sites

@Mateus Santosss ué, seu pedido foi cooldown para não usar a spell e não uma paralizy. xD

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

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