Tutorial creat de [SRC]stuntman (eu)[/center]
[font=times new roman]Cerut de Roach: http://www.sa-mp.ro/forum/index.php/top ... l#msg80048[/font]
[hr]
Sa incepem:
1. [font=times new roman]Ca sa creezi variabila care va retine daca esti in acea zona, pui in varful scriptului:[/font]
Code: Select all
new IsPlayerInZone[ MAX_PLAYERS ];
2. [font=times new roman]Ca sa setezi variabila la 1, asta insemnand ca a intrat in acea zona, punem undeva, intr-o comanda ( de exemplu ), asta:[/font]
Code: Select all
IsPlayerInZone[ playerid ] = 1;
1 - [font=times new roman]arata ca jucatorul a intrat in acea zona si ca nu mai poate folosi nici o comanda.[/font]
3. [font=times new roman]Ca sa faceti sa nu mai poata folosi decat cateva comenzi in acea zona, sau deloc, adaugati acestea la OnPlayerCommandText ( explicatiile sunt trecute la sfarsitul linie cu // ):[/font]
Code: Select all
if( IsPlayerInZone[ playerid ] == 1 && strcmp(cmdtext, "/exitzone", true) != 0 ) //aici verifica daca jucatorul este in acea zona si daca nu scrie '/exitzone', daca vreti mai multe comenzi care sa mearga scrise, adaugati dupa && asta: strcmp(cmdtext, "/exitzone", true), adaugati dupa , true) un &&, iar apoi schimbati comanda '/exitzone' cu cea pe care o vreti, daca vreti fara comenzi permise, scoateti de la && ( inclusiv && )pana la )
return SendClientMessage( playerid, 0xFF0000FF, "EROARE: {FFFFFF}Nu poti iesi din aceasta zona, foloseste /exitzone !" ); //aici trimite mesajul ca nu poate iesi din acea zona si ca trebuie sa foloseasca /exitzone ca sa iasa din ea
Code: Select all
IsPlayerInZone = 1; //nu modificati, 1 = este in acea zona si nu poate folosi nici o comanda, 0 = nu este in acea zona si poate folosi orice comanda
Code: Select all
IsPlayerInZone[ playerid ] = 0; //daca un jucator cu acelasi ID de dinainte iesise de pe server cand era in acea zona, pe noul jucator cu acelasi ID nu-l va fi lasat sa scrie vreo comanda, decat /exitzone pentru ca "era" in acea zona
[font=times new roman]PS: Se poate face si daca este intr-o zona ( fara comanda ) ca jucatorul sa nu poata folosi comenzile, decat cele specificate, in loc de IsPlayerInZone de la o comanda ( punctul 2 ), se pune la OnPlayerUpdate, folosit impreuna cu IsPlayerInRangeOfPoint si alte functii pentru zona.