Widzia?em sporo czar?w i wiem ?e ka?dy to mo?e zrobi?, ale postanowi?em wrzuci? taki oto skrypcik na czar (upija, zadaje obra?enia, podw?jne na zewn?trz i wtedy nie upija. Na deser wygl?da inaczej w zale?no?ci od profesji). Mo?na przerabia? i modyfikowa? wygl?d, efekt dystansowy i obra?enia dla swoich potrzeb, ale najlepiej by w skrypcie zosta?y dwie pierwsze linijki z komentarzami.
Tworzymy w folderze data\spells\scripts naszego OTSa plik o nazwie xxxxx.lua, i wklejamy tam to:
Bia?y - wymagane je?li chcesz mie? exhaust na czar, jak nie to mo?esz to wykasowa? ;]
Do spells.xml wklejamy to:
zolty - nazwa czaru
niebieski - s?owa s?u??ce do uruchomienia czaru
czerwony - poziom wymagany do uruchomienia czaru
zielony - mlvl wymagany do uruchomienia czaru
fioletowy - ile many ma bra? po u?yciu
pomaranczowy - potrzebne premium na spell? 1 - tak, 0 - nie
jasny niebieski - nazwa stworzonego przez nas pliku na samym pocz?tku
bia?y - exhaust na spell w ms
A tak wygl?da czar w poszczeg?lnych profesjach:
Prosz? o ocenki
Tworzymy w folderze data\spells\scripts naszego OTSa plik o nazwie xxxxx.lua, i wklejamy tam to:
Kod:
-- Code By Damikosek
-- Made for www.tibia.net.pl
-- Poczatek czesci dla sorca
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 31)
local c = createConditionObject(CONDITION_DRUNK)
setConditionParam(c, CONDITION_PARAM_TICKS, 30 * 1000)
setCombatCondition(combat2, c)
local acombat3 = createCombatObject()
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
-- Koniec czesci dla sorca
-- Poczatek czesci dla druida
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 15)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 31)
local co = createConditionObject(CONDITION_DRUNK)
setConditionParam(co, CONDITION_PARAM_TICKS, 30 * 1000)
setCombatCondition(combat5, co)
local acombat6 = createCombatObject()
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 8)
setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, 3)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
-- Koniec czesci dla druida
-- Poczatek czesci dla palla
local combat7 = createCombatObject()
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 21)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
local combat8 = createCombatObject()
setCombatParam(combat8, COMBAT_PARAM_EFFECT, 31)
local con = createConditionObject(CONDITION_DRUNK)
setConditionParam(c, CONDITION_PARAM_TICKS, 30 * 1000)
setCombatCondition(combat8, con)
local acombat9 = createCombatObject()
local combat9 = createCombatObject()
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, 17)
setCombatParam(combat9, COMBAT_PARAM_DISTANCEEFFECT, 17)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
-- Koniec czesci dla palla
-- Poczatek czesci dla knighta
local combat10 = createCombatObject()
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 34)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
local combat11 = createCombatObject()
setCombatParam(combat11, COMBAT_PARAM_EFFECT, 31)
local cond = createConditionObject(CONDITION_DRUNK)
setConditionParam(cond, CONDITION_PARAM_TICKS, 30 * 1000)
setCombatCondition(combat11, cond)
local acombat12 = createCombatObject()
local combat12 = createCombatObject()
setCombatParam(combat12, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat12, COMBAT_PARAM_EFFECT, 2)
setCombatParam(combat12, COMBAT_PARAM_DISTANCEEFFECT, 10)
setCombatFormula(combat12, COMBAT_FORMULA_LEVELMAGIC, -1, -100, -2, -200)
-- Koniec czesci dla knighta
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, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 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}
}
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, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 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}
}
arr3 = {
{0, 0, 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, 1, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 1, 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}
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(acombat3, area3)
setCombatArea(combat4, area1)
setCombatArea(combat5, area2)
setCombatArea(acombat6, area3)
setCombatArea(combat7, area1)
setCombatArea(combat8, area2)
setCombatArea(acombat9, area3)
setCombatArea(combat10, area1)
setCombatArea(combat11, area2)
setCombatArea(acombat12, area3)
function onTargetTile3(cid, pos)
doCombat(cid,combat3,positionToVariant(pos))
end
function onTargetTile6(cid, pos)
doCombat(cid,combat6,positionToVariant(pos))
end
function onTargetTile9(cid, pos)
doCombat(cid,combat9,positionToVariant(pos))
end
function onTargetTile12(cid, pos)
doCombat(cid,combat12,positionToVariant(pos))
end
setCombatCallback(acombat3, CALLBACK_PARAM_TARGETTILE, "onTargetTile3")
setCombatCallback(acombat6, CALLBACK_PARAM_TARGETTILE, "onTargetTile6")
setCombatCallback(acombat9, CALLBACK_PARAM_TARGETTILE, "onTargetTile9")
setCombatCallback(acombat12, CALLBACK_PARAM_TARGETTILE, "onTargetTile12")
local function onCastSpell1(parameters)
doCombat(parameters.cid, combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, combat2, parameters.var)
end
local function onCastSpell3(parameters)
doCombat(parameters.cid, acombat3, parameters.var)
end
local function onCastSpell4(parameters)
doCombat(parameters.cid, combat4, parameters.var)
end
local function onCastSpell5(parameters)
doCombat(parameters.cid, combat5, parameters.var)
end
local function onCastSpell6(parameters)
doCombat(parameters.cid, acombat6, parameters.var)
end
local function onCastSpell7(parameters)
doCombat(parameters.cid, combat7, parameters.var)
end
local function onCastSpell8(parameters)
doCombat(parameters.cid, combat8, parameters.var)
end
local function onCastSpell9(parameters)
doCombat(parameters.cid, acombat9, parameters.var)
end
local function onCastSpell10(parameters)
doCombat(parameters.cid, combat10, parameters.var)
end
local function onCastSpell11(parameters)
doCombat(parameters.cid, combat11, parameters.var)
end
local function onCastSpell12(parameters)
doCombat(parameters.cid, acombat12, parameters.var)
end
-- Ponizszy skrypt sprawdza profesje w momencie wymowy slow czaru
function onCastSpell(cid, var)
getvoc = getPlayerVocation(cid)
if getvoc == 1 or getvoc == 5 then
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3}
addEvent(onCastSpell1, 50, parameters)
addEvent(onCastSpell2, 50, parameters)
addEvent(onCastSpell3, 50, parameters)
elseif getvoc == 2 or getvoc == 6 then
local parameters = { cid = cid, var = var, combat4 = combat4, combat5 = combat5, combat6 = combat6}
addEvent(onCastSpell4, 50, parameters)
addEvent(onCastSpell5, 50, parameters)
addEvent(onCastSpell6, 50, parameters)
elseif getvoc == 3 or getvoc == 7 then
local parameters = { cid = cid, var = var, combat7 = combat7, combat8 = combat8, combat9 = combat9}
addEvent(onCastSpell7, 50, parameters)
addEvent(onCastSpell8, 50, parameters)
addEvent(onCastSpell9, 50, parameters)
elseif getvoc == 4 or getvoc == 8 then
local parameters = { cid = cid, var = var, combat10 = combat10, combat11 = combat11, combat12 = combat12}
addEvent(onCastSpell10, 50, parameters)
addEvent(onCastSpell11, 50, parameters)
addEvent(onCastSpell12, 50, parameters)
end
[COLOR="White"]return true[/COLOR]
end
Do spells.xml wklejamy to:
Kod:
<instant name="[COLOR="Yellow"]drunk attack[/COLOR]" words="[COLOR="Blue"]Exevo Uvo[/COLOR]" lvl="[COLOR="Red"]1[/COLOR]" maglv="[COLOR="Olive"]0[/COLOR]" mana="[COLOR="Purple"]0[/COLOR]" soul="0" exhaustion="[COLOR="White"]1[/COLOR]" prem="[COLOR="Orange"]0[/COLOR]" script="[COLOR="LightBlue"]xxxxx.lua[/COLOR]"><vocation id="2"/><vocation id="1"/><vocation id="3"/><vocation id="4"/><vocation id="6"/><vocation id="5"/><vocation id="8"/><vocation id="7"/></instant>
niebieski - s?owa s?u??ce do uruchomienia czaru
czerwony - poziom wymagany do uruchomienia czaru
zielony - mlvl wymagany do uruchomienia czaru
fioletowy - ile many ma bra? po u?yciu
pomaranczowy - potrzebne premium na spell? 1 - tak, 0 - nie
jasny niebieski - nazwa stworzonego przez nas pliku na samym pocz?tku
bia?y - exhaust na spell w ms
A tak wygl?da czar w poszczeg?lnych profesjach:
Nie masz wystarczających uprawnień, aby zobaczyć link.
Zaloguj or Rejestracja
Prosz? o ocenki
