PDA

View Full Version : [Tutorial]TUTORIAL SAMP SCRIPTING : CUM SA FACI UN SISTEM ANTI-LAG SHOT



SiNiSTER
17-12-16, 20:00
Bine te-am regasit, cititorule! In randurile ce urmeaza ai sa gasesti niste informatii care te vor ajuta sa iti construiesti sistemul dorit!


daa1

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

ca

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

ca1

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

ca2

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 :-)
ca3

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.

ca4

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!