Advertisement
Guest User

Untitled

a guest
Mar 25th, 2009
931
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.26 KB | None | 0 0
  1. ///////////////////////////////////////////////////////////////
  2. // Simple Base Admin System ///////////////////////////////////
  3. ///////////////////////////////////////////////////////////////
  4.  
  5. #include <a_samp>
  6. #include <dudb>
  7.  
  8. #define COLOR_RED 0xFF0000AA
  9. #define COLOR_YELLOW 0xFFFF00AA
  10. #define COLOR_GREEN 0x00FF00AA
  11.  
  12. new logged[MAX_PLAYERS];
  13. new adminlevel[MAX_PLAYERS];
  14. new money[MAX_PLAYERS];
  15. new playername[MAX_PLAYER_NAME];
  16.  
  17. main()
  18. {
  19.     print("===============================");
  20.     print("");
  21.     print("===============================");
  22. }
  23.  
  24. public OnGameModeInit()
  25. {
  26.     SetGameModeText("Blank Script");
  27.     AddPlayerClass(93, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  28.     return 1;
  29. }
  30.  
  31.  
  32. public OnPlayerRequestClass(playerid, classid)
  33. {
  34.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  35.     SetPlayerCameraPos(playerid, 1968.3783, 1345.1572, 17.3746);
  36.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  37.     return 1;
  38. }
  39.  
  40. public OnPlayerConnect(playerid)
  41. {
  42.     logged[playerid] = 0;
  43.     return 1;
  44. }
  45.  
  46. public OnPlayerSpawn(playerid)
  47. {
  48.     if(logged[playerid] == 0)
  49.     {
  50.         SendClientMessage(playerid, COLOR_RED, "You are not logged in! Use /login [password]!");
  51.     }
  52.     return 1;
  53. }
  54.  
  55. public OnPlayerCommandText(playerid, cmdtext[])
  56. {
  57.     new cmd[256],tmp[256], tmp2[256];
  58.     new idx;
  59.     new string[256];
  60.     cmd = strtok(cmdtext, idx);
  61.     GetPlayerName(playerid, playername, sizeof(playername));
  62.     if(strcmp(cmd, "/register", true) == 0)
  63.     {
  64.         tmp = strtok(cmdtext, idx);
  65.         if(!strlen(tmp))
  66.         {
  67.             SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /register (password)");
  68.         }
  69.         else
  70.         {
  71.             if (!dini_Exists(udb_encode(playername)))
  72.             {
  73.                 dini_Create(udb_encode(playername));
  74.                 dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
  75.                 dini_IntSet(udb_encode(playername), "adminlevel", 0);
  76.                 dini_IntSet(udb_encode(playername), "money", 0);
  77.                 format(string, sizeof(string), "Account %s created! You can now login with /login %s", playername, tmp);
  78.                 SendClientMessage(playerid, COLOR_YELLOW, string);
  79.             }
  80.             else
  81.             {
  82.                 format(string, sizeof(string), "%s is already registered.", playername,tmp);
  83.                 SendClientMessage(playerid, COLOR_RED, string);
  84.             }
  85.         }
  86.         return 1;
  87.     }
  88.  
  89.  
  90.     if(strcmp(cmd, "/login", true) == 0)
  91.     {
  92.         if(logged[playerid] == 1)
  93.         {
  94.             SendClientMessage(playerid, COLOR_RED, "You are already logged in!");
  95.             return 1;
  96.         }
  97.         tmp = strtok(cmdtext, idx);
  98.         if(!strlen(tmp))
  99.         {
  100.             SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /login [password]");
  101.         }
  102.         else
  103.         {
  104.             if (dini_Exists(udb_encode(playername)))
  105.             {
  106.                 tmp2 = dini_Get(udb_encode(playername), "password");
  107.                 if (udb_hash(tmp) != strval(tmp2))
  108.                 {
  109.                     SendClientMessage(playerid, COLOR_RED, "Wrong/Invalid Password!");
  110.                 }
  111.                 else
  112.                 {
  113.                     logged[playerid] = 1;
  114.                     money[playerid] = dini_Int(udb_encode(playername), "money");
  115.                     adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
  116.                     format(string, sizeof(string), "%s, you are now logged in . You got admin level %d and have %d dollar", playername, adminlevel[playerid], money[playerid]);
  117.                     SendClientMessage(playerid, COLOR_GREEN, string);
  118.                     GivePlayerMoney(playerid, money[playerid]);
  119.                 }
  120.             }
  121.             else
  122.             {
  123.                 format(string, sizeof(string), "You are not registerid Type /register [password] to create an account!", playername);
  124.                 SendClientMessage(playerid, COLOR_RED, string);
  125.             }
  126.         }
  127.         return 1;
  128.     }
  129.  
  130.     if(strcmp(cmd, "/makemeadmin", true) == 0)
  131.     {
  132.         if(IsPlayerAdmin(playerid))
  133.         {
  134.             if(logged[playerid] == 1)
  135.             {
  136.                 if(adminlevel[playerid] != 3)
  137.                 {
  138.                     adminlevel[playerid] = 5;      
  139.                     SendClientMessage(playerid, COLOR_GREEN, "You are now maxlevel admin!");
  140.                 }
  141.                 else
  142.                 {
  143.                     SendClientMessage(playerid, COLOR_RED, "You are already maxlevel admin!");
  144.                 }
  145.             }
  146.             else
  147.             {
  148.                 SendClientMessage(playerid, COLOR_RED, "Please, first login: /login [password]");
  149.             }
  150.         }
  151.         else
  152.         {
  153.             SendClientMessage(playerid, COLOR_RED, "You must first login with rcon! (/rcon login [rcon-pass])");
  154.         }
  155.         return 1;
  156.     }
  157.     return 0;
  158. }
  159.  
  160. public OnPlayerDisconnect(playerid, reason)
  161. {
  162.     money[playerid] = GetPlayerMoney(playerid);
  163.     dini_IntSet(udb_encode(playername), "money", money[playerid]);
  164.     dini_IntSet(udb_encode(playername), "adminlevel", adminlevel[playerid]);
  165.     logged[playerid] = 0;
  166.     return 1;
  167. }
  168.  
  169.  
  170.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement