Modificarea obiectului pe un server Java! 18 octombrie 2018 - uitați-vă la asta! La2, la2, linia 2, linia ii

Armele, armura, setările de calificare sunt stocate în fișierele XML și în baza de date. În curând
utilizarea bazei de date pentru competențe va fi eliminată. În fișiere XML, o descriere a modului în care lucrurile sunt stocate și abilitățile ar trebui să fie stocate






pentru a influența statisticile (care sunt folosite pentru a calcula daunele, cotele etc.).

Iată un exemplu de fișier XML pentru arme și armuri:
Cod HTML:
Prima linie este necesară doar pentru limba XML în sine, săriți-o.

A doua linie indică ID-ul lucrului și numele său (trebuie să corespundă aceluiași lucru în baza de date).

Apoi, există anumite condiții pentru a accepta lucrurile pentru statistici (atunci când arma este îmbrăcată sau scoasă).
Astfel de condiții pot fi de la zero, una, două sau mai multe. Condiția este inclusă într-o etichetă.

Eticheta de condiție constă în foarte starea care trebuie verificată pe player și efectul asupra statisticilor jucătorului. În
În exemplul de mai sus, condiția pentru adăugarea unui efect este rasa oamenilor (dacă nu omul, efectul nu va porni). condiție
este inclusă într-o etichetă. și nu este necesar. În cazul în care condițiile nu sunt specificate - toți jucătorii (care poartă această armură # 92; arme)
va primi un efect de la ea.

Efectul este adăugarea sau multiplicarea statisticilor jucătorilor cu o anumită sumă. În exemplul stat, "pDef" (apărarea puterii) și al lui
o valoare de 36. Aceasta înseamnă că o valoare de 36 va fi adăugată la puterea de apărare a jucătorului. Voi descrie "ordinea" de mai jos.

În final, chiar dacă funcția este conectată la player, este necesar să existe o condiție când va funcționa. În noi
De exemplu, condiția este: pDef va fi incrementat numai atunci când obiectivul jucătorului este atac de schelet.

Și din nou: pot exista multe condiții. ei pot avea o condiție atașată jucătorului. și fiecare dintre ele
poate afecta unul sau mai multe statistici ale jucătorilor (,.

), iar fiecare stat va fi adăugat doar în acest scop
atunci când condiția este îndeplinită.

Desigur, toate acestea nu sunt necesare. Pentru majoritatea obiectelor de armament și arme, veți avea ceva asemănător
acestea sunt:
Cod HTML:






care adaugă doar 36 de puncte pentru apărarea puterii pentru fiecare jucător care îl va îmbrăca, fără condiții.

Abilitățile sunt descrise în același mod, dar cu o adăugare - abilitățile au niveluri. Prin urmare, valoarea pentru
mărirea numărului de stat va depinde de nivelul de calificare. În aceste scopuri avem tabele:
Cod HTML:

În rândul selectați selectiv numărul de nivele. Apoi proclamați masa (puteți proclama
multe * 04), fiecare dintre ele va avea valori 'nivel' separate de spații. Numele mesei poate fi
oricum, dar ar trebui să înceapă cu o #. În valorile pe care le specificați numele tabelului.

Acum voi descrie parametrul "comanda". "Ordin" este ordinea așezărilor. Să ne imaginăm că avem putere de bază
apărare jucător: basePDef
protecția ArmorPDef
nivel de modificare a playerului: lvl
abilitatea pasiva a apărării de putere trebuie să adăugați: skillPDef1
buff of defense de putere pe care trebuie să îl multiplicați: skillPDef2







Obținem următoarea formulă:
((basePDef + armorPDef) * lvl + skillPDef1) * competențăPDef2

Înmulțirea semnelor # 92; sumele din această formulă sunt indicate prin ordinea de calcul. Se pare:
basePDef va avea ordinul 0x10
armorPDef va avea ordinul 0x10
lvl va avea ordinul 0x30
skillPDef1 va avea ordinul 0x40
skillPDef2 va avea ordinul 0x50

Valorile cu aceeași ordine de calcul vor fi calculate într-o ordine imprevizibilă. În acest lucru, niciodată nu
aceeași ordine a parametrilor add / substitute și multiplay / divide.

Mai multe despre condițiile. Puteți specifica operațiile logice.
Cod HTML:

Condițiile sunt:
Cod HTML:








Operația pentru numere și rădăcini "aleatorii" și alte funcții matematice poate fi adăugată mai târziu, în acest caz
necesare.

Trebuie să specificați valoarea nu ca o constantă, ci ca o expresie:
Cod HTML:

Această expresie începe să contorizeze cu o valoare de 0, iar pentru exemplul de mai sus avem nivelul jucătorului înmulțit cu
valoare din tabel și această valoare va fi utilizată pentru a calcula daunele manuale pentru fiecare perioadă de efect.
În consecință, am obținut - o precizie sporită în luptă și un înțărcare pentru această mană (MR).
Valorile posibile pentru calcule:
Cod HTML:
$ player_level
$ target_level
$ player_max_hp
$ player_max_mp

Efectele lungi ale abilităților sunt:
Cod HTML:





Adăugat după 1 minut
Iată câteva statistici pe care trebuie să le editați.
Cod HTML:
'Revas'
'CAtk'
'PAtkSpd'
'MAtkSpd'
'MaxNp'
'MaxMp'
'PAtk'
'MAtk'
'RegMp'
'Mdef'
„PAp“
'RunSpd'
'ReflectDam'
'SleepRes'
'RootRes'
'StunRes'
'PoisonRes'
'BleedRes'

Aceasta nu este totul, este doar o parte din statisticile care mi-au venit în minte, dar puteți fi utile pentru editare
unelte, etc.

Adăugat după 4 minute
Acum, să ne uităm la modul de a face orice element unic.

Și astfel, alegem shmotik-ul pe care vrem să-l îmbunătățim: am ales pentru mine:
Cod HTML:





Deschideți datele # 92; stats # 92; armor # 92; 0600-0699.xml, găsiți linia cu "mantaua noastră magică".

De vreme ce el este o mantie de magie, ar fi frumos sa-l facem pentru magicieni. Și ce nevoie de magicieni? Corect, MR, regen MP, viteză
caste, putere caste. Dar dând totul la o parte este prea mult, pentru asta vom face, de exemplu, trei schimbări
sporiți intelectul cu +1, regMp, bine și viteza de turnare (mAtkSpd).

Hmm, cu bonusuri cum a fost hotărât, acum trebuie să determinați valoarea acestui bonus, fie că se va adăuga pur și simplu
orice număr dat (constant) sau procente din statul deja disponibil (adică mdef 100, plus 10% - primit
110).

Pentru mine, eu aleg aceasta:
INT adaug 1.
Regenerarea MP - creștere cu 20%.
Viteza de turnare a crescut cu 25%.

Acum, în ceea ce privește codul corespunzător:

Deoarece adăugăm (sign +) INT, folosim eticheta:
Cod HTML:

Cu int inteles, acum in ceea ce priveste regMp (semnul *, multiplicare):
Cod HTML:

Acordați atenție ordinului!
Acum, viteza de turnare este de 25%:
Cod HTML:


Aici puteți lua legătura de descărcare și parola pentru arhive. Dar aceste informații nu sunt furnizate utilizatorilor neînregistrați!







Trimiteți-le prietenilor: