Advertisement
Guest User

Untitled

a guest
Apr 4th, 2010
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.55 KB | None | 0 0
  1. // Register / Login Filterscript //
  2.  
  3. #include <a_samp>
  4. #include <dudb>
  5. #include <dutils>
  6. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  7.  
  8. #pragma unused strtok
  9. //Colors//
  10. #define COLOR_SYSTEM 0xEFEFF7AA
  11. #define green 0x33FF33AA
  12. #define blue 0x00FFFFAA
  13.  
  14. new PLAYERLIST_authed[MAX_PLAYERS];
  15.  
  16. #if defined FILTERSCRIPT
  17.  
  18. public OnFilterScriptInit()
  19. {
  20.     print("\n--------------------------------------");
  21.     print("Register / Login System");
  22.     print("--------------------------------------\n");
  23.     return 1;
  24. }
  25.  
  26. public OnFilterScriptExit()
  27. {
  28.     return 1;
  29. }
  30.  
  31. #else
  32.  
  33. main()
  34. {
  35.     print("\n----------------------------------");
  36.     print("Register / Login System");
  37.     print("----------------------------------\n");
  38. }
  39.  
  40. #endif
  41.  
  42. public OnPlayerRequestSpawn(playerid)
  43. {
  44. if (udb_Exists(PlayerName(playerid))){
  45. if (!PLAYERLIST_authed[playerid]){
  46. SendClientMessage(playerid,green,"You have already registered, use /login to log into your account.");
  47. return 0;
  48. }
  49. }
  50. return 1;
  51. }
  52.  
  53. public OnPlayerDisconnect(playerid) {
  54.   if (PLAYERLIST_authed[playerid]) {
  55.      // If someone has logged in, it saves money and score.
  56.     dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid));
  57.     dUserSetINT(PlayerName(playerid)).("score",GetPlayerScore(playerid));
  58.     dUserSetINT(PlayerName(playerid)).("weapon",GetPlayerWeapon(playerid));
  59.   }
  60.   PLAYERLIST_authed[playerid]=false;
  61.   return 1;
  62. }
  63.  
  64. public OnPlayerConnect(playerid)
  65. {
  66.  
  67.     if (PLAYERLIST_authed[playerid]==0){
  68. if (udb_Exists(PlayerName(playerid))){
  69. SystemMsg(playerid,"You have already registered, please /login [password] to login.");
  70. }
  71. else{ SystemMsg(playerid,"You do not have an account, use /register [password] to register then /login [password] to login.");
  72. }
  73.  
  74. return 0;
  75. }
  76.     return 1;
  77. }
  78.  
  79. public OnPlayerCommandText(playerid, cmdtext[])
  80. {
  81.   dcmd(login,5,cmdtext);
  82.   dcmd(register,8,cmdtext);
  83.   return 0;
  84. }
  85.  
  86. stock SystemMsg(playerid,msg[]) {
  87.    if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) {
  88.        SendClientMessage(playerid,COLOR_SYSTEM,msg);
  89.    }
  90.    return 1;
  91. }
  92.  
  93. stock PlayerName(playerid) {
  94.   new name[255];
  95.   GetPlayerName(playerid, name, 255);
  96.   return name;
  97. }
  98.  
  99.   dcmd_register(playerid,params[]) {
  100.  
  101.     if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"You have already had an account.");
  102.     if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"You have already created an account, /login [password] to login.");
  103.     if (strlen(params)==0) return SystemMsg(playerid,"USAGE: /register [password]");
  104.     if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"You have successfully created your account, now use /login [password] to login.");
  105.     return true;
  106.  
  107.  }
  108.  
  109.   dcmd_login(playerid,params[]) {
  110.  
  111.     if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"You have already logined.");
  112.     if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"You do not have an account, please /register [password]");
  113.     if (strlen(params)==0) return SystemMsg(playerid,"USAGE: /login [password]");
  114.     if (udb_CheckLogin(PlayerName(playerid),params)) {
  115.        SetPlayerScore(playerid,dUserINT(PlayerName(playerid)).("score"));
  116.        SetPlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money"));
  117.        PLAYERLIST_authed[playerid]=true;
  118.        return SystemMsg(playerid,"You have successfully logined.");
  119.     }
  120.     return SystemMsg(playerid,"Wrong password or nickname!");
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement