SA-MP Forums Archive
[Ajuda] Colocando Sistema de Adiministraзгo - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Colocando Sistema de Adiministraзгo (/showthread.php?tid=370878)



Colocando Sistema de Adiministraзгo - Gabriel Santana - 21.08.2012

Tem como alguйm colocar no meu gamemode o sistema de adiministraзгo.
Tipo, coloca as enums e em um comando o negocio de admins lvl 1,2,3 ...
Vou passar pra vocкs porquк tф ligado que sу tem fera e tem capacidade pra criar um dez mil vezes melhor!

Coloca pelo menos um exemplo que eu termino.

Gamemode:
pawn Код:
/*

        Gamemode - Extreme Gangs - Versгo: v1.0e
            Direito autoriais: Gabriel Santana
        Contato: bielmoura-suporte@hotmail.com.br

*/


// Includes:
#include <a_samp>
#include <zcmd>
#include <DOF2>
#include <sscanf2>

// Define das cores:
#define LARANJA          0xFF8C00AA
#define VERDE            0xACF84CAA
#define AMARELO          0xFFFF00AA
#define AZUL             0x33CCFFAA
#define VERMELHOCLARO    0xFF7878AA
#define VERMELHO         0xFF000DAA
#define BRANCO           0xFFFFFFAA
#define PRETO            0x000000AA
#define CINZA            0xC4C0C0AA
#define AZULCLARO        0x00FAEDAA
#define ROXOCLARO        0xC395F5AA
#define ROSA             0xFF00FFAA
#define ASAYADMIN        0x3636FBAA

// Define das Organizaзхes:
#define GROOVE           1
#define BALLAS           2
#define VAGOS            3
#define AZTECAS          4
#define DEALERS          5
#define POLICIA          6
#define ADMIN            7

// Outras Defines:
#define POLICIAL         0

enum Jogador
{
   NvlAdm,
   Matou,
   Morreu
};

new PlayerInfo[MAX_PLAYERS][Jogador];

/*
 - CORES DAS ORGANIZAЗХES:

     Ballas: Amarelo
     Vagos: Cinza
     Aztecas: Azul

*/


// Nome do Servidor Randanomico:
new countwo = 0;
forward NomeServer();
new ServidorNome[2][158] = { // [5] й o nъmero de mensagens.
"[EBG] Equipe - Brazucas Gang's",
"Entre e divirta-se no nosso servidor."
};

public NomeServer()
{
    countwo++;
    if(countwo > 4)countwo = 0;
    new string[128];
    format(string, sizeof(string), "hostname %s", ServidorNome[countwo]);
    SendRconCommand(string);
}

// New's:
new Profissao[MAX_PLAYERS];
new Ballas[MAX_PLAYERS];
new jogadoresOnline = 0;

//Enum's:
enum pInfo
{
    pGroove,
    pBallas,
    pVagos,
    pAztecas,
    pDealers,
    pPolicia,
    pAdiministrador,
    pGameMaster,
    pSubGameMaster,
}

enum gAdmin
{
    bool:Logado,
    Nivel
}

enum eEnquete
{
    bool:Criada,
    VotoSim,
    VotoNao,
    Titulo[128]
}

// Outras New's:
new String[256];
new Enquete[eEnquete];

// Comeзo da editaзгo do gamemode.
main()
{
    print("\n--------------------------------------------------------");
    print("        Gamemode: Extreme Gang's - Versгo: v1.0e          ");
    print("              Criado Por: Gabriel Santana                 ");
    print("             Agradecimentos: Caio Rodrigues               ");
    print("              Direito autoriais: Samp 0.3e                ");
    print("        Contato: bielmoura-suporte@hotmail.com.br         ");
    print("     ATT: Gamemode Original, nгo retire os crйditos.      ");
    print("--------------------------------------------------------\n");
}

public OnGameModeInit()
{
    SetTimer("NomeServer",750,1);
    UsePlayerPedAnims();
    SetTimer("JFSRandom",60000,1);
    SetGameModeText("[EBG]Mod v1.0e");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    DOF2_Exit();
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    jogadoresOnline++;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    jogadoresOnline--;
    new saiuname[MAX_PLAYER_NAME], stringsaiuname[128];
    GetPlayerName(playerid, saiuname, sizeof(saiuname));
    format(stringsaiuname, sizeof(stringsaiuname), "SERVER: O jogador %s saiu do servidor!",saiuname);
    SendClientMessageToAll(BRANCO, stringsaiuname);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    new entrouname[MAX_PLAYER_NAME], stringentrouname[128];
    GetPlayerName(playerid, entrouname, sizeof(entrouname));
    format(stringentrouname, sizeof(stringentrouname), "SERVER: O jogador %s entrou no servidor!",entrouname);
    SendClientMessageToAll(BRANCO, stringentrouname);
    SendClientMessage(playerid, VERDE, "Olб, Bem vindo novamente ao servidor, divirta-se e aproveite.");
    SendClientMessage(playerid, BRANCO, "** Digite /comandosgang para ver os comandos da sua Gang.");
    SendClientMessage(playerid, BRANCO, "** Quer saber os comandos do servidor? Digite /comandos e saiba os principais.");
    SendClientMessage(playerid, BRANCO, "** Digite /regras e veja as principais regras do servidor.");
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
    new string[34];
    new nick[MAX_PLAYER_NAME];
    GetPlayerName(killerid,nick,sizeof(nick));
    format(string,sizeof(string),"SERVER: O jogador %s foi kickado por atropelar outro jogador.",nick);
    SendClientMessageToAll(VERMELHOCLARO,string);
    Kick(killerid);
   
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, killerid);
}
    return 1;
}
public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    if(Ballas[playerid]==1 && text[0] == '!' )
{
    new nome[MAX_PLAYER_NAME],string[180];
    GetPlayerName(playerid,nome,sizeof(nome));
    format(string,sizeof(string),"[Player: %s | Chat:%s]",nome,text[1]);
    for(new i = 0; i < MAX_PLAYERS; i ++)
{
    if(Ballas[i]==1){
    SendClientMessage(i,AMARELO,string);
}
}
    return 0;
}
    return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success)
{
    new L_S[128];
    format(L_S, 128, "SERVER: O Comando digitado (%s) nгo existe no servidor.", cmdtext);
    SendClientMessage(playerid, BRANCO, L_S);
    return true;
}
    return 1;
}
forward FecharEnquete();
public FecharEnquete()
{
    new StrEnquete[256];
    Enquete[Criada] = false;
    format(StrEnquete, 256, "SERVER: A Enquete: [%s] foi fechada automaticamente.", Enquete[Titulo]);
    SendClientMessageToAll(BRANCO, StrEnquete);
    format(StrEnquete, 256, "SERVER: Votos [SIM]: %d", Enquete[VotoSim]);
    SendClientMessageToAll(BRANCO, StrEnquete);
    format(StrEnquete, 256, "SERVER: Votos [NГO]: %d", Enquete[VotoNao]);
    SendClientMessageToAll(BRANCO, StrEnquete);
    if(Enquete[VotoSim] > Enquete[VotoNao])
{
    SendClientMessageToAll(BRANCO, "SERVER: De acordo com a pontuaзгo o [SIM] venceu.");
    return 1;
}
    if(Enquete[VotoNao] > Enquete[VotoSim])
{
    SendClientMessageToAll(BRANCO, "SERVER: De acordo com a pontuaзгo o [NГO] venceu.");
    return 1;
}
    return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
{
    if(response)
{

    if(listitem == 0)
{
    SetPlayerHealth(playerid, 100);
}

    if(listitem == 1)
{
    SetPlayerArmour(playerid, 100);
}
}
    return 1;
}
    if(dialogid == 2)
{
    if(response)
{

    if(listitem == 0)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(560, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 1)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(522, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 2)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(437, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 3)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(411, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 4)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(481, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 5)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(483, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 6)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(510, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 7)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(539, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 8)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(419, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 9)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(434, x+1, y+1, z, 0, 1, 1, 10000);
}

    if(listitem == 10)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateVehicle(439, x+1, y+1, z, 0, 1, 1, 10000);
}
}
    return 1;
}
    if(dialogid == 3)
{
    if(response)
{

    if(listitem == 0)
{
    GivePlayerWeapon(playerid,1,500);
}

    if(listitem == 1)
{
    GivePlayerWeapon(playerid,4,500);
}

    if(listitem == 2)
{
    GivePlayerWeapon(playerid,12,500);
}

    if(listitem == 3)
{
    GivePlayerWeapon(playerid,16,500);
}

    if(listitem == 4)
{
    GivePlayerWeapon(playerid,22,500);
}

    if(listitem == 5)
{
    GivePlayerWeapon(playerid,24,500);
}

    if(listitem == 6)
{
    GivePlayerWeapon(playerid,27,500);
}

    if(listitem == 7)
{
    GivePlayerWeapon(playerid,30,500);
}

    if(listitem == 8)
{
    GivePlayerWeapon(playerid,31,500);
}

    if(listitem == 9)
{
    GivePlayerWeapon(playerid,34,500);
}

    if(listitem == 10)
{
    GivePlayerWeapon(playerid,38,500);
}

    if(listitem == 11)
{
    GivePlayerWeapon(playerid,43,500);
}

    if(listitem == 12)
{
    GivePlayerWeapon(playerid,46,500);
}
}
    return 1;
}
    if(dialogid == 4)
{
    if(response)
{

    if(listitem == 0)
{

}

    if(listitem == 1)
{
    SetPlayerPos(playerid, 1984.4626,-1227.8354,20.1059);
    SendClientMessage(playerid, BRANCO, "** Gang Ballas escolhida com sucesso!");
    SetPlayerColor(playerid, AMARELO);
}

    if(listitem == 2)
{
    SetPlayerPos(playerid,2287.6089,-1053.6119,49.2977);
    SendClientMessage(playerid, BRANCO, "** Gang Vagos escolhida com sucesso!");
    SetPlayerColor(playerid, CINZA);
}

    if(listitem == 3)
{
    SetPlayerPos(playerid,1723.8518,-2118.9436,13.5469);
    SendClientMessage(playerid, BRANCO, "** Gang Aztecas escolhida com sucesso!");
    SetPlayerColor(playerid, AZUL);
}
}
    return 1;
}
    return 0;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
