#include <a_samp>
#include <DOF2>
#include <zcmd>
#include <sscanf2>
#define Verde 0x00FF00FF
#define Vermelho 0xFF0000AA
#define Azul 0x0000FFAA
#define Marron 0x804000AA
#define Branco 0xFFFFFFAA
#define Laranja 0xFF8000AA
#define Azul_Marinho 0x80FFFFAA
#define Cinza 0xC0C0C0AA
#define Rosa 0xFF80FFAA
#define AZUL_CLARO 0x80BFFFAA
#define Verde_Escuro 0x007138AA
#define Amarelo 0xFFFF00AA
#define Roxo 0x9F009FAA
#define VERDE_AGUA 0x03D687FF
#define CINZA_ESCURO 0x626262FF
#define VERDE 0x21DD00FF
#define VERMELHO_CLARO 0xFB0000FF
#define VERDE_CLARO 0x38FF06FF
#define ROSA_CHOQUE 0xE100E1FF
#define VERDE_ESCURO 0x008040FF
#define CINZA_ESCURO 0x626262FF
#define MAX_AVISOS 5
#if defined FILTERSCRIPT
#else
#endif
enum Informacoes
{
Admin,
Banido,
Aviso
}
new pInfo[MAX_PLAYERS][Informacoes];
new String[256];
new ID;
new Motivo[100];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" JNSystem Admin v1.0 Carregado.");
print("--------------------------------------\n");
return 1;
}
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
new arquivo[40], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
format(arquivo, 40, "JSADMIN/Contas/%s.ini", nome);
if(DOF2_FileExists(arquivo))
{
pInfo[playerid][Admin] = DOF2_GetInt(arquivo, "Admin");
pInfo[playerid][Aviso] = DOF2_GetInt(arquivo, "Avisos");
pInfo[playerid][Banido] = DOF2_GetInt(arquivo, "Banido");
}
else
{
DOF2_CreateFile(arquivo);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[40], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
format(arquivo, 40, "JSADMIN/Contas/%s.ini", nome);
if(DOF2_FileExists(arquivo))
{
DOF2_SetInt(arquivo, "Admin", pInfo[playerid][Admin]);
DOF2_SetInt(arquivo, "Avisos", pInfo[playerid][Aviso]);
DOF2_SetInt(arquivo, "Banido", pInfo[playerid][Banido]);
DOF2_SaveFile();
}
return 1;
}
CMD:daradmin(playerid, params[])
{
new Level;
if(sscanf(params, "ud", ID, Level))
{
SendClientMessage(playerid, Vermelho, "Uso Correto: /daradmin [id] [level]");
return 1;
}
format(String, sizeof(String), "O Admin %s te promoveu a level %s de administrador.", Nome(playerid), Nome(ID), Level);
SendClientMessage(ID, Azul, String);
pInfo[ID][Admin] = Level;
return 1;
}
CMD:kick(playerid, params[])
{
if(pInfo[playerid][Admin] < 1)
{
if(sscanf(params, "us[128]", ID, Motivo))
{
SendClientMessage(playerid, Amarelo, "Uso Correto: /kick [id] [motivo]");
return 1;
}
format(String, sizeof(String), "O Admin %s Kickou o player %s pelo motivo: %s",Nome(playerid), Nome(ID), Motivo);
SendClientMessageToAll(Verde, String);
Kick(ID);
return 1;
}
else
{
SendClientMessage(playerid, Amarelo, "Vocк nгo й um Administrador !");
return 1;
}
}
CMD:ban(playerid, params[])
{
if(pInfo[playerid][Admin] < 1)
{
if(sscanf(params, "us[128]", ID, Motivo))
{
SendClientMessage(playerid, Amarelo, "Uso Correto: /ban [id][motivo]");
return 1;
}
format(String, sizeof(String), "O Admin %s baniu o player %s pelo motivo: %s",Nome(playerid), Nome(ID), Motivo);
SendClientMessageToAll(Vermelho, String);
Ban(ID);
return 1;
}
else
{
SendClientMessage(playerid, Amarelo, "Vocк nгo й um Administrador !");
return 1;
}
}
CMD:avisar(playerid, params[])
{
if(pInfo[playerid][Admin] >= 1)
{
if(sscanf(params, "us[128]", ID, Motivo))
{
SendClientMessage(playerid, Vermelho, "Uso Correto: /aviso [id][motivo]");
return 1;
}
if(pInfo[ID][Aviso] == MAX_AVISOS)
{
format(String, sizeof(String), "O Admin %s baniu o Player %s: Motivo: (Tinha 5 Avisos)", Nome(playerid), Nome(ID));
SendClientMessageToAll(Vermelho, String);
return 1;
}
format(String, sizeof(String), ">> O Admin %s deu um aviso no Player %s. Motivo: %s", Nome(playerid), Nome(ID), Motivo);
SendClientMessageToAll(Vermelho, String);
pInfo[ID][Aviso]++;
return 1;
}
else
{
SendClientMessage(playerid, Amarelo, "Vocк nгo й Administrador !");
return 1;
}
}
CMD:av(playerid, params[])
{
if(pInfo[playerid][Admin] >= 1)
{
new Texto;
if(sscanf(params, "s[128]", Texto))
{
SendClientMessage(playerid, Amarelo, "Uso Correto: /av [mensagem]");
return 1;
}
format(String, sizeof(String), "Administrador %s:%s", Nome(playerid), Texto);
SendClientMessageToAll(Vermelho, String);
return 1;
}
else
{
SendClientMessage(playerid, Amarelo, "Vocк nгo й Administrador !");
return 1;
}
}
CMD:tapa(playerid, params[])
{
if(pInfo[playerid][Admin] >= 1)
{
if(pInfo[ID][Admin] == 5)
{
SendClientMessage(playerid, Vermelho, "Vocк nгo pode dar um tapa em um Admin Dono");
return 1;
}
if(sscanf(params, "u", ID))
{
SendClientMessage(playerid, Vermelho, "Uso Correto: /tapa [id]");
return 1;
}
new Float:X, Float:Y, Float:Z;
GetPlayerPos(ID, X, Y, Z);
SetPlayerPos(ID, X, Y, Z+12);
format(String, sizeof(String), "O Admin %s deu um tapa no Player %s.", Nome(playerid), Nome(ID));
SendClientMessageToAll(Vermelho, String);
return 1;
}
else
{
SendClientMessage(playerid, Amarelo, "Vocк nгo й Administrador !");
return 1;
}
}
stock Nome(playerid)
{
new pNome[MAX_PLAYER_NAME];
GetPlayerName(playerid, pNome, MAX_PLAYER_NAME);
return pNome;
}
//Topo do GM
#define DIALOG_ADM 4678
/*CMD:viraradmin(playerid, params[])
{
pInfo[playerid][Admin] == 10;
SendClientMessage(playerid, -1, " Pronto Admin 10 '-'");
return 1;
}*/
CMD:daradmin(playerid, params[])
{
if(!IsPlayerAdmin(playerid) && pInfo[playerid][Admin] < 10) return SendClientMessage(playerid, BRANCO, "Vocк precisa ser admin nivel 10 para usar este comando!");
if(sscanf(params, "ud", ID, nivel)) return SendClientMessage(playerid, CINZA, "Use /daradmin [ID] [nivel]"), SendClientMessage(playerid, CINZA, "Use o comando para oferecer admin para algum jogador");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
if(nivel < 0 || nivel > 10) return SendClientMessage(playerid, BRANCO, "[ERRO] Nivel invalido, use de 0 a 10");
format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Ofereceu Admin Nivel %d de Admin para %s.\r\n", Nome(playerid), nivel, Nome(ID));
SendClientMessageToAll(VERDE_AGUA, String);
format(String, sizeof(String), "{FFFFFF}O Admin {1B95E0}%s{FFFFFF} estб lhe oferencendo admin nivel {1b95E0}%d", Nome(playerid), nivel);
ShowPlayerDialog(ID, DIALOG_ADM, DIALOG_STYLE_MSGBOX, "Admin", String, "Aceitar", "Recusar");
return 1;
}
rs Obg pegou.. vou me basear nesse para fazer os outros +rep
![]() |