Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*------------------------------------------------------------------------------
- [INCLUDES]
- ------------------------------------------------------------------------------*/
- #include a_samp
- #include SII
- /*------------------------------------------------------------------------------
- [DINHEIRO]
- ------------------------------------------------------------------------------*/
- #define DarDinheiro(%0,%1) Info[%0][Dinheiro] += %1
- #define RetirarDinheiro(%0,%1) Info[%0][Dinheiro] -= %1
- #define SetarDinheiro(%0,%1) Info[%0][Dinheiro] = %1
- #define GetarDinheiro(%0) Info[%0][Dinheiro]
- #define ResetarDinheiro(%0) Info[%0][Dinheiro] = 0;
- /*------------------------------------------------------------------------------
- [C & AB]
- ------------------------------------------------------------------------------*/
- #define Contas "Contas/%s.ini"
- #define AdminBot "Diogo B."
- /*------------------------------------------------------------------------------
- [DIALOGS]
- ------------------------------------------------------------------------------*/
- #define DialogRegistar (100)
- #define DialogLogar (101)
- #define DialogSexo (102)
- #define DialogKickado (104)
- /*------------------------------------------------------------------------------
- [CORES]
- ------------------------------------------------------------------------------*/
- #define Esverdeado (0x808000AA)
- #define Vermelho (0xE60000FF)
- #define Amarelo (0xFFFF00FF)
- #define Branco (0xFFFFFFAA)
- #define Verde (0x21DD00FF)
- #define aCor (0x0080C0AA)
- /*------------------------------------------------------------------------------
- [CORES VIP]
- ------------------------------------------------------------------------------*/
- #define cVip1 (0xFFF000AA) //Alterar
- #define cVip2 (0xFFF000AA) //Alterar
- #define cVip3 (0xFFF000AA) //Alterar
- /*------------------------------------------------------------------------------
- [CS]
- ------------------------------------------------------------------------------*/
- #define CASE_SENSITIVE false
- /*------------------------------------------------------------------------------
- [ARRAYS]
- ------------------------------------------------------------------------------*/
- enum Informacoes
- {
- Administrador,
- Jogador[24],
- SenhaErrada,
- Outro[24],
- Dinheiro,
- Logado,
- Banco,
- Senha,
- Sexo,
- Vip,
- };
- static
- Info[MAX_PLAYERS][Informacoes],
- sStringFrm[128],
- sStringArq[128],
- Data[3],
- Time[3];
- forward CallSalvar(playerid);
- forward CallCarregar(playerid);
- /*------------------------------------------------------------------------------
- [CALBACKS]
- ------------------------------------------------------------------------------*/
- public OnPlayerDisconnect(playerid, reason)
- return CallSalvar(playerid);
- public OnPlayerConnect(playerid)
- {
- CallCarregar(playerid);
- GetPlayerName(playerid, Info[playerid][Jogador], 23);
- format(sStringArq, sizeof(sStringArq), Contas, Info[playerid][Jogador]);
- if(INI_Exist(sStringArq))
- {
- format(sStringFrm, sizeof(sStringFrm), "{5CACEE}Nome: {FFFFFF}%s\n{5CACEE}Tipo de conta: {FFFFFF}Registada!\n\nColoque a sua senha para se poder logar no servidor (:", Info[playerid][Jogador]);
- ShowPlayerDialog(playerid, DialogLogar, DIALOG_STYLE_INPUT, "{5CACEE}Sistema de Login:", sStringFrm, "Logar", "Cancelar" );
- }
- else
- {
- format(sStringFrm, sizeof(sStringFrm), "{5CACEE}Nome: {FFFFFF}%s\n{5CACEE}Tipo de conta: {FFFFFF}Não registada!\n\nColoque a sua senha para se registar no servidor (:", Info[playerid][Jogador]);
- ShowPlayerDialog( playerid, DialogRegistar, DIALOG_STYLE_INPUT, "{5CACEE}Sistema de Registo:", sStringFrm, "Registar", "Cancelar" );
- }
- return true;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- GetPlayerName(playerid, Info[playerid][Jogador], 23);
- format(sStringArq, sizeof(sStringArq), Contas, Info[playerid][Jogador]);
- if(dialogid == DialogLogar)
- {
- if(response)
- {
- if(strlen(inputtext) == 0)
- {
- format(sStringFrm, sizeof(sStringFrm), "{5CACEE}Nome: {FFFFFF}%s\n{5CACEE}Tipo de conta: {FFFFFF}Registada!\n\nColoque a sua senha para se poder logar no servidor (:", Info[playerid][Jogador]);
- ShowPlayerDialog(playerid, DialogLogar, DIALOG_STYLE_INPUT, "{5CACEE}Sistema de Login:", sStringFrm, "Logar", "Cancelar");
- SendClientMessage(playerid, Verde, "A senha deve ter mais do que 0 digitos!");
- }
- static Input[20];
- INI_Open(sStringArq);
- INI_ReadString(Input, "Senha");
- INI_Close();
- if(!strcmp(inputtext, Input, CASE_SENSITIVE))
- {
- SpawnPlayer(playerid);
- format(sStringFrm, sizeof(sStringFrm), "%s, seja bem-vindo ao servidor (:", Info[playerid][Jogador]);
- SendClientMessage(playerid, Amarelo, sStringFrm);
- if(Info[playerid][Administrador] >= 1)
- {
- format(sStringFrm, sizeof(sStringFrm), "Logado com nível %d de administrador (:", Info[playerid][Administrador]);
- SendClientMessage(playerid, aCor, sStringFrm);
- }
- if(Info[playerid][Vip] == 1)
- return SendClientMessage(playerid, cVip1, "Logado com Vip Gold (:");
- if(Info[playerid][Vip] == 2)
- return SendClientMessage(playerid, cVip2, "Logado com Vip Prata (:");
- if(Info[playerid][Vip] == 3)
- return SendClientMessage(playerid, cVip3, "Logado com Vip Bronze (:");
- }
- else
- {
- format(sStringFrm, sizeof(sStringFrm), "{5CACEE}Nome: {FFFFFF}%s\n{5CACEE}Tipo de conta: {FFFFFF}Registada!\n\nColoque a sua senha para se poder logar no servidor (:", Info[playerid][Jogador]);
- ShowPlayerDialog(playerid, DialogLogar, DIALOG_STYLE_INPUT, "{5CACEE}Sistema de Login:", sStringFrm, "Logar", "Cancelar");
- SendClientMessage(playerid, Vermelho, "Senha errada! Se errar 3 vezes, é kickado!");
- Info[playerid][SenhaErrada] += 1;
- if(Info[playerid][SenhaErrada] == 3)
- {
- SendClientMessage(playerid, Branco, "Você foi kickado do servidor por errar a senha 3 vezes!");
- Kickar(playerid, "Errou a senha 3 vezes");
- }
- }
- }
- else if(!response)
- {
- SendClientMessage(playerid, Branco, "Você foi kickado por não querer-se logar!");
- Kickar(playerid, "Não quis logar");
- }
- }
- else if(dialogid == DialogRegistar)
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- format(sStringFrm, sizeof(sStringFrm), "{5CACEE}Nome: {FFFFFF}%s\n{5CACEE}Tipo de conta: {FFFFFF}Não registada!\n\nColoque a sua senha para se registar no servidor (:", Info[playerid][Jogador]);
- ShowPlayerDialog( playerid, DialogRegistar, DIALOG_STYLE_INPUT, "{5CACEE}Sistema de Registo:", sStringFrm, "Registar", "Cancelar" );
- SendClientMessage(playerid, Verde, "A senha não pode conter 0 digitos!");
- }
- strmid(Info[playerid][Senha], inputtext, 0, strlen(inputtext), 128);
- INI_Create(sStringArq);
- INI_Open(sStringArq);
- INI_WriteString("Senha", Info[playerid][Senha]);
- ShowPlayerDialog(playerid, DialogSexo, DIALOG_STYLE_MSGBOX, "{5CACEE}A que sexo pertence?", "Para acabarmos de fazer o seu registo, precisamos de saber o seu sexo.\nEscolha o sexo abaixo", "Masculino", "Feminino");
- }
- else
- {
- SendClientMessage(playerid, Branco, "Você foi kickado por não querer-se registar!");
- Kickar(playerid, "Não quis registar");
- }
- }
- else if(dialogid == DialogSexo)
- {
- if(response)
- {
- Info[playerid][Sexo] = 1;
- SendClientMessage(playerid, Esverdeado, "Agora que você acabou seu registo... logue-se (:");
- Info[playerid][Logado] = true;
- SetTimerEx("CallInicioPlayer", 2000, false, "i", playerid);
- INI_WriteInt("Sexo", Info[playerid][Sexo]);
- }
- else if(!response)
- {
- Info[playerid][Sexo] = 2;
- SendClientMessage(playerid, Esverdeado, "Agora que você acabou seu registo... logue-se (:");
- Info[playerid][Logado] = true;
- INI_WriteInt("Sexo", Info[playerid][Sexo]);
- }
- }
- return true;
- }
- /*------------------------------------------------------------------------------
- [SISTEMA DE REGISTO E LOGIN]
- ------------------------------------------------------------------------------*/
- public CallSalvar(playerid)
- {
- GetPlayerName(playerid, Info[playerid][Jogador], 23);
- format(sStringArq, sizeof(sStringArq), Contas, Info[playerid][Jogador]);
- if(INI_Exist(sStringArq))
- {
- INI_Open(sStringArq);
- INI_WriteInt("Dinheiro", GetarDinheiro(playerid));
- INI_WriteInt("Banco", Info[playerid][Banco]);
- INI_WriteInt("Sexo", Info[playerid][Sexo]);
- INI_WriteInt("Vip", Info[playerid][Vip]);
- INI_WriteInt("Administrador", Info[playerid][Administrador]);
- INI_Save();
- INI_Close();
- }
- else INI_Create(sStringArq);
- return true;
- }
- public CallCarregar( playerid )
- {
- GetPlayerName(playerid, Info[playerid][Jogador], 23);
- format(sStringArq, sizeof(sStringArq), Contas, Info[playerid][Jogador]);
- if(INI_Exist(sStringArq))
- {
- INI_Open(sStringArq);
- DarDinheiro(playerid, INI_ReadInt("Dinheiro"));
- Info[playerid][Dinheiro] = INI_ReadInt("Dinheiro");
- Info[playerid][Banco] = INI_ReadInt("Banco");
- Info[playerid][Sexo] = INI_ReadInt("Sexo");
- Info[playerid][Vip] = INI_ReadInt("Vip");
- Info[playerid][Administrador] = INI_ReadInt("Administrador");
- }
- return true;
- }
- /*------------------------------------------------------------------------------
- [KICKAR]
- ------------------------------------------------------------------------------*/
- stock Kickar(playerid, motivo[])
- {
- getdate(Data[0], Data[1], Data[2]);
- gettime(Time[0], Time[1], Time[2]);
- GetPlayerName(playerid, Info[playerid][Jogador], 23);
- format(sStringFrm, sizeof(sStringFrm), "{E60000}[Kickado] {FFFFFF}%s foi kickado do servidor. [{E60000}Motivo: {FFFFFF}%s]", Info[playerid][Jogador], motivo);
- SendClientMessageToAll(Branco, sStringFrm);
- format(sStringArq, sizeof(sStringArq), "%s, você foi kickado do servidor!\n{5CACEE}Administrador: {FFFFFF}%s\n{5CACEE}Motivo: {FFFFFF}%s\n{5CACEE}Data: {FFFFFF}%d/%d/%d\n{5CACEE}Hora: {FFFFFF}%d:%d:%d ", Info[playerid][Jogador], AdminBot, motivo, Data[2], Data[1], Data[0], Time[0], Time[1], Time[2]);
- ShowPlayerDialog(playerid, DialogKickado, DIALOG_STYLE_MSGBOX, "{5CACEE}Sistema de Kick", sStringArq, "Concluir", "");
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment