Guest User

Untitled

a guest
Jan 18th, 2016
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.93 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_ini>
  3.  
  4. #define DIALOG_REGISTER 1
  5. #define DIALOG_LOGIN 2
  6. #define DIALOG_SUCCESS_1 3
  7. #define DIALOG_SUCCESS_2 4
  8.  
  9. #define PATH "/Users/%s.ini"
  10.  
  11. #define COL_WHITE "{FFFFFF}"
  12. #define COL_RED "{F81414}"
  13. #define COL_GREEN "{00FF22}"
  14. #define COL_LIGHTBLUE "{00CED1}"
  15.  
  16. forward AtsaldomZaideja(playerid);
  17.  
  18. enum pInfo
  19. {
  20. pPass,
  21. pCash,
  22. pAdmin,
  23. pKills,
  24. pDeaths,
  25. Skin,
  26. Float:Xpos,
  27. Float:Ypos,
  28. Float:Zpos,
  29. NewReg,
  30. }
  31. new PlayerInfo[MAX_PLAYERS][pInfo];
  32.  
  33. forward LoadUser_data(playerid,name[],value[]);
  34. public LoadUser_data(playerid,name[],value[])
  35. {
  36. INI_Int("Slaptazodis",PlayerInfo[playerid][pPass]);
  37. INI_Int("Eurai",PlayerInfo[playerid][pCash]);
  38. INI_Int("Adminolvl1",PlayerInfo[playerid][pAdmin]);
  39. INI_Int("Nuzudymai",PlayerInfo[playerid][pKills]);
  40. INI_Int("Mirtys",PlayerInfo[playerid][pDeaths]);
  41. INI_Int("Skin",PlayerInfo[playerid][Skin]);
  42. INI_Float("Xpos",PlayerInfo[playerid][Xpos]);
  43. INI_Float("Ypos",PlayerInfo[playerid][Ypos]);
  44. INI_Float("ZXpos",PlayerInfo[playerid][Zpos]);
  45. INI_Int("NewReg",PlayerInfo[playerid][NewReg]);
  46. return 1;
  47. }
  48. public AtsaldomZaideja(playerid)
  49. {
  50. TogglePlayerControllable(playerid, true);
  51. return 1;
  52. }
  53. stock LaikinaiUzsaldytiZaideja(playerid, Laikas)
  54. {
  55. TogglePlayerControllable(playerid, false);
  56. SetTimerEx("AtsaldomZaideja", Laikas * 1000, false, "d", playerid);
  57. return 1;
  58. }
  59. stock UserPath(playerid)
  60. {
  61. new string[128],playername[MAX_PLAYER_NAME];
  62. GetPlayerName(playerid,playername,sizeof(playername));
  63. format(string,sizeof(string),PATH,playername);
  64. return string;
  65. }
  66. stock udb_hash(buf[]) {
  67. new length=strlen(buf);
  68. new s1 = 1;
  69. new s2 = 0;
  70. new n;
  71. for (n=0; n<length; n++)
  72. {
  73. s1 = (s1 + buf[n]) % 65521;
  74. s2 = (s2 + s1) % 65521;
  75. }
  76. return (s2 << 16) + s1;
  77. }
  78.  
  79. main()
  80. {
  81. print("\n----------------------------------");
  82. print(" Serveris");
  83. print("----------------------------------\n");
  84. }
  85.  
  86. public OnGameModeInit()
  87. {
  88. SetGameModeText("Satg");
  89. return 1;
  90. }
  91.  
  92. public OnGameModeExit()
  93. {
  94. return 1;
  95. }
  96.  
  97. public OnPlayerRequestClass(playerid, classid)
  98. {
  99. return 1;
  100. }
  101.  
  102. public OnPlayerConnect(playerid)
  103. {
  104. if(fexist(UserPath(playerid)))
  105. {
  106. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  107. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Prisijungti",""COL_WHITE"Įveskite savo slaptažodį norėdami prisijungti.","Prisijungti","Išeiti");
  108. }
  109. else
  110. {
  111. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registracija",""COL_WHITE"Įveskite savo sugalvotą slaptažodį.","Registruotis","Išeiti");
  112. }
  113. return 1;
  114. }
  115.  
  116. public OnPlayerDisconnect(playerid, reason)
  117. {
  118. new INI:File = INI_Open(UserPath(playerid));
  119. new Float:Xlog, Float:Ylog, Float:Zlog;
  120. GetPlayerPos(playerid, Xlog, Ylog, Zlog);
  121. PlayerInfo[playerid][Xpos] = Xlog;
  122. PlayerInfo[playerid][Ypos] = Ylog;
  123. PlayerInfo[playerid][Zpos] = Zlog;
  124. INI_SetTag(File,"data");
  125. INI_WriteInt(File,"Eurai",GetPlayerMoney(playerid));
  126. INI_WriteInt(File,"Adminolvl",PlayerInfo[playerid][pAdmin]);
  127. INI_WriteInt(File,"Nuzudymai",PlayerInfo[playerid][pKills]);
  128. INI_WriteInt(File,"Mirtys",PlayerInfo[playerid][pDeaths]);
  129. new playerskin = GetPlayerSkin(playerid);
  130. INI_WriteInt(File,"Skin",playerskin);
  131. INI_WriteFloat(File,"Xpos",PlayerInfo[playerid][Xpos]);
  132. INI_WriteFloat(File,"Ypos",PlayerInfo[playerid][Ypos]);
  133. INI_WriteFloat(File,"Zpos",PlayerInfo[playerid][Zpos]);
  134. INI_WriteInt(File,"NewReg",0);
  135. INI_Close(File);
  136. return 1;
  137. }
  138.  
  139. public OnPlayerSpawn(playerid)
  140. {
  141. if(PlayerInfo[playerid][NewReg] == 0)
  142. {
  143. SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  144. SetPlayerPos(playerid, PlayerInfo[playerid][Xpos], PlayerInfo[playerid][Ypos], PlayerInfo[playerid][Zpos]);
  145. LaikinaiUzsaldytiZaideja(playerid, 2);
  146. }
  147. else
  148. {
  149. SetPlayerPos(playerid,-1979.5131,170.9385,27.7011);
  150. }
  151. return 1;
  152. }
  153.  
  154. public OnPlayerDeath(playerid, killerid, reason)
  155. {
  156. PlayerInfo[killerid][pKills]++;
  157. PlayerInfo[playerid][pDeaths]++;
  158. return 1;
  159. }
  160.  
  161. public OnVehicleSpawn(vehicleid)
  162. {
  163. return 1;
  164. }
  165.  
  166. public OnVehicleDeath(vehicleid, killerid)
  167. {
  168. return 1;
  169. }
  170.  
  171. public OnPlayerText(playerid, text[])
  172. {
  173. return 1;
  174. }
  175.  
  176. public OnPlayerCommandText(playerid, cmdtext[])
  177. {
  178. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  179. {
  180. // Do something here
  181. return 1;
  182. }
  183. return 0;
  184. }
  185.  
  186. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  187. {
  188. return 1;
  189. }
  190.  
  191. public OnPlayerExitVehicle(playerid, vehicleid)
  192. {
  193. return 1;
  194. }
  195.  
  196. public OnPlayerStateChange(playerid, newstate, oldstate)
  197. {
  198. return 1;
  199. }
  200.  
  201. public OnPlayerEnterCheckpoint(playerid)
  202. {
  203. return 1;
  204. }
  205.  
  206. public OnPlayerLeaveCheckpoint(playerid)
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnPlayerEnterRaceCheckpoint(playerid)
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnPlayerLeaveRaceCheckpoint(playerid)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnRconCommand(cmd[])
  222. {
  223. return 1;
  224. }
  225.  
  226. public OnPlayerRequestSpawn(playerid)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnObjectMoved(objectid)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnPlayerObjectMoved(playerid, objectid)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnPlayerPickUpPickup(playerid, pickupid)
  242. {
  243. return 1;
  244. }
  245.  
  246. public OnVehicleMod(playerid, vehicleid, componentid)
  247. {
  248. return 1;
  249. }
  250.  
  251. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  252. {
  253. return 1;
  254. }
  255.  
  256. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  257. {
  258. return 1;
  259. }
  260.  
  261. public OnPlayerSelectedMenuRow(playerid, row)
  262. {
  263. return 1;
  264. }
  265.  
  266. public OnPlayerExitedMenu(playerid)
  267. {
  268. return 1;
  269. }
  270.  
  271. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  272. {
  273. return 1;
  274. }
  275.  
  276. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  277. {
  278. return 1;
  279. }
  280.  
  281. public OnRconLoginAttempt(ip[], password[], success)
  282. {
  283. return 1;
  284. }
  285.  
  286. public OnPlayerUpdate(playerid)
  287. {
  288. return 1;
  289. }
  290.  
  291. public OnPlayerStreamIn(playerid, forplayerid)
  292. {
  293. return 1;
  294. }
  295.  
  296. public OnPlayerStreamOut(playerid, forplayerid)
  297. {
  298. return 1;
  299. }
  300.  
  301. public OnVehicleStreamIn(vehicleid, forplayerid)
  302. {
  303. return 1;
  304. }
  305.  
  306. public OnVehicleStreamOut(vehicleid, forplayerid)
  307. {
  308. return 1;
  309. }
  310.  
  311. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  312. {
  313. switch( dialogid )
  314. {
  315. case DIALOG_REGISTER:
  316. {
  317. if (!response) return Kick(playerid);
  318. if(response)
  319. {
  320. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registracika.",""COL_RED"Įvedėte neteisingą slaptažodį.\n"COL_WHITE"Įveskite slaptažodį norėdami užsiregistruoti","Registruotis","Išeiti");
  321. new INI:File = INI_Open(UserPath(playerid));
  322. INI_SetTag(File,"data");
  323. INI_WriteInt(File,"slaptazodis",udb_hash(inputtext));
  324. INI_WriteInt(File,"Eurai",50000);
  325. INI_WriteInt(File,"Adminolvl",0);
  326. INI_WriteInt(File,"nuzudymai",0);
  327. INI_WriteInt(File,"Mirtys",0);
  328. INI_WriteInt(File,"Skin",0);
  329. INI_WriteInt(File,"NewReg",0);
  330. INI_WriteInt(File,"Xpos",0);
  331. INI_WriteInt(File,"Ypos",0);
  332. INI_WriteInt(File,"Zpos",0);
  333. INI_Close(File);
  334.  
  335. SetPlayerSkin(playerid, 0);
  336. PlayerInfo[playerid][NewReg] = 1;
  337. SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0); //-------------------------
  338. SpawnPlayer(playerid);
  339. ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Sėkmingai prisijungėte prie serverio",""COL_GREEN"Prisijungėte sėkmingai, dabar galite žaisti.","Gerai","");
  340. }
  341. }
  342.  
  343. case DIALOG_LOGIN:
  344. {
  345. if ( !response ) return Kick ( playerid );
  346. if( response )
  347. {
  348. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  349. {
  350. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  351. GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
  352. ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Sėkmingai prisijungėte prie serverio",""COL_GREEN"Prisijungėte sėkmingai, dabar galite žaisti.","Gerai","");
  353. }
  354. else
  355. {
  356. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Prisijungimas",""COL_RED"Įvedėte neteisingą slaptažodį.\n"COL_WHITE"Įrašykite savo teisingą slaptaždoį","Prisijungti","Išeiti");
  357. }
  358. return 1;
  359. }
  360. }
  361. }
  362. return 1;
  363. }
  364.  
  365. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  366. {
  367. return 1;
  368. }
Advertisement
Add Comment
Please, Sign In to add comment