Porque a minha magia nao esta dando certo?

tonynamoral
em Scripts

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Fala ai galera , eu tentei criar 1 magia aki mais nao saiu sucesso

 

Eu criei uma especie de Elemental Bolts...

 

Sai 2 bolts de cada tipo , tirando POISON , ENERGY E FIRE , SO QUE SÓ ESTÁ FUNCIONANDO A DE FIRE...

 

SE ALGUEM PODER AJUDAR AQUI :)

 

magia :

 

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 13)

local combat2 = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 1)

local combat3 = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 15)

 

function onGetFormulaValues(cid, level, skill, attack, factor)

return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))

end

 

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)

function onEnergy(cid)

doCombat(cid, combat, var)

end

function onPoison(cid)

doCombat(cid, combat2, var)

end

function onFlame(cid)

doCombat(cid, combat3, var)

end

onEnergy(cid)

addEvent(function() onPoison(cid) end,300)

addEvent(function() onFlame(cid) end,600)

addEvent(function() onEnergy(cid) end,900)

addEvent(function() onPoison(cid) end,1200)

addEvent(function() onFlame(cid) end,1500)

end

 

 

 

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

XxPaaulinhoOxX

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/12/12Posts: 47

Não manjo muito de Script ainda, mas tenta agora ..

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 13)

local combat2 = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 1)

local combat3 = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 15)

 

function onGetFormulaValues(cid, level, skill, attack, factor)

return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))

end

 

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)

function onEnergy(cid)

doCombat(cid, combat, var)

end

function onPoison(cid)

doCombat(cid, combat2, var)

end

function onFire(cid)

doCombat(cid, combat3, var)

end

onEnergy(cid)

addEvent(function() onPoison(cid) end,300)

addEvent(function() onFire(cid) end,600)

addEvent(function() onEnergy(cid) end,900)

addEvent(function() onPoison(cid) end,1200)

addEvent(function() onFire(cid) end,1500)

end

SkyLigh

User X
avatar
Lorde
Lorde

INFOS

Grupo: LordeRegistrado: 23/07/12Posts: 2183Char no Tibia: Kissy
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 13)
local combat2 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 1)
local combat3 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 15)
function onGetFormulaValues(cid, level, skill, attack, factor)
return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
end
function onCastSpell(cid, var)
function onEnergy(cid)
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
doCombat(cid, combat, var)
end
function onPoison(cid)
doCombat(cid, combat2, var)
end
function onFlame(cid)
doCombat(cid, combat3, var)
end
onEnergy(cid)
addEvent(function() onPoison(cid) end,300)
addEvent(function() onFlame(cid) end,600)
addEvent(function() onEnergy(cid) end,900)
addEvent(function() onPoison(cid) end,1200)
addEvent(function() onFlame(cid) end,1500)
end

Att,
Kissy

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Mesma coisa...

 

@Edit , não esta mudando nada , sempre fica a msm coisa

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

eu realmente n sei mexer com spells mas..

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 13)

local combat2 = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 1)

local combat3 = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 15)

 

function onGetFormulaValues(cid, level, skill, attack, factor)

return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))

end

 

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

setCombatCallback(combat2, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

setCombatCallback(combat3, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)

 

function doDano(cid, combat, var)

if not isCreature(cid) then return true end

doCombat(cid, combat, var)

end

 

local combats = {combat, combat2, combat3}

for i = 0, 5 do

local c = i+1 >= 4 and i-3 or i+1

addEvent(doDano, i * 300, cid, combats[c], var)

end

end

 

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Mema merda :'(

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Caramba, passou esse tanto de gente e não percebeu o erro do script. Olhem os combats, galera.

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 13)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 1)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 15)

function onGetFormulaValues(cid, level, skill, attack, factor)
return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
setCombatCallback(combat2, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
setCombatCallback(combat3, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
doCombat(cid, combat, var)
addEvent(doCombat, 300, cid, combat2, var)
addEvent(doCombat, 600, cid, combat3, var)
addEvent(doCombat, 900, cid, combat, var)
addEvent(doCombat, 1200, cid, combat2, var)
addEvent(doCombat, 1500, cid, combat3, var)
return true
end

 

OBS: Talvez eu fiz alguma bobeira no script, apenas talvez.

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

Testa aí, também coloquei uma verificação para que se o player deslogar durante o addEvent não aparecer erros no distro:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 13)

local combat2 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 1)

local combat3 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 15)

function onGetFormulaValues(cid, level, skill, attack, factor)
return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onEnergy(cid)
if not isCreature(cid) then return true end
doCombat(cid, combat, var)
end

function onPoison(cid)
if not isCreature(cid) then return true end
doCombat(cid, combat2, var)
end

function onFlame(cid)
if not isCreature(cid) then return true end
doCombat(cid, combat3, var)
end

function onCastSpell(cid, var)

addEvent(onPoison, 300, cid)
addEvent(onFlame, 600, cid)
addEvent(onEnergy, 900, cid)
addEvent(onPoison, 1200, cid)
addEvent(onFlame, 1500, cid)
end

jeoz.png

HatakeeKakashi

Ser diferente nem sempre significa ser melhor!
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/09/12Posts: 67Char no Tibia: Hatake Kakashi

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combat1, COMBAT_PARAM_USECHARGES, TRUE)
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, 215)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(distanceCombat1, COMBAT_PARAM_HITCOLOR, 215)
setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 2, 3, 0.5, 10)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combat2, COMBAT_PARAM_USECHARGES, TRUE)
setCombatParam(combat2, COMBAT_PARAM_HITCOLOR, 215)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(distanceCombat2, COMBAT_PARAM_HITCOLOR, 215)
setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 2, 3, 0.5, 13)
local arr1 = {
{0, 0, 0,},
{0, 2, 0,},
{0, 0, 0,},
{1, 0, 0,},
}
local arr2 = {
{0, 0, 0,},
{0, 2, 0,},
{1, 0, 0,},
{0, 0, 0,},
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end

 

é a minha alguem pode me ajuda porfavor?

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

Toma, cara.

 

local spell_config = {
[1] = {
	damage = COMBAT_FIREDAMAGE,
	areaEffect = CONST_ME_FIREAREA,
	shootEffect = CONST_ANI_FLAMMINGARROW
},
[2] = {
	damage = COMBAT_ENERGYDAMAGE,
	areaEffect = CONST_ME_ENERGYAREA,
	shootEffect, CONST_ANI_FLASHARROW
},
[3] = {
	damage = COMBAT_EARTHDAMAGE,
	areaEffect = CONST_ME_SMALLPLANTS,
	shootEffect, CONST_ANI_EARTHARROW
}
}

local combats = {}
for _, config in ipairs(spell_config) do
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, config.damage)
setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, config.shootEffect)
function onGetFormulaValues(cid, level, skill, attack, factor)
	return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
table.insert(combats, combat)
end

function onCastSpell(cid, var)
for n = 1, #combats do
	addEvent(doCombat, n * 100, cid, combats[n], var)
end
return true
end

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Aí karalho , vo testar 1 por 1 \o/

 

@Edit

 

Oneshot , a tua funfo 100% kra , brigado tiu \o/

 

Duvida Sanada

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL