Bine te-am regasit, cititorule! In randurile ce urmeaza ai sa gasesti niste informatii care te vor ajuta sa iti construiesti sistemul dorit!
1) Primul pas este sa setam acelasi team tuturor jucatorilor, asa ca mergem la OnPlayerConnect(); si adaugam SetPlayerTeam(playerid, 10); … In loc de 10 puteam pune oricare alt numar
2) Acum ca ne-am asigurat ca jucatorii vor primii damage doar de la server* , vom apela functia OnPlayerGiveDamage();
* – conform wiki.sa-mp.com daca setam acelasi Team tuturor jucatorilor, acestia nu vor primi cand se impusca intre ei.
3) Urmatorul pas este sa punem o conditie care sa verifice daca jucatorul care primeste damage este un jucator valid, asa ca folosim
4) Acum vom creea 2 variabile ce vor memora viata jucatorului in orice moment, le vom denumi HP si AP, ele vor fi de tip array, pentru ca facem cate o variabila pt. fiecare jucator
5) Acum luam o foaie si gandim mai multe cazuri, mai exact, 4 cazuri:
- Victima primeste damage si are armura mai mare ca damage-ul primit
- Victima primeste damage si are armura mai mica decat damage-ul primit
- Victima primeste damage si nu are armura, dar are health mai mare ca damage-ul primit
- Victima primeste damage si nu are armura si nici viata suficienta pentru a absorbi damage-ul, situatie in care acesta moare 🙂
6) De-acum cand dorim sa utilizam SetPlayerHealth(); sau SetPlayerArmour(); scriem HP[playerid] = …; si AP[playerid] = … ; asa ca inlocuim functiile folosite in GM cu cele doua variabile create de noi.
Exemplu:
- SetPlayerHealth (playerid, 40); devine HP[playerid] = 40;
- SetPlayerHealth (playerid, health+40); devine HP[playerid] = health + 40; unde Float: health este GetPlayerHealth(playerid,health);
7) Creeam un timer de 0.2 secunde care seteaza viata jucatorului corect.
Folosim foreach() pentru a imbunatati parcurgerea jucatorilor.
P.S: Acest tutorial nu mai este necesar in 0.3z decat daca vrei sa treci viata in serverside.
Sfarsit!
Speram ca ti-a placut tutorialul, daca ai intampinat probleme / dificultati nu ezita sa lasi un comentariu, pentru a primi ajutorul necesar!