O Tibi i nie tylko...
A więc odrazu mówie że skrypt mój (wziąłem z mojego konta na T11).
Na samym początku mówie o co chodzi. Chodzi o cos takiego ze wypowiada sie 1 czar ktory wali 2,5,10 lub wiele wiecej razy. Mysle ze dobrze to opisalem. A wiec:
1. Sama Budowa:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 6)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.4, -50, -0.5, 0)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 37)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, -60, -0.5, 0)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 20)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.4, -70, -0.5, 0)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 39)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -0.4, -70, -0.5, 0)
to jest to co jest najwazniejsze (efekty, sila itd.) Zeby zrobic wiecej efektow poprostu kopiujemy to i zmieniamy z combat# na wieksza wartosc i tak w kazdej czesci.
2.pola ataku
arr1 = {
{0, 0, 0},
{0, 0, 1},
{0, 2, 0},
{1, 0, 0},
{0, 0, 0},
}
arr2 = {
{0, 0, 0},
{0, 1, 0},
{0, 2, 0},
{0, 1, 0},
{0, 0, 0},
}
arr3 = {
{0, 0, 0},
{1, 0, 0},
{0, 2, 0},
{0, 0, 1},
{0, 0, 0},
}
arr4 = {
{0, 0, 0},
{0, 0, 0},
{1, 2, 1},
{0, 0, 0},
{0, 0, 0},
}
To jest pole ataku spelli. Mozna je dowolnie zmieniac (1 to kratka z atakiem 0 kratka bez ataku 2 pozycja gracza).
3. Dopasowanie pola do danego ataku
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
Chodzi o to zeby do danego efektu dodac pole.
4. Wlaczenie ataku
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
local function onCastSpell4(parameters)
doCombat(parameters.cid, parameters.combat4, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4}
Po prostu zrobic to i dodac nowe jak wiecej efektow, jak mniej usunac.
5. Czas
addEvent(onCastSpell1, x, parameters)
addEvent(onCastSpell2, x, parameters)
addEvent(onCastSpell3, x, parameters)
addEvent(onCastSpell4, x, parameters)
end
To gdzie jest X to czas w jakich odstepach wali efekt (1000 = 1sekunda).
a oto gotowy skrypt:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 6)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.4, -50, -0.5, 0)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 37)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, -60, -0.5, 0)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 20)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.4, -70, -0.5, 0)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 39)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -0.4, -70, -0.5, 0)
arr1 = {
{0, 0, 0},
{0, 0, 1},
{0, 2, 0},
{1, 0, 0},
{0, 0, 0},
}
arr2 = {
{0, 0, 0},
{0, 1, 0},
{0, 2, 0},
{0, 1, 0},
{0, 0, 0},
}
arr3 = {
{0, 0, 0},
{1, 0, 0},
{0, 2, 0},
{0, 0, 1},
{0, 0, 0},
}
arr4 = {
{0, 0, 0},
{0, 0, 0},
{1, 2, 1},
{0, 0, 0},
{0, 0, 0},
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
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
local function onCastSpell4(parameters)
doCombat(parameters.cid, parameters.combat4, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4}
addEvent(onCastSpell1, x, parameters)
addEvent(onCastSpell2, x, parameters)
addEvent(onCastSpell3, x, parameters)
addEvent(onCastSpell4, x, parameters)
end
Spell nie moj znalazlem na necie jakis zeby go latwo opisac. (nie kopiuje poradnikow robie wlasne tylko ze skrypt nie moj) Pisalem w pospiechu wiec moga byc bledy ortograficzne itd.
Pozdroo,
DanE323.
Offline
No No GZ
leci +
Offline