CMD:sim(playerid, params[])
{
    if(Enquete[Criada] == false) return SendClientMessage(playerid, VERMELHO, "ERRO: Nгo hб nenhuma enquete aberta no momento.");
    Enquete[VotoSim]++;
    SendClientMessage(playerid, BRANCO, "SERVER: Seu voto foi computado com sucesso.");
    return 1;
}

CMD:nao(playerid, params[])
{
    if(Enquete[Criada] == false) return SendClientMessage(playerid, VERMELHO, "ERRO: Nгo hб nenhuma enquete aberta no momento.");
    Enquete[VotoNao]++;
    SendClientMessage(playerid, BRANCO, "SERVER: Seu voto foi computado com sucesso.");
    return 1;
}

CMD:enquete(playerid, params[])
{
    new t[128];
    if(sscanf(params, "s", t)) return MensagemDupla(playerid, "SERVER: Uso correto do comando: /enquete [Pergunta]", "Use o comando para fazer uma enquete para os jogadores.");
    Enquete[Criada] = true;
    Enquete[Titulo] = t;
    format(String, sizeof(String), "** SERVER: Nova Enquete de %s[PERGUNTA]: %s", Nome(playerid), t);
    SendClientMessageToAll(BRANCO, String);
    SendClientMessageToAll(BRANCO, "SERVER: Use /sim ou /nao para votar.");
    SendClientMessage(playerid, BRANCO, "SERVER: A Enquete serб fechada automaticamente em 30 segundos.");
    SetTimer("FecharEnquete", 30000, false);
    return 1;
}
// Comandos - ShowPlayerDialog:
CMD:ajudah(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Escolha sua Opзгo:", "Vida\nColete", "Selecionar", "Cancelar");
    return 1;
}

CMD:veh(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Escolha seu Veiculo:", "Sultan\nNGR-500\nOnibus\nInfernus\nBMX\nCamper\nMountain Bike\nVortex\nEsperanto\nHotknife\nStallion", "Selecionar", "Cancelar");
    return 1;
}

CMD:armas(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, "Escolha sua Arma:", "Brass Knuckles\nFaca\nVibrador\nGranada\nPistola\nDesert Eagle\nCombat Shotgun\nMP5\nM4\nSniper Rifle\nMinigun\nCamera\nParaquedas", "Selecionar", "Cancelar");
    return 1;
}

CMD:mudargang(playerid)
{
    ShowPlayerDialog(playerid, 4, DIALOG_STYLE_LIST, "Escolha sua Gang:", "Groove\nBallas\nVagos\nAztecas\nDealers", "Selecionar", "Cancelar");
    return 1;
}

CMD:jetpack(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    SetPlayerSpecialAction(playerid, 2);
    SendClientMessage(playerid, ROXOCLARO, "AdmCMD: Jetpack criado com sucesso!");
    return 1;
}

CMD:creditos(playerid, params[])
{
    SendClientMessage(playerid, VERDE, "** Crйditos do Gamemode");
    SendClientMessage(playerid, BRANCO, "Gamemode feito por: Gabriel Santana.");
    SendClientMessage(playerid, BRANCO, "Atualizado(Upgrades): Por Gabriel Santana.");
    SendClientMessage(playerid, BRANCO, "Agradecimentos: Caio Rodrigues.");
    SendClientMessage(playerid, BRANCO, "Outros Sistemas: Gabriel entre outros.");
    SendClientMessage(playerid, VERDE, "** Seu nome nгo estб aqui? procure por Gabriel Santana.");
    return 1;
}

CMD:rc(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    new carid = GetPlayerVehicleID(playerid);
    SendClientMessage(playerid, ROXOCLARO, "AdmCMD: Carro foi deletado com sucesso.");
    DestroyVehicle(carid);
    return 1;
}

