Exiled - Gaming Romania este o comunitate bazata pe gaming-ul profesionist.


Blochare comenzi intro zona

 



Vezi subiectul anterior Vezi subiectul urmator In jos   Mesaj • Pagina 1 din 1

Andrei_Boss
#1

la data de Mier Ian 23, 2013 11:37 am

avatar
Exiled Skill +4
Exiled Skill +4
Cum sa blochezi comenzile intr-o zona
Tutorial creat de Andrei_Boss (eu)



Sa incepem:

1. Ca sa creezi variabila care va retine daca esti in acea zona, pui in varful scriptului:

Cod:
new IsPlayerInZone[ MAX_PLAYERS ];

MAX_PLAYERS - aceasta se va inlocui in functii cu 'playerid' .

2. Ca sa setezi variabila la 1, asta insemnand ca a intrat in acea zona, punem undeva, intr-o comanda ( de exemplu ), asta:

Cod:
IsPlayerInZone[ playerid ] = 1;

playerid - acesta este ID-ul jucatorului caruia ii va seta respawnarea.
1 - arata ca jucatorul a intrat in acea zona si ca nu mai poate folosi nici o comanda.

3. 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 // ):

Cod:
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. Ca sa punem ca la /exitzone ( de exemplu ) sa iasa din acea zona, adaugam asta in comanda /exitzone:

Cod:
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. Ca sa nu avem buguri cand se spawneaza un jucator nou conectat, pune la OnPlayerConnect asta:

Cod:
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


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.

Vezi profilul utilizatorului
z3!uSs
#2

la data de Joi Ian 24, 2013 7:04 pm

avatar
Exiled Skill +4
Exiled Skill +4
Interesant bravo



ELIMINAT
Vezi profilul utilizatorului
Braga Catalin
#3

la data de Joi Ian 24, 2013 7:20 pm

avatar
Membru
Membru
foarte interesant, bravo.

Vezi profilul utilizatorului
Dyzzy
#4

la data de Joi Ian 24, 2013 7:48 pm

avatar
Exiled Skill +2
Exiled Skill +2
Bun tutorial bravo nu prea se gaseste pe net...am vrut sa pun si eu dar mi-era sila sa scriu codurile ;)

Vezi profilul utilizatorului
Danger
#5

la data de Mier Ian 30, 2013 7:46 pm

avatar
Membru
Membru
am adaugat pe serverul meu si imi merge foarte bine ;) imi place si vreau sa spun ca am adaugat mai multe lucruri de la voi de pe forum pe serverul meu

Vezi profilul utilizatorului
Continut sponsorizat
#6


Vezi subiectul anterior Vezi subiectul urmator Sus   Mesaj • Pagina 1 din 1