Guest User

HoonZ

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