verifique se o player esta conectado para evitar crashar... o mбximo de caracteres que pode mostra na tela й 128 vocк pode poupar muitas cйlulas nessas strings..
PHP код:
CMD:aviso(playerid, params[])
{
new id, motivo[200], iname[20], file[50], pname[20], string[200];
if(!Jogador[playerid][Admin])
return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Vocк nгo tem permissгo para usar este comando.");
if(sscanf(params, "us[30]", id, motivo))
return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Use /aviso (id) (motivo).");
if(IsPlayerConnected(id))
{
GetPlayerName(id, iname, 20);
GetPlayerName(playerid, pname, 20);
format(file, sizeof(file), "Contas/%s.ini", iname);
switch(Jogador[playerid][Admin])
{
case 1:
{
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Ajudante %s(%d).", iname, id, pname, playerid);
SendClientMessageToAll(0xFF0000FF, string);
format(string, sizeof(string), "Motivo: %s", motivo);
SendClientMessage(id, 0xFF0000FF, string);
Avisos[id]++;
DOF2_SetInt(file, "Avisos", Avisos[id]);
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
SendClientMessage(id, 0xFF0000FF, string);
}
case 2:
{
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Moderador(a) %s(%d).", iname, id, pname, playerid);
SendClientMessageToAll(0xFF0000FF, string);
format(string, sizeof(string), "Motivo: %s", motivo);
SendClientMessage(id, 0xFF0000FF, string);
Avisos[id]++;
DOF2_SetInt(file, "Avisos", Avisos[id]);
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
SendClientMessage(id, 0xFF0000FF, string);
}
case 3:
{
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Administrador(a) %s(%d).", iname, id, pname, playerid);
SendClientMessageToAll(0xFF0000FF, string);
format(string, sizeof(string), "Motivo: %s", motivo);
SendClientMessage(id, 0xFF0000FF, string);
Avisos[id]++;
DOF2_SetInt(file, "Avisos", Avisos[id]);
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
SendClientMessage(id, 0xFF0000FF, string);
}
case 4:
{
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Staff %s(%d).", iname, id, pname, playerid);
SendClientMessageToAll(0xFF0000FF, string);
format(string, sizeof(string), "Motivo: %s", motivo);
SendClientMessage(id, 0xFF0000FF, string);
Avisos[id]++;
DOF2_SetInt(file, "Avisos", Avisos[id]);
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
SendClientMessage(id, 0xFF0000FF, string);
}
}
if(Avisos[id] == 3)
{
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi preso por 30 minutos pelo(a) BOT.", iname, id);
SendClientMessageToAll(0xFF0000FF, string);
SendClientMessage(id, 0xFF0000FF, "Motivo: 3 avisos.");
SetPlayerWantedLevel(id, 0);
KillTimer(TempContPreso[id]);
TogglePlayerControllable(id, 1);
SetPlayerPos(id, 264.6306, 76.9457, 1001.0391);
SetPlayerInterior(id, 6);
SetPlayerHealth(id, 999999);
ResetPlayerWeapons(id);
DOF2_SetInt(file, "PresoAdm", 1);
DOF2_SetInt(file, "Preso", 0);
minPreso[id] += 30;
segPreso[id] += 00;
TempContPreso[id] = SetTimerEx("TempoPreso", 1000, true, "i", id);
TextDrawShowForPlayer(id, RelogioPreso[id]);
prendeu[playerid] = 1;
Preso[id] = 1;
DOF2_SetString(file, "Preso Por", "BOT");
DOF2_SetInt(file, "Avisos", 0);
DOF2_SetInt(file, "Tempo Preso", 20);
DOF2_SetString(file, "Motivo Preso", "3 avisos");
DOF2_SaveFile();
}
}
return 1;
}