Jump to content
DAVIDRO99

[PAWN] Mai multe comenzi folositoare explicate.

Recommended Posts

Posted (edited)

O comanda simpla de [/admins], nu este cel mai eficient mod, dar este usor de inteles pentru incepatori.

CMD:admins(playerid, params[]) { //Folosim ZCMD, daca aveti YCMD inlocuiti cu echivalentul vostru
	SendClientMessage(playerid, COLOR_WHITE, "{ABABAD}--------------------{FFFFFF}Admins Online{ABABAD}--------------------"); // Trimitem un mesaj cu titlul comenzii
	for(new i = 0; i <= MAX_PLAYERS; i++) { // Aici avem o bulca for, care declara o noua variabila i si se duce prin maximul de playeri
	if (IsPlayerConnected(i)){ // Verificam daca jucatorul este online
	    if (PlayerInfo[i][pAdmin] >= 1) { // Verificam daca jucatorul are admin
				new admstring[256]; //Facem un nou string
				format(admstring, sizeof(admstring), "(%d) %s - Admin %d", i, GetName(i), PlayerInfo[i][pAdmin]); // Il formatam
				SendClientMessage(playerid, COLOR_WHITE, admstring); // Trimitem mesajul la executorul comenzii
			}// Inchidem verificarea pentru admin
	    }//Inchidem verificarea pentru status-ul jucatorului
	}// Inchidem bucla
	SendClientMessage(playerid, COLOR_WHITE, "{ABABAD}-------------------------------------------------------------");//Trimitem finalul comenzii
	return 1; //Aceasta linie zice jocului ca aceasta comanda a fost executata cu succes, si ca nu ar trebuii sa arate mesajul cu Unknown Command
} // Inchidem bucla ZCMD

Asemanator putem face si o comanda de [/helpers].

 

Comenzi de [/goto] si [/gethere]

CMD:gethere(playerid, params[]) { // Din nou, avem ZCMD
	new id; //Declaram o noua variabila numita ID.
	if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_LIGHTRED, "Syntax: /gethere <id>"); //Scanam parametrii si daca nu avem un ID returnam un mesaj
	if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu esti autorizat sa folosesti aceasta comanda!"); // Verificam nivelul de admin
	if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_LIGHTRED, "Acel jucator nu este conectat!"); // Verificam daca jucatorul specificat este conectat
	if(id == playerid) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu poti sa iti dai /gethere singur!"); // Verificam daca id-ul specificat este al executorului
	new admstring[256]; // Declaram un nou string
	format(admstring, sizeof(admstring), "AdmCMD: %s a folosit /gethere pe %s.", GetName(playerid), GetName(id)); // Formatam string-ul
	new Float:x, Float:y, Float:z; // Declaram 3 variabile de tip Float in care tinem pozitia executorului
	GetPlayerPos(playerid, x, y, z); // Luam pozitia executorului
	SetPlayerPos(id, x, y, z+1); // Setam pozitia id-ului specificat
	for(new i = 0; i < MAX_PLAYERS; i++) { // O noua bucla for
	    if(IsPlayerConnected(i)) { // Verificam daca jucatorul este online
	        if(PlayerInfo[i][pAdmin] >= 1) { // Verificam daca jucatorul are admin
	            SendClientMessage(i, COLOR_LIGHTRED, admstring); //Trimitem mesajul la jucator
	        } //Inchidem verificarea de admin
	    } //Inchidem verificarea de status
	}//Inchidem bucla
	return 1; // Precizam ca aceasta comanda s-a executat cu succes
} //Inchidem bucla comenzii
CMD:goto(playerid, params[]) { // Avem ZCMD
	new id; // O variabila noua de tip ID
	if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_LIGHTRED, "Syntax: /goto <id>"); // Scanam parametrii pentru a salva id-ul
	if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu esti autorizat sa folosesti aceasta comanda!"); // Verificam nivelul de admin
	if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_LIGHTRED, "Acel jucator nu este conectat!"); // Verificam daca jucatorul este conectat
	if(id == playerid) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu poti sa iti dai /goto singur!"); // Verificam daca id-ul este id-ul executorului
	new admstring[256]; // Declaram un nou string
	format(admstring, sizeof(admstring), "AdmCMD: %s a folosit /goto pe %s.", GetName(playerid), GetName(id)); // Formatam string-ul
	new Float:x, Float:y, Float:z; // Declaram 3 variabile noi de tip Float
	GetPlayerPos(id, x, y, z); // Luam pozitia jucatorului specificat
  	if(IsPlayerInVehicle(id, GetPlayerVehicleID(id)) && GetPlayerVehicleSeat(id) == 0) { //verificam daca playerul este in masina si daca conduce 
		PutPlayerInVehicle(playerid, GetPlayerVehicleID(id), 1); // Ne setam pozitia in vehicul
	}
	SetPlayerPos(playerid, x, y, z+1); // Setam pozitia executorului, adaugand un offset de 1 grad pe axa z pentru a evita anumite probleme
	for(new i = 0; i < MAX_PLAYERS; i++) { // Deschidem o noua bulca for
	    if(IsPlayerConnected(i)) { // Verificam daca jucatorul este online
	        if(PlayerInfo[i][pAdmin] >= 1) { // Verificam daca jucatorul are admin
	            SendClientMessage(i, COLOR_LIGHTRED, admstring); // Trimitem mesajul catre acel jucator
	        } //Inchidem verificarea de admin
	    } //Inchidem verificarea online
	} //Inchidem bucla for
	return 1; //Anuntam ca aceasta comanda a fost executata cu succes
}//Inchidem bucla ZCMD

 

Edited by DAVIDRO99
  • Upvote 1

Share this post


Link to post
Share on other sites
Posted (edited)

La comanda [/goto], era fain daca puneai sa te teleportezi cu G in masina (in cazul in care jucatorul conducea o masina). De adaugat ceva de genul:

 

if(IsPlayerInVehicle(id, GetPlayerVehicleID(id)) && GetPlayerVehicleSeat(id) == 0) { //verificam daca playerul este in masina si daca conduce 
		PutPlayerInVehicle(playerid, GetPlayerVehicleID(id), 1);
	}

 

Edited by Mentosan
n00b
  • Upvote 1

Share this post


Link to post
Share on other sites
1 hour ago, Mentosan said:

La comanda [/goto], era fain daca puneai sa te teleportezi cu G in masina (in cazul in care jucatorul conducea o masina). De adaugat ceva de genul:

 


if(IsPlayerInVehicle(id, GetPlayerVehicleID(id)) && GetPlayerVehicleSeat(id) == 0) { //verificam daca playerul este in masina si daca conduce 
		PutPlayerInVehicle(playerid, GetPlayerVehicleID(id), 1);
	}

 

Adaug acum, multumesc de sugestie

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.