new RandomJFS[][] =
{
    "ANUNCIO: Estб com Dъvidas? Digite /ajuda ou veja os Adiministradores '/admins' e tire-as. ",
    "ANUNCIO: Viu algum xiter? Digite /reportar e investigaremos.",
    "ANUNCIO: Sempre respeite o adiministrador do servidor, ou lider da sua Gang.",
    "ANUNCIO: Quer saber as vantagens vips? Digite /vantagensvip e veja!",
    "ANUNCIO: Problemas no gamemode? Reporte aos adiministradores e eles analizaram.",
    "ANUNCIO: Digite /creditos e vejam que criou o gamemode."

 };
 forward JFSRandom();
public JFSRandom()
{
    SendClientMessageToAll(LARANJA, RandomJFS[random(sizeof(RandomJFS))]);
    return 1;
}

CMD:ajuda(playerid, params[])
{
    new str[850];
    strcat(str,"[BG] й um gamemode de Gangs que amostra a guerra de 'facзхes' \n");
    strcat(str,"que lutam por dominar seus lugares fixos.\n\n");
    strcat(str,"Aqui vocк tem sua prуpria conta e pode interagir com membros da sua gang\n");
    strcat(str,"e de outras gangs tambйm, afinal, vocк pode fazer novos amigos.\n\n");
    strcat(str,"Diferente de outros gamemodes, temos muitas opзхes de jogabilidade,\n");
    strcat(str,"e os jogadores sempre tem algo a fazer, ficando 24h conectados.\n");
    strcat(str,"Temos diversos sistemas nesse gamemode que ainda mais vai divertir vocк completamente.\n");
    strcat(str,"Temos varias organizaзхes, como policias, repуrteres entre outros.\n\n");
    strcat(str,"Tб afim de saber quem criou o gamemode? Digite /creditos e fique a vontade.\n");
    strcat(str,"Nosso gamemode й prуprio para o servidor Brazukas Gangs.");
    ShowPlayerDialog(playerid, 8439, DIALOG_STYLE_MSGBOX, "[EBG] FAQ - Como й o Servidor?", str, "Ok", "Fechar");
    return 1;
}

CMD:regras(playerid, params[])
{
    new str[850];
    strcat(str,"Nгo faзa DB em outros players, caso contrбrio serб kickado ou preso por\n");
    strcat(str,"dez minutos pelos policias ou adiministradores;\n\n");
    strcat(str,"Nunca use xiters (hack), vocк serб banido permanentimente.\n");
    strcat(str,"Nгo desrrespeite os administradores do servidor e organizadores da sua torcida.\n\n");
    strcat(str,"Nгo fuja de confrontos, vocк poderб ser kickado.\n\n");
    strcat(str,"OBS: Caso vocк use hack no servidor e seja banido, nгo nos responsabilizamos pelo\n");
    strcat(str,"seu VIP, os dias irгo passar normalmente, por isso nгo usem xiter.");
    ShowPlayerDialog(playerid, 8439, DIALOG_STYLE_MSGBOX, "[EBG] Regras do Servidor:", str, "Ok", "Fechar");
    return 1;
}

CMD:comandos(playerid, params[])
{
    new str[850];
    strcat(str,"A seguir alguns dos comandos mais uteis do servidor:\n\n");
    strcat(str,"- Use /duvidas para falar com os administradores do servidor;\n");
    strcat(str,"- Digite /vantagensvip e veja tudo que os VIP's tem direto;\n");
    strcat(str,"- Digite /reportar e reclame algo que vocк vк aos administradores do servidor.\n");
    strcat(str,"- Quer ver quem criou o gamemode? Digite /creditos e veja agora!.\n");
    strcat(str,"- Veja as regras do servidor em /regras e fique informado.\n\n");
    strcat(str,"** Disponibilizamos os comandos mais uteis do gamemode.");
    ShowPlayerDialog(playerid, 8439, DIALOG_STYLE_MSGBOX, "[EBG] Comandos do Servidor:", str, "Ok", "Fechar");
    return 1;
}

CMD:vantagensvip(playerid, params[])
{
    new str[850];
    strcat(str,"Tudo sobre os VIP's:\n\n");
    strcat(str,"Quer virar VIP? Nesse gamemode as vantagens desse sistema prevalece\n");
    strcat(str,"completamente sobre os players normais, vбrios comandos a mais entre outras vantagens.\n\n");
    strcat(str,"** Alguns comandos VIP's que o sistema do gamemode oferece:\n");
    strcat(str,"- Voce poderб digitar /veh e escolher uma lista de veiculos que desejar.\n");
    strcat(str,"- Poderб tunar o veiculo que vocк quiser pelo servidor.\n");
    strcat(str,"- Poderб ganhar seu Kitvip, contendo alguns equipamentos extras e necessбrios\n");
    strcat(str,"para jogar com mais diversгo no nosso servidor.\n");
    strcat(str,"- Poderб deletar veiculos com /rc, respawn veiculos.\n");
    strcat(str,"- Podera se divertir no Monte Chilliad, digitando /mchilliad.\n\n");
    strcat(str,"Alguma das muitas vantagens que o gamemode oferece aos VIP's, por isso se associe\n");
    strcat(str,"a este grupo e seja mais um dos muitos a ajudar o servidor.\n");
    ShowPlayerDialog(playerid, 8439, DIALOG_STYLE_MSGBOX, "[EBG] Vantagens VIP's:", str, "Ok", "Fechar");
    return 1;
}

CMD:admins(playerid)
{
    new Jogador[24];
    new count=0;
    new msg[120];
    for(new i=0; i<MAX_PLAYERS; i++)
{
    if(IsPlayerConnected(i) && IsPlayerAdmin(i))
{
    GetPlayerName(i,Jogador,24);
    format(msg,sizeof(msg),"%s - [Funзгo: ]", Jogador);
    SendClientMessage(playerid, VERDE, "** Administradores Online:");
    SendClientMessage(playerid, BRANCO, msg);


    count++;
}
}
    if(count == 0) return SendClientMessage(playerid, VERMELHO, "SERVER: Nгo tem nenhum administrador online no momento.");
    return 1;
}

CMD:skin(playerid, params[])
{
    new skinid;
    if(sscanf(params, "i", skinid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Comando incorreto.");
    if(skinid < 1 || skinid > 300) return SendClientMessage(playerid, AMARELO, "Skins Disponiveis: 1 - 300");
    SetPlayerSkin(playerid, skinid);
    SendClientMessage(playerid, AMARELO, "SERVER: Skin escolhida com Sucesso.");
    return 1;
}

CMD:reparar(playerid, params[])
{
    if(!IsPlayerInAnyVehicle(playerid))
{
    SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo estб dentro de um Veнculo.");
    return 1;
}
    GetPlayerVehicleID(playerid);
    RepairVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, AMARELO, "SERVER: Veнculo reparado com sucesso.");
    return 1;
}

CMD:pular(playerid)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetPlayerPos(playerid, x, y, z +1);
    return 1;
}

CMD:kill(playerid)
{
    SetPlayerHealth(playerid, 0);
    SendClientMessage(playerid, VERMELHOCLARO, "SERVER: Vocк acabou de se matar.");
    return 1;
}

CMD:kick(playerid, params[])
{
    new PID;
    new reason[64];
    new str[128];
    new Playername[MAX_PLAYER_NAME], Adminname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Adminname, sizeof(Adminname));
    GetPlayerName(PID, Playername, sizeof(Playername));
    if(sscanf(params, "us[64]", PID,reason)) return SendClientMessage(playerid,  VERMELHO, "ERRO: Comando incorreto.");

    if(!IsPlayerConnected(PID))
    return SendClientMessage(playerid, VERMELHO, "ERRO: O jogador nгo estб conectado.");

    format(str, sizeof(str), "AdmCMD: O jogador %s foi kickado pelo administrador %s | MOTIVO: %s ", Playername, Adminname, reason);
    SendClientMessageToAll( VERMELHOCLARO, str);
    Kick(PID);
    return 1;
}

CMD:dp(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    if(Profissao[playerid] == POLICIAL)
{
    SetPlayerPos(playerid, 2290.5901,2468.7717,10.8203);
    SetPlayerSkin(playerid, 285);
    new nome[MAX_PLAYER_NAME], stringnome[300];
    GetPlayerName(playerid, nome, sizeof(nome));
    format(stringnome, sizeof(stringnome), "SERVER: O Policial %s estб trabalhando.",nome);
    SendClientMessageToAll(AMARELO, stringnome);
    GivePlayerWeapon(playerid, 3, 1);
    GivePlayerWeapon(playerid, 22, 1000);
    GivePlayerWeapon(playerid, 31, 1000);
    GivePlayerWeapon(playerid, 41, 1000);
    GivePlayerWeapon(playerid, 45, 1000);
    GivePlayerWeapon(playerid, 46, 1000);
}
    else
{
    SendClientMessage(playerid, VERMELHO,"ERRO: Vocк nгo й Policial.");
}
    return 1;
}

CMD:mchilliad(playerid)
{
    SetPlayerPos(playerid, -2335.7256,-1597.0514,483.7000);
    new nome[MAX_PLAYER_NAME], stringnome[300];
    GetPlayerName(playerid, nome, sizeof(nome));
    format(stringnome, sizeof(stringnome), "SERVER: O jogador %s foi para o Monte Chilliad.",nome);
    SendClientMessageToAll(AMARELO, stringnome);
    return 1;
}

CMD:comandosgang(playerid, params[])
{
    new str[850];
    strcat(str,"As gangs tem seu players normais, chamados de membros e entгo eles\n");
    strcat(str,"tambйm tem seus comandos, os mais simples.\n");
    strcat(str,"Sгo poucos, mais sгo indispensбveis para jogar no servidor, sгo eles:\n\n");
    strcat(str,"- /chatgang [TEXTO] - Fale no chat da sua Gang, бrea restrita.\n");
    strcat(str,"- /Reportar [ID] [Motivo] - Reporte algum player que estб fazendo ou usando\n");
    strcat(str,"algo errado no servidor que sгo contra as regras.\n");
    strcat(str,"- /Mudargang - Migre para outra Gang.\n\n");
    strcat(str,"Esse sгo alguns comandos mais importantes do servidor, aproveite.\n");
    ShowPlayerDialog(playerid, 8439, DIALOG_STYLE_MSGBOX, "[EBG] Comandos das Gangs:", str, "Ok", "Fechar");
    return 1;
}

CMD:wave(playerid)
{
   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
   ApplyAnimation(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0);
   return 1;
}

CMD:crossarms(playerid)
{
   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
   ApplyAnimation(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1);
   return 1;
}

CMD:sentar(playerid)
{
   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
   ApplyAnimation(playerid, "BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0);
   return 1;
}

CMD:handsup(playerid)
{
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
    return 1;
}

CMD:pee(playerid)
{
    SetPlayerSpecialAction(playerid,68);
    return 1;
}

CMD:sairan(playerid)
{
    ClearAnimations(playerid);
    new nome[MAX_PLAYER_NAME], stringnome[300];
    GetPlayerName(playerid, nome, sizeof(nome));
    format(stringnome, sizeof(stringnome), "SERVER: O Jogador %s saiu da sua animaзгo, caso queira sair digite /sairan e sairб.", nome);
    SendClientMessageToAll(AMARELO, stringnome);
    return 1;
}

CMD:vidat(playerid)
{
    new Float:X, Float:Y, Float:Z;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    GetPlayerPos(playerid, X, Y, Z);
    for(new x = 0; x < MAX_PLAYERS; x++) {
    if(IsPlayerInRangeOfPoint(x, 50.0, X, Y, Z)) {
    SetPlayerHealth(x, 100);
    new nome[MAX_PLAYER_NAME], stringnome[300];
    GetPlayerName(playerid, nome, sizeof(nome));
    format(stringnome, sizeof(stringnome), "AdmCMD: O jogador %s deu vida a todos perto dele.",nome);
    SendClientMessage(x,ROXOCLARO, stringnome);
}
}
    return 1;
}

CMD:coletet(playerid)
{
    new Float:X, Float:Y, Float:Z;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    GetPlayerPos(playerid, X, Y, Z);
    for(new x = 0; x < MAX_PLAYERS; x++) {
    if(IsPlayerInRangeOfPoint(x, 50.0, X, Y, Z)) {
    SetPlayerArmour(x, 100);
    new nome[MAX_PLAYER_NAME], stringnome[300];
    GetPlayerName(playerid, nome, sizeof(nome));
    format(stringnome, sizeof(stringnome), "AdmCMD: O jogador %s deu colete a todos perto dele.",nome);
    SendClientMessage(x,ROXOCLARO, stringnome);
}
}
    return 1;
}

CMD:ir(playerid, params[])
{
    new ID;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, AMARELO, "SERVER: Uso Correto do Comando: /ir [ID]");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, VERMELHO, "ERRO: ID invalido.");
    new Float:Pos[3];
    GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
    SetPlayerPos(playerid, Pos[0]+2, Pos[1]+2, Pos[2]+2);
    format(String, sizeof(String), "AdmCMD: O Adiministrador %s veio atй vocк.", Nome(playerid));
    SendClientMessage(ID, ROXOCLARO, String);
    format(String, sizeof(String), "AdmCMD: Vocк foi atй o Jogador %s [ID: %d].", Nome(ID), ID);
    SendClientMessage(playerid, ROXOCLARO, String);
    return 1;
}
stock Nome(playerid)
{
    new pNome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pNome, 24);
    return pNome;
}

CMD:trazer(playerid, params[])
{
    new ID;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, AMARELO, "SERVER: Uso Correto do Comando: /trazer [ID]");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, VERMELHO, "ERRO: ID invalido.");
    new Float:Pos[3];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    SetPlayerPos(ID, Pos[0]+2, Pos[1]+2, Pos[2]+2);
    format(String, sizeof(String), "AdmCMD: O Adiministrador %s puxou vocк.", Nome(playerid));
    SendClientMessage(ID, ROXOCLARO, String);
    format(String, sizeof(String), "AdmCMD: Vocк trouxe o Jogador %s [ID: %d].", Nome(ID), ID);
    SendClientMessage(playerid, ROXOCLARO, String);
    return 1;
}

stock GetDistanceBetweenPlayers(playerid,playerid2)
{
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    new Float:tmpdis;
    GetPlayerPos(playerid,x1,y1,z1);
    GetPlayerPos(playerid2,x2,y2,z2);
    tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    return floatround(tmpdis);
}


