Guest User

MysqlGM

a guest
Aug 6th, 2018
1,039
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.08 KB | None | 0 0
  1. /*============================================================================*/
  2. #include <a_samp>
  3. #include <fix>
  4. #include <a_mysql>
  5. #include <streamer>
  6. #include <Pawn.CMD>
  7. #include <sscanf2>
  8. #include <foreach>
  9. #include <Pawn.Regex>
  10. #include <crashdetect>
  11. /*============================================================================*/
  12. #define MYSQL_HOST "localhost"
  13. #define MYSQL_USER "root"
  14. #define MYSQL_PASS ""
  15. #define MYSQL_BASE "test"
  16.  
  17. #define SiustiZinute SendClientMessage
  18. #define SiustiZinuteVisiems SendClientMessageToAll
  19. #define RodytiDialoga ShowPlayerDialog
  20.  
  21. #define BALTA_SPALVA 0xFFFFFFFF
  22.  
  23.  
  24. /*============================================================================*/
  25. main(){}
  26. /*============================================================================*/
  27. new MySQL:dbHandle;
  28.  
  29.  
  30.  
  31. /*============================================================================*/
  32. enum player
  33. {
  34. ID,
  35. VARDAS[MAX_PLAYER_NAME],
  36. SLAPTAZODIS[24],
  37. }
  38. /*============================================================================*/
  39. new player_info[MAX_PLAYERS][player];
  40.  
  41. enum dialogai
  42. {
  43. REG_DIALOGAS,
  44. PRISIJUNGIMO_DIALOGAS,
  45. EMAIL_DIALOGAS,
  46. }
  47. /*============================================================================*/
  48. public OnGameModeInit()
  49. {
  50. ConnectMySQL();
  51. return 1;
  52. }
  53. /*============================================================================*/
  54. stock ConnectMySQL()
  55. {
  56. dbHandle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_BASE);
  57. switch(mysql_errno())
  58. {
  59. case 0: print("Sėkmingai prisijungta prie MYSQL duomenų bazės!");
  60. default:print("Nepavyko prisijungti prie MYSQL duomenų bazės!");
  61. }
  62. mysql_log(ERROR| WARNING);
  63. mysql_set_charset("cp1251");
  64. }
  65. /*============================================================================*/
  66. public OnGameModeExit()
  67. {
  68. return 1;
  69. }
  70. /*============================================================================*/
  71. public OnPlayerRequestClass(playerid, classid)
  72. {
  73.  
  74. return 1;
  75. }
  76. /*============================================================================*/
  77. public OnPlayerConnect(playerid)
  78. {
  79. GetPlayerName(playerid, player_info[playerid][VARDAS], MAX_PLAYER_NAME);
  80. static const fmt_query[] = "SELECT `ID` FROM `zaidejai` WHERE `vardas` = '%s'";
  81. new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)];
  82. format(query, sizeof(query), fmt_query, player_info[playerid][VARDAS]);
  83. mysql_tquery(dbHandle, query, "TikrintiRegistracija", "i", playerid);
  84. return 1;
  85. }
  86. /*============================================================================*/
  87. forward TikrintiRegistracija(playerid);
  88. public TikrintiRegistracija(playerid)
  89. {
  90. new rows;
  91. cache_get_row_count(rows);
  92. if(rows) RodytiPrisijungima(playerid);
  93. else RodytiRegistracija(playerid);
  94.  
  95. }
  96. /*============================================================================*/
  97. stock RodytiPrisijungima(playerid)
  98. {
  99. SiustiZinute(playerid, BALTA_SPALVA,
  100. "Sėkmingai prisijungėte prie serverio!");
  101. }
  102. /*============================================================================*/
  103. stock RodytiRegistracija(playerid)
  104. {
  105. new dialog[150+(-2+MAX_PLAYER_NAME)];
  106. format(dialog, sizeof(dialog),"Sveiki %s atvykę į mūsų serverį\nNorėdami žaisti serveryje, pirmiausia turite užsiregistruoti\nĮveskite savo norimą slaptažodį",player_info[playerid][VARDAS]);
  107. RodytiDialoga(playerid, REG_DIALOGAS, DIALOG_STYLE_INPUT, "Žaidėjo registracija", dialog, "Gerai","Atšaukti");
  108.  
  109. }
  110. /*============================================================================*/
  111. public OnPlayerDisconnect(playerid, reason)
  112. {
  113. return 1;
  114. }
  115. /*============================================================================*/
  116. public OnPlayerSpawn(playerid)
  117. {
  118. return 1;
  119. }
  120. /*============================================================================*/
  121. public OnPlayerDeath(playerid, killerid, reason)
  122. {
  123. return 1;
  124. }
  125. /*============================================================================*/
  126. public OnVehicleSpawn(vehicleid)
  127. {
  128. return 1;
  129. }
  130. /*============================================================================*/
  131. public OnVehicleDeath(vehicleid, killerid)
  132. {
  133. return 1;
  134. }
  135. /*============================================================================*/
  136. public OnPlayerText(playerid, text[])
  137. {
  138. return 1;
  139. }
  140. /*============================================================================*/
  141. public OnPlayerCommandText(playerid, cmdtext[])
  142. {
  143. return 0;
  144. }
  145. /*============================================================================*/
  146. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  147. {
  148. return 1;
  149. }
  150. /*============================================================================*/
  151. public OnPlayerExitVehicle(playerid, vehicleid)
  152. {
  153. return 1;
  154. }
  155. /*============================================================================*/
  156. public OnPlayerStateChange(playerid, newstate, oldstate)
  157. {
  158. return 1;
  159. }
  160. /*============================================================================*/
  161. public OnPlayerEnterCheckpoint(playerid)
  162. {
  163. return 1;
  164. }
  165. /*============================================================================*/
  166. public OnPlayerLeaveCheckpoint(playerid)
  167. {
  168. return 1;
  169. }
  170. /*============================================================================*/
  171. public OnPlayerEnterRaceCheckpoint(playerid)
  172. {
  173. return 1;
  174. }
  175. /*============================================================================*/
  176. public OnPlayerLeaveRaceCheckpoint(playerid)
  177. {
  178. return 1;
  179. }
  180. /*============================================================================*/
  181. public OnRconCommand(cmd[])
  182. {
  183. return 1;
  184. }
  185. /*============================================================================*/
  186. public OnPlayerRequestSpawn(playerid)
  187. {
  188. return 1;
  189. }
  190. /*============================================================================*/
  191. public OnObjectMoved(objectid)
  192. {
  193. return 1;
  194. }
  195. /*============================================================================*/
  196. public OnPlayerObjectMoved(playerid, objectid)
  197. {
  198. return 1;
  199. }
  200. /*============================================================================*/
  201. public OnPlayerPickUpPickup(playerid, pickupid)
  202. {
  203. return 1;
  204. }
  205. /*============================================================================*/
  206. public OnVehicleMod(playerid, vehicleid, componentid)
  207. {
  208. return 1;
  209. }
  210. /*============================================================================*/
  211. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  212. {
  213. return 1;
  214. }
  215. /*============================================================================*/
  216. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  217. {
  218. return 1;
  219. }
  220. /*============================================================================*/
  221. public OnPlayerSelectedMenuRow(playerid, row)
  222. {
  223. return 1;
  224. }
  225. /*============================================================================*/
  226. public OnPlayerExitedMenu(playerid)
  227. {
  228. return 1;
  229. }
  230. /*============================================================================*/
  231. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  232. {
  233. return 1;
  234. }
  235. /*============================================================================*/
  236. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  237. {
  238. return 1;
  239. }
  240. /*============================================================================*/
  241. public OnRconLoginAttempt(ip[], password[], success)
  242. {
  243. return 1;
  244. }
  245. /*============================================================================*/
  246. public OnPlayerUpdate(playerid)
  247. {
  248. return 1;
  249. }
  250. /*============================================================================*/
  251. public OnPlayerStreamIn(playerid, forplayerid)
  252. {
  253. return 1;
  254. }
  255. /*============================================================================*/
  256. public OnPlayerStreamOut(playerid, forplayerid)
  257. {
  258. return 1;
  259. }
  260. /*============================================================================*/
  261. public OnVehicleStreamIn(vehicleid, forplayerid)
  262. {
  263. return 1;
  264. }
  265. /*============================================================================*/
  266. public OnVehicleStreamOut(vehicleid, forplayerid)
  267. {
  268. return 1;
  269. }
  270. /*============================================================================*/
  271. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  272. {
  273. switch(dialogid)
  274. {
  275. case REG_DIALOGAS:
  276. {
  277. if(response)
  278. {
  279. if(!strlen(inputtext))
  280. {
  281. RodytiRegistracija(playerid);
  282. return SiustiZinute(playerid, BALTA_SPALVA, "[SERVERIS] Įveskite slaptažodį ir spauskite mygtuką \"Gerai\"");
  283. }
  284. if(strlen(inputtext) < 8 || strlen(inputtext) > 24)
  285. {
  286. RodytiRegistracija(playerid);
  287. return SiustiZinute(playerid, BALTA_SPALVA, "[SERVERIS] Slaptažodį turi sudaryti ne mažiau nei 8 simboliai ir ne daugiau nei 24!");
  288. }
  289. new regex:rg_slaptazodziotikrinimas = regex_new("^[a-zA-Z0-9]{1,}$");
  290. if(regex_check(inputtext, rg_slaptazodziotikrinimas))
  291. {
  292. strmid(player_info[playerid][SLAPTAZODIS], inputtext, 0, strlen(inputtext), 24);
  293. RodytiDialoga(playerid, EMAIL_DIALOGAS, DIALOG_STYLE_INPUT, "Email", "Prašome įvesti savo Email\nJei pamiršite savo slaptažodį, praneškite serverio administracijai ir mes jums\natsiųsime sugeneruotą slaptažodį kurį suvedus galėsite\nprisijungti ir pasikeisti slaptažodį", "Gerai", "");
  294. }
  295. else
  296. {
  297. RodytiRegistracija(playerid);
  298. return SiustiZinute(playerid, BALTA_SPALVA, "[SERVERIS] Slaptažodį sudaryti gali tik lotyniškos raidės t.y: Slaptažodyje negali būti šių raidžių: ą č ę ė į š ų ū ž");
  299. }
  300. }
  301. else
  302. {
  303. SiustiZinute(playerid, BALTA_SPALVA, "[SERVERIS] Atsisakėte registruotis serveryje!");
  304. RodytiDialoga(playerid, -1, 0, " ", " ", " ", "");
  305. return Kick(playerid);
  306. }
  307. }
  308. }
  309. return 1;
  310. }
  311. /*============================================================================*/
  312. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  313. {
  314. return 1;
  315. }
  316. /*============================================================================*/
Advertisement
Add Comment
Please, Sign In to add comment