Advertisement
Guest User

Untitled

a guest
Aug 17th, 2020
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.86 KB | None | 0 0
  1. //Includes
  2.  
  3. #include <a_samp>
  4. #include <a_mysql>
  5.  
  6. //Define Scurtaturi
  7.  
  8. #define SCM SendClientMessage
  9. #define MONEY GivePlayerMoney
  10. #define LEVEL SetPlayerScore
  11.  
  12. //Define Dialoguri
  13.  
  14. #define DIALOG_REGISTER 1
  15. #define DIALOG_LOGIN 2
  16. #define DIALOG_EMAIL 3
  17. #define DIALOG_AGE 4
  18. #define DIALOG_GENDER 5
  19.  
  20. //Define MySQL
  21.  
  22. #define mysql_host "localhost" // ip
  23. #define mysql_db "server" //nume baza de date
  24. #define mysql_user "root" //user care are acces la baza de date
  25. #define mysql_pass "" //parola bazei de date
  26.  
  27. //Define Culori
  28.  
  29. #define COLOR_RED 0xFF0000FF
  30. #define COLOR_LIGHTBLUE 0x00FFFFFF
  31. #define COLOR_GREEN 0x66FF00FF
  32. #define COLOR_YELLOW 0xFFFF00FF
  33. #define COLOR_ORANGE 0xFF9900FF
  34.  
  35. //Enumuri
  36.  
  37. enum pInfo
  38. {
  39. pID,
  40. pPassword,
  41. pEmail,
  42. pAge,
  43. pGender,
  44. pLevel,
  45. pMoney
  46. }
  47.  
  48. new PlayerInfo[MAX_PLAYERS][pInfo];
  49. new MySQL:g_Sql;
  50.  
  51. main()
  52. {
  53. print("\n----------------------------------");
  54. print("Serverul a pornit!");
  55. print("----------------------------------\n");
  56. }
  57.  
  58. public OnGameModeInit()
  59. {
  60. MySQLConnect();
  61. SetGameModeText("RPG v0.1");
  62. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  63. return 1;
  64. }
  65.  
  66. public OnGameModeExit()
  67. {
  68. mysql_close( g_Sql );
  69. return 1;
  70. }
  71.  
  72. public OnPlayerRequestClass(playerid, classid)
  73. {
  74. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  75. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  76. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  77. return 1;
  78. }
  79.  
  80. public OnPlayerConnect(playerid)
  81. {
  82. new query[100];
  83. mysql_format(g_Sql, query, sizeof(query), "SELECT * FROM users WHERE Name = '%s'", GetName(playerid));
  84. mysql_tquery(g_Sql, query, "OnPlayerLogin", "i", playerid);
  85. return 1;
  86. }
  87.  
  88. public OnPlayerDisconnect(playerid, reason)
  89. {
  90. return 1;
  91. }
  92.  
  93. public OnPlayerSpawn(playerid)
  94. {
  95. return 1;
  96. }
  97.  
  98. public OnPlayerDeath(playerid, killerid, reason)
  99. {
  100. return 1;
  101. }
  102.  
  103. public OnVehicleSpawn(vehicleid)
  104. {
  105. return 1;
  106. }
  107.  
  108. public OnVehicleDeath(vehicleid, killerid)
  109. {
  110. return 1;
  111. }
  112.  
  113. public OnPlayerText(playerid, text[])
  114. {
  115. return 1;
  116. }
  117.  
  118. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  119. {
  120. return 1;
  121. }
  122.  
  123. public OnPlayerExitVehicle(playerid, vehicleid)
  124. {
  125. return 1;
  126. }
  127.  
  128. public OnPlayerStateChange(playerid, newstate, oldstate)
  129. {
  130. return 1;
  131. }
  132.  
  133. public OnPlayerEnterCheckpoint(playerid)
  134. {
  135. return 1;
  136. }
  137.  
  138. public OnPlayerLeaveCheckpoint(playerid)
  139. {
  140. return 1;
  141. }
  142.  
  143. public OnPlayerEnterRaceCheckpoint(playerid)
  144. {
  145. return 1;
  146. }
  147.  
  148. public OnPlayerLeaveRaceCheckpoint(playerid)
  149. {
  150. return 1;
  151. }
  152.  
  153. public OnRconCommand(cmd[])
  154. {
  155. return 1;
  156. }
  157.  
  158. public OnPlayerRequestSpawn(playerid)
  159. {
  160. return 1;
  161. }
  162.  
  163. public OnObjectMoved(objectid)
  164. {
  165. return 1;
  166. }
  167.  
  168. public OnPlayerObjectMoved(playerid, objectid)
  169. {
  170. return 1;
  171. }
  172.  
  173. public OnPlayerPickUpPickup(playerid, pickupid)
  174. {
  175. return 1;
  176. }
  177.  
  178. public OnVehicleMod(playerid, vehicleid, componentid)
  179. {
  180. return 1;
  181. }
  182.  
  183. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  184. {
  185. return 1;
  186. }
  187.  
  188. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  189. {
  190. return 1;
  191. }
  192.  
  193. public OnPlayerSelectedMenuRow(playerid, row)
  194. {
  195. return 1;
  196. }
  197.  
  198. public OnPlayerExitedMenu(playerid)
  199. {
  200. return 1;
  201. }
  202.  
  203. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  204. {
  205. return 1;
  206. }
  207.  
  208. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  209. {
  210. return 1;
  211. }
  212.  
  213. public OnRconLoginAttempt(ip[], password[], success)
  214. {
  215. return 1;
  216. }
  217.  
  218. public OnPlayerUpdate(playerid)
  219. {
  220. return 1;
  221. }
  222.  
  223. public OnPlayerStreamIn(playerid, forplayerid)
  224. {
  225. return 1;
  226. }
  227.  
  228. public OnPlayerStreamOut(playerid, forplayerid)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnVehicleStreamIn(vehicleid, forplayerid)
  234. {
  235. return 1;
  236. }
  237.  
  238. public OnVehicleStreamOut(vehicleid, forplayerid)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  244. {
  245. new query[128], ip[25];
  246. switch(dialogid)
  247. {
  248. case DIALOG_REGISTER:
  249. {
  250. if(!response) return Kick(playerid);
  251. if(response)
  252. {
  253. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Parola Incorecta!", "Introdu-ti o parola pentru a te inregistra pe server!", "Inregistreaza", "Exit");
  254. GetPlayerIp(playerid, ip, sizeof(ip));
  255. SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti introduci varsta.");
  256. mysql_format(g_Sql, query, sizeof(query), "INSERT INTO users (Name, Password, IP, Admin, Helper, Money) VALUES ('%s', '%e', '%s', '0','0','1500')", GetName(playerid), inputtext, ip);
  257. mysql_query(g_Sql, query);
  258. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
  259. }
  260. return 1;
  261. }
  262. case DIALOG_LOGIN:
  263. {
  264. if(!response) return Kick(playerid);
  265. if(response)
  266. {
  267. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola Incorecta!", "Te rog sa-ti introduci parola corecta mai jos\nDaca ai uitat parola o poti recupera pe panel.", "Login", "Exit");
  268. mysql_format(g_Sql, query, sizeof(query), "SELECT * FROM `users` WHERE `Name`='%e' AND `Password`='%s'", GetName(playerid), inputtext);
  269. mysql_tquery(g_Sql, query, "OnLogin", "i", playerid);
  270. }
  271. return 1;
  272. }
  273. case DIALOG_AGE:
  274. {
  275. if(!response) return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
  276. if(response)
  277. {
  278. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
  279. SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti introduci email-ul, pentru contact si a pentru a-ti putea recupera contul.");
  280. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Age`='%e' WHERE `Name`='%e'", inputtext, GetName(playerid));
  281. mysql_query(g_Sql, query);
  282. ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Ă‹mail", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
  283. }
  284. return 1;
  285. }
  286. case DIALOG_EMAIL:
  287. {
  288. if(!response) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Ă‹mail", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
  289. if(response)
  290. {
  291. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Ă‹mail", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
  292. SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti alegi sexul.");
  293. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Email`='%e' WHERE `Name`='%e'", inputtext, GetName(playerid));
  294. mysql_query(g_Sql, query);
  295. ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "Gen", "Te rog sa-ti alegi genul de mai jos.", "Masculin", "Feminin");
  296. }
  297. return 1;
  298. }
  299. case DIALOG_GENDER:
  300. {
  301. if(response)
  302. {
  303. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Sex`='1' WHERE `Name`='%e'", GetName(playerid));
  304. mysql_query(g_Sql, query);
  305. SCM(playerid, COLOR_LIGHTBLUE, "Inregistrarea a fost un succes!");
  306. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");
  307. }
  308. if(!response)
  309. {
  310. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Sex`='0' WHERE `Name`='%e'", GetName(playerid));
  311. mysql_query(g_Sql, query);
  312. SCM(playerid, COLOR_LIGHTBLUE, "Inregistrarea a fost un succes!");
  313. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");
  314. }
  315. return 1;
  316. }
  317. }
  318. return 1;
  319. }
  320.  
  321. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  322. {
  323. return 1;
  324. }
  325.  
  326. forward MySQLConnect();
  327. public MySQLConnect()
  328. {
  329. g_Sql = mysql_connect("localhost", "root", "", "");
  330. if(mysql_errno() != 0)
  331. {
  332. printf("Connexiunea la baza de date '%s' nu a reusit. ---> Server ShutDown!", mysql_db);
  333. SendRconCommand("exit"); //daca vor exista erori ne va afisamesajul si va inchide consola
  334. }
  335. else
  336. {
  337. printf("Conexiunea la baza de date '%s' cu userul '%s' a reusit", mysql_db, mysql_user);// daca nu vor exista erori ne va afisa mesajul
  338. }
  339. return 1;
  340. }
  341.  
  342. stock GetName(playerid)
  343. {
  344. new Name[MAX_PLAYER_NAME];
  345. GetPlayerName(playerid, Name, sizeof(Name));
  346. return Name;
  347. }
  348.  
  349. forward OnPlayerLogin(playerid);
  350. public OnPlayerLogin(playerid)
  351. {
  352. new rows, fields;
  353. cache_get_row_count(rows);
  354. cache_get_field_count(fields);
  355. if(rows)
  356. {
  357. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");//daca playerul are randuri i se va afisa dialogul de login
  358. }
  359. else
  360. {
  361. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Inregistrare", "Trebuie sa iti creezi un cont pentru a juca pe server. \nTasteaza mai jos o paorla pentru a te inregistra.", "Inregistrare", "Exit");//daca playerul nu are randuri i se va afisa dialogul de inregistrare
  362. }
  363. return 1;
  364. }
  365.  
  366. forward OnLogin(playerid);
  367. public OnLogin(playerid)
  368. {
  369. new rows, fields, temporar[200];
  370. cache_get_row_count(rows);
  371. cache_get_field_count(fields);
  372. if(rows)
  373. {
  374. PlayerInfo[playerid][pPassword] = cache_get_value_name(0, "Password", temporar);
  375. PlayerInfo[playerid][pID] = cache_get_value_name(0, "ID", temporar);
  376. cache_get_value_int(0, "Money", PlayerInfo[playerid][pMoney]);
  377. SpawnPlayer(playerid);
  378. }
  379. else
  380. {
  381. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola Incorecta!", "Te rog sa-ti introduci parola corecta mai jos\nDaca ai uitat parola o poti recupera pe panel.", "Login", "Exit");
  382. }
  383. MONEY(playerid, PlayerInfo[playerid][pMoney]);
  384. return 1;
  385. }
  386.  
  387.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement