Advertisement
LifeAdvanced

Sistema de Registro/Login

Nov 17th, 2012
1,740
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.20 KB | None | 0 0
  1. /*
  2.  
  3.  
  4.  
  5.                     ********************( FS )********************
  6.  
  7.  
  8.  
  9.  
  10.                               Sistema de Registro Basico
  11.  
  12.  
  13.  
  14.  
  15.                                     Life_Advanced
  16.  
  17.  
  18.  
  19.                     ***********************************************
  20.  
  21.  
  22.             Sistema Basico, Criei rapidinho pq não vo me matar pra postar coisa na scriptsamp
  23.             Então Use o que quiser sei que não vam deixa creditos então foda-se aproveite :)
  24.  
  25. */
  26.  
  27. //*
  28.  
  29. //**********************
  30. #include    a_samp          // Include Principal do SAMP
  31. #include    DOF2            // Include de Salvamento em DOF2( Registro e login )
  32.  
  33. //********************
  34. #define FileUsers       "ScriptSamp/Contas/%s.ini" // Local que vai salvar a conta salva ... Criar uma Pasta dentro da ScriptFiles a ScriptSamp/Contas
  35. #define DIALOG_REGISTRO 1   //Dialog de Registro definido o Numeiro --> 1
  36. #define DIALOG_LOGIN 2  // Dialog de Login Definido o Numeiro -- > 2
  37.  
  38. //*********************
  39. new SenhaErrada[MAX_PLAYERS];// Definido Max de Players com a Senha errada ...
  40.  
  41. //**************   Enum de pInfo
  42. enum pInfo
  43. {
  44.     pSexo,
  45.     pIdade,
  46.     pLider,
  47.     pMembro,
  48.     pAdmin,
  49.     pSkin,
  50. };
  51. new PlayerInfo[MAX_PLAYERS][pInfo];
  52.  
  53. //*********************
  54. public OnFilterScriptInit() // OnFilterScriptInit para (FS) ou OnGameModeInit para (GM)
  55. {
  56.     print("\n(=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)");   // Messagem ao Ligar o SAMP SERVE
  57.     print("     Sistema Simples de Registro/Login");    // Messagem ao Ligar o SAMP SERVE
  58.     print("             By: Life_Advanced           "); // Messagem ao Ligar o SAMP SERVE
  59.     print("            Não retire os créditos !!            "); // Messagem ao Ligar o SAMP SERVE
  60.     print("(=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)\n");   // Messagem ao Ligar o SAMP SERVE
  61.     DOF2_Exit();    //Quando servidor for desligado sistema de Salvamento irar sal...
  62.     return 1;
  63. }
  64.  
  65. //*************************************
  66. public OnPlayerConnect(playerid)    // Public OnPlayerConnect
  67. {
  68.     new string[70];     // Quantidade de String que iremos Utilizar !
  69.     format(string,sizeof(string),"{00FF7F}%s {FFFAFA}Acabou de Entrar no Servidor !",Nome(playerid));   // Messagem para Todos mundo no servidor Avisando que o jogador acabou de entrar
  70.     SendClientMessageToAll(-1,string);// Messagem para todos. ..
  71.     if(!DOF2_FileExists(ReturnFileUser(playerid))) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD,"{FF0000}ScriptSamp - Registro","Se registre para poder jogar, se clicar em sair será {00FFFF}Kikado.", "Registrar","Cancelar");
  72.     else if(DOF2_FileExists(ReturnFileUser(playerid))) return  ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}ScriptSamp - Login", "Para entrar no Serve, Basta digitar sua senha pra {00FFFF}Logar ", "Logar","Cancelar");
  73.     return 1;   // Return ... utilizando Os Dialog's Definido lá em cima para o Registro e para o Login !
  74. }
  75.  
  76. //*************************************
  77. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])    // Public dos Dialogs, Das LIstitem, das Reponde Etc....
  78. {
  79.     if(dialogid == DIALOG_REGISTRO) // DIALOG_Registro sendo Utilizado para dialog do registro
  80.     {
  81.         if(response)    // Reponse ( TRUE ) = SIM
  82.         {
  83.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_PASSWORD,"{FF0000}ScriptSamp - Registro","Digite uma senha para se {00FFFF}Registrar","Registrar","Cancelar"); // Dialog de registro ""..
  84.             if(strlen(inputtext) < 4 || strlen(inputtext) > 15) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_PASSWORD,"{FF0000}ScriptSamp - Registro","A senha deve ter de {00FFFF}4 a 15 caracteres","Registrar","Cancelar"); // Aqui Mostrará a messagem quaso use menor de 3 caracters para senha ... e preciso + 4
  85.             new string[70]; // String COntadas pra o Dialog de Registro = 70 de string
  86.             format(string,sizeof(string),"Conta registrada com {00FFFF}sucesso!"); // Messagem Mandada quando sua conta for registrada
  87.             SendClientMessage(playerid,-1,string);  // Messagem mandada so pra vc, com a cor Negativa = Branco!!
  88.             DOF2_CreateFile(ReturnFileUser(playerid)); // Criar o arquivo quando for registrada sua conta
  89.             DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext); // Salvamento da sua senha na Pasta ""...
  90.             SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0); // Respawn que será quando a conta for Criada
  91.             SpawnPlayer(playerid);  // Spawnar o players para o local que foi criado para spawnar = Spawn Civil :)
  92.             PlayerInfo[playerid][pIdade] = 18;// quando ele for registro, ele ira ganha a Idade 18;
  93.             PlayerInfo[playerid][pAdmin] = 5; //Quando ele entrar ira ganhar level 5 de admin
  94.             PlayerInfo[playerid][pSkin] = 289; // Quando ele for registrado ira ganha a skin level 289 !
  95.             SetTimer("Salvamento",1000,1);// Settimer Criada pra chamar a public de salvamento em 1 em 1 segundos até o servidor fechar
  96.         }
  97.         else if(!response)  // Reponde (FALSE) = Não
  98.         {
  99.             SendClientMessage(playerid,-1,"Você foi kickado por não se registrar.");    // Messagem mandada quando vc cancela no Sistema de registro
  100.             Kick(playerid); // Kikado por cancelar o sistema de registro !
  101.         }
  102.         return 1;
  103.     }
  104.     //***********************************
  105.     if(dialogid == DIALOG_LOGIN)    // Dialog de Login
  106.     {
  107.         if(response)    // Reponde Positivo = TRUE = Sim
  108.         {
  109.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}ScripSamp - Login","Digite sua Senha Para logar no {00FFFF}Servidor","Logar","Cancelar"); // Dialog de Login
  110.             if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0) // Senha Que foi salva no DIALOG_Registro e está sendo lida  para logar caso erra ira ativar o ELSE
  111.             {
  112.                 SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0); // Local quando for logado vai ser Spawnado = Spawn Civil
  113.                 SpawnPlayer(playerid);  // SpawnPlayer(playerid) = O Player que logou que foi o caso será spanando ao local interior que foi salvo = spawn civil
  114.                 CarregarPlayer(playerid);   // Ativando a Stock de Carregar Player ...
  115.                 SendClientMessage(playerid,-1,"• Logado com {FF0000}Sucesso !"); // Messagem quando logar no servidor ...
  116.             }
  117.             else    // Caso erre a senha será ativado os codigos que está em baixo do else !! Else = outro
  118.             {
  119.                 if(SenhaErrada[playerid] == 4) // Casso errei a senha 4 vezes será ativar o conteúdo que está em baixo !
  120.                 {
  121.                     SendClientMessage(playerid,-1,"Você foi banido por errar a senha 5 vezes."); // Messagem mandada pra quando errar 5 vezes a senha
  122.                     Ban(playerid);  // Ban quando errar 5 vezer a senha
  123.                 }
  124.                 else if(SenhaErrada[playerid] < 4)// Esse Else e o ao contrario do di cima Ex: Quando vc errar 1 vez a senha vai returar o dialog de logar
  125.                 {
  126.                     SenhaErrada[playerid] ++;   // Cade vem que vc errar a senha vai aumentar um + = 1 vezes errado
  127.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}ScriptSamp - Login","Senha incorreta, tente novamente. Se errar a senha {00FFFF}5 vezes será banido!","Logar","Sair"); // Dialog de Retorno
  128.                 }
  129.             }
  130.         }
  131.         else if(!response) // !response = Ao Contrato de Reponde ( ! Responde = False = Não )
  132.         {
  133.             SendClientMessage(playerid,-1,"Você foi kickado por não logar");    // Messagem Executado de !Responde quando cancelar quando vai logar
  134.             Kick(playerid); // Kikado ...
  135.         }
  136.         return 1;// Retorno .
  137.     }
  138.     return 1; // Retorno ..
  139. }
  140.  
  141. //************************
  142. forward Salvamento(); // Forward de Salvamento, Definindo a public de salvamento que fo...
  143. public Salvamento() // Public de salmvamento
  144. {
  145.     for(new i = 0; i < MAX_PLAYERS; ++i)    // Loop de Max Players no servidor
  146.     {
  147.         SalvarPlayer(i);    // Chamando a Stock de SalvarPlayer
  148.     }
  149.     return 1;
  150. }
  151.  
  152. //************************
  153. public OnPlayerDisconnect(playerid, reason) // Public quando sai do servidor
  154. {
  155.     SetTimer("Salvamento",1000,1);//Salvamento das Contas em 1 Segundo !!
  156.     return 1;   // Returno
  157. }
  158.  
  159. //************************
  160. forward Spawnar(playerid);
  161. public Spawnar(playerid) // Public cria pra Spawn mais escolhe vc ...
  162. {
  163.     SetTimer("Salvamento",1000,1);//Salvamento das Contas em 1 Segundo !!
  164.     SpawnPlayer(playerid);
  165.     return 1;
  166. }
  167. //***********( Stock's )************
  168. stock ReturnFileUser(playerid)  // Stock Relacionada ao ReturnFileUser
  169. {
  170.     new File[156],Name[MAX_PLAYER_NAME];    // Define de maximo de players para que Name seja definido e file definido maximo de Celulas para File '-'
  171.     GetPlayerName(playerid,Name,sizeof(Name));  // Get PlayerName = Name
  172.     format(File,sizeof(File),FileUsers,Name);   // Format de File para o Name
  173.     return File;    // Return pra FILE
  174. }
  175.  
  176. //********************
  177. stock Nome(playerid)    // Stock Relacionada ao Nome
  178. {
  179.     new Name[MAX_PLAYERS];  // Definido MAX_PLAYERS para o Name = Nome(playerid)
  180.     GetPlayerName(playerid, Name, sizeof(Name));    // ...
  181.     return Name;    // Return para Name
  182. }
  183.  
  184. //*********************
  185. stock SetPlayerMoney(playerid,ammount)  // Stock do Dinheiro -''
  186. {
  187.      ResetPlayerMoney(playerid);    // Resetar Dinheiro
  188.      GivePlayerMoney(playerid,ammount); // Ganha dinheiro
  189.      return 1;
  190. }
  191.  
  192. //*************( Stock's de Salvamentos de Contas )****************
  193. stock SalvarPlayer(playerid)        // Stock de Salvar Player quando e chamado pra salvar
  194. {
  195.     if(DOF2_FileExists(ReturnFileUser(playerid)))   // '0'
  196.     {
  197.         DOF2_SetInt(ReturnFileUser(playerid),"Level",GetPlayerScore(playerid)); // Salvamento de Level
  198.         DOF2_SetInt(ReturnFileUser(playerid),"Dinheiro",GetPlayerMoney(playerid));  // Salvamento de Dinheiro
  199.         DOF2_SetInt(ReturnFileUser(playerid),"Skin",GetPlayerSkin(playerid));   // Salvamento de Skin
  200.         DOF2_SetInt(ReturnFileUser(playerid),"Sexo",PlayerInfo[playerid][pSexo]);  // Salvamento de Sexo
  201.         DOF2_SetInt(ReturnFileUser(playerid),"Idade",PlayerInfo[playerid][pIdade]);    // Salvamento de Idade
  202.         DOF2_SetInt(ReturnFileUser(playerid),"Lider",PlayerInfo[playerid][pLider]);    //Salvamento de Lider
  203.         DOF2_SetInt(ReturnFileUser(playerid),"Membro",PlayerInfo[playerid][pMembro]);  // Salvamento de Membro
  204.         DOF2_SetInt(ReturnFileUser(playerid),"Admin",PlayerInfo[playerid][pAdmin]);    // Salvamento de ADMIN
  205.         DOF2_SaveFile();
  206.     }
  207. }
  208.  
  209. //***************************************
  210. stock CarregarPlayer(playerid)  // Stock Carregar Player chamada quando e Logado
  211. {
  212.     if(DOF2_FileExists(ReturnFileUser(playerid)))   // '-'
  213.     {
  214.         SetPlayerScore(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Level")); // Carregando seu Level
  215.         SetPlayerMoney(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Dinheiro")); // Carregando seu Dinheiro
  216.         SetPlayerSkin(playerid, DOF2_GetInt(ReturnFileUser(playerid),"Skin"));      // Carregando sua Skin
  217.         PlayerInfo[playerid][pSexo] = DOF2_GetInt(ReturnFileUser(playerid),"Sexo");    // Carregando seu SEXO = MAcho ou femea
  218.         PlayerInfo[playerid][pIdade] = DOF2_GetInt(ReturnFileUser(playerid),"Idade"); // Carregando sua IDADE
  219.         PlayerInfo[playerid][pLider] = DOF2_GetInt(ReturnFileUser(playerid),"Lider"); // Carregando seu Lider
  220.         PlayerInfo[playerid][pMembro] = DOF2_GetInt(ReturnFileUser(playerid),"Membro");    // Carregando seu Membro
  221.         PlayerInfo[playerid][pAdmin] = DOF2_GetInt(ReturnFileUser(playerid),"Admin");  // Carregando seu ADMIN
  222.     }
  223. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement