02/11/2021 16:02
(02/11/2021 15:55)MrThúúG Escreveu: Fiz para mim, e adaptei para as suas variáveis.deu esse erro: undefined symbol "MSGADM"
Topo do GM
Código PHP:new Reportou [MAX_PLAYERS];
new Relatou [MAX_PLAYERS];
new USOUCMD[MAX_PLAYERS];
OnPlayerConnect ou em OnplayerSpawn
Código PHP:Reportou[playerid] = 0;
Reportou[playerid] = 0;
USOUCMD[playerid] = 0;
OnPlayerDisconnect
Código PHP:Reportou[playerid] = 0;
Reportou[playerid] = 0;
USOUCMD[playerid] = 0;
Código PHP:CMD:reportar(playerid, params[])
{
new ID,motivo[256],Str[256],Str2[256];
if(USOUCMD[playerid] > gettime())return SendClientMessage(playerid, -1, "Você precisa esperar 20 segundos para fazer outro report!");
if(sscanf(params, "us[256]", ID, motivo))return SendClientMessage(playerid, 0xB4B5B7FF, "USE: /reportar [id] [motivo]");
if(!IsPlayerConnected(ID))return SendClientMessage(playerid, 0xB4B5B7FF, " Este player está off-line !");
if(playerid == ID) return SendClientMessage(playerid, -1, "[ERRO] > Você não pode se reportar.");
if(strlen(motivo) > 30 )return SendClientMessage( playerid, 0xAA3333AA, "[ x ] Report muito grande !" );
SetPVarString(playerid, "NomeReport",pName(ID));
SetPVarInt(playerid, "ID",ID);
SetPVarString(playerid, "Motivo",motivo);
format(Str, sizeof(Str), "| INFO | > {00FF00}%s(%d) {FFFFFF}reportou {FF0000}%s:(%d) {FFFFFF}motivo: {20B2AA}%s", pName(playerid),playerid, pName(ID),ID,motivo);
MSGADM(-1, Str, 1);
SetPVarString(playerid, "Report",Str);
format(Str2, sizeof(Str2), "| INFO | > O seu reporte: {20B2AA}%s {FFFFFF}contra: {FF0000}%s(%d) {FFFFFF}foi enviado.",motivo,pName(ID),ID);
SendClientMessage(playerid,-1, Str2);
Reportou[playerid] = 1;
USOUCMD[playerid] = gettime() + 20;
return 1;
}
CMD:pegarreport(playerid, params [])
{
if(PlayerInfo[playerid][Admin] < 1) return SendClientMessage(playerid, COLOR_GRAD1, " Você não está autorizado a usar este comando !");
new ID,Str[256],Motivo[256],Motivo2[256],Nome[30],Report[256];
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "[ERRO] > Comando correto: /pegarreport [ID]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] > ID nao conectado.");
if(Reportou[ID] == 1)
{
GetPVarString(ID, "NomeReport", Nome, sizeof(Nome));
GetPVarString(ID, "Report", Motivo, sizeof(Motivo));
GetPVarString(ID, "Motivo", Motivo2, sizeof(Motivo2));
format(Str, sizeof(Str), "{20B2AA} o Admin: %s(%d) {FFFFFF}leu o seu report: {20B2AA}%s. {FFFFFF}contra: {FF0000}%s(%d).",pName(playerid),playerid,Motivo2,Nome,GetPVarInt(playerid, "ID"));
SendClientMessage(ID,-1, Str);
SendClientMessage(playerid, 0xB4B5B7FF, "==================================================== REPORT ====================================================");
format(Report,sizeof(Report), "%s",Motivo);
SendClientMessage(playerid, -1, Report);
SendClientMessage(playerid, 0xB4B5B7FF, "==================================================== REPORT ====================================================");
Reportou[ID] = 0;
DeletePVar(ID, "NomeReport");
DeletePVar(ID, "Report");
DeletePVar(ID, "Motivo");
DeletePVar(ID, "ID");
}else{
new NReport[50];
format(NReport, sizeof(NReport), "|INFO| > %s:(%d) Não fez nenhum report.", pName(ID),ID);
SendClientMessage(ID, -1, NReport);
}
return 1;
}
CMD:relatorio(playerid, params[])
{
new Relatorio[128],Str[128],Str2[128];
if(Relatou[playerid] > gettime())return SendClientMessage(playerid, -1, "Você precisa esperar 20 segundos para fazer outro relatorio!");
if(sscanf(params, "s[256]", Relatorio))return SendClientMessage(playerid, 0xB4B5B7FF, "USE: /relatorio [msg]");
if(strlen(Relatorio) > 70 )return SendClientMessage( playerid, 0xAA3333AA, "[ x ] Relatorio muito grande !" );
format(Str, sizeof(Str), "| INFO | >{FF0000}%s:(%d) {FFFFFF}Relatou: {20B2AA}%s.",pName(playerid),playerid,Relatorio);
MSGADM(-1, Str, 1);
SetPVarString(playerid, "Relatorio",Str);
format(Str2, sizeof(Str2), "| INFO | > Relatorio: {20B2AA}%s {FFFFFF}Enviado.",Relatorio);
SendClientMessage(playerid,-1, Str2);
Relatou[playerid] = 1;
USOUCMD[playerid] = gettime() + 20;
return 1;
}
CMD:pegarrelatorio(playerid, params [])
{
if(PlayerInfo[playerid][Admin] < 1) return SendClientMessage(playerid, COLOR_GRAD1, " Você não está autorizado a usar este comando !");
new ID,Str[256],Str2[256],Relatorio[256];
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "[ERRO] > Comando correto: /pegarrelatorio [ID]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] > ID nao conectado.");
if(Relatou[ID] == 1)
{
GetPVarString(ID,"Relatorio",Relatorio,sizeof(Relatorio));
format(Str, sizeof(Str), "{20B2AA} o Admin: %s(%d) {FFFFFF}leu o seu relatorio: {20B2AA}%s.",pName(playerid),playerid,Relatorio);
SendClientMessage(ID,-1, Str);
SendClientMessage(playerid, 0xB4B5B7FF, "==================================================== RELATORIO ====================================================");
format(Str2,sizeof(Str2), "%s",Relatorio);
SendClientMessage(playerid, -1, Str2);
SendClientMessage(playerid, 0xB4B5B7FF, "==================================================== RELATORIO ====================================================");
Relatou[ID] = 0;
DeletePVar(ID, "Relatorio");
}else{
new NRelatou[50];
format(NRelatou, sizeof(NRelatou), "|INFO| > %s:(%d) Não fez nenhum relatorio.", pName(ID),ID);
SendClientMessage(ID, -1, NRelatou);
}
return 1;
}
static stock MSGADM(COLOR,const striing[],level)
{
foreach(Player, i)
{
if (PlayerInfo[i][Admin] >= level)
{
SendClientMessage(i, COLOR, striing);
}
}
printf("%s", striing);
return true;
}