Advertisement
Guest User

Untitled

a guest
Oct 8th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.35 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_ini>
  3. //#include <noclass>
  4.  
  5. //Registration
  6. #define DIALOG_REGISTER 1
  7. #define DIALOG_LOGIN 2
  8. #define DIALOG_SUCCESS_1 3
  9. #define DIALOG_SUCCESS_2 4
  10. #define PATH "/Users/%s.ini" // User directory
  11. //
  12. enum pInfo
  13. {
  14. pPass,
  15. pCash,
  16. pAdmin,
  17. pKills,
  18. pDeaths,
  19. Skin,
  20. Float:Xpos,
  21. Float:Ypos,
  22. Float:Zpos,
  23. NewReg
  24. }
  25. new PlayerInfo[MAX_PLAYERS][pInfo];
  26.  
  27. forward LoadUser_data(playerid,name[],value[]);
  28. public LoadUser_data(playerid,name[],value[])
  29. {
  30. INI_Int("Password",PlayerInfo[playerid][pPass]);
  31. INI_Int("Cash",PlayerInfo[playerid][pCash]);
  32. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  33. INI_Int("Kills",PlayerInfo[playerid][pKills]);
  34. INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
  35. INI_Int("Skin",PlayerInfo[playerid][Skin]);
  36. INI_Float("Xpos",PlayerInfo[playerid][Xpos]);
  37. INI_Float("Ypos",PlayerInfo[playerid][Ypos]);
  38. INI_Float("ZXpos",PlayerInfo[playerid][Zpos]);
  39. INI_Int("NewReg",PlayerInfo[playerid][NewReg]);
  40. return 1;
  41. }
  42.  
  43. #define COL_WHITE "{FFFFFF}"
  44. #define COL_RED "{F81414}"
  45. #define COL_GREEN "{00FF22}"
  46. #define COL_LIGHTBLUE "{00CED1}"
  47.  
  48. main()
  49. {
  50. print("\n----------------------------------");
  51. print(" San Fierro RPG 2017-10-08");
  52. print("----------------------------------\n");
  53. }
  54.  
  55. public OnGameModeInit()
  56. {
  57. SetGameModeText("Script");
  58. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  59. return 1;
  60. }
  61.  
  62. public OnGameModeExit()
  63. {
  64. return 1;
  65. }
  66.  
  67. public OnPlayerRequestClass(playerid, classid)
  68. {
  69. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  70. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  71. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  72. return 1;
  73. }
  74.  
  75. public OnPlayerConnect(playerid)
  76. {
  77. if(fexist(UserPath(playerid)))
  78. {
  79. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  80. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"{FF6699}SF:RPG {FFFFFF}| Login",""COL_WHITE"{FFFFFF}Welcome back to the San Fierro RPG.\nSeems that you're {66CC66}registered {FFFFFF}in our database.\n\nTo continue playing, please enter your password below:","Login","Quit");
  81. }
  82. else
  83. {
  84. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"{FF6699}SF:RPG | {FFFFFF}Registration",""COL_WHITE"Welcome to the San Fierro RPG.\nSeems that you're {FF0000}not registered {FFFFFF}in our database.\n\n\nTo continue, please register and input your password below:","Register","Quit");
  85. }
  86. return 1;
  87. }
  88.  
  89. public OnPlayerDisconnect(playerid, reason)
  90. {
  91. new INI:File = INI_Open(UserPath(playerid));
  92. INI_SetTag(File,"data");
  93. INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
  94. INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  95. INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
  96. INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
  97. INI_WriteInt(File,"Skin",Skin);
  98. INI_WriteFloat(File,"Xpos",PlayerInfo[playerid][Xpos]);
  99. INI_WriteFloat(File,"Ypos",PlayerInfo[playerid][Ypos]);
  100. INI_WriteFloat(File,"Zpos",PlayerInfo[playerid][Zpos]);
  101. INI_WriteInt(File,"NewReg",0);
  102. INI_Close(File);
  103. return 1;
  104. }
  105.  
  106. public OnPlayerSpawn(playerid)
  107. {
  108. if(PlayerInfo[playerid][NewReg] == 0)
  109. {
  110. SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  111. SetPlayerPos(playerid, PlayerInfo[playerid][Xpos], PlayerInfo[playerid][Ypos], PlayerInfo[playerid][Zpos]+0.3);
  112. }
  113. return 1;
  114. }
  115.  
  116. public OnPlayerDeath(playerid, killerid, reason)
  117. {
  118. PlayerInfo[killerid][pKills]++;
  119. PlayerInfo[playerid][pDeaths]++;
  120. return 1;
  121. }
  122.  
  123. public OnVehicleSpawn(vehicleid)
  124. {
  125. return 1;
  126. }
  127.  
  128. public OnVehicleDeath(vehicleid, killerid)
  129. {
  130. return 1;
  131. }
  132.  
  133. public OnPlayerText(playerid, text[])
  134. {
  135. return 1;
  136. }
  137.  
  138. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  139. {
  140. return 1;
  141. }
  142.  
  143. public OnPlayerExitVehicle(playerid, vehicleid)
  144. {
  145. return 1;
  146. }
  147.  
  148. public OnPlayerStateChange(playerid, newstate, oldstate)
  149. {
  150. return 1;
  151. }
  152.  
  153. public OnPlayerEnterCheckpoint(playerid)
  154. {
  155. return 1;
  156. }
  157.  
  158. public OnPlayerLeaveCheckpoint(playerid)
  159. {
  160. return 1;
  161. }
  162.  
  163. public OnPlayerEnterRaceCheckpoint(playerid)
  164. {
  165. return 1;
  166. }
  167.  
  168. public OnPlayerLeaveRaceCheckpoint(playerid)
  169. {
  170. return 1;
  171. }
  172.  
  173. public OnRconCommand(cmd[])
  174. {
  175. return 1;
  176. }
  177.  
  178. public OnPlayerRequestSpawn(playerid)
  179. {
  180. return 1;
  181. }
  182.  
  183. public OnObjectMoved(objectid)
  184. {
  185. return 1;
  186. }
  187.  
  188. public OnPlayerObjectMoved(playerid, objectid)
  189. {
  190. return 1;
  191. }
  192.  
  193. public OnPlayerPickUpPickup(playerid, pickupid)
  194. {
  195. return 1;
  196. }
  197.  
  198. public OnVehicleMod(playerid, vehicleid, componentid)
  199. {
  200. return 1;
  201. }
  202.  
  203. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  204. {
  205. return 1;
  206. }
  207.  
  208. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  209. {
  210. return 1;
  211. }
  212.  
  213. public OnPlayerSelectedMenuRow(playerid, row)
  214. {
  215. return 1;
  216. }
  217.  
  218. public OnPlayerExitedMenu(playerid)
  219. {
  220. return 1;
  221. }
  222.  
  223. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  224. {
  225. return 1;
  226. }
  227.  
  228. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnRconLoginAttempt(ip[], password[], success)
  234. {
  235. return 1;
  236. }
  237.  
  238. public OnPlayerUpdate(playerid)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnPlayerStreamIn(playerid, forplayerid)
  244. {
  245. return 1;
  246. }
  247.  
  248. public OnPlayerStreamOut(playerid, forplayerid)
  249. {
  250. return 1;
  251. }
  252.  
  253. public OnVehicleStreamIn(vehicleid, forplayerid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnVehicleStreamOut(vehicleid, forplayerid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  264. {
  265. switch( dialogid )
  266. {
  267. case DIALOG_REGISTER:
  268. {
  269. if (!response) return Kick(playerid);
  270. if(response)
  271. {
  272. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"{FF6699}SF:RPG | {FFFFFF}Registration",""COL_WHITE"Welcome to the San Fierro RPG.\nSeems that you're {FF0000}not registered {FFFFFF}in our database.\n\n\nTo continue, please register and input your password below:","Register","Quit");
  273. new INI:File = INI_Open(UserPath(playerid));
  274. INI_SetTag(File,"data");
  275. INI_WriteInt(File,"Password",udb_hash(inputtext));
  276. INI_WriteInt(File,"Cash",0);
  277. INI_WriteInt(File,"Admin",0);
  278. INI_WriteInt(File,"Kills",0);
  279. INI_WriteInt(File,"Deaths",0);
  280. INI_WriteInt(File,"Skin",0);
  281. INI_WriteInt(File,"Xpos",0);
  282. INI_WriteInt(File,"Ypos",0);
  283. INI_WriteInt(File,"Zpos",0);
  284. INI_WriteInt(File,"NewReg",0);
  285. INI_Close(File);
  286. PlayerInfo[playerid][NewReg] = 1;
  287. //SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  288. SpawnPlayer(playerid);
  289. // Toliau eis tutorialas
  290. }
  291. }
  292.  
  293. case DIALOG_LOGIN:
  294. {
  295. if ( !response ) return Kick ( playerid );
  296. if( response )
  297. {
  298. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  299. {
  300. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  301. GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
  302. SpawnPlayer(playerid);
  303. // Zaidejas prisijunge
  304. }
  305. else
  306. {
  307. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"{FF6699}SF:RPG {FFFFFF}| Login",""COL_WHITE"{FFFFFF}Welcome back to the San Fierro RPG.\nSeems that you're {66CC66}registered {FFFFFF}in our database.\n\nTo continue playing, please enter your password below:","Login","Quit");
  308. }
  309. return 1;
  310. }
  311. }
  312. }
  313. return 1;
  314. }
  315.  
  316. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  317. {
  318. return 1;
  319. }
  320. //
  321. stock UserPath(playerid)
  322. {
  323. new string[128],playername[MAX_PLAYER_NAME];
  324. GetPlayerName(playerid,playername,sizeof(playername));
  325. format(string,sizeof(string),PATH,playername);
  326. return string;
  327. }
  328. /*Credits to Dracoblue*/
  329. stock udb_hash(buf[]) {
  330. new length=strlen(buf);
  331. new s1 = 1;
  332. new s2 = 0;
  333. new n;
  334. for (n=0; n<length; n++)
  335. {
  336. s1 = (s1 + buf[n]) % 65521;
  337. s2 = (s2 + s1) % 65521;
  338. }
  339. return (s2 << 16) + s1;
  340. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement