Cum sa blochezi comenzile intr-o zona

Post Reply
RoberTo
Global Moderator
Global Moderator
Posts: 1380
Joined: Sun Dec 26, 2010 9:31 pm
Jucator SA:MP ?: Da
Nick:: RoberTo
Jucator CS ?: Da
Location: Craiova
Contact:

Cum sa blochezi comenzile intr-o zona

Post by RoberTo »

[center]Cum sa blochezi comenzile intr-o zona
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 ];
MAX_PLAYERS - [font=times new roman]aceasta se va inlocui in functii cu 'playerid' .[/font]

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;
playerid - [font=times new roman]acesta este ID-ul jucatorului caruia ii va seta respawnarea.[/font]
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
4. [font=times new roman]Ca sa punem ca la /exitzone ( de exemplu ) sa iasa din acea zona, adaugam asta in comanda /exitzone:[/font]

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
5. [font=times new roman]Ca sa nu avem buguri cand se spawneaza un jucator nou conectat, pune la OnPlayerConnect asta:[/font]

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.
Vrei un host de calitate si serios pentru serverul tau?
VEZI SERVERE HOSTATE LA NOI : http://www.zonek.ro/index.php?option=com_lgsl&Itemid=5
0763.55.9997 Comanda ACUMA OFERTA LIMITATA
Y: zonek_telecom | http://www.zonek.ro
- Nu te baga in pat nervos, stai treaz si "lupta". http://forum.zonek.ro inscrie-te si vezi cum se manifesta...
- Pentru schimb de Linkuri Intra AICi : linkex
Image
- Pentru cereri de Parteneriate prin Bannere Intra AICI
Image
Image
Post Reply

Return to “Tutoriale”