Ir para conteúdo
  • Cadastre-se

[Ajuda] Criar Spell Haste


Posts Recomendados

local combatpremium = createCombatObject()
setCombatParam(combatpremium, COMBAT_PARAM_EFFECT, 14)
setCombatParam(combatpremium, COMBAT_PARAM_AGGRESSIVE, 0)

local conditionpremium = createConditionObject(CONDITION_HASTE)
setConditionParam(conditionpremium, CONDITION_PARAM_TICKS, 36000)
setConditionFormula(conditionpremium, 0.4, -24, 0.5, -24)
setCombatCondition(combatpremium, conditionpremium)

local speed = createConditionObject(CONDITION_PARALYZE)
setConditionParam(speed, CONDITION_PARAM_TICKS, 10000)
setConditionFormula(condition, -0.9, 0, -0.9, 0)
setCombatCondition(combatpremium, speed)




function onCastSpell(cid, var)

if getPlayerLookDir(cid) == 0 then
pos1 = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}    
pos2 = {x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}
pos3 = {x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}
elseif getPlayerLookDir(cid) == 1 then
pos1 = {x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}    
pos2 = {x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y +1, z=getCreaturePosition(cid).z}
pos3 = {x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y -1, z=getCreaturePosition(cid).z}
elseif getPlayerLookDir(cid) == 2 then
pos1 = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z}    
pos2 = {x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z}
pos3 = {x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z}
elseif getPlayerLookDir(cid) == 3 then
pos1 = {x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}    
pos2 = {x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y +1, z=getCreaturePosition(cid).z}
pos3 = {x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y -1, z=getCreaturePosition(cid).z}
end
doSendDistanceShoot(getPlayerLookPos(cid), pos1, 40)
doSendDistanceShoot(getPlayerLookPos(cid), pos2, 40)
doSendDistanceShoot(getPlayerLookPos(cid), pos3, 40)
return doCombat(cid, combatpremium, var)


end

Testa ae mim fala ver se deu certo pq nao tenho como testa

Link para o post
Compartilhar em outros sites

Concerteza não da certo pois, não adianta colocar só a condition de paralyze, tem que colocar onde ela vai aparecer


up

Link para o post
Compartilhar em outros sites
local combatpremium = createCombatObject()
setCombatParam(combatpremium, COMBAT_PARAM_EFFECT, 14)
setCombatParam(combatpremium, COMBAT_PARAM_AGGRESSIVE, 0)


local conditionpremium = createConditionObject(CONDITION_HASTE)
setConditionParam(conditionpremium, CONDITION_PARAM_TICKS, 36000)
setConditionFormula(conditionpremium, 0.4, -24, 0.5, -24)
setCombatCondition(combatpremium, conditionpremium)


local gelocondition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(gelocondition, CONDITION_PARAM_TICKS, 10000)   
setConditionFormula(gelocondition, -0.9, 0, -0.9, 0)  


function canEffect(pos, pz, proj) -- Night Wolf based on Nord
if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
if getTilePzInfo(pos) and not pz then return false end
local n = not proj and 3 or 2
for i = 0, 255 do
pos.stackpos = i
local tile = getTileThingByPos(pos)
if tile.itemid ~= 0 and not isCreature(tile.uid) then
if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
return false
end
end
end
return true
end




function onCastSpell(cid, var)


if getPlayerLookDir(cid) == 0 then
effectpos = {
{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}
}
conditionpos = {
{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}
}
elseif getPlayerLookDir(cid) == 1 then
effectpos = {
{x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y +1, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y -1, z=getCreaturePosition(cid).z},
}
conditionpos = {
{x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y +1, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x -3, y=getCreaturePosition(cid).y -1, z=getCreaturePosition(cid).z},
}
elseif getPlayerLookDir(cid) == 2 then
effectpos = {
{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z}
}
conditionpos = {
{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y -3, z=getCreaturePosition(cid).z}
}
elseif getPlayerLookDir(cid) == 3 then
effectpos = {
{x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y +1, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y -1, z=getCreaturePosition(cid).z}
}
conditionpos = {
{x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y +1, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x +3, y=getCreaturePosition(cid).y -1, z=getCreaturePosition(cid).z}
}
end
---------- efeito -----------
for _, ePos in ipairs(effectpos) do
if canEffect (ePos) then
doSendDistanceShoot(getPlayerLookPos(cid), ePos, 40)
end
end
---------- condition -------------
for _, cPos in ipairs(conditionpos) do
local mob = getTopCreature(cPos).uid
    if canEffect (cPos) and mob ~= 0 and isCreature(mob) then
doAddCondition(mob, gelocondition)
end
end
------------------------


return doCombat(cid, combatpremium, var)
end

só adiciona na table conditionpos o resto dos sqms atrás do player que vão causar a condition

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
só adiciona na table conditionpos o resto dos sqms atrás do player que vão causar a condition

não entendi..

Link para o post
Compartilhar em outros sites
if getPlayerLookDir(cid) == 0 then

effectpos = {

{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},    

{x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},

{x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}

}

conditionpos = {

{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},    

{x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},

{x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}

}

 

se o player tiver olhando pro norte os efeitos vão pras posições

{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).+3, z=getCreaturePosition(cid).z},    

{x=getCreaturePosition(cid).-1, y=getCreaturePosition(cid).+3, z=getCreaturePosition(cid).z},

{x=getCreaturePosition(cid).+1, y=getCreaturePosition(cid).+3, z=getCreaturePosition(cid).z}

e a condition vai ser setada nas posições:

{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).+3, z=getCreaturePosition(cid).z},    

{x=getCreaturePosition(cid).-1, y=getCreaturePosition(cid).+3, z=getCreaturePosition(cid).z},

{x=getCreaturePosition(cid).+1, y=getCreaturePosition(cid).+3, z=getCreaturePosition(cid).z}

 

Se você quiser adicionar positions a mais é só colocar virgula e repetir.

 

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

eu testei antes de postar, adiciona o resto das posições que vai funcionar :3

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

não estão todas '-' se a posição do cara for norte ele só vai adicionar a condition nesses 3 SQM's aqui:
conditionpos = {
{x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},    
{x=getCreaturePosition(cid).x -1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z},
{x=getCreaturePosition(cid).x +1, y=getCreaturePosition(cid).y +3, z=getCreaturePosition(cid).z}
}

vc tem que fazer um desenho no paint pra verificar quais os SQM's que vc quer que pegue e adicionar eles aí e nas outras direções
Nesse caso tá só em 3 sqm..
o sqm X, Y+3, Z,
o SQM, X-1, Y+3, Z
e o SQM X+1, Y+3, Z.

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