Advertisement
Guest User

Sistema de Login e Registro (SII)

a guest
Feb 21st, 2012
1,433
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.63 KB | None | 0 0
  1. #include <a_samp>
  2. #include <SII>
  3.  
  4. #define DIALOG_REGISTRO 2000
  5. #define DIALOG_LOGAR 2001
  6.  
  7. #define BRANCO "{FFFFFF}"
  8. #define VERMELHO "{F81414}"
  9. #define VERDE "{00FF22}"
  10. #define AZUL CLARO "{00CED1}"
  11.  
  12. new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
  13.  
  14. enum pInfo
  15. {
  16.     pSenha,
  17.     pScore,
  18.     pDinheiro,
  19.     pAdmin
  20. }
  21.  
  22.  
  23. new PlayerInfo[MAX_PLAYERS][pInfo];
  24.  
  25. stock ObterINI(playerid)
  26. {
  27.     new conta[64];
  28.     format(conta,30,"Contas/%s.ini",gPlayerName[playerid]);
  29.     return conta;
  30. }
  31.  
  32. public OnPlayerConnect(playerid)
  33. {
  34.     GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
  35.     if (fexist(ObterINI(playerid))) {
  36.         ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT,""BRANCO"Login",""BRANCO"Digite sua senha abaixo para efetuar login.","logar","Quit");
  37.     }
  38.     else {
  39.         ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,""BRANCO"Registrando",""BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registrar","Quit");
  40.     }
  41.     return 1;
  42. }
  43.  
  44. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  45. {
  46.     switch( dialogid ) {
  47.         case DIALOG_REGISTRO:
  48.         {
  49.             if (!response) return Kick(playerid);
  50.             if (response) {
  51.                 if(!strlen(inputtext)) {
  52.                     ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, ""BRANCO"Registrando...",""VERMELHO"Você digitou uma senha inválida.\n"BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registro","Quit");
  53.                 }
  54.  
  55.                 if(INI_Open(ObterINI(playerid))) {
  56.                     INI_WriteString("Senha",inputtext);
  57.                     INI_WriteInt("Score",1);
  58.                     INI_WriteInt("Dinheiro",5000);
  59.                     INI_WriteInt("Admin",0);
  60.                     INI_Save();
  61.                     INI_Close();
  62.                     ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT,""BRANCO"Logar",""BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Quit");
  63.                 }
  64.             }
  65.         }
  66.         case DIALOG_LOGAR:
  67.         {
  68.             if ( !response ) return Kick ( playerid );
  69.             if( response ) {
  70.                 if(!strlen(inputtext)) {
  71.                     ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Você digitou uma senha inválida.\n"BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Quit");
  72.                 }
  73.  
  74.                 if(INI_Open(ObterINI(playerid))) {
  75.                     INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);
  76.  
  77.                     if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false)) {
  78.                         ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Você digitou uma senha incorreta.\n"BRANCO"Digite sua senha abaixo para acessar.","Logar","Quit");
  79.                     }
  80.  
  81.                     SetPlayerScore( playerid, INI_ReadInt("Score" ) );
  82.                     ResetPlayerMoney( playerid );
  83.                     GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
  84.                     PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
  85.                     INI_Close();
  86.                     SpawnPlayer(playerid);
  87.                 }
  88.             }
  89.         }
  90.     }
  91.     return 1;
  92. }
  93.  
  94. public OnPlayerDisconnect(playerid, reason)
  95. {
  96.     if(INI_Open(ObterINI(playerid))) {
  97.  
  98.         INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
  99.         INI_WriteInt("Dinheiro",GetPlayerMoney(playerid));
  100.         INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
  101.         INI_Save();
  102.         INI_Close();
  103.     }
  104.     return 1;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement