Poradnik pochodzi z innego forum!
Spis treści: 1.)Wprowadzenie 2.)Obrażenia od żywiołów 3.)Animacja 4.)Obrażenia 5.)Animacja dystansowa 6.)Obszar 7.)Spells.xml
1.) W tym poradniku postaram się opisać jak tworzyć/edytować czary.
Zacznijmy od początku Kod:
Spoiler:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, -150, -1.6, -150)
arr = { {0, 0, 0, 0, 0, 1, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 1, 0, 0, 0, 0, 0}, }
local area = createCombatArea(arr) setCombatArea(combat, area)
function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Dla niektórych początkujących jest to bezsensowny ciąg liter w tym postaram sie wytłumaczyć co te litery znaczą
Poszczególne tagi zaznaczyłem kolorami żeby łatwiej było je znaleźć. A więc zaczynam: 2.) Kod:
Spoiler:
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
Jest ot żywiołu zadaje obrażenia czar COMBAT_ENERGYDAMAGE można zamienić na: COMBAT_PHYSICALDAMAGE = Fizyczne(jak z broni) COMBAT_ENERGYDAMAGE = Energia COMBAT_POISONDAMAGE = Trucizna COMBAT_FIREDAMAGE = Ogień COMBAT_LIFEDRAIN = Wysysanie życia COMBAT_MANADRAIN = Wysysanie many COMBAT_UNDEFINEDDAMAGE = Bez animacji tracenia hp COMBAT_HEALING = Leczenie Na niektórych silniczkach są nowe obrażenia. 256 = Energia ciemna niebieska 512 = Lód 1024 = Świętość 2048 = Śmierć ---------------------------------------- 3.)
Spoiler:
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
Efekt magiczny(na kretce) "CONST_ME_ENERGYAREA" można zamienić na inne (podałem też liczby bo słownie może nie działać na niektórych otsach gdyby nie działało prosze wpisać liczby zamiast liter): CONST_ME_DRAWBLOOD lub 0 = Czerwone exori... CONST_ME_LOSEENERGY lub 1 = jak tracimy hp na mana shield CONST_ME_POFF lub 2 = Dym(tak jak przy exhauscie) CONST_ME_BLOCKHIT lub 3 = Zablokowany hit CONST_ME_EXPLOSIONAREA lub 4 = Jak runa explosion CONST_ME_EXPLOSIONHIT lub 5 = Jak tuna hmm CONST_ME_FIREAREA lub 6 = Wybuch (jak gfb) CONST_ME_YELLOW_RINGS lub 7 = Żółte koła CONST_ME_GREEN_RINGS lub 8 = Zielone koła CONST_ME_HITAREA lub 9 = Hit (takie żółte promienie) CONST_ME_ENERGYAREA lub 10 = Exori Vis takie jak w starej tibii CONST_ME_ENERGYHIT lub 11 = Zwykła energia (energy field) CONST_ME_MAGIC_BLUE lub 12 = Niebieskie gwiazdki(Exura) CONST_ME_MAGIC_RED lub 13 = Czerwone gwiazdki(lifedraind) CONST_ME_MAGIC_GREEN lub 14 = Zielone gwiazdki(Utani Hur) CONST_ME_HITBYFIRE lub 15 = Jak zadaje nam obrażenia zatrucie ogniem to jest taki efekt CONST_ME_HITBYPOISON lub 16 = Up tylko poison CONST_ME_MORTAREA lub 17 = SD CONST_ME_SOUND_BLUE lub 18 lub 22= Niebieskie nuty CONST_ME_SOUND_RED lub 19 = Czerwone nuty CONST_ME_POISONAREA lub 20 = Poison(dymek) CONST_ME_SOUND_YELLOW lub 21 = Żółte nutki CONST_ME_SOUND_WHITE lub 24 = Nutki białe CONST_ME_BUBBLES lub 6 = Woda(Bąbelki) 26 = kostka 31 = fajne wirujące gwiazdki 32 = ZZZ 34 = Exori mas 35 = serduszka xD 36 = Nowe exori flam (taki mały płomyk) 37 = Nowe Exori Vis 40 = burza 41 = lód (spadające sople) 42 = wiry (najlepiej wyglądają na 4 kratkach) 43 = lód (wyrastający spod ziemi) 51= hmm jak by to opisać... spadające ciasto... ktoś wymiotuje... 54 = wirujący kolec wyrasta z podziemi (według mnie najlepsza animacja ) CONST_ME_NONE lub 255 = nic
NOWE: 53 - Jak skaczemy do wody to jest taki efekt 52 - Ogromna bryła lodu wyrasta z podziemi 50 - Z ziemi wyrastają "pnącza" (duże) 49 - Błysk (w kształcie krzyża) 48 - Żółta energia 47 - Niebieska energia 46 - Z ziemi wyskakuje kwiat i "gryzie" 45 - Z ziemi wyrastają "pnącza" (duże) 44 - Spadające kamienie 33 - Pojawiają się 4 kratki wody a z nich wyskakuje potwór i po chwili z powrotem wskakuje i kratki znikają 30 do 28 - fajerwerki 27 - konfetti
________________________ 4.) W przypadku runek można dodać distance effect(animacje w locie) Kod:
Spoiler:
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, xxx)
Gdzie xxx można wstawić: CONST_ANI_SPEAR lub 0 = włócznia CONST_ANI_BOLT lub 1 = bełt CONST_ANI_ARROW lub 2 =strzała CONST_ANI_FIRE lub 3 = ognista kula CONST_ANI_ENERGY lub 4 = kula energii CONST_ANI_POISONARROW lub 5 = zatruta strzała CONST_ANI_BURSTARROW lub 6 = wybuchowa strzała CONST_ANI_THROWINGSTAR lub 7 = gwiazdka ninja xD CONST_ANI_THROWINGKNIFE lub 8 = nuż CONST_ANI_SMALLSTONE lub 9 = mały kamień CONST_ANI_SUDDENDEATH lub 10 = sd CONST_ANI_LARGEROCK lub 11 = duży kamień (skała) CONST_ANI_SNOWBALL lub 12 = kulka ze śniegu CONST_ANI_POWERBOLT lub 13 = power bolt CONST_ANI_POISON lub 14 = trucizna CONST_ANI_INFERNALBOLT lub 15 = infernal bolt ________________________ 5.)
Spoiler:
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, -150, -1.6, -150)
Obrażenia jakie zadaje czar/runa COMBAT_FORMULA_LEVELMAGIC = obrażenia zależne od mlvl można zamienić na : COMBAT_FORMULA_SKILL = od skilli broni trzymanej w ręce ________________________ 6.) arr = { {0, 0, 0, 0, 0, 1, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 1, 0, 0, 0, 0, 0}, }
local area = createCombatArea(arr) setCombatArea(combat, area)
Jest to zasięg(obszar) czary/runy arr = { = początek (musi być) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, = Można wstawić xxx linijek z xxx liczbami ale każda liczba musi być oddzielana przecinkiem 0 - to miejsce w które czar nie trafia 1 - miejsce w które czar trafia 2 - miejsce w którym stoi rzucający/cel (czar nie trafia w te kratkę) 3 - miejsce w którym stoi rzucający/cel (czar trafia w te kratkę) _________________ 7.) Kod:
Spoiler:
function onCastSpell(cid, var) return doCombat(cid, combat, var) end
tak ZAZWYCZAJ kończymy czar (w *.lua)
Ale czar trzeba jeszcze dodać do spells.xml Otwieramy więc ten plik i dodajem linijkę: Kod:
Spoiler:
<instant name="NAZWA CZARU" words="ZAKLĘCIE" selftarget="CZY NA SIEBIĘ" direction="CZY ZALEŻNE OD KIERUNKU" aggressive="CZY MOŻNA URZYĆ NA PZcie" lvl="JAKI LVL TRZEBA MIEĆ" maglv="JAKI MLVL" mana="ILE MANY ZABIERA" soul="ILE SOULA" exhaustion="CZY MA EXHAUST" prem="CZY TRZEBA PACC" enabled="1" script="NAZWA DOKUMENTU Z CZAREM z końcówką .lua"><vocation id="1 PROFESJA MOGĄCA URZYWAĆ CZAR"/><vocation id="2 PROFESJA MOGĄCA URZYWAĆ CZAR"/></instant>
W przypadku runy: Kod:
Spoiler:
<rune name="NAZWA RUNY" id="ID RUNY" charges="ILOŚĆ NABOI" needtarget="CZY POTRZEBIJE TARCZE" maglv="NA JAKI MLVL" exhaustion="CZY MA EXHAUST" enabled="1" allowfaruse="1" script="NAZWA PLIKU Z RUMOM.lua"></rune>
Profesje według id: 1 = sorc 2 = druid 3 = pall 4 = knight 5 = ms 6 = ed 7 = rp 8 = ek
|