Advertisement
Guest User

RAGE:MP LifeDb

a guest
Jun 26th, 2019
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.01 KB | None | 0 0
  1. using GTANetworkAPI;
  2. using LiteDB;
  3.  
  4. namespace RageFX
  5. {
  6.     class PlayerLogin : Script
  7.     {
  8.         [Command("login")]
  9.         private void OnPlayerLoginAttempt(Client player, string username, string password)
  10.         {
  11.  
  12.             // player.SetData("loggedIn", 0) set in Main with [ServerEvent(Event.PlayerConnected)] and it works when I e.g. Chat.Output
  13.  
  14.             if (player.GetData("loggedIn") == 0)
  15.             {
  16.                 using (var db = new LiteDatabase(@"./RageCore.db"))
  17.                 {
  18.                     var PlayerCollection = db.GetCollection<Player>("players");
  19.                     Player _player = new Player();
  20.                     var Query = PlayerCollection.Find(x => x.Username == username && x.Password == password);
  21.  
  22.                     if (Query == null)
  23.                     {
  24.                         GTANetworkAPI.NAPI.Chat.SendChatMessageToPlayer(player, "Logged correctly");
  25.                         player.Name = username;
  26.                         player.SetData("loggedIn", 1);
  27.                     }
  28.                     else
  29.                     {
  30.                         GTANetworkAPI.NAPI.Chat.SendChatMessageToPlayer(player, "Wrong username or password");
  31.                     }
  32.                 }
  33.             }
  34.             else
  35.             {
  36.                 GTANetworkAPI.NAPI.Chat.SendChatMessageToPlayer(player, "You're already logged in");
  37.             }
  38.         }
  39.  
  40.         [Command("register")]
  41.         private void OnPlayerRegisterAttempt(Client player, string username, string password, string confPassword)
  42.         {
  43.  
  44.             // player.SetData("loggedIn", 0) set in Main with [ServerEvent(Event.PlayerConnected)] and it works.
  45.  
  46.             if (player.GetData("loggedIn") == 0)
  47.             {
  48.                 using (var db = new LiteDatabase(@"./RageCore.db"))
  49.                 {
  50.                     var PlayerCollection = db.GetCollection<Player>("players");
  51.                     Player _player = new Player();
  52.  
  53.                     var Query = PlayerCollection.Find(x => x.Serial == player.Serial && x.Username == username);
  54.  
  55.                     if (Query == null)
  56.                     {
  57.                         if (password == confPassword)
  58.                         {
  59.                             _player.Username = username;
  60.                             _player.Password = password;
  61.                             _player.Serial = player.Serial;
  62.  
  63.                             PlayerCollection.Insert(_player);
  64.  
  65.                             GTANetworkAPI.NAPI.Chat.SendChatMessageToPlayer(player, "Registred properly");
  66.                         }
  67.                     }
  68.                     else
  69.                     {
  70.                         GTANetworkAPI.NAPI.Chat.SendChatMessageToPlayer(player, "You can't be registered at this moment.");
  71.                     }
  72.                 }
  73.             }
  74.             else
  75.             {
  76.                 GTANetworkAPI.NAPI.Chat.SendChatMessageToPlayer(player, "You can't register if you're already logged in");
  77.             }
  78.         }
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement