Guest User

555616816816

a guest
Oct 21st, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.70 KB | None | 0 0
  1. #define MySQL_HOST "localhost"
  2. #define MySQL_USER "root"
  3. #define MySQL_DATA "serveris"
  4. #define MySQL_PASS ""
  5.  
  6. #include <a_samp>
  7. #include <a_mysql>
  8.  
  9. enum _playerData
  10. {
  11. pSkin,
  12. pPinigai,
  13. pPatirtis
  14. };
  15.  
  16. new
  17. playerData[MAX_PLAYERS][_playerData],
  18.  
  19. bool: online[MAX_PLAYERS], /* Ar prisijunges? */
  20. bool: from_login[MAX_PLAYERS], /* Ar po prisijungimo ? */
  21. bool: from_reg[MAX_PLAYERS], /* Ar po registracijos ? */
  22.  
  23. trylog[MAX_PLAYERS]; /* Bandymai prisijungti */
  24.  
  25. main()
  26. {
  27. print(" -:: mysqlGM \n by Yiin\n");
  28. }
  29.  
  30. public OnGameModeInit()
  31. {
  32. SetGameModeText("mysqlGM");
  33.  
  34. mysql_debug( true );
  35. mysql_connect( MySQL_HOST,MySQL_USER,MySQL_DATA,MySQL_PASS );
  36. if( mysql_ping( ) >= 1 ) print( "\n" );
  37. else print("Prisijungimas prie MySQL DB ( "MySQL_DATA" ) nepavyko !");
  38.  
  39. AddPlayerClass(0, 0, 0,0,4,0,0,0,0,0,0);
  40.  
  41. return 1;
  42. }
  43.  
  44. public OnGameModeExit()
  45. {
  46. for(new i=0; i < MAX_PLAYERS; i++)
  47. {
  48. if( IsPlayerConnected(i) && online[i] ) MySQL_Save(i);
  49. }
  50. mysql_close( );
  51.  
  52. return 1;
  53. }
  54.  
  55. public OnPlayerRequestClass(playerid, classid)
  56. {
  57. new
  58. Query[ 200 ]
  59. ;
  60. format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s'",GetPlayerNameEx( playerid ) );
  61. mysql_query( Query );
  62. mysql_store_result( );
  63.  
  64. if( mysql_num_rows( ) )
  65. {
  66. ShowPlayerDialog( playerid,1,DIALOG_STYLE_INPUT,"Prisijungimas","Sveikas atvykes! Prisijunk!\nSlaptaþodis: ","Jungtis", "" );
  67. }
  68. else
  69. {
  70. ShowPlayerDialog( playerid,0,DIALOG_STYLE_INPUT,"Registracija","Sveikas atvykes! Uþsiregistruok.\nSlaptaþodis: ","Registruotis", "" );
  71. }
  72. mysql_free_result( );
  73.  
  74. return 1;
  75. }
  76.  
  77.  
  78.  
  79. public OnPlayerConnect(playerid)
  80. {
  81. online[playerid] = false;
  82. trylog[playerid] = 0;
  83.  
  84. return 1;
  85. }
  86.  
  87.  
  88.  
  89. public OnPlayerDisconnect(playerid, reason)
  90. {
  91. if( online[playerid] )
  92. {
  93. MySQL_Save(playerid);
  94. }
  95. return 1;
  96. }
  97.  
  98.  
  99.  
  100. public OnPlayerSpawn(playerid)
  101. {
  102. if( !online[playerid] ) Kick(playerid);
  103.  
  104. if( from_login[playerid] )
  105. {
  106. MySQL_Load(playerid);
  107. from_login[playerid] = false;
  108. return 1;
  109. }
  110. if( from_reg[playerid] )
  111. {
  112. from_reg[playerid] = false;
  113. return 1;
  114. }
  115.  
  116. return 1;
  117. }
  118.  
  119.  
  120.  
  121. public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
  122. {
  123. return 1;
  124. }
  125.  
  126.  
  127.  
  128. public OnPlayerDeath(playerid, killerid, reason)
  129. {
  130. return 1;
  131. }
  132.  
  133.  
  134.  
  135. public OnVehicleDeath(vehicleid, killerid)
  136. {
  137. return 1;
  138. }
  139.  
  140.  
  141.  
  142. public OnPlayerText(playerid, text[])
  143. {
  144. return 1;
  145. }
  146.  
  147.  
  148.  
  149. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  150. {
  151. return 1;
  152. }
  153.  
  154.  
  155. public OnPlayerExitVehicle(playerid, vehicleid)
  156. {
  157. return 1;
  158. }
  159.  
  160.  
  161.  
  162. public OnPlayerStateChange(playerid, newstate, oldstate)
  163. {
  164. return 1;
  165. }
  166.  
  167.  
  168.  
  169. public OnPlayerEnterCheckpoint(playerid)
  170. {
  171. return 1;
  172. }
  173.  
  174.  
  175.  
  176. public OnPlayerLeaveCheckpoint(playerid)
  177. {
  178. return 1;
  179. }
  180.  
  181.  
  182.  
  183. public OnPlayerEnterRaceCheckpoint(playerid)
  184. {
  185. return 1;
  186. }
  187.  
  188.  
  189.  
  190. public OnPlayerLeaveRaceCheckpoint(playerid)
  191. {
  192. return 1;
  193. }
  194.  
  195.  
  196.  
  197. public OnRconCommand(cmd[])
  198. {
  199. return 1;
  200. }
  201.  
  202.  
  203.  
  204. public OnPlayerRequestSpawn(playerid)
  205. {
  206. return 1;
  207. }
  208.  
  209.  
  210.  
  211. public OnObjectMoved(objectid)
  212. {
  213. return 1;
  214. }
  215.  
  216.  
  217.  
  218. public OnPlayerObjectMoved(playerid, objectid)
  219. {
  220. return 1;
  221. }
  222.  
  223.  
  224.  
  225. public OnPlayerPickUpPickup(playerid, pickupid)
  226. {
  227. return 1;
  228. }
  229.  
  230.  
  231.  
  232. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
  233. {
  234. return 1;
  235. }
  236.  
  237.  
  238.  
  239. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  240. {
  241. return 1;
  242. }
  243.  
  244.  
  245.  
  246.  
  247. public OnVehicleMod(playerid, vehicleid, componentid)
  248. {
  249. return 1;
  250. }
  251.  
  252.  
  253.  
  254. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  255. {
  256. return 1;
  257. }
  258.  
  259.  
  260.  
  261. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  262. {
  263. return 1;
  264. }
  265.  
  266.  
  267.  
  268. public OnPlayerSelectedMenuRow(playerid, row)
  269. {
  270. return 1;
  271. }
  272.  
  273.  
  274.  
  275. public OnPlayerExitedMenu(playerid)
  276. {
  277. return 1;
  278. }
  279.  
  280.  
  281.  
  282. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  283. {
  284. return 1;
  285. }
  286.  
  287.  
  288.  
  289. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  290. {
  291. return 1;
  292. }
  293.  
  294.  
  295.  
  296. public OnRconLoginAttempt(ip[], password[], success)
  297. {
  298. return 1;
  299. }
  300.  
  301.  
  302.  
  303. public OnPlayerUpdate(playerid)
  304. {
  305. return 1;
  306. }
  307.  
  308.  
  309.  
  310. public OnPlayerStreamIn(playerid, forplayerid)
  311. {
  312. return 1;
  313. }
  314.  
  315.  
  316.  
  317. public OnPlayerStreamOut(playerid, forplayerid)
  318. {
  319. return 1;
  320. }
  321.  
  322.  
  323.  
  324. public OnVehicleStreamIn(vehicleid, forplayerid)
  325. {
  326. return 1;
  327. }
  328.  
  329.  
  330.  
  331. public OnVehicleStreamOut(vehicleid, forplayerid)
  332. {
  333. return 1;
  334. }
  335.  
  336.  
  337.  
  338. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  339. {
  340. if( dialogid == 0 ) //Registracija
  341. {
  342. if( response )
  343. {
  344. new pw[40];
  345. mysql_real_escape_string(inputtext, pw);
  346. if( !strlen( pw ) )
  347. {
  348. SendClientMessage( playerid,-1,"Laukelis negali bûti tuðèias." );
  349. ShowPlayerDialog( playerid,0,DIALOG_STYLE_INPUT,"Registracija","Sveikas atvykes! Uþsiregistruok.\nSlaptaþodis: ","Registruotis","Atðaukti" );
  350. return 1;
  351. }
  352. if( strlen( pw ) > 40 )
  353. {
  354. SendClientMessage( playerid,-1,"Slaptaþodis negali bûti ilgesnis nei 40simboliø." );
  355. ShowPlayerDialog( playerid,0,DIALOG_STYLE_INPUT,"Registracija","Sveikas atvykes! Uþsiregistruok.\nSlaptaþodis: ","Registruotis","Atðaukti" );
  356. return 1;
  357. }
  358.  
  359. new
  360. Query[ 150 ]
  361. ;
  362. format( Query,sizeof( Query ),"INSERT INTO `zaidejai` (vardas,slaptazodis) VALUES ('%s','%s')",GetPlayerNameEx( playerid ), pw );
  363. mysql_query( Query );
  364. online[playerid] = true;
  365. from_reg[playerid] = true;
  366. SendClientMessage(playerid, 0x00FF00FF, "Sëkmingai uþsiregistravai! Spausk 'Spawn' norëdamas prisijungti.");
  367. }
  368. else
  369. {
  370. Kick( playerid );
  371. }
  372. return 1;
  373. }
  374. if( dialogid == 1 ) //Prisijungimas
  375. {
  376. if( response )
  377. {
  378. new pw[40];
  379. mysql_real_escape_string(inputtext, pw);
  380. if( strlen( pw ) > 40 )
  381. {
  382. SendClientMessage( playerid,-1,"Slaptaþodis negali bûti ilgesnis nei 40simboliø." );
  383. ShowPlayerDialog( playerid,1,DIALOG_STYLE_PASSWORD,"Prisijungimas","Malonu, kad gryþai :) Prisijunk!\nSlaptaþodis: ","Jungtis","Atðaukti" );
  384. return 1;
  385. }
  386.  
  387. new
  388. Query[ 150 ]
  389. ;
  390. format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s' AND slaptazodis = '%s'",GetPlayerNameEx( playerid ),pw );
  391. mysql_query( Query );
  392. mysql_store_result( );
  393.  
  394. if(! mysql_num_rows( ) )
  395. {
  396. if(trylog[playerid] > 2) { SendClientMessage(playerid, 0xFF0000FF, "Norëdamas(-a) iðeiti, raðyk /q"); Kick(playerid); }
  397. trylog[playerid]++;
  398. SendClientMessage(playerid, -1, "Neteisingas slaptaþodis..");
  399. ShowPlayerDialog( playerid,1,DIALOG_STYLE_INPUT,"Prisijungimas","Malonu, kad gryþai :) Prisijunk!\nSlaptaþodis: ","Jungtis","Atðaukti" );
  400. }
  401. else
  402. {
  403. SendClientMessage( playerid,0x97FC3CFF,"Prisijungei sëkmingai!" );
  404. online[playerid] = true;
  405. from_login[playerid] = true;
  406. return 1;
  407. }
  408. mysql_free_result( );
  409. return 1;
  410. }
  411. if( !response )
  412. {
  413. Kick( playerid );
  414. }
  415. return 1;
  416. }
  417.  
  418. return 1;
  419. }
  420.  
  421. stock MySQL_Save(playerid)
  422. {
  423. if( online[playerid] )
  424. {
  425. new
  426. Float: pos[3], // 0,1,2 - pozicija;
  427. Query[512];
  428.  
  429. printf("Iðsaugoma. [%s]", GetPlayerNameEx(playerid));
  430.  
  431. GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  432. format( Query,sizeof( Query ),"UPDATE `zaidejai` SET x = '%f', y = '%f', z = '%f' WHERE vardas = '%s'",\
  433. pos[0], pos[1], pos[2], GetPlayerNameEx( playerid ));
  434. mysql_query( Query );
  435.  
  436.  
  437. playerData[playerid][pSkin] = GetPlayerSkin(playerid);
  438. playerData[playerid][pPinigai] = GetPlayerMoney(playerid);
  439. playerData[playerid][pPatirtis] = GetPlayerScore(playerid);
  440.  
  441. format( Query, sizeof(Query),"UPDATE `zaidejai` SET skin = '%i', pinigai = '%i', patirtis = '%i' WHERE vardas = '%s'",\
  442. playerData[playerid][pSkin], playerData[playerid][pPinigai], playerData[playerid][pPatirtis], GetPlayerNameEx(playerid));
  443. mysql_query( Query );
  444.  
  445. new Float:HP, Float:ARM;
  446. GetPlayerArmour(playerid, ARM);
  447. GetPlayerHealth(playerid, HP);
  448. format(Query, sizeof(Query), "UPDATE `zaidejai` SET hp = '%f', armour = '%f' WHERE vardas = '%s'",\
  449. HP,ARM, GetPlayerNameEx(playerid));
  450. mysql_query(Query);
  451. }
  452. return 1;
  453. }
  454.  
  455. stock MySQL_Load(playerid)
  456. {
  457. new
  458. Float: pos[3], // 0,1,2 - pozicija;
  459. fetch[16],
  460. Query[256];
  461.  
  462. format(Query, sizeof(Query), "SELECT * FROM `zaidejai` WHERE vardas = '%s'", GetPlayerNameEx(playerid));
  463. mysql_query(Query);
  464. mysql_store_result();
  465. mysql_retrieve_row();
  466.  
  467. mysql_fetch_field_row( fetch, "x" );
  468. pos[0] = floatstr(fetch);
  469. mysql_fetch_field_row( fetch, "y" );
  470. pos[1] = floatstr(fetch);
  471. mysql_fetch_field_row( fetch, "z" );
  472. pos[2] = floatstr(fetch);
  473.  
  474. SetPlayerPos( playerid, pos[0], pos[1], pos[2] + 0.75);
  475.  
  476. mysql_fetch_field_row( fetch,"skin" ); playerData[playerid][pSkin] = strval(fetch); SetPlayerSkin(playerid, playerData[playerid][pSkin]);
  477. mysql_fetch_field_row( fetch,"pinigai" ); playerData[playerid][pPinigai] = strval(fetch); GivePlayerMoney(playerid, playerData[playerid][pPinigai]);
  478. mysql_fetch_field_row( fetch,"patirtis" ); playerData[playerid][pPatirtis] = strval(fetch); SetPlayerScore(playerid, playerData[playerid][pPatirtis]);
  479.  
  480. new Float: HP,
  481. Float: ARM;
  482.  
  483. mysql_fetch_field_row( fetch,"hp" ); HP = floatstr( fetch ); SetPlayerHealth( playerid, HP);
  484. mysql_fetch_field_row( fetch,"armour" ); ARM = floatstr( fetch ); SetPlayerArmour( playerid, ARM);
  485.  
  486. mysql_free_result();
  487.  
  488. printf("Pakrautas þaidëjas. [%s]", GetPlayerNameEx(playerid));
  489.  
  490. return 1;
  491. }
  492.  
  493. stock GetPlayerNameEx( playerid )
  494. {
  495. new
  496. Name[ MAX_PLAYER_NAME ]
  497. ;
  498. GetPlayerName( playerid,Name,MAX_PLAYER_NAME );
  499. return Name;
  500. }
Advertisement
Add Comment
Please, Sign In to add comment