stock MensagemLocal(playerid, cor, text[], distancia)
{
    for(new i=0; i <= MAX_PLAYERS; i++)
    if(GetDistanceBetweenPlayers(playerid, i) <= distancia)
{
    new string[128];
    format(string, 128, text);
    SendClientMessage(i,cor,string);
}
    return 1;
}

CMD:logadosrcon(playerid, params[])
{
    SendClientMessage(playerid, VERDE, "SERVER: Usuarios logados na rcon:");
    new count=0;
    new name[24];
    new string[124];
    GetPlayerName(playerid, name, 24);
    for(new i; i < 500; i++) if(IsPlayerAdmin(i))
{
    format(string,256,"%s ",name);
    SendClientMessage(playerid,BRANCO,string);
    count++;
}
    if(count == 0)
{
    SendClientMessage(playerid, VERMELHO, "SERVER: Nгo tem nenhum usuario logado na rcon nesse momento.");
}
    return 1;
}

CMD:rtc(playerid, params[])
{
    #pragma unused params
    if(IsPlayerAdmin(playerid))
{
    for(new i;i<MAX_VEHICLES;i++)
{
    SetVehicleToRespawn(i);
}
    new nome[MAX_PLAYER_NAME], stringnome[300];
    GetPlayerName(playerid, nome, sizeof(nome));
    format(stringnome, sizeof(stringnome), "SERVER: Os veiculos do servidor foram respawndos pelo administrador %s com sucesso.",nome);
    SendClientMessageToAll(BRANCO, stringnome);
}
    else
{
    SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
}
    return 1;
}

CMD:kitvip(playerid)
{
    new pname[MAX_PLAYER_NAME], string[124 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    GivePlayerMoney(playerid,-350);
    GivePlayerWeapon(playerid,1,500);
    GivePlayerWeapon(playerid,10,500);
    GivePlayerWeapon(playerid,5,500);
    GivePlayerWeapon(playerid,43,500);
    GivePlayerWeapon(playerid,46,500);
    format(string, sizeof(string), "InfoVIP: O jogador %s comprou seu KitVip.", pname);
    SendClientMessageToAll(AMARELO, string);
    SendClientMessage(playerid, AZULCLARO, "SERVER: Vocк pegou seu KitVip.");
    return 1;
}

CMD:setskin(playerid, params[])
{
    new Skin;
    new ID;
    new string[200];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    if(sscanf(params, "ui", ID, Skin)) return SendClientMessage(playerid, CINZA, "SERVER: Uso do Comando Correto: /setskin [ID] [Skin]"), SendClientMessage(playerid, CINZA, "Use o comando para mudar a skin de um jogador");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, VERMELHO, "ERRO: ID invalido.");
    if(Skin < 0 || Skin > 299) return SendClientMessage(playerid, VERMELHO, "ERRO: ID Invalido, use ID de 0 a 299.");
    format(string, sizeof(string), "AdmCMD: O Adiministrador %s alterou a skin de %s para [ID: %d].", Nome(playerid), Nome(ID), Skin);
    SendClientMessageToAll(ROXOCLARO, string);
    SetPlayerSkin(ID, Skin);
    return 1;
}

CMD:reiniciarsv(playerid, params[])
{
    new string[200];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    format(string, sizeof(string), "SERVER: O Adiministrador %s estб reiniciando o servidor, aguarde alguns segundos.", Nome(playerid));
    SendClientMessageToAll(BRANCO, string);
    SendRconCommand("gmx");
    return 1;
}

stock MensagemDupla(playerid, msg1[], msg2[])
{
    SendClientMessage(playerid, AMARELO, msg1);
    SendClientMessage(playerid, AMARELO, msg2);
    return 1;
}

CMD:asay(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    if(isnull(params)) return SendClientMessage(playerid, AMARELO, "SERVER: Uso do comando correto: /asay [Texto]");
    new aName[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
    format(string, sizeof(string), "[GLOBAL ADIMINISTRADOR] %s: %s",aName,params);
    SendClientMessageToAll(ASAYADMIN,string);

    return 1;
}

CMD:online(playerid, params[])
{
    new string[256];
    format(string, sizeof(string), "SERVER: Tem %d jogadores online no servidor.", jogadoresOnline);
    SendClientMessageToAll(AMARELO, string);
    return 1;
}

CMD:tunar(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo й um adiministrador para usar esse comando.");
    new VehicleID;
    VehicleID = GetPlayerVehicleID(playerid);
    SendClientMessage(playerid, AZULCLARO, "AdmCMD: Seu carro foi tunado com sucesso.");
    AddVehicleComponent(VehicleID, 1087);
    AddVehicleComponent(VehicleID, 1078);
    AddVehicleComponent(VehicleID, 1010);
    return 1;
}

CMD:pm(playerid, params[])
{
    new str[256];
    new id, texto[50];
    if(sscanf(params, "us", id, texto)) return SendClientMessage(playerid, AMARELO, "SERVER: Uso correto do comando: /pm [ID] [Mensagem].");
    format(str, sizeof(str),"** Mensagem recebida de %s : %s",Nome(playerid), texto);
    SendClientMessage(id, -1 , str);
    format(str, sizeof(str),"** Mensagem enviada para %s: %s", Nome(id), texto);
    SendClientMessage(playerid, AMARELO, str);
    return 1;
}

CMD:meuid(playerid)
{
    new string[80];
    format(string, sizeof(string), "SERVER: O seu ID no momento й: %d.", playerid);
    SendClientMessage(playerid, BRANCO, string);
    return 1;
}

CMD:ban(playerid, params[])
{
    new PID;
    new reason[64];
    new str[128];
    new Playername[MAX_PLAYER_NAME], Adminname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Adminname, sizeof(Adminname));
    GetPlayerName(PID, Playername, sizeof(Playername));
    if(sscanf(params, "us[64]", PID,reason)) return SendClientMessage(playerid,  VERMELHO, "ERRO: Comando incorreto.");

    if(!IsPlayerConnected(PID))
    return SendClientMessage(playerid, VERMELHO, "ERRO: O jogador nгo estб conectado.");

    format(str, sizeof(str), "AdmCMD: O jogador %s foi banido pelo administrador %s | MOTIVO: %s ", Playername, Adminname, reason);
    SendClientMessageToAll( VERMELHOCLARO, str);
    Ban(PID);
    return 1;
}

CMD:virar(playerid)
{
    if(IsPlayerInAnyVehicle(playerid))
    SetVehicleVelocity(GetPlayerVehicleID(playerid), 0.0, 0.0, 0.2);
    return 1;
}
Vlw.


Re: Colocando Sistema de Adiministraзгo - RebeloX - 21.08.2012

Opa, vocк programou seu gamemode todo e nгo sabe fazer um sistema de administraзгo?

pawn Код:
/*

        Gamemode - Extreme Gangs - Versгo: v1.0e
            Direito autoriais: Gabriel Santana
        Contato: bielmoura-suporte@hotmail.com.br

*/
Sinceramente vocк nгo merece que ninguйm ajude, mas como sempre vai vir alguйm por rep querer ajudar vocк nй.

Mas parabйns por ter roubado os crйditos de alguem


Re: Colocando Sistema de Adiministraзгo - Jason` - 21.08.2012

Adiministraзгo? Editaзгo? LOL


Re: Colocando Sistema de Adiministraзгo - Delay - 21.08.2012

da +rep pro Bluex dpois dйssa namoral kkkkkkkkkkkk


Re: Colocando Sistema de Adiministraзгo - Don_Speed - 21.08.2012

Kkkkkkkkkkkkkkkkkkkkkk se e uma coisa de outro mundo mesmo kkkkk.


Re: Colocando Sistema de Adiministraзгo - Gabriel Santana - 21.08.2012

Uma coisa й certa.
Sу chamei o pessoal pro tуpico que quer ajudar.
Caso nгo queira nem chegue perto!

@Edit

Alguns comandos eu peguei de outros mesmo.
O gamemode comeзei do zero!


Re: Colocando Sistema de Adiministraзгo - Dolby - 21.08.2012

Pelo que vi nesse seu Gamemode,vocк sabe usar variбveis entгo ^^.
Ou seja,meio caminho andado.


Re: Colocando Sistema de Adiministraзгo - RebeloX - 21.08.2012

Quote:
Originally Posted by Gabriel Santana
Посмотреть сообщение
Uma coisa й certa.
Sу chamei o pessoal pro tуpico que quer ajudar.
Caso nгo queira nem chegue perto!
Vocк quer ajuda para que? Para roubar os crйditos? Rapaz peзa aos seus pais para lhe darem mais educaзгo.

Ter um servidor de sa-mp virou moda, entгo ele faz download tira crйditos e fala pro amigo "Ai manй eu fiz um server de sa-mp sabe, eu codei ele todo, eu sou muito foda", sinceramente, volte para a escola, as pessoas que estгo neste fуrum й para APRENDER, nгo para pedir ajuda, vai pedir ajuda toda hora para seu professor, ele sabe mais que nуs entгo.


Re: Colocando Sistema de Adiministraзгo - Gabriel Santana - 21.08.2012

Continuo falando.
Criei o tуpico apenas pra quem pudesse mim ajudar, vocк nгo quer.
Intгo nгo precisa se oculpar nisso!


Re: Colocando Sistema de Adiministraзгo - RebeloX - 21.08.2012

Quote:
Originally Posted by Gabriel Santana
Посмотреть сообщение
Continuo falando.
Criei o tуpico apenas pra quem pudesse mim ajudar, vocк nгo quer.
Intгo nгo precisa se oculpar nisso!
Se vocк colocar os devidos crйditos e realmente queira aprender, ai sim eu te ajudo!