În acest tutorial vă voi prezenta cum se poate realiza comanda prin care puteți să setați interiorul un jucător.
Înainte de toate eu am folosit include-ul: a_samp, sscanf2, zcmd și am definit SCM-ul.
include <a_samp>
#include <zcmd>
#include <sscanf2>
#define SCM SendClientMessage
Acum vom crea comanda în sine prin care vom seta interiorul unui jucător.
CMD:setinterior(playerid, params[])
{
new id, int, string[128], sendername[16], giveplayer[16]; //ne cream variabilele de care avem nevoie
//eu verificarea pentru admin o voi face in felul urmator, adica daca este logat cu parola RCON
if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "Eroare: Nu ai acces la aceasta comanda!");
//insa voi o puteti face in functie de enum-ul pe care il aveti in gamemode (ex: if(PlayerInfo[playerid][pAdmin] < 1) )
if(sscanf(params, "ui", id, int)) return SCM(playerid, -1, "Use: /setinterior <PlayerName/PlayerID> <InteriorID>"); //verificam daca in sintaxa comenzii s-a folosit un nume/id si un numar
if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, -1, "Error: This player is not online!"); //daca jucatorul nu este conectat returnam un mesaj informativ
if(int < 0) return SCM(playerid, -1, "Invalid interior id"); //daca interiorul este mai mic de 0 atunci o sa returnam un mesaj informativ
SetPlayerInterior(id, int);
GetPlayerName(playerid, sendername, 16);
GetPlayername(id, giveplayer, 16);
format(string, sizeof string, "I-ai setat lui %s interiorul cu ID %d.", giveplayer, int);
SCM(playerid, -1, string);
format(string, sizeof string, "Adminul %s ti-a setat interiorul %d.", sendername, int);
SCM(id, -1, string);
return 1;
}
Cam aceasta este comanda prin care un admin de nivel X sau X+ poate să seteze interiorul unui jucător. Sper că v-a fost de ajutor acest tutorial. Pentru orice întrebare/nelămurire puteți trimite un PM la un Programmer sau să deschideți un topic in secțiunea Help and Discussions.