Code:
CMD:cheats(playerid, params[])
{
new string1[128],id,reason[128],sendername[30],giveplayer[30],string[256];
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
if(ReportTime[playerid] == 2) return SCM(playerid, COLOR_WHITE,"{f03337}Dupa 3 minute poti folosi aceasta actiune.");
if(IsPlayerConnected(playerid))
{
if(sscanf(params, "us[300]", id, reason)) return SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie: {33CCFF}/cheats <id cheater> <reason>");
if(IsPlayerConnected(id))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(id, giveplayer, sizeof(giveplayer));
SendClientMessage(playerid, COLOR_GREY, "Report submitted.");
format(string, sizeof(string), "%s [%d] was reported for cheating by %s[%d]: %s.",giveplayer,id,sendername,playerid,reason);
format(cheattext[playerid], sizeof(string1), string1);
reportcheater[playerid] = id;
ABroadCast(COLOR_REPORT,string,1);
reportreason[id] = 3;
ReportTime[playerid] = 3;
AreCits[id] = 1;
Citsreas[id] = reason;
timerreport[playerid] = SetTimerEx("Reportul", 180000, 0, "%d", playerid);
}
else return SendClientMessage(playerid, COLOR_GREY, "The specified player ID is either not connected or has not authenticated.");
}
return 1;
}
CMD:spec(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 2)
{
new id,giveplayer[25],string[256],sendername[25];
if(sscanf(params, "u", id)) return SCM(playerid,COLOR_WHITE,"{FF9900}Scrie: {33CCFF}/spec <Name/Playerid>");
{
if(IsPlayerConnected(id))
{
if(id != INVALID_PLAYER_ID)
{
if(id == playerid) return SendClientMessage(playerid, 0xFFFFFFFF, "Nu poti folosi /spec pe tine.");
if(PlayerInfo[id][pAdmin] >= 6 && PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, 0xFFFFFFFF, "Nu poti folosi /spec pe admini de level 6+");
if(Spectate[playerid] == -1)
{
BeforeSpectate[playerid][pState] = GetPlayerState(playerid);
BeforeSpectate[playerid][pWorld] = GetPlayerVirtualWorld(playerid);
BeforeSpectate[playerid][pInt] = GetPlayerInterior(playerid);
BeforeSpectate[playerid][pSpectating] = true;
new Float: x, Float: y, Float: z;
GetPlayerPos(playerid, x, y, z);
if(!IsPlayerInAnyVehicle(playerid))
{
BeforeSpectate[playerid][pOldPos][0] = x;
BeforeSpectate[playerid][pOldPos][1] = y;
BeforeSpectate[playerid][pOldPos][2] = z;
}
else
BeforeSpectate[playerid][pInVehicle] = GetPlayerVehicleID(playerid);
}
Spectate[playerid] = id;
new Float:health;
GetPlayerHealthEx(Spectate[playerid], health);
GetPlayerName(Spectate[playerid], giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(reportreason[id] == 0 && HaveCheats[id] == 0)
{
format(string, sizeof(string), "Admin/Helper %s is now spectating %s.",sendername,giveplayer);
}
else if(reportreason[id] == 1 && PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "Admin %s is now spectating %s (reported for being stuck).",sendername,giveplayer);
ReportTime[id] = 0;
format(reporttext[id], 30, "NULL");
format(cheattext[id], 30, "NULL");
reportcheater[id] = -1;
reportreason[id] = 0;
PlayerInfo[playerid][pCrPlayers]++;
Update(playerid, pCrPlayersx);
if(playerreported[id] != -1)
{
reportreason[playerreported[id]] = 0;
}
playerreported[id] = -1;
}
else if(reportreason[id] == 2 && PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "Admin %s is now spectating %s (reported for DM).",sendername,giveplayer);
ReportTime[id] = 0;
format(reporttext[id], 30, "NULL");
format(cheattext[id], 30, "NULL");
reportcheater[id] = -1;
reportreason[id] = 0;
PlayerInfo[playerid][pCrPlayers]++;
Update(playerid, pCrPlayersx);
if(playerreported[id] != -1)
{
reportreason[playerreported[id]] = 0;
}
playerreported[id] = -1;
}
else if(reportreason[id] == 3 && PlayerInfo[playerid][pAdmin] >= 1 || HaveCheats[id] == 1 && PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "Admin %s is now spectating %s (reported for cheats).",sendername,giveplayer);
ReportTime[id] = 0;
format(reporttext[id], 30, "NULL");
format(cheattext[id], 30, "NULL");
reportcheater[id] = -1;
reportreason[id] = 0;
HaveCheats[id] = 0;
CheatsReason[id] = "NULL";
Citsreas[id] = "NULL";
PlayerInfo[playerid][pCrPlayers]++;
Update(playerid, pCrPlayersx);
if(playerreported[id] != -1)
{
reportreason[playerreported[id]] = 0;
}
playerreported[id] = -1;
}
KillTimer(timerreport[id]);
ABroadCast(COLOR_YELLOW,string,1);
format(string, sizeof(string), "(%d) %s | Level: %d | Health: %.0f | AFK: %d | Duty: %d | Ping: %d",Spectate[playerid],giveplayer,PlayerInfo[Spectate[playerid]][pLevel],health,IsPlayerAFK[Spectate[playerid]],OnDuty[Spectate[playerid]],GetPlayerPing(Spectate[playerid]));
SendClientMessage(playerid, COLOR_DARKPINK, string);
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(Spectate[playerid]))
{
new carid = GetPlayerVehicleID(Spectate[playerid]);
PlayerSpectateVehicle(playerid, carid);
SpectateState[id] = 2;
}
else
{
PlayerSpectatePlayer(playerid, Spectate[playerid]);
SpectateState[id] = 1;
}
PlayerTextDrawSetString(playerid, TextDrawSpec[playerid][1], "LOADING...");
PlayerTextDrawShow(playerid, TextDrawSpec[playerid][1]);
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "{FFFFCC}Error: Player not connected.");
}
}
}
else
{
SendClientMessage(playerid, COLOR_DARKNICERED, AdminOnly);
return 1;
}
}
return 1;
}