Guest User

Login/Register System by Shadow

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