IS
pedido

Spell Complicada Cima, Baixo, Direita, Esquerda

Por IsaqueTeixeira, 05 de ago. de 2012 em Scripts

203
20.2k
LuckOakeL
19 de agosto de 2012 às 19:58

Desculpe, erro meu.

 

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 47)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 47)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, 47)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)

 

arr1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

arr3 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0},

{0, 1, 1, 1, 0, 2, 0, 0, 1, 1, 0},

{0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

 

local condition = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition, -5.8, 0, -5.8, 0)

setCombatCondition(combat1, condition)

 

local condition2 = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition2, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition2, -5.8, 0, -5.8, 0)

setCombatCondition(combat2, condition2)

 

local condition3 = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition3, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition3, -5.8, 0, -5.8, 0)

setCombatCondition(combat3, condition3)

 

local function onCastSpell1(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

local function onCastSpell2(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

local function onCastSpell3(parameters)

doCombat(parameters.cid, parameters.combat3, parameters.var)

end

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, }

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

addEvent(onCastSpell3, 300, parameters)

end

 

Editado Agosto 19 por LuckOake

19 de agosto de 2012 às 20:25

Aee pegou de boa REP+

 

Mano pra add o paralizer so é colocar essa tag aqui é?

 

local condition = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition, -5.8, 0, -5.8, 0)

setCombatCondition(combat1, condition)

 

LuckOakeL
19 de agosto de 2012 às 20:36

É, basta adicionar uma nova.

19 de agosto de 2012 às 22:38

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_NONE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -3.9, 1, -3.9, 1)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -3.9, 1, -3.9, 1)

arr1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

local condition = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition, -100.8, 0, -100.8, 0)

setCombatCondition(combat1, condition)

local condition2 = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition2, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition2, -100.8, 0, -100.8, 0)

setCombatCondition(combat2, condition2)

local function onCastSpell1(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)

end

local function onCastSpell2(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)

end

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var}

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

doSendMagicEffect(position, 92)

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

return TRUE

end

 

 

Effect ta no player e não no alvo, ve ai se tu arruma por favor.

LuckOakeL
19 de agosto de 2012 às 22:46

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_NONE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -3.9, 1, -3.9, 1)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -3.9, 1, -3.9, 1)

 

arr1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

 

local condition = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition, -100.8, 0, -100.8, 0)

setCombatCondition(combat1, condition)

local condition2 = createConditionObject(CONDITION_PARALYZE)

setConditionParam(condition2, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(condition2, -100.8, 0, -100.8, 0)

setCombatCondition(combat2, condition2)

 

local function onCastSpell1(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)

end

 

local function onCastSpell2(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)

end

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var}

local target = getCreatureTarget(cid)

local position = {x=getPlayerPosition(target).x+1, y=getPlayerPosition(target).y, z=getPlayerPosition(target).z}

doSendMagicEffect(position, 92)

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

return TRUE

end

 

 

Tó.

19 de agosto de 2012 às 22:53

Mano vlw mesmo, to quase acabando a parte de spell do serve, pelo menos das vocations, falta arrumar, mapa, itens, e o dano das vocations e balancear elas, só uheuheuhee mais tu tais me ajudando muito na boa vlw mesmo

 

EDIT

 

Mano tem como tu me fazer um script que ao player passar por cima de um item XXXX ele explode.

Editado Agosto 21 por isaque555

LuckOakeL
22 de agosto de 2012 às 21:42

movements.xml:

 

<movevent type="StepIn" actionid="xxxx" event="script" value="explosion.lua"/>

 

Substitua o xxxx por um action id que desejar. Caso deseje usar um itemid no lugar de action id, substitua actionid="xxxx" por itemid="xxxx".

 

explosion.lua:

 

function onStepIn(cid, item, pos)

hp = 100 -- Quantia de HP que o player perderá

eff = 5 -- Efeito que será mandado

text = "sim" -- Mandar mensagem da explosão? Sim ou nao

msg = "BOOOOM" -- Mensagem da explosão

 

doRemoveItem(item.uid, 1)

doCreatureAddHealth(cid, -hp)

doSendMagicEffect(getCreaturePos(cid), eff)

if text == "sim" then

doSendAnimatedText(getCreaturePos(cid), msg, TEXTCOLOR_RED)

end

return true

end

 

Editado Agosto 22 por LuckOake

22 de agosto de 2012 às 22:28

Aee mano vlw, funfou

 

Intão, Luck me diz uma coisa é muito difícil fazer uma source pra meu serve? por que to querendo aumentar o numero de effects que posso usar.

LuckOakeL
22 de agosto de 2012 às 22:33

Meu, fazer source eu diria que é impossível para pessoas normais. No mínimo alguns meses ou anos de trabalho e junto de uma equipe, sozinho não dá. Além de que seu server deve ter funções não liberadas ao público. Infelizmente você vai ter que se contentar com o que tem atualmente.

Editado Agosto 22 por LuckOake

22 de agosto de 2012 às 22:52

E se eu mudasse pra um serve 8.54 com source e mudasse no caso O dat, o spr, e o pic do client, apesar de que no serve coloquei apenas spells mesmo.

LuckOakeL
22 de agosto de 2012 às 22:55

Bom, se você mudar pra 8.54 pode dar algumas incompatibilidades de funções, mas já que você disse que só colocou spells, pode. No client é só mudar a signature do .spr e .dat. Se quiser, eu faço isso pra você. Mas lembre-se sempre de fazer um backup do seu server antes de modificações grandes.

22 de agosto de 2012 às 22:59

Blz vou tentar arrumar um aqui, por que como eu disse desse meu serve so quero mesmo as spriters saca e as spells creio que não dará qualquer problema, e é até bom por que o meu ta cheio de bugs que acho que so com a sourcer mesmo pra corrigir.

 

Mudar signature no caso seria tu colocar meu dat, spr e pic no novo cliente que vou pegar certo?

 

Tu tens algum site onde eu posso pegar o 8.54 + sourcers?

Editado Agosto 22 por isaque555

LuckOakeL
22 de agosto de 2012 às 23:00

Não, mudar a signature é editar uns valores do .dat e .spr no Dat Editor pra alterar a versão deles.

 

E que tipo de bugs o seu server tem?

22 de agosto de 2012 às 23:08

Tipo, algumas looktypes dão debug no cliente, char quando morre, não para de morrer.

LuckOakeL
22 de agosto de 2012 às 23:13

Como assim não para de morrer? E sobre os LookTypes, eles dão debug ao selecionar no Set Outfit ou só de ver já debuga?