Guest User

Jonathan Walker - Login/Register System

a guest
Jun 4th, 2014
3,360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 20.24 KB | None | 0 0
  1. // Roleplay
  2.  
  3. #include <a_samp>
  4. #include <sii>
  5. #include <zcmd>
  6. #include <sscanf2>
  7. #include <streamer>
  8. #include <foreach>
  9.  
  10.  
  11. //============================[DIALOGS]===============================
  12. #define         DIALOG_REGISTER         1
  13. #define         DIALOG_AGE              2
  14. #define         DIALOG_GENDER           3
  15. #define         DIALOG_LOGIN            4
  16. //============================[COLORS]===============================
  17. #define COLOR_GREY 0xAFAFAFAA // Off Samp Forums
  18. #define COLOR_GREEN 0x33AA33AA
  19. #define COLOR_RED 0xAA3333AA
  20. #define COLOR_YELLOW 0xFFFF00AA
  21. #define COLOR_WHITE 0xFFFFFFAA
  22. #define COLOR_BLUE 0x0000BBAA
  23. #define COLOR_LIGHTBLUE 0x33CCFFAA
  24. #define COLOR_ORANGE 0xFF9900AA
  25. #define COLOR_RED 0xAA3333AA
  26. #define COLOR_LIME 0x10F441AA
  27. #define COLOR_MAGENTA 0xFF00FFFF
  28. #define COLOR_NAVY 0x000080AA
  29. #define COLOR_AQUA 0xF0F8FFAA
  30. #define COLOR_CRIMSON 0xDC143CAA
  31. #define COLOR_FLBLUE 0x6495EDAA
  32. #define COLOR_BISQUE 0xFFE4C4AA
  33. #define COLOR_BLACK 0x000000AA
  34. #define COLOR_CHARTREUSE 0x7FFF00AA
  35. #define COLOR_BROWN 0XA52A2AAA
  36. #define COLOR_CORAL 0xFF7F50AA
  37. #define COLOR_GOLD 0xB8860BAA
  38. #define COLOR_GREENYELLOW 0xADFF2FAA
  39. #define COLOR_INDIGO 0x4B00B0AA
  40. #define COLOR_IVORY 0xFFFF82AA
  41. #define COLOR_LAWNGREEN 0x7CFC00AA
  42. #define COLOR_SEAGREEN 0x20B2AAAA
  43. #define COLOR_LIMEGREEN 0x32CD32AA
  44. #define COLOR_MIDNIGHTBLUE 0X191970AA
  45. #define COLOR_MAROON 0x800000AA
  46. #define COLOR_OLIVE 0x808000AA
  47. #define COLOR_ORANGERED 0xFF4500AA
  48. #define COLOR_PINK 0xFFC0CBAA
  49. #define COLOR_SPRINGGREEN 0x00FF7FAA
  50. #define COLOR_TOMATO 0xFF6347AA
  51. #define COLOR_YELLOWGREEN 0x9ACD32AA
  52. #define COLOR_MEDIUMAQUA 0x83BFBFAA
  53. #define COLOR_MEDIUMMAGENTA 0x8B008BAA
  54. #define COLOR_GREY 0xAFAFAFAA
  55. //===================================================================
  56. // Player Info
  57. enum pInfo
  58. {
  59.      Password[128],
  60.      Gender[128],
  61.      Age,
  62.      Money,
  63.      Administrator, // Is Administrator or not.
  64.      AdminLevel, // Admin Level
  65.      Skin,
  66.      Float:Health,
  67.      Float:Armour,
  68.      Float:pX,
  69.      Float:pY,
  70.      Float:pZ,
  71.      Float:pA,
  72. }
  73. new PlayerInfo[MAX_PLAYERS][pInfo];
  74.  
  75. // -------- By Definition,New Things ------
  76. new RegisterStep[MAX_PLAYERS];
  77. // ------- TEXTDRAWS --------
  78. // Login Register
  79. new Text:Server0;
  80. new Text:FS;
  81. new Text:Server1;
  82. new Text:Server2;
  83. new Text:Server3;
  84. new Text:Option1;
  85. new Text:Option2;
  86. new Text:Option3;
  87. new Text:LoginOption;
  88. new Text:Website;
  89. // -----
  90. public OnGameModeInit()
  91. {
  92.     SetGameModeText("Roleplay (v0.1)");
  93.     DisableInteriorEnterExits();
  94.     ShowPlayerMarkers(0);
  95.     CreateTextdraws();
  96.     return 1;
  97. }
  98.  
  99. main()
  100. {
  101. }
  102.  
  103. public OnGameModeExit()
  104. {
  105.     return 1;
  106. }
  107.  
  108. public OnPlayerRequestClass(playerid, classid)
  109. {
  110.     return 1;
  111. }
  112.  
  113. stock CreateTextdraws()
  114. {
  115.     // Login Register
  116.     Server0 = TextDrawCreate(641.500000, 1.500000, "usebox");
  117.     TextDrawLetterSize(Server0, 0.000000, 49.412498);
  118.     TextDrawTextSize(Server0, -2.000000, 0.000000);
  119.     TextDrawAlignment(Server0, 1);
  120.     TextDrawColor(Server0, 0);
  121.     TextDrawUseBox(Server0, true);
  122.     TextDrawBoxColor(Server0, 102);
  123.     TextDrawSetShadow(Server0, 0);
  124.     TextDrawSetOutline(Server0, 0);
  125.     TextDrawFont(Server0, 0);
  126.  
  127.     FS = TextDrawCreate(233.500000, 15.312500, "Login - Register");
  128.     TextDrawLetterSize(FS, 0.597999, 2.912500);
  129.     TextDrawAlignment(FS, 1);
  130.     TextDrawColor(FS, -1);
  131.     TextDrawSetShadow(FS, 0);
  132.     TextDrawSetOutline(FS, 1);
  133.     TextDrawBackgroundColor(FS, 51);
  134.     TextDrawFont(FS, 2);
  135.     TextDrawSetProportional(FS, 1);
  136.  
  137.     Server1 = TextDrawCreate(275.000000, 41.125000, "Jonathan Walker");
  138.     TextDrawLetterSize(Server1, 0.714000, 2.693749);
  139.     TextDrawAlignment(Server1, 1);
  140.     TextDrawColor(Server1, -1);
  141.     TextDrawUseBox(Server1, true);
  142.     TextDrawBoxColor(Server1, 0);
  143.     TextDrawSetShadow(Server1, 0);
  144.     TextDrawSetOutline(Server1, 1);
  145.     TextDrawBackgroundColor(Server1, 51);
  146.     TextDrawFont(Server1, 0);
  147.     TextDrawSetProportional(Server1, 1);
  148.  
  149.     Server2 = TextDrawCreate(46.500000, 124.687500, "REGISTERATION");
  150.     TextDrawLetterSize(Server2, 0.615500, 2.212500);
  151.     TextDrawAlignment(Server2, 1);
  152.     TextDrawColor(Server2, -1);
  153.     TextDrawUseBox(Server2, true);
  154.     TextDrawBoxColor(Server2, 0);
  155.     TextDrawSetShadow(Server2, 0);
  156.     TextDrawSetOutline(Server2, 1);
  157.     TextDrawBackgroundColor(Server2, 51);
  158.     TextDrawFont(Server2, 1);
  159.     TextDrawSetProportional(Server2, 1);
  160.     TextDrawSetSelectable(Server2, true);
  161.  
  162.     Server3 = TextDrawCreate(436.500000, 122.062500, "LOGIN");
  163.     TextDrawLetterSize(Server3, 0.618499, 2.339376);
  164.     TextDrawAlignment(Server3, 1);
  165.     TextDrawColor(Server3, -1);
  166.     TextDrawSetShadow(Server3, 0);
  167.     TextDrawSetOutline(Server3, 1);
  168.     TextDrawBackgroundColor(Server3, 51);
  169.     TextDrawFont(Server3, 1);
  170.     TextDrawSetProportional(Server3, 1);
  171.     TextDrawSetSelectable(Server3, true);
  172.  
  173.     Option1 = TextDrawCreate(7.500000, 180.250000, "~>~ Account Password");
  174.     TextDrawLetterSize(Option1, 0.449999, 1.600000);
  175.     TextDrawAlignment(Option1, 1);
  176.     TextDrawColor(Option1, -1);
  177.     TextDrawSetShadow(Option1, 0);
  178.     TextDrawSetOutline(Option1, 1);
  179.     TextDrawBackgroundColor(Option1, 51);
  180.     TextDrawFont(Option1, 1);
  181.     TextDrawSetProportional(Option1, 1);
  182.     TextDrawSetSelectable(Option1, true);
  183.  
  184.     Option2 = TextDrawCreate(76.000000, 229.687500, "~>~ Character Gender");
  185.     TextDrawLetterSize(Option2, 0.449999, 1.600000);
  186.     TextDrawAlignment(Option2, 1);
  187.     TextDrawColor(Option2, -1);
  188.     TextDrawSetShadow(Option2, 0);
  189.     TextDrawSetOutline(Option2, 1);
  190.     TextDrawBackgroundColor(Option2, 51);
  191.     TextDrawFont(Option2, 1);
  192.     TextDrawSetProportional(Option2, 1);
  193.     TextDrawSetSelectable(Option2, true);
  194.  
  195.     Option3 = TextDrawCreate(129.500000, 276.937500, "~>~ Character Age");
  196.     TextDrawLetterSize(Option3, 0.449999, 1.600000);
  197.     TextDrawAlignment(Option3, 1);
  198.     TextDrawColor(Option3, -1);
  199.     TextDrawSetShadow(Option3, 0);
  200.     TextDrawSetOutline(Option3, 1);
  201.     TextDrawBackgroundColor(Option3, 51);
  202.     TextDrawFont(Option3, 1);
  203.     TextDrawSetProportional(Option3, 1);
  204.     TextDrawSetSelectable(Option3, true);
  205.  
  206.     LoginOption = TextDrawCreate(394.500000, 180.250000, "~>~ Character Login");
  207.     TextDrawLetterSize(LoginOption, 0.449999, 1.600000);
  208.     TextDrawAlignment(LoginOption, 1);
  209.     TextDrawColor(LoginOption, -1);
  210.     TextDrawSetShadow(LoginOption, 0);
  211.     TextDrawSetOutline(LoginOption, 1);
  212.     TextDrawBackgroundColor(LoginOption, 51);
  213.     TextDrawFont(LoginOption, 1);
  214.     TextDrawSetProportional(LoginOption, 1);
  215.     TextDrawSetSelectable(LoginOption, true);
  216.  
  217.  
  218.     Website = TextDrawCreate(207.500000, 389.375000, "www.~p~Jonathan-Walker~w~.com");
  219.     TextDrawLetterSize(Website, 0.449999, 1.600000);
  220.     TextDrawAlignment(Website, 1);
  221.     TextDrawColor(Website, -1);
  222.     TextDrawSetShadow(Website, 0);
  223.     TextDrawSetOutline(Website, 1);
  224.     TextDrawBackgroundColor(Website, 51);
  225.     TextDrawFont(Website, 1);
  226.     TextDrawSetProportional(Website, 1);
  227.     // Login Register END
  228.     return 1;
  229. }
  230. stock ShowLoginRegister(playerid)
  231. {
  232.     TextDrawShowForPlayer(playerid, Server0);
  233.     TextDrawShowForPlayer(playerid, FS);
  234.     TextDrawShowForPlayer(playerid, Server1);
  235.     TextDrawShowForPlayer(playerid, Server2);
  236.     TextDrawShowForPlayer(playerid, Server3);
  237.     TextDrawShowForPlayer(playerid, Website);
  238.     return 1;
  239. }
  240. stock HideLoginRegister(playerid)
  241. {
  242.     TextDrawHideForPlayer(playerid, Server0);
  243.     TextDrawHideForPlayer(playerid, FS);
  244.     TextDrawHideForPlayer(playerid, Server1);
  245.     TextDrawHideForPlayer(playerid, Server2);
  246.     TextDrawHideForPlayer(playerid, Server3);
  247.     TextDrawHideForPlayer(playerid, Option1);
  248.     TextDrawHideForPlayer(playerid, Option2);
  249.     TextDrawHideForPlayer(playerid, Option3);
  250.     TextDrawHideForPlayer(playerid, LoginOption);
  251.     return 1;
  252. }
  253. public OnPlayerConnect(playerid)
  254. {
  255.     ShowLoginRegister(playerid);
  256.     if(fexist(GetUser(playerid)))
  257.     {
  258.         LoadCharacter(playerid);
  259.     }
  260.     SelectTextDraw(playerid, 0x0080FFC8);
  261.     // Setting the Registeration process to Null.
  262.     RegisterStep[playerid] = 0;
  263.     return 1;
  264. }
  265. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  266. {
  267.     // Register
  268.     if(clickedid == Server2)
  269.     {
  270.         if(fexist(GetUser(playerid)))
  271.         {
  272.             SendClientMessage(playerid, COLOR_GREEN, "(INFO): {FFFFFF}You are already Registered.");
  273.         }
  274.         else
  275.         {
  276.             TextDrawShowForPlayer(playerid, Option1);
  277.             TextDrawHideForPlayer(playerid, Server2);
  278.             RegisterStep[playerid] = 1;
  279.         }
  280.     }
  281.     // Login
  282.     if(clickedid == Server3)
  283.     {
  284.         if(fexist(GetUser(playerid)))
  285.         {
  286.             TextDrawShowForPlayer(playerid, LoginOption);
  287.         }
  288.     }
  289.     if(clickedid == LoginOption)
  290.     {
  291.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Login","Welcome to 'Login . Register'.Your account is Registered.Please enter your password \nbelow to Login.","Proceed","Quit");
  292.     }
  293.     // Character Password
  294.     if(clickedid == Option1)
  295.     {
  296.         if(RegisterStep[playerid] == 1)
  297.         {
  298.             ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Roleplay - Register","Welcome to 'Login . Register'.Your account is not Found.Please Register yourself \nby entering your password below.","Proceed","Quit");
  299.         }
  300.     }
  301.     // Character Gender
  302.     if(clickedid == Option2)
  303.     {
  304.         if(RegisterStep[playerid] == 2)
  305.         {
  306.             ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_LIST, "Roleplay - Gender","Male\nFemale","Proceed","Quit");
  307.         }
  308.     }
  309.     // Character Age
  310.     if(clickedid == Option3)
  311.     {
  312.         if(RegisterStep[playerid] == 3)
  313.         {
  314.             ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Roleplay - Age", "Please enter your Character's Age in the Box below.", "Proceed", "Quit");
  315.             CancelSelectTextDraw(playerid);
  316.         }
  317.     }
  318.     return 1;
  319. }
  320. public OnPlayerDisconnect(playerid, reason)
  321. {
  322.     SaveCharacter(playerid);
  323.     return 1;
  324. }
  325.  
  326. public OnPlayerSpawn(playerid)
  327. {
  328.     SetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
  329.     SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  330.     SetPlayerHealth(playerid, PlayerInfo[playerid][Health]);
  331.     SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
  332.     GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
  333.     return 1;
  334. }
  335. public OnPlayerDeath(playerid, killerid, reason)
  336. {
  337.     return 1;
  338. }
  339.  
  340. public OnVehicleSpawn(vehicleid)
  341. {
  342.     return 1;
  343. }
  344.  
  345. public OnVehicleDeath(vehicleid, killerid)
  346. {
  347.     return 1;
  348. }
  349.  
  350. public OnPlayerText(playerid, text[])
  351. {
  352.     return 1;
  353. }
  354.  
  355. public OnPlayerCommandText(playerid, cmdtext[])
  356. {
  357.     return 1;
  358. }
  359. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  360. {
  361.     return 1;
  362. }
  363.  
  364. public OnPlayerExitVehicle(playerid, vehicleid)
  365. {
  366.     return 1;
  367. }
  368.  
  369. public OnPlayerStateChange(playerid, newstate, oldstate)
  370. {
  371.     return 1;
  372. }
  373.  
  374. public OnPlayerEnterCheckpoint(playerid)
  375. {
  376.     return 1;
  377. }
  378.  
  379. public OnPlayerLeaveCheckpoint(playerid)
  380. {
  381.     return 1;
  382. }
  383.  
  384. public OnPlayerEnterRaceCheckpoint(playerid)
  385. {
  386.     return 1;
  387. }
  388.  
  389. public OnPlayerLeaveRaceCheckpoint(playerid)
  390. {
  391.     return 1;
  392. }
  393.  
  394. public OnRconCommand(cmd[])
  395. {
  396.     return 1;
  397. }
  398.  
  399. public OnPlayerRequestSpawn(playerid)
  400. {
  401.     return 1;
  402. }
  403.  
  404. public OnObjectMoved(objectid)
  405. {
  406.     return 1;
  407. }
  408.  
  409. public OnPlayerObjectMoved(playerid, objectid)
  410. {
  411.     return 1;
  412. }
  413.  
  414. public OnPlayerPickUpPickup(playerid, pickupid)
  415. {
  416.     return 1;
  417. }
  418.  
  419. public OnVehicleMod(playerid, vehicleid, componentid)
  420. {
  421.     return 1;
  422. }
  423.  
  424. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  425. {
  426.     return 1;
  427. }
  428.  
  429. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  430. {
  431.     return 1;
  432. }
  433.  
  434. public OnPlayerSelectedMenuRow(playerid, row)
  435. {
  436.     return 1;
  437. }
  438.  
  439. public OnPlayerExitedMenu(playerid)
  440. {
  441.     return 1;
  442. }
  443.  
  444. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  445. {
  446.     return 1;
  447. }
  448.  
  449. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  450. {
  451.     return 1;
  452. }
  453.  
  454. public OnRconLoginAttempt(ip[], password[], success)
  455. {
  456.     return 1;
  457. }
  458.  
  459. public OnPlayerUpdate(playerid)
  460. {
  461.     return 1;
  462. }
  463.  
  464. public OnPlayerStreamIn(playerid, forplayerid)
  465. {
  466.     return 1;
  467. }
  468.  
  469. public OnPlayerStreamOut(playerid, forplayerid)
  470. {
  471.     return 1;
  472. }
  473.  
  474. public OnVehicleStreamIn(vehicleid, forplayerid)
  475. {
  476.     return 1;
  477. }
  478.  
  479. public OnVehicleStreamOut(vehicleid, forplayerid)
  480. {
  481.     return 1;
  482. }
  483. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  484. {
  485.     if(dialogid == DIALOG_REGISTER)
  486.     {
  487.         if(!response)
  488.         {
  489.             SendClientMessage(playerid, COLOR_WHITE, "(INFO): Please Register yourself by Entering your password below.");
  490.             return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Roleplay - Register","Welcome to 'Login . Register'.Your account is not Found.Please Register yourself \nby entering your password below.","Proceed","Quit");
  491.         }
  492.         else if(response)
  493.         {
  494.             if(!strlen(inputtext))
  495.             {
  496.                 SendClientMessage(playerid, COLOR_WHITE, "(INFO): You haven't entered anything in the box.");
  497.                 ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Roleplay - Register","Welcome to 'Login . Register'.Your account is not Found.Please Register yourself \nby entering your password below.","Proceed","Quit");
  498.             }
  499.             else if(INI_Open(GetUser(playerid)))
  500.             {
  501.                 new string[128];
  502.                 // -------------- SETTING PLAYER INFORMATION ---------------------
  503.                 INI_WriteInt("Administrator", 0);
  504.                 INI_WriteInt("AdminLevel", 0);
  505.                 INI_WriteInt("Skin", 120);
  506.                 INI_WriteFloat("pX", 1554.22);
  507.                 INI_WriteFloat("pY", -1676.01);
  508.                 INI_WriteFloat("pZ", 16.1781);
  509.                 INI_WriteInt("Money", 3000);
  510.                 INI_WriteFloat("Health", 100.00);
  511.                 INI_WriteFloat("Armour", 100.00);
  512.                 INI_WriteString("Password", inputtext);
  513.                 // Spawn
  514.                 PlayerInfo[playerid][pX] = 1554.22;
  515.                 PlayerInfo[playerid][pY] = -1676.01;
  516.                 PlayerInfo[playerid][pZ] = 16.1781;
  517.                 PlayerInfo[playerid][Skin] = 120;
  518.                 PlayerInfo[playerid][Health] = 100;
  519.                 PlayerInfo[playerid][Armour] = 100;
  520.                 PlayerInfo[playerid][Money] = 3000;
  521.                 // -------------- SETTING PLAYER INFORMATION --------------------
  522.                 INI_Save();
  523.                 INI_Close();
  524.                 format(string, sizeof(string), "%s", PlayerInfo[playerid][Password]);
  525.                 RegisterStep[playerid] = 2;
  526.                 TextDrawHideForPlayer(playerid, Option1);
  527.                 TextDrawShowForPlayer(playerid, Option2);
  528.             }
  529.         }
  530.     }
  531.     if(dialogid == DIALOG_GENDER)
  532.     {
  533.         if(!response)
  534.         {
  535.             SendClientMessage(playerid, COLOR_WHITE, "(INFO): You didn't choose anything.Please select your character's Gender.");
  536.             ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_LIST, "Roleplay - Gender","Male\nFemale","Proceed","Quit");
  537.         }
  538.         else if(response)
  539.         {
  540.             switch(listitem)
  541.             {
  542.                 case 0:
  543.                 {
  544.                     if(INI_Open(GetUser(playerid)))
  545.                     {
  546.                         SendClientMessage(playerid, COLOR_WHITE, "Your Character is a {0080FF}Male.");
  547.                         INI_WriteString("Gender", "Male");
  548.                         RegisterStep[playerid] = 3;
  549.                         INI_Save();
  550.                         INI_Close();
  551.                         SelectTextDraw(playerid, 0x0080FFC8);
  552.                     }
  553.                 }
  554.                 case 1:
  555.                 {
  556.                     if(INI_Open(GetUser(playerid)))
  557.                     {
  558.                         SendClientMessage(playerid, COLOR_WHITE, "Your Character is a {FF80FF}Female.");
  559.                         INI_WriteString("Gender", "Female");
  560.                         RegisterStep[playerid] = 3;
  561.                         INI_Save();
  562.                         INI_Close();
  563.                         SelectTextDraw(playerid, 0x0080FFC8);
  564.                     }
  565.                 }
  566.             }
  567.             TextDrawHideForPlayer(playerid, Option2);
  568.             TextDrawShowForPlayer(playerid, Option3);
  569.         }
  570.     }
  571.     if(dialogid == DIALOG_AGE)
  572.     {
  573.         if(!response)
  574.         {
  575.             SendClientMessage(playerid, COLOR_WHITE, "(INFO): You haven't entered anything.Please enter your Character's Age in the Box.");
  576.             ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Roleplay - Age", "Please enter your Character's Age in the Box below.", "Proceed", "Quit");
  577.         }
  578.         else if(response)
  579.         {
  580.             if(!strlen(inputtext))
  581.             {
  582.                 SendClientMessage(playerid, COLOR_WHITE, "(INFO): You haven't entered anything.Please enter your Character's Age in the Box.");
  583.                 ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Roleplay - Age", "Please enter your Character's Age in the Box below.", "Proceed", "Quit");
  584.             }
  585.             else if(INI_Open(GetUser(playerid)))
  586.             {
  587.                 INI_WriteString("Age", inputtext);
  588.                 new string[128];
  589.                 format(string, sizeof(string), "Your Character is a {0080FF}%s Years old.", inputtext);
  590.                 SendClientMessage(playerid, COLOR_WHITE, string);
  591.                 SpawnCharacter(playerid);
  592.                 SendClientMessage(playerid, COLOR_WHITE, "(INFO): You have Finished through the Registeration.");
  593.                 INI_Save();
  594.                 INI_Close();
  595.                 HideLoginRegister(playerid);
  596.                 CancelSelectTextDraw(playerid);
  597.             }
  598.         }
  599.     }
  600.     if(dialogid == DIALOG_LOGIN)
  601.     {
  602.         if(!response)
  603.         {
  604.             SendClientMessage(playerid, COLOR_WHITE, "(INFO): Please Login in order to Spawn.");
  605.             ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Roleplay - Login","Welcome to 'Login . Register'.Your account is Registered.Please enter your password \nbelow to Login.","Proceed","Quit");
  606.         }
  607.         if(response)
  608.         {
  609.             if(!strlen(inputtext))
  610.             {
  611.                 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Roleplay - Login","Welcome to 'Login . Register'.Your account is Registered.Please enter your password \nbelow to Login.","Proceed","Quit");
  612.             }
  613.             if(INI_Open(GetUser(playerid)))
  614.             {
  615.                 INI_ReadString(PlayerInfo[playerid][Password],"Password",20);
  616.                 if(strcmp(inputtext,PlayerInfo[playerid][Password],false))
  617.                 {
  618.                     ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Roleplay - Login","You have entered an Incorrect Password.Please enter a Correct password\nbelow.","Proceed","Quit");
  619.                 }
  620.                 else
  621.                 {
  622.                     SpawnCharacter(playerid);
  623.                     HideLoginRegister(playerid);
  624.                     CancelSelectTextDraw(playerid);
  625.                     INI_Save();
  626.                     INI_Close();
  627.  
  628.                 }
  629.             }
  630.         }
  631.     }
  632.     return 1;
  633. }
  634.  
  635. stock SpawnCharacter(playerid)
  636. {
  637.     SetPlayerPos(playerid,  PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
  638.     SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  639.     SetPlayerHealth(playerid, PlayerInfo[playerid][Health]);
  640.     SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
  641.     SetCameraBehindPlayer(playerid);
  642.     SpawnPlayer(playerid);
  643.     return 1;
  644. }
  645. stock SaveCharacter(playerid)
  646. {
  647.     if(INI_Open(GetUser(playerid)))
  648.     {
  649.         INI_WriteInt("Money",GetPlayerMoney(playerid));
  650.         INI_WriteFloat("Health",GetPlayerHealth(playerid, PlayerInfo[playerid][Health]));
  651.         INI_WriteFloat("Armour",GetPlayerArmour(playerid, PlayerInfo[playerid][Armour]));
  652.         INI_WriteInt("Administrator",PlayerInfo[playerid][Administrator]);
  653.         INI_WriteInt("AdminLevel",PlayerInfo[playerid][AdminLevel]);
  654.         GetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
  655.         INI_WriteFloat("pX",PlayerInfo[playerid][pX]);
  656.         INI_WriteFloat("pY",PlayerInfo[playerid][pY]);
  657.         INI_WriteFloat("pZ",PlayerInfo[playerid][pZ]);
  658.         INI_Save();
  659.         INI_Close();
  660.     }
  661.     return 1;
  662. }
  663. stock LoadCharacter(playerid)
  664. {
  665.     if(INI_Open(GetUser(playerid)))
  666.     {
  667.         PlayerInfo[playerid][Money] = INI_ReadInt("Money");
  668.         PlayerInfo[playerid][Administrator] = INI_ReadInt("Administrator");
  669.         PlayerInfo[playerid][AdminLevel] = INI_ReadInt("AdminLevel");
  670.         PlayerInfo[playerid][Health] = INI_ReadFloat("Health");
  671.         PlayerInfo[playerid][Armour] = INI_ReadFloat("Armour");
  672.         PlayerInfo[playerid][pX] = INI_ReadFloat("pX");
  673.         PlayerInfo[playerid][pY] = INI_ReadFloat("pY");
  674.         PlayerInfo[playerid][pZ] = INI_ReadFloat("pZ");
  675.         INI_Save();
  676.         INI_Close();
  677.     }
  678.     return 1;
  679. }
  680. forward LoadingObjects(playerid);
  681. public LoadingObjects(playerid)
  682. {
  683.     TogglePlayerControllable(playerid, true);
  684.     return 1;
  685. }
  686. stock GetUser(playerid)
  687. {
  688.   new uFile[128];
  689.   format(uFile,128,"Users/%s.ini",RPNAME(playerid));
  690.   return uFile;
  691. }
  692.  
  693. stock RPNAME(playerid)
  694. {
  695.     new RPName[MAX_PLAYER_NAME];
  696.     if(IsPlayerConnected(playerid))
  697.     {
  698.         GetPlayerName(playerid, RPName, sizeof(RPName));
  699.         for(new i = 0; i < MAX_PLAYER_NAME; i++)
  700.         {
  701.             if(RPName[i] == '_') RPName[i] = ' ';
  702.         }
  703.     }
  704.     return RPName;
  705. }
  706.  
  707. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  708. {
  709.     return 1;
  710. }
Advertisement
Add Comment
Please, Sign In to add comment