Advertisement
Guest User

Ajutor nu stiu sa rezolv

a guest
Oct 29th, 2019
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.92 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_iterate>
  3. #include <YSI\y_timers>
  4. #include <YSI\y_master>
  5. #include <YSI\y_commands>
  6. #include <YSI\y_va>
  7. #include <YSI\y_inline>
  8. #include <a_mysql>
  9. #include <easyDialog>
  10.  
  11. main() {}
  12.  
  13. new SQL, gQuery[256], gString[512];
  14.  
  15. #define function%0(%1) forward%0(%1); public %0(%1)
  16.  
  17. #define COLOR_SERVER 0x207a8eFF
  18. #define COLOR_WHITE -1
  19.  
  20. #define SendFormatMessage va_SendClientMessage
  21.  
  22. enum pInfo
  23. {
  24. pSQLID,
  25. pName[24],
  26. pPassword[128],
  27. pEmail[128],
  28. pLoginTries
  29. }
  30.  
  31. new PlayerInfo[MAX_PLAYERS][pInfo];
  32.  
  33. public OnGameModeInit()
  34. {
  35. mysql_log(LOG_ERROR | LOG_WARNING, LOG_TYPE_TEXT);
  36. SQL = mysql_connect("localhost", "root", "leysx", "");
  37.  
  38. if(mysql_errno() != 0)
  39. print("Baza de date nu s-a conectat.");
  40. else
  41. print("Baza de date s-a conectat.");
  42.  
  43. SetGameModeText("0.0.1");
  44. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  45. return 1;
  46. }
  47.  
  48. public OnGameModeExit()
  49. {
  50. return 1;
  51. }
  52.  
  53. public OnPlayerRequestClass(playerid, classid)
  54. {
  55. TogglePlayerSpectating(playerid, true);
  56. return 1;
  57. }
  58.  
  59. stock GetPlayerNameEx(playerid)
  60. {
  61. new name[24];
  62. GetPlayerName(playerid, name, 24);
  63. return name;
  64. }
  65.  
  66. public OnPlayerConnect(playerid)
  67. {
  68. PlayerInfo[playerid][pLoginTries] = 0;
  69.  
  70. gQuery[0] = (EOS);
  71. mysql_format(SQL, gQuery, sizeof gQuery, "SELECT * FROM `server_accounts` WHERE `Name` = `%e` LIMIT 1", GetPlayerNameEx(playerid));
  72. mysql_pquery(SQL, gQuery, "CheckPlayerAccount", "d", playerid);
  73.  
  74. defer Camera(playerid);
  75.  
  76. return 1;
  77. }
  78.  
  79. timer Camera[500](playerid)
  80. {
  81. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  82. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  83. return true;
  84. }
  85.  
  86. function CheckPlayerAccount(playerid)
  87. {
  88. gString[0] = (EOS);
  89. switch(cache_num_rows())
  90. {
  91. case 0:
  92. {
  93. format(gString, sizeof gString, "Bine ai venit, %s.\nScrie o parola pentru a te inregistra:", GetPlayerNameEx(playerid));
  94. Dialog_Show(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", gString, "Register", "Quit");
  95. }
  96. case 1:
  97. {
  98. new lastLogin[64];
  99. cache_get_field_content(0, "LastLogin", lastLogin);
  100.  
  101. format(gString, sizeof gString, "Bine ai revenit, %s.\nScrie mai jos parola contului tau:\n\nUltima logare: %s", GetPlayerNameEx(playerid), lastLogin);
  102. Dialog_Show(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", gString, "Login", "Quit");
  103. }
  104. }
  105. return true;
  106. }
  107.  
  108. stock GetDateTime()
  109. {
  110. new string[64], hour, minute, second, year, month, day;
  111.  
  112. gettime(hour, minute, second);
  113. getdate(year, month, day);
  114.  
  115. format(string, sizeof string, "%02d:%02d:%02d - %02d/%02d/%d", hour, minute, second, day, month, year);
  116. return string;
  117. }
  118.  
  119. Dialog:DIALOG_REGISTER(playerid, response, listitem, inputtext[])
  120. {
  121. if(!response)
  122. return Kick(playerid);
  123.  
  124. if(strlen(inputtext) < 8 || strlen(inputtext) > 64)
  125. return Dialog_Show(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Scrie o parola pentru a te inregistra:\n{AFAFAF}Numarul de caractere trebuie sa fie format din 64 - 32.", "Register", "Quit");
  126.  
  127. format(PlayerInfo[playerid][pName], 24, GetPlayerNameEx(playerid));
  128.  
  129. format(PlayerInfo[playerid][pPassword], 128, inputtext);
  130.  
  131. gQuery[0] = (EOS);
  132. mysql_format(SQL, gQuery, sizeof gQuery, "INSERT INTO `server_accounts` (Name, Password, RegisterDate, lastLogin) VALUES (`%e`, `%e`, `%e`, `%e`)", GetPlayerNameEx(playerid), inputtext, GetDateTime(), GetDateTime());
  133.  
  134. inline CheckSQLID()
  135. {
  136. PlayerInfo[playerid][pSQLID] = cache_insert_id();
  137. printf("New account: %s (%d).", GetPlayerNameEx(playerid), playerid);
  138. return true;
  139. }
  140.  
  141. mysql_pquery_inline(SQL, gQuery, using inline CheckSQLID, "");
  142.  
  143. Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "E-mail", "Scrie mai jos adresa ta de E-mail:", "Ok", "");
  144.  
  145. return true;
  146. }
  147.  
  148. Dialog:DIALOG_EMAIL(playerid, response, listitem, inputtext[])
  149. {
  150. if(!response)
  151. return Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "E-mail", "Scrie mai jos adresa ta de E-mail:", "Ok", "");
  152.  
  153. if(strlen(inputtext) < 8 || strlen(inputtext) > 128 || !IsValidEmailAdress(inputtext))
  154. return Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "E-mail", "Scrie mai jos adresa ta de E-mail:\n{AFAFAF}Adresa de E-mail nu este valida.", "Ok", "");
  155.  
  156. format(PlayerInfo[playerid][pEmail], 128, inputtext);
  157.  
  158. mysqlQuery("UPDATE `server_accounts` SET `Email` = `%s` WHERE `ID` = `%d`", PlayerInfo[playerid][pEmail], PlayerInfo[playerid][pSQLID]);
  159. SendFormatMessage(playerid, COLOR_SERVER, "(Notice) {FFFFFF}Adresa de E-mail este: %s", PlayerInfo[playerid][pEmail]);
  160.  
  161. TogglePlayerSpectating(playerid, false);
  162. SpawnPlayer(playerid);
  163. return true;
  164. }
  165.  
  166. Dialog:DIALOG_LOGIN(playerid, response, listitem, inputtext[])
  167. {
  168. if(!response)
  169. return Kick(playerid);
  170.  
  171. gQuery[0] = (EOS);
  172. mysql_format(SQL, gQuery, sizeof gQuery, "SELECT * FROM `server_accounts` WHERE `Name` = `%e` AND `Password` = `%e` LIMIT 1", GetPlayerNameEx(playerid), inputtext);
  173. mysql_pquery(SQL, gQuery, "OnPlayerLogin", "d", playerid);
  174. return true;
  175. }
  176.  
  177. function OnPlayerLogin(playerid)
  178. {
  179. switch(cache_num_rows())
  180. {
  181. case 0:
  182. {
  183. PlayerInfo[playerid][pLoginTries]++;
  184. if(PlayerInfo[playerid][pLoginTries] == 3)
  185. {
  186. Kick(playerid);
  187. }
  188. Dialog_Show(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Scrie mai jos parola contului tau:", "Login", "Quit");
  189. }
  190. case 1:
  191. {
  192. cache_get_field_content(0, "Name", PlayerInfo[playerid][pName]);
  193. cache_get_field_content(0, "Password", PlayerInfo[playerid][pPassword]);
  194. cache_get_field_content(0, "Email", PlayerInfo[playerid][pEmail]);
  195.  
  196. PlayerInfo[playerid][pSQLID] = cache_get_field_content_int(0, "ID");
  197.  
  198. ClearChat(playerid);
  199. SendFormatMessage(playerid, COLOR_WHITE, "Bine ai venit, %s.", GetPlayerNameEx(playerid));
  200. TogglePlayerSpectating(playerid, false);
  201. SpawnPlayer(playerid);
  202. }
  203. }
  204. return true;
  205. }
  206.  
  207. stock ClearChat(playerid, lines = 25)
  208. {
  209. for(new i = 0; i < lines; i++)
  210. {
  211. SendClientMessage(playerid, COLOR_WHITE, "");
  212. }
  213. return true;
  214. }
  215.  
  216. stock mysqlQuery(const text[], va_args<>)
  217. {
  218. new string[256];
  219. va_format(string, sizeof string, text, va_start<1>);
  220. mysql_pquery(SQL, string, "", "");
  221. return true;
  222. }
  223.  
  224. IsValidEmailAdress(const email[])
  225. {
  226. new at_pos = strfind(email, "@", true);
  227. if(at_pos >= 1)
  228. {
  229. new offset = (at_pos + 1), dot_pos = strfind(email, ".", true, offset);
  230. if(dot_pos > offset)
  231. {
  232. return 1;
  233. }
  234. }
  235. return 0;
  236. }
  237.  
  238. public OnPlayerDisconnect(playerid, reason)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnPlayerSpawn(playerid)
  244. {
  245. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  246. SetPlayerInterior(playerid, 0);
  247. SetPlayerVirtualWorld(playerid, 0);
  248. TogglePlayerControllable(playerid, true);
  249. return 1;
  250. }
  251.  
  252. public OnPlayerDeath(playerid, killerid, reason)
  253. {
  254. return 1;
  255. }
  256.  
  257. public OnVehicleSpawn(vehicleid)
  258. {
  259. return 1;
  260. }
  261.  
  262. public OnVehicleDeath(vehicleid, killerid)
  263. {
  264. return 1;
  265. }
  266.  
  267. public OnPlayerText(playerid, text[])
  268. {
  269. return 1;
  270. }
  271.  
  272. public OnPlayerCommandText(playerid, cmdtext[])
  273. {
  274. return 0;
  275. }
  276.  
  277. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  278. {
  279. return 1;
  280. }
  281.  
  282. public OnPlayerExitVehicle(playerid, vehicleid)
  283. {
  284. return 1;
  285. }
  286.  
  287. public OnPlayerStateChange(playerid, newstate, oldstate)
  288. {
  289. return 1;
  290. }
  291.  
  292. public OnPlayerEnterCheckpoint(playerid)
  293. {
  294. return 1;
  295. }
  296.  
  297. public OnPlayerLeaveCheckpoint(playerid)
  298. {
  299. return 1;
  300. }
  301.  
  302. public OnPlayerEnterRaceCheckpoint(playerid)
  303. {
  304. return 1;
  305. }
  306.  
  307. public OnPlayerLeaveRaceCheckpoint(playerid)
  308. {
  309. return 1;
  310. }
  311.  
  312. public OnRconCommand(cmd[])
  313. {
  314. return 1;
  315. }
  316.  
  317. public OnPlayerRequestSpawn(playerid)
  318. {
  319. return 1;
  320. }
  321.  
  322. public OnObjectMoved(objectid)
  323. {
  324. return 1;
  325. }
  326.  
  327. public OnPlayerObjectMoved(playerid, objectid)
  328. {
  329. return 1;
  330. }
  331.  
  332. public OnPlayerPickUpPickup(playerid, pickupid)
  333. {
  334. return 1;
  335. }
  336.  
  337. public OnVehicleMod(playerid, vehicleid, componentid)
  338. {
  339. return 1;
  340. }
  341.  
  342. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  343. {
  344. return 1;
  345. }
  346.  
  347. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  348. {
  349. return 1;
  350. }
  351.  
  352. public OnPlayerSelectedMenuRow(playerid, row)
  353. {
  354. return 1;
  355. }
  356.  
  357. public OnPlayerExitedMenu(playerid)
  358. {
  359. return 1;
  360. }
  361.  
  362. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  363. {
  364. return 1;
  365. }
  366.  
  367. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  368. {
  369. return 1;
  370. }
  371.  
  372. public OnRconLoginAttempt(ip[], password[], success)
  373. {
  374. return 1;
  375. }
  376.  
  377. public OnPlayerUpdate(playerid)
  378. {
  379. return 1;
  380. }
  381.  
  382. public OnPlayerStreamIn(playerid, forplayerid)
  383. {
  384. return 1;
  385. }
  386.  
  387. public OnPlayerStreamOut(playerid, forplayerid)
  388. {
  389. return 1;
  390. }
  391.  
  392. public OnVehicleStreamIn(vehicleid, forplayerid)
  393. {
  394. return 1;
  395. }
  396.  
  397. public OnVehicleStreamOut(vehicleid, forplayerid)
  398. {
  399. return 1;
  400. }
  401.  
  402. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  403. {
  404. return 1;
  405. }
  406.  
  407. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  408. {
  409. return 1;
  410. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement