Advertisement
Guest User

Jonathan Walker - Login - Register System [V2]

a guest
Jun 5th, 2014
1,549
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.42 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. // -------------- SETTING PLAYER INFORMATION ---------------------
  502. INI_WriteInt("Administrator", 0);
  503. INI_WriteInt("AdminLevel", 0);
  504. INI_WriteInt("Skin", 120);
  505. INI_WriteFloat("pX", 1554.22);
  506. INI_WriteFloat("pY", -1676.01);
  507. INI_WriteFloat("pZ", 16.1781);
  508. INI_WriteInt("Money", 3000);
  509. INI_WriteFloat("Health", 100.00);
  510. INI_WriteFloat("Armour", 100.00);
  511. INI_WriteInt("Password", udb_hash(inputtext));
  512. // Spawn
  513. PlayerInfo[playerid][pX] = 1554.22;
  514. PlayerInfo[playerid][pY] = -1676.01;
  515. PlayerInfo[playerid][pZ] = 16.1781;
  516. PlayerInfo[playerid][Skin] = 120;
  517. PlayerInfo[playerid][Health] = 100;
  518. PlayerInfo[playerid][Armour] = 100;
  519. PlayerInfo[playerid][Money] = 3000;
  520. // -------------- SETTING PLAYER INFORMATION --------------------
  521. INI_Save();
  522. INI_Close();
  523. RegisterStep[playerid] = 2;
  524. TextDrawHideForPlayer(playerid, Option1);
  525. TextDrawShowForPlayer(playerid, Option2);
  526. }
  527. }
  528. }
  529. if(dialogid == DIALOG_GENDER)
  530. {
  531. if(!response)
  532. {
  533. SendClientMessage(playerid, COLOR_WHITE, "(INFO): You didn't choose anything.Please select your character's Gender.");
  534. ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_LIST, "Roleplay - Gender","Male\nFemale","Proceed","Quit");
  535. }
  536. else if(response)
  537. {
  538. switch(listitem)
  539. {
  540. case 0:
  541. {
  542. if(INI_Open(GetUser(playerid)))
  543. {
  544. SendClientMessage(playerid, COLOR_WHITE, "Your Character is a {0080FF}Male.");
  545. INI_WriteString("Gender", "Male");
  546. RegisterStep[playerid] = 3;
  547. INI_Save();
  548. INI_Close();
  549. SelectTextDraw(playerid, 0x0080FFC8);
  550. }
  551. }
  552. case 1:
  553. {
  554. if(INI_Open(GetUser(playerid)))
  555. {
  556. SendClientMessage(playerid, COLOR_WHITE, "Your Character is a {FF80FF}Female.");
  557. INI_WriteString("Gender", "Female");
  558. RegisterStep[playerid] = 3;
  559. INI_Save();
  560. INI_Close();
  561. SelectTextDraw(playerid, 0x0080FFC8);
  562. }
  563. }
  564. }
  565. TextDrawHideForPlayer(playerid, Option2);
  566. TextDrawShowForPlayer(playerid, Option3);
  567. }
  568. }
  569. if(dialogid == DIALOG_AGE)
  570. {
  571. if(!response)
  572. {
  573. SendClientMessage(playerid, COLOR_WHITE, "(INFO): You haven't entered anything.Please enter your Character's Age in the Box.");
  574. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Roleplay - Age", "Please enter your Character's Age in the Box below.", "Proceed", "Quit");
  575. }
  576. else if(response)
  577. {
  578. if(!strlen(inputtext))
  579. {
  580. SendClientMessage(playerid, COLOR_WHITE, "(INFO): You haven't entered anything.Please enter your Character's Age in the Box.");
  581. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Roleplay - Age", "Please enter your Character's Age in the Box below.", "Proceed", "Quit");
  582. }
  583. else if(INI_Open(GetUser(playerid)))
  584. {
  585. INI_WriteString("Age", inputtext);
  586. new string[128];
  587. format(string, sizeof(string), "Your Character is a {0080FF}%s Years old.", inputtext);
  588. SendClientMessage(playerid, COLOR_WHITE, string);
  589. SpawnCharacter(playerid);
  590. SendClientMessage(playerid, COLOR_WHITE, "(INFO): You have Finished through the Registeration.");
  591. INI_Save();
  592. INI_Close();
  593. HideLoginRegister(playerid);
  594. CancelSelectTextDraw(playerid);
  595. }
  596. }
  597. }
  598. if(dialogid == DIALOG_LOGIN)
  599. {
  600. if(!response)
  601. {
  602. SendClientMessage(playerid, COLOR_WHITE, "(INFO): Please Login in order to Spawn.");
  603. 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");
  604. }
  605. if(response)
  606. {
  607. if(!strlen(inputtext))
  608. {
  609. 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");
  610. }
  611. if(INI_Open(GetUser(playerid)))
  612. {
  613. PlayerInfo[playerid][Password] = INI_ReadInt("Password");
  614. if(udb_hash(inputtext) == PlayerInfo[playerid][Password])
  615. {
  616. SpawnCharacter(playerid);
  617. HideLoginRegister(playerid);
  618. CancelSelectTextDraw(playerid);
  619. INI_Save();
  620. INI_Close();
  621.  
  622. }
  623. else
  624. {
  625. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Roleplay - Login","You have entered an Incorrect Password.Please enter a Correct password\nbelow.","Proceed","Quit");
  626. }
  627. }
  628. }
  629. }
  630. return 1;
  631. }
  632.  
  633. stock SpawnCharacter(playerid)
  634. {
  635. SetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
  636. SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  637. SetPlayerHealth(playerid, PlayerInfo[playerid][Health]);
  638. SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
  639. SetCameraBehindPlayer(playerid);
  640. SpawnPlayer(playerid);
  641. return 1;
  642. }
  643. stock SaveCharacter(playerid)
  644. {
  645. if(INI_Open(GetUser(playerid)))
  646. {
  647. INI_WriteInt("Money",GetPlayerMoney(playerid));
  648. INI_WriteFloat("Health",GetPlayerHealth(playerid, PlayerInfo[playerid][Health]));
  649. INI_WriteFloat("Armour",GetPlayerArmour(playerid, PlayerInfo[playerid][Armour]));
  650. INI_WriteInt("Administrator",PlayerInfo[playerid][Administrator]);
  651. INI_WriteInt("AdminLevel",PlayerInfo[playerid][AdminLevel]);
  652. GetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
  653. INI_WriteFloat("pX",PlayerInfo[playerid][pX]);
  654. INI_WriteFloat("pY",PlayerInfo[playerid][pY]);
  655. INI_WriteFloat("pZ",PlayerInfo[playerid][pZ]);
  656. INI_Save();
  657. INI_Close();
  658. }
  659. return 1;
  660. }
  661. stock LoadCharacter(playerid)
  662. {
  663. if(INI_Open(GetUser(playerid)))
  664. {
  665. PlayerInfo[playerid][Money] = INI_ReadInt("Money");
  666. PlayerInfo[playerid][Administrator] = INI_ReadInt("Administrator");
  667. PlayerInfo[playerid][Password] = INI_ReadInt("Password");
  668. PlayerInfo[playerid][AdminLevel] = INI_ReadInt("AdminLevel");
  669. PlayerInfo[playerid][Health] = INI_ReadFloat("Health");
  670. PlayerInfo[playerid][Armour] = INI_ReadFloat("Armour");
  671. PlayerInfo[playerid][pX] = INI_ReadFloat("pX");
  672. PlayerInfo[playerid][pY] = INI_ReadFloat("pY");
  673. PlayerInfo[playerid][pZ] = INI_ReadFloat("pZ");
  674. INI_Save();
  675. INI_Close();
  676. }
  677. return 1;
  678. }
  679. stock udb_hash(buf[])
  680. {
  681. new length=strlen(buf);
  682. new s1 = 1;
  683. new s2 = 0;
  684. new n;
  685. for (n=0; n<length; n++)
  686. {
  687. s1 = (s1 + buf[n]) % 65521;
  688. s2 = (s2 + s1) % 65521;
  689. }
  690. return (s2 << 16) + s1;
  691. }
  692. forward LoadingObjects(playerid);
  693. public LoadingObjects(playerid)
  694. {
  695. TogglePlayerControllable(playerid, true);
  696. return 1;
  697. }
  698. stock GetUser(playerid)
  699. {
  700. new uFile[128];
  701. format(uFile,128,"Users/%s.ini",RPNAME(playerid));
  702. return uFile;
  703. }
  704.  
  705. stock RPNAME(playerid)
  706. {
  707. new RPName[MAX_PLAYER_NAME];
  708. if(IsPlayerConnected(playerid))
  709. {
  710. GetPlayerName(playerid, RPName, sizeof(RPName));
  711. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  712. {
  713. if(RPName[i] == '_') RPName[i] = ' ';
  714. }
  715. }
  716. return RPName;
  717. }
  718.  
  719. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  720. {
  721. return 1;
  722. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement