Advertisement
Guest User

Register System

a guest
Mar 19th, 2011
2,197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.77 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3. #include <dutils>
  4. #include <sscanf2>
  5. #include <zcmd>
  6. #include <foreach>
  7.  
  8. #define LIGHTBLUE "{00CED1}"
  9. #define ALB "{ffffff}"
  10. #define RED "{F81414}"
  11. #define GREEN "{00FF22}"
  12. #define COLOR_GREY 0xAFAFAFAA
  13. #define COLOR_GRAD1 0xFFFFFFFF
  14.  
  15. #pragma unused ret_memcpy
  16. #pragma unused strtok
  17.  
  18. forward OnPlayerLogin(playerid,password[]);
  19. forward OnPlayerRegister(playerid, password[]);
  20. forward SetPlayerSpawn(playerid);
  21.  
  22. enum pInfo
  23. {
  24.     Pass,
  25.     Level,
  26.     Money,
  27.     Admin,
  28.     Vip,
  29.     Spawn
  30. };
  31.  
  32. new PlayerInfo[MAX_PLAYERS][pInfo];
  33. new gPlayerLogged[MAX_PLAYERS];
  34. new gPlayerLogTries[MAX_PLAYERS];
  35. new gPlayerAccount[MAX_PLAYERS];
  36. new Typed[MAX_PLAYERS][64];
  37.  
  38. public OnGameModeInit()
  39. {
  40.     SetGameModeText("Blank Gamemode v1.0");
  41.     return 1;
  42. }
  43.  
  44. public OnGameModeExit()
  45. {
  46.     return 1;
  47. }
  48.  
  49.  
  50. public OnPlayerConnect(playerid)
  51. {
  52.     new string[128];
  53.     new plname[MAX_PLAYER_NAME];
  54.     GetPlayerName(playerid, plname, sizeof(plname));
  55.     PlayerInfo[playerid][Level] = 0;
  56.     PlayerInfo[playerid][Money] = 0;
  57.     PlayerInfo[playerid][Vip] = 0;
  58.     PlayerInfo[playerid][Admin] = 0;
  59.     PlayerInfo[playerid][Spawn] = 0;
  60.     format(string, sizeof(string), "/Users/%s.ini", plname);
  61.     if(dini_Exists(string))
  62.     {
  63.         gPlayerAccount[playerid] = 1;
  64.     }
  65.     else
  66.     {
  67.         gPlayerAccount[playerid] = 0;
  68.     }
  69.     return 1;
  70. }
  71.  
  72. public OnPlayerRequestClass(playerid, classid)
  73. {
  74.     ShowPlayerDialog(playerid,1234, DIALOG_STYLE_MSGBOX,""GREEN"Reguli",""ALB"Don't use a bad language!\n"ALB"Don't advertise\n"ALB"Don't give your ID on public chat","Accept","Refuse");
  75.     SetPlayerCameraPos(playerid, 1890.1014,-1194.7969,25.8091);
  76.     SetPlayerCameraLookAt(playerid, 1933.4393,-1196.2479,18.8163);
  77.     return 1;
  78. }
  79.  
  80. public OnPlayerSpawn(playerid)
  81. {
  82.     //SpawnPlayer(playerid);
  83.     if(PlayerInfo[playerid][Spawn] == 1)
  84.     {
  85.         SetPlayerPos(playerid, 1529.6,-1691.2,13.3);
  86.         SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in {00FF22} Los Santos.");
  87.         SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  88.         SetPlayerInterior(playerid,0);
  89.         SetPlayerVirtualWorld(playerid, 0);
  90.     }
  91.     else if(PlayerInfo[playerid][Spawn] == 2)
  92.     {
  93.         SetPlayerPos(playerid, -1417.0,-295.8,14.1);
  94.         SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in {00FF22} San Fierro.");
  95.         SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  96.         SetPlayerInterior(playerid,0);
  97.         SetPlayerVirtualWorld(playerid, 0);
  98.     }
  99.     else if(PlayerInfo[playerid][Spawn] == 3)
  100.     {
  101.         SetPlayerPos(playerid, 1699.2,1435.1, 10.7);
  102.         SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in {00FF22} Las Venturas.");
  103.         SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  104.         SetPlayerInterior(playerid,0);
  105.         SetPlayerVirtualWorld(playerid, 0);
  106.     }
  107.     else if(PlayerInfo[playerid][Spawn] == 4)
  108.     {
  109.         SetPlayerPos(playerid, -2311.7415,-1637.7587,483.2643);
  110.         SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in {00FF22} Chilliad.");
  111.         SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  112.         SetPlayerInterior(playerid,0);
  113.         SetPlayerVirtualWorld(playerid, 0);
  114.     }
  115.     return 1;
  116. }
  117.  
  118. public OnPlayerRegister(playerid, password[])
  119. {
  120.     if(IsPlayerConnected(playerid))
  121.     {
  122.         new file[64];
  123.         new playername3[MAX_PLAYER_NAME];
  124.         GetPlayerName(playerid, playername3, sizeof(playername3));
  125.         format(file, sizeof(file), "/Users/%s.ini", playername3);
  126.  
  127.         if(dini_Exists(file))
  128.         {
  129.             return SendClientMessage(playerid,COLOR_GREY,"This account is already registered.");
  130.         }
  131.         else
  132.         {
  133.             dini_Create(file);
  134.             new password2 = num_hash(password);
  135.             PlayerInfo[playerid][Pass] = password2;
  136.             dini_IntSet(file, "Password",password2);
  137.             dini_IntSet(file, "Level",PlayerInfo[playerid][Level]);
  138.             dini_IntSet(file, "Money",PlayerInfo[playerid][Money]);
  139.             dini_IntSet(file, "Admin",PlayerInfo[playerid][Admin]);
  140.             dini_IntSet(file, "Vip", PlayerInfo[playerid][Vip]);
  141.             dini_IntSet(file, "Spawn", PlayerInfo[playerid][Spawn]);
  142.             ShowPlayerDialog(playerid, 1245, DIALOG_STYLE_INPUT,""ALB"Bun Venit",""ALB"Account succesfully registred!\n"ALB"Type your password here to log-in","Log-in","Quit");
  143.         }
  144.     }
  145.     return 1;
  146. }
  147. public OnPlayerDisconnect(playerid, reason)
  148. {
  149.     new file[128];
  150.     new name[MAX_PLAYER_NAME];
  151.     GetPlayerName(playerid, name, sizeof(name));
  152.     format(file,sizeof(file),"/Users/%s.ini",name);
  153.     if(dini_Exists(file))
  154.     {
  155.         dini_IntSet(file, "Password",PlayerInfo[playerid][Pass]);
  156.         dini_IntSet(file, "Level",PlayerInfo[playerid][Level]);
  157.         dini_IntSet(file, "Money",PlayerInfo[playerid][Money]);
  158.         dini_IntSet(file, "Admin",PlayerInfo[playerid][Admin]);
  159.         dini_IntSet(file, "Vip",PlayerInfo[playerid][Vip]);
  160.         dini_IntSet(file, "Spawn",PlayerInfo[playerid][Spawn]);
  161.     }
  162.     gPlayerLogged[playerid] = 0;
  163.     return 1;
  164. }
  165.  
  166.  
  167. public OnPlayerLogin(playerid,password[])
  168. {
  169.     new file[64];
  170.     new playername3[MAX_PLAYER_NAME];
  171.     GetPlayerName(playerid, playername3, sizeof(playername3));
  172.  
  173.     format(file, sizeof(file), "/Users/%s.ini", playername3);
  174.  
  175.     if (dini_Exists(file))
  176.     {
  177.         new password2 = num_hash(password);
  178.         if(dini_Int(file,"Password") == password2)
  179.         {
  180.             PlayerInfo[playerid][Pass] = dini_Int(file,"Password");
  181.             PlayerInfo[playerid][Level] = dini_Int(file,"Level");
  182.             PlayerInfo[playerid][Money] = dini_Int(file,"Money");
  183.             PlayerInfo[playerid][Admin] = dini_Int(file,"Admin");
  184.             PlayerInfo[playerid][Vip] = dini_Int(file,"Vip");
  185.             PlayerInfo[playerid][Spawn] = dini_Int(file,"Spawn");
  186.         }
  187.         else
  188.         {
  189.             gPlayerLogTries[playerid] += 1;
  190.             ShowPlayerDialog(playerid, 1245, DIALOG_STYLE_INPUT,""ALB"Once againg!",""ALB"You have typed a wrong password\n"ALB"Type your password here to log-in!","Log-in","Quit");
  191.             if(gPlayerLogTries[playerid] == 3) { Kick(playerid); }
  192.             return 1;
  193.         }
  194.     }
  195.     GivePlayerMoney(playerid,PlayerInfo[playerid][Money]);
  196.     SpawnPlayer(playerid);
  197.     return 1;
  198. }
  199.  
  200. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  201. {
  202.     if(dialogid == 1234)
  203.     {
  204.         if(response)
  205.         {
  206.             new playername[MAX_PLAYER_NAME];
  207.             GetPlayerName(playerid, playername, sizeof(playername));
  208.             new string[64];
  209.             format(string, sizeof(string), "/Users/%s.ini", playername);
  210.             if (dini_Exists(string))
  211.             {
  212.                 ShowPlayerDialog(playerid, 1245, DIALOG_STYLE_INPUT,""ALB"Welcome.Please log-in.",""ALB"Type your password here to log-in","Log-in","Quit");
  213.             }
  214.             else
  215.             {
  216.                 ShowPlayerDialog(playerid, 1246, DIALOG_STYLE_INPUT,""ALB"Please register!",""ALB"Type your password here to register.","Register","Quit");
  217.             }
  218.         }
  219.         else
  220.         {
  221.             SendClientMessage(playerid, COLOR_GREY,"*You refused. You must accept the rules to play.");
  222.             Kick(playerid);
  223.         }
  224.     }
  225.     if(dialogid == 1245)
  226.     {
  227.         if(response)
  228.         {
  229.             strmid(Typed[playerid], inputtext, 0, strlen(inputtext), 255);
  230.             if(!strcmp(Typed[playerid], "None", true))
  231.             {
  232.                 ShowPlayerDialog(playerid, 1245, DIALOG_STYLE_INPUT,""ALB"Once again.",""ALB"You didn't type a correct password!\n"ALB"Type you password here to register.","Log-in","Quit");
  233.             }
  234.             else
  235.             {
  236.                 OnPlayerLogin(playerid, inputtext);
  237.             }
  238.         }
  239.         else
  240.         {
  241.             Kick(playerid);
  242.         }
  243.     }
  244.     if(dialogid == 1246)
  245.     {
  246.         if(response == 1)
  247.         {
  248.             new sendername[MAX_PLAYER_NAME];
  249.             GetPlayerName(playerid, sendername, sizeof(sendername));
  250.             new string[512];
  251.             format(string, sizeof(string),""ALB"Nume: "LIGHTBLUE"%s\n"ALB"Pass: "LIGHTBLUE"%s,\n"ALB"Money: "LIGHTBLUE"10000\n"ALB"Score: "LIGHTBLUE"500",sendername,inputtext);
  252.             ShowPlayerDialog(playerid, 1242, DIALOG_STYLE_MSGBOX, ""LIGHTBLUE"Account succesfully registred",string,"Ok","");
  253.             GivePlayerMoney(playerid, 10000);
  254.             SetPlayerScore(playerid, 500);
  255.             OnPlayerRegister(playerid, inputtext);
  256.         }
  257.         else
  258.         {
  259.             Kick(playerid);
  260.         }
  261.     }
  262.     if(dialogid == 1996)
  263.     {
  264.         if(listitem == 0)
  265.         {
  266.             PlayerInfo[playerid][Spawn] = 1;
  267.             SetPlayerPos(playerid, 1529.6,-1691.2,13.3);
  268.             SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in {00FF22} Los Santos.");
  269.             SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  270.             SetPlayerInterior(playerid,0);
  271.             SetPlayerVirtualWorld(playerid, 0);
  272.         }
  273.         if(listitem == 1)
  274.         {
  275.             PlayerInfo[playerid][Spawn] = 2;
  276.             SetPlayerPos(playerid, -1417.0,-295.8,14.1);
  277.             SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in  {00FF22} San Fierro.");
  278.             SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  279.             SetPlayerInterior(playerid,0);
  280.             SetPlayerVirtualWorld(playerid, 0);
  281.         }
  282.         if(listitem == 2)
  283.         {
  284.             PlayerInfo[playerid][Spawn] = 3;
  285.             SetPlayerPos(playerid, 1699.2,1435.1, 10.7);
  286.             SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in  {00FF22} Las Venturas.");
  287.             SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  288.             SetPlayerInterior(playerid,0);
  289.             SetPlayerVirtualWorld(playerid, 0);
  290.         }
  291.         if(listitem == 3)
  292.         {
  293.             PlayerInfo[playerid][Spawn] = 4;
  294.             SetPlayerPos(playerid, -2311.7415,-1637.7587,483.2643);
  295.             SendClientMessage(playerid, COLOR_GRAD1, "You have been spawned in  {00FF22} Chilliad.");
  296.             SendClientMessage(playerid, COLOR_GRAD1, "To change your spawn type "LIGHTBLUE"/spawn");
  297.             SetPlayerInterior(playerid,0);
  298.             SetPlayerVirtualWorld(playerid, 0);
  299.         }
  300.     }
  301.     return 1;
  302. }
  303. CMD:spawn(playerid, params[])
  304. {
  305.     if(IsPlayerConnected(playerid))
  306.     {
  307.         ShowPlayerDialog(playerid, 1996,DIALOG_STYLE_LIST,""LIGHTBLUE"Spawn Help","{ffffff}Los Santos\n{ffffff}San Fierro\n{ffffff}Las Venturas\n{ffffff}Chilliad","Ok","Cancel");
  308.     }
  309.     return 1;
  310. }
  311. CMD:setvip(playerid, params[])
  312. {
  313.     if(IsPlayerConnected(playerid))
  314.     {
  315.         if(IsPlayerAdmin(playerid))
  316.         {
  317.             new sendername[MAX_PLAYER_NAME];
  318.             new giveplayername[MAX_PLAYER_NAME];
  319.             new giveplayerid,level;
  320.             GetPlayerName(playerid, sendername, sizeof(sendername));
  321.             GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  322.             if (!sscanf(params, "ii", giveplayerid,level))
  323.             {
  324.                 if (giveplayerid != INVALID_PLAYER_ID)
  325.                 {
  326.                     new string[128];
  327.                     format(string, sizeof(string), "The admin %s has made you a level %d VIP",sendername,level);
  328.                     SendClientMessage(giveplayerid, COLOR_GRAD1, string);
  329.                     format(string, sizeof(string), "You have made %s a level %d VIP",giveplayername,level);
  330.                     SendClientMessage(playerid, COLOR_GRAD1, string);
  331.                     PlayerInfo[giveplayerid][Vip] = level;
  332.                 }
  333.             }
  334.             else SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /setvip [playerid] [level]");
  335.         }
  336.         else SendClientMessage(playerid, 0xFF0000FF, "Only admins can use this command!!");
  337.     }
  338.     return 1;
  339. }
  340. CMD:setadmin(playerid, params[])
  341. {
  342.     if(IsPlayerConnected(playerid))
  343.     {
  344.         if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][Admin] >= 9)
  345.         {
  346.             new sendername[MAX_PLAYER_NAME];
  347.             new giveplayername[MAX_PLAYER_NAME];
  348.             new giveplayerid,level;
  349.             GetPlayerName(playerid, sendername, sizeof(sendername));
  350.             GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  351.             if (!sscanf(params, "ii", giveplayerid,level))
  352.             {
  353.                 if (giveplayerid != INVALID_PLAYER_ID)
  354.                 {
  355.                     new string[128];
  356.                     format(string, sizeof(string), "The admin %s has made you a level %d admin",sendername,level);
  357.                     SendClientMessage(giveplayerid, COLOR_GRAD1, string);
  358.                     format(string, sizeof(string), "You have made %s a level %d admin",giveplayername,level);
  359.                     SendClientMessage(playerid, COLOR_GRAD1, string);
  360.                     PlayerInfo[giveplayerid][Admin] = level;
  361.                 }
  362.             }
  363.             else SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /setadmin [playerid] [level]");
  364.         }
  365.         else SendClientMessage(playerid, 0xFF0000FF, "Only admins can use this command!!");
  366.     }
  367.     return 1;
  368. }
  369. CMD:agivemoney(playerid, params[])
  370. {
  371.     if(IsPlayerConnected(playerid))
  372.     {
  373.         if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][Admin] >= 9)
  374.         {
  375.             new sendername[MAX_PLAYER_NAME];
  376.             new giveplayername[MAX_PLAYER_NAME];
  377.             new giveplayerid,money;
  378.             GetPlayerName(playerid, sendername, sizeof(sendername));
  379.             GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  380.             if (!sscanf(params, "ui", giveplayerid,money))
  381.             {
  382.                 if (giveplayerid != INVALID_PLAYER_ID)
  383.                 {
  384.                     new string[128];
  385.                     format(string, sizeof(string), "Admin %s gave you %d $$$",sendername,money);
  386.                     SendClientMessage(giveplayerid, COLOR_GRAD1, string);
  387.                     format(string, sizeof(string), "You gave %d to %s",money,giveplayername);
  388.                     SendClientMessage(playerid, COLOR_GRAD1, string);
  389.                     PlayerInfo[giveplayerid][Money] = money;
  390.                     GivePlayerMoney(giveplayerid, money);
  391.                 }
  392.             }
  393.             else SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /setadmin [playerid] [level]");
  394.         }
  395.         else SendClientMessage(playerid, 0xFF0000FF, "Only admins can use this command!!");
  396.     }
  397.     return 1;
  398. }
  399. CMD:createcar(playerid, params[])
  400. {
  401.     if(PlayerInfo[playerid][Admin] >= 8)
  402.     {
  403.         new veh,color1,color2;
  404.         if (!sscanf(params, "iii", veh, color1,color2))
  405.         {
  406.           new Float:x, Float:y, Float:z;
  407.           GetPlayerPos(playerid, x,y,z);
  408.           AddStaticVehicle(veh, x,y,z,0,color1, color2);
  409.         }
  410.         else SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /veh <carid> <c1> <c2>");
  411.     }
  412.     else SendClientMessage(playerid, 0xFFFFFFFF, "You are not an admin!");
  413.     return 1;
  414. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement