pawn Код:
new Entregador[MAX_PLAYER_NAME], Recebedor[MAX_PLAYER_NAME];
new bool: pModerador[MAX_PLAYERS] == false; //Inicio do GM
//****** no OnPlayerCommandText ******
if (strcmp(cmd, "/moderadores", true) == 0)
{
new string[80], sendername[MAX_PLAYER_NAME];
SendClientMessage(playerid, Branco, "*=-=-=-=-=-=-=-=-=|{1E90FF} Moderaзгo {FFFFFF}|=-=-=-=-=-=-=-=-= *");
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && pModerador[i] == true)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 80, "{000000}Nome: {1E90FF}%s{FFFFFF} [Moderador]", sendername);
SendClientMessage(playerid, Branco, string);
}
}
return 1;
}
if(strcmp(cmd, "/ir", true) == 0)
{
if(!pModerador[playerid] == true) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Moderador");
new tmp[20], string[50], giveplayerid, Float:X, Float:Y, Float:Z;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /Ir [id]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
GetPlayerPos(giveplayerid, X, Y, Z);
GetPlayerName(playerid, Entregador, sizeof(Entregador));
GetPlayerName(giveplayerid, Recebedor, sizeof(Entregador));
format(string, sizeof(string), "Vocк foi atй {1E90FF}%s", Recebedor);
SendClientMessage(playerid, Branco, string);
format(string, sizeof(string), "{1E90FF}%s{FFFFFF} veio atй vocк", Entregador);
SendClientMessage(giveplayerid, Branco, string);
if(IsPlayerInVehicle(playerid, GetPlayerVehicleID(playerid)))
{
SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
SetPlayerPos(playerid, X, Y, Z);
} else {
SetPlayerPos(playerid, X, Y, Z);
SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
}
return 1;
}
if(strcmp(cmd, "/ban", true) == 0)
{
new giveplayerid, tmp[20], string[128];
if(!pModerador[playerid] == true) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Moderador");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /ban [id] [Motivo]");
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, pNome, sizeof(pNome));
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
GetPlayerName(playerid, Entregador, sizeof(Entregador));
if(strcmp(Recebedor,"SeuNome",true)==0)
{
format(string, sizeof(string), "{E31919}%s{FFFFFF} Foi banido por tentar banir SeuNome", Entregador);
SendClientMessageToAll(Branco, string);
Ban(playerid);
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /ban [id] [Motivo]");
format(string, sizeof(string), "{E31919}%s{FFFFFF} foi banido pelo Moderador {E31919}%s{FFFFFF} Motivo: {E31919}%s", Recebedor, Entregador, (result));
SendClientMessageToAll(Branco, string);
Ban(giveplayerid);
return 1;
}
if(strcmp(cmd, "/kick", true) == 0)
{
new giveplayerid, tmp[20], string[128];
if(!pModerador[playerid] == true) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Moderador");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /kick [id] [Motivo]");
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, pNome, sizeof(pNome));
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
GetPlayerName(playerid, Entregador, sizeof(Entregador));
if(strcmp(Recebedor,"SeuNome",true)==0)
{
format(string, sizeof(string), "{E31919}%s{FFFFFF} Foi kickado por tentar kickar {1E90FF}SeuNome", Entregador);
SendClientMessageToAll(Branco, string);
Kick(playerid);
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /kick [id] [Motivo]");
format(string, sizeof(string), "{E31919}%s{FFFFFF} foi kickado pelo moderador {E31919}%s{FFFFFF} Motivo: {E31919}%s", Recebedor, Entregador, (result));
SendClientMessageToAll(Branco, string);
Kick(giveplayerid);
return 1;
}
if(strcmp(cmd, "/darmoderador", true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Branco, "Vocк precisa estar logado na rcon");
new tmp[20], giveplayerid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "Uso correto: /DarModerador [id]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return SendClientMEssage(playerid, Branco, "Este jogador nгo estб conectado");
pModerador[giveplayerid] = true;
SendClientMessage(giveplayerid, Branco, "Vocк agora й um moderador");
return 1;
}
Fiz na pressa, qualquer coisa sу falar.
Fiz tambйm um /DarModerador pra adm logado na rcon por que nгo sei que sistema de admin vocк usa.