#1 2008-12-31 09:58:03

Robsonn

Administrator

5652681
Zarejestrowany: 2008-12-30
Posty: 20
Punktów :   

[lua] Czary krok po kroku!

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:

etCombatParam(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

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
GotLink.plwww.yorku.pl buldog angielski adopcja