Advertisement
Guest User

MYSQL R-2 need optimization

a guest
Nov 10th, 2018
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 37.21 KB | None | 0 0
  1. /*Modifikacija pradėta kurti 2018-09-26
  2. Autorius: ©Ponas_Algelis
  3. */
  4.  
  5. /*
  6. 1.Padaryti info lentelę [PADARYTA]
  7. 2.Padaryti spidometrą [PADARYTA]
  8. 3.Padaryti namų sistemą [NEPADARYTA]
  9. 4.Padaryti verslų sistemą [NEPADARYTA]
  10. 5.Padaryti transporto sistemą [NEPADARYTA]
  11. 6.Padaryti banko sistemq [NEPADARYTA]
  12. 7.Kreditų pirkimas [NEPADARYTA]
  13. 8.SMS sistema [NEPADARYTA]
  14. */
  15.  
  16.  
  17. #include <YSI\y_timers>
  18. #include <timerfix>
  19. #include <a_mysql>
  20. #include <sscanf2>
  21. #include <streamer>
  22. #include <zcmd>
  23.  
  24.  
  25.  
  26. #undef MAX_PLAYERS
  27. #define MAX_PLAYERS 300
  28. //==============================================================================
  29. //=============================== { FORWARD'AI } ===============================
  30. forward Zaidimas();
  31. forward Greitis();
  32. forward TekstoValymas(playerid);
  33. forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
  34. //==============================================================================
  35.  
  36. //=============================== { DEFINE'AI } ================================
  37. #define MySQL_HOST "localhost"
  38. #define MySQL_USER "root"
  39. #define MySQL_DATA "serveris"
  40. #define MySQL_PASS ""
  41.  
  42. #define HOLDING(%0) \
  43.     ((newkeys & (%0)) == (%0))
  44. #define PRESSED(%0) \
  45.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  46.  
  47. #define DLG_RADIJAS 0
  48. #define DLG_INFO 1
  49. #define DLG_REGISTRACIJA 2
  50. #define DLG_PRISIJUNGIMAS 3
  51.  
  52. #define AUKSINE 0xE6B800FF
  53.  
  54. //==============================================================================
  55. new bool:GTRezimas[MAX_VEHICLES];
  56. new PlayerText:Textdraw[4][MAX_PLAYERS];
  57.  
  58. new Float:LigoninesAtsiradimoVietos[][] =
  59. {
  60.      {171.6668,-42.2873,1.5781, 90.0000},
  61.      {160.6668,-42.2873,1.5781, 90.0000}
  62. };
  63.  
  64. enum _playerData
  65. {
  66.     pPrazaide,
  67.     pSkin,
  68.     pPinigai,
  69.     pPatirtis,
  70.     pLygis,
  71.     pKreditai,
  72.     pVIP,
  73.     pAdmin
  74.  
  75. };
  76.  
  77. new playerData[MAX_PLAYERS][_playerData];
  78. new bool: online[MAX_PLAYERS];
  79. new bool: from_login[MAX_PLAYERS];
  80. new bool: from_reg[MAX_PLAYERS];
  81. new trylog[MAX_PLAYERS];
  82. //==============================================================================
  83.  
  84. main(){}
  85.  
  86. public OnGameModeInit()
  87. {
  88.     SetGameModeText("VER 0.00.1");
  89.     mysql_debug( true );
  90.     mysql_connect( MySQL_HOST,MySQL_USER,MySQL_DATA,MySQL_PASS );
  91.     mysql_set_charset("utf8");
  92.     if( mysql_ping( ) >= 1 )    print( "\nPrisijungėte prie duomenų bazės.\n\n");
  93.     else                        print("Nepavyko prisijungti prie MySQL duomenų bazės!\n");
  94.     DisableInteriorEnterExits();
  95.     UsePlayerPedAnims();
  96.     EnableStuntBonusForAll(0);
  97.     SetNameTagDrawDistance(20.0);
  98.     return 1;
  99. }
  100. //==============================================================================
  101. public OnGameModeExit()
  102. {
  103.     for(new i=0; i < MAX_PLAYERS; i++)
  104.     {
  105.         if( IsPlayerConnected(i) && online[i] ) MySQL_Save(i);
  106.     }
  107.     mysql_close( );
  108.     return 1;
  109. }
  110. //==============================================================================
  111. public OnPlayerRequestClass(playerid, classid)
  112. {
  113.     UzsaldytiZaideja(playerid, 2000);
  114.     new Query[ 200 ];
  115.     format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s'",GetPlayerNameEx( playerid ) );
  116.     mysql_query( Query );
  117.     mysql_store_result( );
  118.  
  119.     if( mysql_num_rows( ) )
  120.     {
  121.         RodytiPrisijungima(playerid);
  122.     }
  123.     else
  124.     {
  125.         RodytiRegistracija(playerid);
  126.  
  127.     }
  128.     mysql_free_result( );
  129.  
  130.     return 1;
  131. }
  132. //==============================================================================
  133. public OnPlayerConnect(playerid)
  134. {
  135.     if (IsPlayerNPC(playerid))
  136.     {
  137.         return 1;
  138.     }
  139.     online[playerid] = false;
  140.     trylog[playerid] = 0;
  141.     SendClientMessage(playerid, 0xFFFF00FF, "SVEIKAS ATVYKĘS Į SERVERĮ");
  142.     Textdrawai(playerid);
  143.     return 1;
  144. }
  145. //==============================================================================
  146. public OnPlayerDisconnect(playerid, reason)
  147. {
  148.     if( online[playerid] )
  149.     {
  150.         MySQL_Save(playerid);
  151.         SleptiTextdrawus(playerid);
  152.     }
  153.     return 1;
  154. }
  155. //==============================================================================
  156. public OnPlayerSpawn(playerid)
  157. {
  158.     if( !online[playerid] ) Kick(playerid);
  159.  
  160.     if( from_login[playerid] )
  161.     {
  162.         MySQL_Load(playerid);
  163.         from_login[playerid] = false;
  164.         return 1;
  165.     }
  166.     if( from_reg[playerid] )
  167.     {
  168.         from_reg[playerid] = false;
  169.  
  170.         return 1;
  171.     }
  172.     return 1;
  173. }
  174. //==============================================================================
  175. public OnPlayerDeath(playerid, killerid, reason)
  176. {
  177.     for(new p = 0; p < MAX_PLAYERS; p++)
  178.     {
  179.         SleptiTextdrawus(p);
  180.         MoveToHospital(p);
  181.         GameTextForPlayer(p,"~r~MIRETE!",5000,4);
  182.     }
  183.     return 1;
  184. }
  185. //==============================================================================
  186. public OnVehicleSpawn(vehicleid)
  187. {
  188.     for(new p = 0; p < MAX_PLAYERS; p++)
  189.     {
  190.         if(IsPlayerConnected(p))
  191.         {
  192.             SleptiTextdrawus(p);
  193.         }
  194.     }
  195.     return 1;
  196. }
  197. //==============================================================================
  198. public OnVehicleDeath(vehicleid, killerid)
  199. {
  200.     return 1;
  201. }
  202. //==============================================================================
  203. public OnPlayerText(playerid, text[])
  204. {
  205.     new Keiksmazodziai[][] =
  206. {
  207.     "SARG","LMG","DOGBERRY","LIBERTY",".LT",".RU",".EN",".DE"
  208. };
  209.     for(new i; i != sizeof(Keiksmazodziai); ++i)
  210.     {
  211.     PakeistiKeiksmazodi(text, Keiksmazodziai[i]);
  212. }
  213.  
  214.     new pname[MAX_PLAYER_NAME], str[64];
  215.     GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
  216.     if(playerData[playerid][pAdmin] <4)
  217.     {
  218.         format(str, sizeof(str), "%s sako: {006699}%s", pname, text);
  219.         ProxDetector(25.0, playerid, str, -1, -1, -1, -1, -1);
  220.     }
  221.     if(playerData[playerid][pAdmin] == 4)
  222.     {
  223.         format(str, sizeof(str), "%s: %s", pname, text);
  224.         ProxDetector(30.0, playerid, str, 0x18BD09FF, 0x18BD09FF, 0x18BD09FF, 0x18BD09FF, 0x18BD09FF);
  225.     }
  226.     return 0;
  227.     }
  228.  
  229. public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  230. {
  231.     if(IsPlayerConnected(playerid))
  232.     {
  233.         new Float:posx, Float:posy, Float:posz;
  234.         new Float:oldposx, Float:oldposy, Float:oldposz;
  235.         new Float:tempposx, Float:tempposy, Float:tempposz;
  236.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  237.         for(new i = 0; i < MAX_PLAYERS; i++)
  238.         {
  239.             if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
  240.             {
  241.                 GetPlayerPos(i, posx, posy, posz);
  242.                 tempposx = (oldposx -posx);
  243.                 tempposy = (oldposy -posy);
  244.                 tempposz = (oldposz -posz);
  245.                 if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  246.                 {
  247.                     SendClientMessage(i, col1, string);
  248.                 }
  249.                 else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  250.                 {
  251.                     SendClientMessage(i, col2, string);
  252.                 }
  253.                 else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  254.                 {
  255.                     SendClientMessage(i, col3, string);
  256.                 }
  257.                 else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  258.                 {
  259.                     SendClientMessage(i, col4, string);
  260.                 }
  261.                 else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  262.                 {
  263.                     SendClientMessage(i, col5, string);
  264.                 }
  265.             }
  266.             else
  267.             {
  268.                 SendClientMessage(i, col1, string);
  269.             }
  270.         }
  271.     }
  272.     return 1;
  273. }
  274. //==============================================================================
  275. public OnPlayerCommandPerformed( playerid, cmdtext[ ], success )
  276. {
  277.     if(!success )
  278.     return SendClientMessage( playerid, 0xFF0000FF, "Nėra tokios komandos! Naudok /komandos" );
  279.     return 1;
  280. }
  281. //==============================================================================
  282. public OnPlayerCommandText(playerid, cmdtext[])
  283. {
  284.     return 0;
  285. }
  286. //==============================================================================
  287. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  288. {
  289.     return 1;
  290. }
  291. //==============================================================================
  292. public OnPlayerExitVehicle(playerid, vehicleid)
  293. {
  294.     return 1;
  295. }
  296. //==============================================================================
  297. public OnPlayerStateChange(playerid, newstate, oldstate)
  298. {
  299.  
  300.     for(new i; i < MAX_PLAYERS; i++)
  301.     {
  302.         if (IsPlayerConnected(i))
  303.         {
  304.                 if(newstate == PLAYER_STATE_DRIVER)
  305.                 {
  306.                     SendClientMessage(i, 0x999999FF, "Kad būtų linksmiau važiuoti, įsijunk radiją {006699}/radijas");
  307.                 }
  308.                 if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
  309.                 {
  310.                     PlayerTextDrawShow(i, Textdraw[0][i]);
  311.                     PlayerTextDrawShow(i, Textdraw[1][i]);
  312.                     PlayerTextDrawShow(i, Textdraw[2][i]);
  313.                 }
  314.                 if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
  315.                 {
  316.                     SleptiTextdrawus(i);
  317.                 }
  318.         }
  319.     }
  320.     return 1;
  321. }
  322. //==============================================================================
  323. public OnPlayerEnterCheckpoint(playerid)
  324. {
  325.     return 1;
  326. }
  327. //==============================================================================
  328. public OnPlayerLeaveCheckpoint(playerid)
  329. {
  330.     return 1;
  331. }
  332. //==============================================================================
  333. public OnPlayerEnterRaceCheckpoint(playerid)
  334. {
  335.     return 1;
  336. }
  337. //==============================================================================
  338. public OnPlayerLeaveRaceCheckpoint(playerid)
  339. {
  340.     return 1;
  341. }
  342. //==============================================================================
  343. public OnRconCommand(cmd[])
  344. {
  345.     return 1;
  346. }
  347. //==============================================================================
  348. public OnPlayerRequestSpawn(playerid)
  349. {
  350.     return 1;
  351. }
  352. //==============================================================================
  353. public OnObjectMoved(objectid)
  354. {
  355.     return 1;
  356. }
  357. //==============================================================================
  358. public OnPlayerObjectMoved(playerid, objectid)
  359. {
  360.     return 1;
  361. }
  362. //==============================================================================
  363. public OnPlayerPickUpPickup(playerid, pickupid)
  364. {
  365.     return 1;
  366. }
  367. //==============================================================================
  368. public OnVehicleMod(playerid, vehicleid, componentid)
  369. {
  370.     return 1;
  371. }
  372. //==============================================================================
  373. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  374. {
  375.     return 1;
  376. }
  377. //==============================================================================
  378. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  379. {
  380.     return 1;
  381. }
  382. //==============================================================================
  383. public OnPlayerSelectedMenuRow(playerid, row)
  384. {
  385.     return 1;
  386. }
  387. //==============================================================================
  388. public OnPlayerExitedMenu(playerid)
  389. {
  390.     return 1;
  391. }
  392. //==============================================================================
  393. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  394. {
  395.     return 1;
  396. }
  397. //==============================================================================
  398. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  399. {
  400.     if( IsPlayerInAnyVehicle( playerid ) && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
  401.     {
  402.         new
  403.             masina = GetPlayerVehicleID( playerid )
  404.         ;
  405.         if( GTRezimas[ masina ] )
  406.         {
  407.             if (HOLDING (KEY_SPRINT))
  408.             {
  409.                 if( GetPlayerSpeed( masina ) < 50 )
  410.                 {
  411.                     new
  412.                         Float:vehx,
  413.                         Float:vehy,
  414.                         Float:vehz
  415.                     ;
  416.                     GetVehicleVelocity( masina, vehx, vehy, vehz );
  417.                     SetVehicleVelocity( masina, vehx * 1.4, vehy * 1.4, vehz * 1.4 );
  418.                 }
  419.             }
  420.         }
  421.     }
  422.     if (PRESSED(KEY_YES))
  423.     {
  424.         ShowPlayerDialog(playerid, DLG_RADIJAS, DIALOG_STYLE_LIST, "Radijas", "Radiocentras\nLietus\nM-1\nM-1 Plius\nRuskoje Radio\nZIP FM\nFM99\nKelyje (Klaipėda)\nKelyje (Kaunas)\nEuropeanHitRadio\nRelax FM\nBaltracker\nExtra FM\nUtenos radijas\nGeras FM\nIšjungti radiją", "Gerai", "Baigti");
  425.     }
  426.     return 1;
  427. }
  428. //==============================================================================
  429. public OnRconLoginAttempt(ip[], password[], success)
  430. {
  431.     return 1;
  432. }
  433. //==============================================================================
  434. public OnPlayerUpdate(playerid)
  435. {
  436.     return 1;
  437. }
  438. //==============================================================================
  439. public OnPlayerStreamIn(playerid, forplayerid)
  440. {
  441.     return 1;
  442. }
  443. //==============================================================================
  444. public OnPlayerStreamOut(playerid, forplayerid)
  445. {
  446.     return 1;
  447. }
  448. //==============================================================================
  449. public OnVehicleStreamIn(vehicleid, forplayerid)
  450. {
  451.     return 1;
  452. }
  453. //==============================================================================
  454. public OnVehicleStreamOut(vehicleid, forplayerid)
  455. {
  456.     return 1;
  457. }
  458. //==============================================================================
  459. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  460. {
  461.     if( dialogid == DLG_REGISTRACIJA ) //Registracija
  462.     {
  463.         if( response )
  464.         {
  465.             new pw[40];
  466.             mysql_real_escape_string(inputtext, pw);
  467.             if( !strlen( pw ) )
  468.             {
  469.                 SendClientMessage( playerid,0xFF0000FF,"Laukelis negali būti tuščias." );
  470.                 RodytiRegistracija(playerid);
  471.                 return 1;
  472.             }
  473.             if( strlen( pw ) > 40 )
  474.             {
  475.                 SendClientMessage( playerid,0xFF0000FF,"Slaptažodis negali būti ilgesnis nei 40simbolių." );
  476.                 RodytiRegistracija(playerid);
  477.  
  478.                 return 1;
  479.             }
  480.  
  481.             new Query[ 150 ];
  482.             format( Query,sizeof( Query ),"INSERT INTO `zaidejai` (vardas,slaptazodis) VALUES ('%s','%s')",GetPlayerNameEx( playerid ), pw );
  483.             mysql_query( Query );
  484.             online[playerid] = true;
  485.             from_reg[playerid] = true;
  486.             SpawnPlayer(playerid);
  487.             SetPlayerPos(playerid, -1969.5012,137.9058,27.6875);
  488.             GivePlayerMoney     (playerid, 70000);
  489.             SetPlayerScore       (playerid, 0);
  490.             SetPlayerHealth(playerid, 200);
  491.             SetPlayerSkin(playerid, 250);
  492.         }
  493.         else
  494.         {
  495.           Kick( playerid );
  496.         }
  497.         return 1;
  498.     }
  499.     if( dialogid == DLG_PRISIJUNGIMAS ) //Prisijungimas
  500.     {
  501.         if( response )
  502.         {
  503.             new pw[40];
  504.             mysql_real_escape_string(inputtext, pw);
  505.             if( strlen( pw ) > 40 )
  506.             {
  507.                 SendClientMessage( playerid,0xFF0000FF,"Slaptažodis negali būti ilgesnis nei 40simbolių." );
  508.                 RodytiPrisijungima(playerid);
  509.                 return 1;
  510.             }
  511.  
  512.             new
  513.                 Query[ 150 ]
  514.             ;
  515.             format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s' AND slaptazodis = '%s'",GetPlayerNameEx( playerid ),pw );
  516.             mysql_query( Query );
  517.             mysql_store_result( );
  518.  
  519.             if(! mysql_num_rows( ) )
  520.             {
  521.                 if(trylog[playerid] > 2) { SendClientMessage(playerid, 0xFF0000FF, "Norėdamas(-a) išeiti, rašyk /q"); Kick(playerid); }
  522.                 trylog[playerid]++;
  523.  
  524.                 SendClientMessage(playerid, 0xFF0000FF, "Neteisingas slaptažodis!");
  525.                 RodytiPrisijungima(playerid);
  526.             }
  527.             else
  528.             {
  529.                 SpawnPlayer(playerid);
  530.                 GameTextForPlayer(playerid,"~y~SVEIKAS SUGRIZES I SERVERI!",4000,5);
  531.                 online[playerid] = true;
  532.                 from_login[playerid] = true;
  533.                 return 1;
  534.             }
  535.             mysql_free_result( );
  536.             return 1;
  537.         }
  538.         if( !response )
  539.         {
  540.             Kick( playerid );
  541.         }
  542.         return 1;
  543.     }
  544.     if(dialogid == DLG_RADIJAS)
  545.         {
  546.             if(!response) return 1;
  547.             switch(listitem)
  548.             {
  549.                 case 0:
  550.                 {
  551.                     PlayAudioStreamForPlayer(playerid, "http://84.46.205.13:80/rc128.mp3");
  552.                     GameTextForPlayer(playerid, "~b~Radiocentras",1500,4);
  553.                 }
  554.                 case 1:
  555.                 {
  556.                     PlayAudioStreamForPlayer(playerid, "http://radio.m-1.fm/lietus/mp3");
  557.                     GameTextForPlayer(playerid, "~b~Lietus",2500,4);
  558.                 }
  559.                         case 2:
  560.                         {
  561.                             PlayAudioStreamForPlayer(playerid, "http://radio.m-1.fm:80/m1/mp3");
  562.                             GameTextForPlayer(playerid, "~b~M-1",2500,4);
  563.                         }
  564.                         case 3:
  565.                         {
  566.                             PlayAudioStreamForPlayer(playerid, "http://radio.m-1.fm:80/m1plius/mp3");
  567.                             GameTextForPlayer(playerid, "~b~M-1 Plius",2500,4);
  568.                         }
  569.                         case 4:
  570.                         {
  571.                             PlayAudioStreamForPlayer(playerid, "http://5.20.223.18:80/rrb128.mp3");
  572.                             GameTextForPlayer(playerid, "~b~Ruskoje Radio",2500,4);
  573.                         }
  574.                         case 5:
  575.                         {
  576.                             PlayAudioStreamForPlayer(playerid, "http://84.46.205.13:80/zipfm128.mp3");
  577.                             GameTextForPlayer(playerid, "~b~ZIP FM",2500,4);
  578.                         }
  579.                         case 6:
  580.                         {
  581.                             PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/fm99.mp3");
  582.                             GameTextForPlayer(playerid, "~b~FM99",2500,4);
  583.                         }
  584.                         case 7:
  585.                         {
  586.                             PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/kelyje_klaipeda.mp3");
  587.                             GameTextForPlayer(playerid, "~b~Kelyje Klaipeda",2500,4);
  588.                         }
  589.                         case 8:
  590.                         {
  591.                             PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/kelyje_kaunas.mp3");
  592.                             GameTextForPlayer(playerid, "~b~Kelyje Kaunas",2500,4);
  593.                         }
  594.                         case 9:
  595.                         {
  596.                             PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/ehr.mp3");
  597.                             GameTextForPlayer(playerid, "~b~European Hit Radio",2500,4);
  598.                         }
  599.                         case 10:
  600.                         {
  601.                             PlayAudioStreamForPlayer(playerid, "http://5.20.223.18:80/relaxfm128.mp3");
  602.                             GameTextForPlayer(playerid, "~b~Relax FM",2500,4);
  603.                         }
  604.                         case 11:
  605.                         {
  606.                             PlayAudioStreamForPlayer(playerid, "http://listen2.myradio24.com:9000/8608");
  607.                             GameTextForPlayer(playerid, "~b~Baltracker",2500,4);
  608.                         }
  609.                         case 12:
  610.                         {
  611.                             PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/extrafm.mp3");
  612.                             GameTextForPlayer(playerid, "~b~Extra FM",2500,4);
  613.                         }
  614.                         case 13:
  615.                         {
  616.                             PlayAudioStreamForPlayer(playerid, "http://gyvai.utenosradijas.lt:8010/Utenosradijas");
  617.                             GameTextForPlayer(playerid, "~b~Utenos radijas",2500,4);
  618.                         }
  619.                         case 14:
  620.                         {
  621.                             PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/gerasfm.mp3");
  622.                             GameTextForPlayer(playerid, "~b~Geras FM",2500,4);
  623.                         }
  624.  
  625.                         case 15:
  626.                         {
  627.                             StopAudioStreamForPlayer(playerid);
  628.                             GameTextForPlayer(playerid, "~r~Isjungete radija!",2500,4);
  629.                             SendClientMessage(playerid, 0xFF0000FF , "Išjungėte radiją.");
  630.                         }
  631.             }
  632.         }
  633.  
  634.     return 1;
  635. }
  636. //==============================================================================
  637. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  638. {
  639.     return 1;
  640. }
  641. //================================ { KOMANDOS } ================================
  642. CMD:gt(playerid)
  643. {
  644.  
  645.     if( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, 0xFFFF00FF, "Aha, norėtum..." );
  646.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage( playerid, 0xFF0000FF, "Turi būti tr. priemonėje!" );
  647.     new masina = GetPlayerVehicleID( playerid );
  648.     if( GTRezimas[ masina ] )
  649.     {
  650.         SendClientMessage( playerid, 0xFF0000FF, "GT IŠJUNGTAS!" );
  651.         GTRezimas[ masina ] = false;
  652.         PlayerTextDrawHide(playerid, Textdraw[3][playerid]);
  653.     }
  654.     else
  655.     {
  656.         SendClientMessage( playerid, 0xFFFF00FF, "GT ĮJUNGTAS!" );
  657.         GTRezimas[ masina ] = true;
  658.         PlayerTextDrawShow(playerid, Textdraw[3][playerid]);
  659.     }
  660.     return 1;
  661. }
  662. //==============================================================================
  663. CMD:taisyti(playerid)
  664. {
  665.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "Turi būti tr.priemonėje!");
  666.     RepairVehicle(GetPlayerVehicleID(playerid));
  667.     GivePlayerMoney(playerid, -500);
  668.     SendClientMessage(playerid, 0xFFFF00FF, "Tr.priemonė suremontuota! Remonto kaina 500€");
  669.  
  670.     return 1;
  671. }
  672. //==============================================================================
  673. CMD:radijas(playerid,params[])
  674. {
  675.     ShowPlayerDialog(playerid, DLG_RADIJAS, DIALOG_STYLE_LIST, "Radijas", "Radiocentras\nLietus\nM-1\nM-1 Plius\nRuskoje Radio\nZIP FM\nFM99\nKelyje (Klaipėda)\nKelyje (Kaunas)\nEuropeanHitRadio\nRelax FM\nBaltracker\nExtra FM\nUtenos radijas\nGeras FM\nIšjungti radiją", "Gerai", "Baigti");
  676.     return 1;
  677. }
  678. //==============================================================================
  679. CMD:vip(playerid,params[])
  680. {
  681.     new string[140];
  682.     if(isnull(params)) return SendClientMessage(playerid, 0xFF0000FF, "Rašyti vip nariams naudok /vip");
  683.     if(playerData[playerid][pVIP] == 0) return SendClientMessage(playerid, 0xFF0000FF, "Komanda skirta tik VIP nariams!");
  684.     if(playerData[playerid][pVIP] >0)
  685.     {
  686.         format(string, 140, "[VIP]%s: %s", GetPlayerNameEx(playerid), params);
  687.     }
  688.     SendClientMessageToAll(0x339966FF,string);
  689.     return 1;
  690. }
  691. //==============================================================================
  692. CMD:sav(playerid,params[])
  693. {
  694.     new string[100];
  695.     if(playerData[playerid][pAdmin] <4) return SendClientMessage( playerid, 0xFF0000FF, "Tik savininkui!" );
  696.     {
  697.         format(string, 100, "[SAVININKAS] %s: %s", GetPlayerNameEx(playerid), params);
  698.     }
  699.     SendClientMessageToAll(0xE68A00FF,string);
  700.     return 1;
  701. }
  702. //==============================================================================
  703. CMD:rr(playerid,params[])
  704. {
  705.     new string[52];
  706.     if(playerData[playerid][pAdmin] <4) return SendClientMessage( playerid, 0xFF0000FF, "Tik savininkui!" );
  707.     {
  708.         format(string, 52, "<> RESTARTAS: %s <>",params);
  709.     }
  710.     SendClientMessageToAll(0xE68A00FF,string);
  711.     return 1;
  712. }
  713. //==============================================================================
  714. CMD:info(playerid)
  715. {
  716.     ZaidejoInformacija(playerid);
  717.     return 1;
  718. }
  719. //==============================================================================
  720. CMD:refresh(playerid)
  721. {
  722.     TogglePlayerControllable(playerid,true);
  723.     SetPlayerVirtualWorld( playerid, 0 );
  724.     SetPlayerInterior( playerid, 0 );
  725.     return 1;
  726. }
  727. //==============================================================================
  728. //================================ { STOCK'AI } ================================
  729. stock MySQL_Save(playerid)
  730. {
  731.     if( online[playerid] )
  732.     {
  733.         new
  734.             Float: pos[3], // 0,1,2 - pozicija;
  735.             Query[512];
  736.  
  737.         printf("Išsaugomas %s", GetPlayerNameEx(playerid));
  738.  
  739.         GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  740.         format( Query,sizeof( Query ),"UPDATE `zaidejai` SET x = '%f', y = '%f', z = '%f' WHERE vardas = '%s'",\
  741.         pos[0], pos[1], pos[2], GetPlayerNameEx( playerid ));
  742.         mysql_query( Query );
  743.  
  744.  
  745.  
  746.         playerData[playerid][pSkin] = GetPlayerSkin(playerid);
  747.         playerData[playerid][pPinigai] = GetPlayerMoney(playerid);
  748.         playerData[playerid][pPatirtis] = GetPlayerScore(playerid);
  749.  
  750.         format( Query, sizeof(Query),"UPDATE `zaidejai` SET skin = '%i', pinigai = '%i', patirtis = '%i',prazaide = '%i', lygis = '%i', kreditai = '%i', vip = '%i', admin = '%i' WHERE vardas = '%s'",
  751.         playerData[playerid][pSkin], playerData[playerid][pPinigai], playerData[playerid][pPatirtis],
  752.         playerData[playerid][pPrazaide],playerData[playerid][pLygis],playerData[playerid][pKreditai],
  753.         playerData[playerid][pVIP],playerData[playerid][pAdmin],
  754.         GetPlayerNameEx(playerid));
  755.         mysql_query( Query );
  756.  
  757.         new Float:HP, Float:ARM;
  758.         GetPlayerArmour(playerid, ARM);
  759.         GetPlayerHealth(playerid, HP);
  760.         format(Query, sizeof(Query), "UPDATE `zaidejai` SET hp = '%f', armour = '%f' WHERE vardas = '%s'",\
  761.         HP,ARM, GetPlayerNameEx(playerid));
  762.         mysql_query(Query);
  763.     }
  764.     return 1;
  765. }
  766. //==============================================================================
  767. stock MySQL_Load(playerid)
  768. {
  769.     new
  770.         Float: pos[3], // 0,1,2 - pozicija;
  771.         fetch[16],
  772.         Query[256];
  773.  
  774.     format(Query, sizeof(Query), "SELECT * FROM `zaidejai` WHERE vardas = '%s'", GetPlayerNameEx(playerid));
  775.     mysql_query(Query);
  776.     mysql_store_result();
  777.     mysql_retrieve_row();
  778.  
  779.     mysql_fetch_field_row( fetch, "x" );
  780.     pos[0] = floatstr(fetch);
  781.     mysql_fetch_field_row( fetch, "y" );
  782.     pos[1] = floatstr(fetch);
  783.     mysql_fetch_field_row( fetch, "z" );
  784.     pos[2] = floatstr(fetch);
  785.  
  786.     SetPlayerPos( playerid, pos[0], pos[1], pos[2] + 0.75);
  787.  
  788.     mysql_fetch_field_row( fetch,"skin" );          playerData[playerid][pSkin] = strval(fetch);    SetPlayerSkin(playerid, playerData[playerid][pSkin]);
  789.     mysql_fetch_field_row( fetch,"pinigai" );       playerData[playerid][pPinigai] = strval(fetch); GivePlayerMoney(playerid, playerData[playerid][pPinigai]);
  790.     mysql_fetch_field_row( fetch,"patirtis" );      playerData[playerid][pPatirtis] = strval(fetch);    SetPlayerScore(playerid, playerData[playerid][pPatirtis]);
  791.     mysql_fetch_field_row( fetch,"prazaide" );      playerData[playerid][pPrazaide]  = strval(fetch);
  792.     mysql_fetch_field_row( fetch,"lygis" );         playerData[playerid][pLygis]  = strval(fetch);
  793.     mysql_fetch_field_row( fetch,"kreditai" );      playerData[playerid][pKreditai]  = strval(fetch);
  794.     mysql_fetch_field_row( fetch,"VIP" );           playerData[playerid][pVIP]  = strval(fetch);
  795.     mysql_fetch_field_row( fetch,"Admin" );         playerData[playerid][pAdmin]  = strval(fetch);
  796.  
  797.  
  798.     new Float: HP,
  799.         Float: ARM;
  800.  
  801.     mysql_fetch_field_row( fetch,"hp" );            HP = floatstr( fetch );     SetPlayerHealth( playerid, HP);
  802.     mysql_fetch_field_row( fetch,"armour" );        ARM = floatstr( fetch );    SetPlayerArmour( playerid, ARM);
  803.  
  804.  
  805.     mysql_free_result();
  806.  
  807.     printf("Pakrautas žaidėjas. [%s]", GetPlayerNameEx(playerid));
  808.  
  809.     return 1;
  810. }
  811. //==============================================================================
  812. stock GetPlayerNameEx( playerid )
  813. {
  814.     new Vardas[ MAX_PLAYER_NAME ];
  815.     GetPlayerName( playerid,Vardas,MAX_PLAYER_NAME );
  816.     return Vardas;
  817. }
  818. //==============================================================================
  819. stock MoveToHospital(playerid)
  820. {
  821.     {
  822.         new Float:h[2];
  823.         SetPlayerInterior(playerid, 3);
  824.         SetPlayerHealth(playerid, 200);
  825.         UzsaldytiZaideja(playerid, 800);
  826.         h[0] = GetPlayerDistanceFromPoint(playerid, LigoninesAtsiradimoVietos[0][0], LigoninesAtsiradimoVietos[0][1], LigoninesAtsiradimoVietos[0][2]);
  827.         h[1] = GetPlayerDistanceFromPoint(playerid, LigoninesAtsiradimoVietos[1][0], LigoninesAtsiradimoVietos[1][1], LigoninesAtsiradimoVietos[1][2]);
  828.         if(h[0] < h[1])
  829.             {
  830.                 SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), LigoninesAtsiradimoVietos[0][0], LigoninesAtsiradimoVietos[0][1], LigoninesAtsiradimoVietos[0][2], LigoninesAtsiradimoVietos[0][3], 0, 0, 0, 0, 0, 0);
  831.             }
  832.             else
  833.             {
  834.                 SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), LigoninesAtsiradimoVietos[0][0], LigoninesAtsiradimoVietos[0][1], LigoninesAtsiradimoVietos[0][2], LigoninesAtsiradimoVietos[0][3], 0, 0, 0, 0, 0, 0);
  835.             }
  836.         }
  837.     }
  838. //==============================================================================
  839. stock UzsaldytiZaideja(playerid, Time)
  840. {
  841.     for(new i=0; i<MAX_PLAYERS; i++)
  842.     {
  843.         TogglePlayerControllable(playerid, false);
  844.         SetTimerEx("UnfreezePlayer", Time, false, "d", i);
  845.     }
  846.     return 1;
  847. }
  848. //==============================================================================
  849. stock PakeistiKeiksmazodi(string[], Keiksmazodziai[],Simbolis = '*')
  850. {
  851.     new i;
  852.     while((i = strfind(string, Keiksmazodziai, true)) != -1)
  853.     {
  854.     for(new x = (i + strlen(Keiksmazodziai)); i != x; ++i)
  855.     {
  856.         string[i] = Simbolis;
  857.     }
  858. }
  859.     return 1;
  860. }
  861. //==============================================================================
  862. stock strmatch(const String1[], const String2[])
  863. {
  864.     if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
  865.     {
  866.         return true;
  867.     }
  868.     else
  869.     {
  870.         return false;
  871.     }
  872. }
  873. //==============================================================================
  874. stock ZaidejoInformacija(playerid)
  875. {
  876.     new String[512], Stringas[512+(MAX_PLAYER_NAME)],Lygiai = 54, Vip[20], Admin[20];
  877.  
  878.     switch(playerData[playerid][pVIP])
  879.     {
  880.         case 1: Vip = "{006699}BRONZINIS";
  881.         case 2: Vip = "{006699}SIDABRINIS";
  882.         case 3: Vip = "{006699}AUKSINIS";
  883.         default: Vip = "Neturi";
  884.     }
  885.     switch(playerData[playerid][pAdmin])
  886.     {
  887.         case 1: Admin = "{006699}1 lygio";
  888.         case 2: Admin = "{006699}2 lygio";
  889.         case 3: Admin = "{006699}3 lygio";
  890.         case 4: Admin = "{006699}Pagrindinis";
  891.         default: Admin = "Neturi";
  892.     }
  893.     format(Stringas, sizeof(Stringas),
  894.     "{999999}Vardas: {006699}%s\n\
  895.     {999999}Lygis: {006699}%d/%d\n\
  896.     {999999}Kreditai: {006699}%d\n\
  897.     {999999}VIP: {006699}%s\n\
  898.     {999999}Administratorius: {006699}%s\n\
  899.     {999999}Patirtis: {006699}%d {999999}xp\n\
  900.     {999999}Pinigai: {006699}%d {999999}€\n\
  901.     Pražaista: {006699}%d {999999}min.",
  902.     GetPlayerNameEx(playerid),
  903.     playerData[playerid][pLygis],
  904.     Lygiai,
  905.     playerData[playerid][pKreditai],
  906.     Vip,
  907.     Admin,
  908.     GetPlayerScore(playerid),
  909.     GetPlayerMoney(playerid),
  910.     playerData[playerid][pPrazaide]);strcat(String, Stringas);
  911.     ShowPlayerDialog(playerid, DLG_INFO, DIALOG_STYLE_MSGBOX, "{999999}Žaidėjo informacija", String, "{999999}Gerai", "");
  912.     return 1;
  913. }
  914. //==============================================================================
  915. stock RodytiRegistracija(playerid)
  916. {
  917.     new registracija[364+(MAX_PLAYER_NAME)];format(registracija, sizeof(registracija),
  918.     "{e6e6e6}Sveikas {ff9900}%s\n{e6e6e6}Šiame serveryje esi pirmą kartą, todėl norėdamas žaisti\n\
  919.     turi užsiregistruoti,\nsugalvok savo slaptažodį, kurį naudosi ateityje.\n\
  920.     {32cd32}\tSlaptažodį turi sudaryti mažiausiai 8 simboliai, ir ne daugiau kaip 40 simbolių\n\
  921.     \tĮterpk į slaptažodį skaičių bei didžiųjų raidžių, kad būtų kuo sunkesnis",
  922.     GetPlayerNameEx( playerid ));
  923.     ShowPlayerDialog(playerid, DLG_REGISTRACIJA, DIALOG_STYLE_INPUT,
  924.     "Registracija", registracija, "Tęsti", "Baigti");
  925. }
  926. //==============================================================================
  927. stock RodytiPrisijungima(playerid)
  928. {
  929.     new prisijungimas[128+(MAX_PLAYER_NAME)];
  930.     format(prisijungimas, sizeof(prisijungimas),
  931.     "{e6e6e6}Sveikas {ff9900}%s {e6e6e6}sugrižęs\nĮvesk savo slaptažodį",
  932.     GetPlayerNameEx( playerid ));
  933.     ShowPlayerDialog(playerid, DLG_PRISIJUNGIMAS, DIALOG_STYLE_PASSWORD,
  934.     "Prisijungimas", prisijungimas, "Tęsti", "Baigti");
  935.  
  936. }
  937. //==============================================================================
  938. stock Textdrawai(playerid)
  939. {
  940.     //Spidometras
  941.     Textdraw[0][playerid] = CreatePlayerTextDraw(playerid, 639.000000, 412.750000, "usebox");
  942.     PlayerTextDrawLetterSize(playerid, Textdraw[0][playerid], 0.000000, -0.025000);
  943.     PlayerTextDrawTextSize(playerid, Textdraw[0][playerid], 458.500000, 0.000000);
  944.     PlayerTextDrawAlignment(playerid, Textdraw[0][playerid], 1);
  945.     PlayerTextDrawColor(playerid, Textdraw[0][playerid], 0);
  946.     PlayerTextDrawUseBox(playerid, Textdraw[0][playerid], true);
  947.     PlayerTextDrawBoxColor(playerid, Textdraw[0][playerid], 102);
  948.     PlayerTextDrawSetShadow(playerid, Textdraw[0][playerid], 0);
  949.     PlayerTextDrawSetOutline(playerid, Textdraw[0][playerid], 0);
  950.     PlayerTextDrawFont(playerid, Textdraw[0][playerid], 0);
  951.     ////////////////////////////////////////////////////////////////////////////
  952.     Textdraw[1][playerid] = CreatePlayerTextDraw(playerid, 460.500000, 395.500000, "GREITIS: 222 KM/H");
  953.     PlayerTextDrawLetterSize(playerid, Textdraw[1][playerid], 0.449999, 1.600000);
  954.     PlayerTextDrawAlignment(playerid, Textdraw[1][playerid], 1);
  955.     PlayerTextDrawColor(playerid, Textdraw[1][playerid], 0x969696FF);
  956.     PlayerTextDrawSetShadow(playerid, Textdraw[1][playerid], 0);
  957.     PlayerTextDrawSetOutline(playerid, Textdraw[1][playerid], 1);
  958.     PlayerTextDrawBackgroundColor(playerid, Textdraw[1][playerid], 255);
  959.     PlayerTextDrawFont(playerid, Textdraw[1][playerid], 2);
  960.     PlayerTextDrawSetProportional(playerid, Textdraw[1][playerid], 1);
  961.     ////////////////////////////////////////////////////////////////////////////
  962.     Textdraw[2][playerid] = CreatePlayerTextDraw(playerid, 461.500000, 414.312500, "BUKLE: 1000");
  963.     PlayerTextDrawLetterSize(playerid, Textdraw[2][playerid], 0.449999, 1.600000);
  964.     PlayerTextDrawAlignment(playerid, Textdraw[2][playerid], 1);
  965.     PlayerTextDrawColor(playerid, Textdraw[2][playerid], 0x969696FF);
  966.     PlayerTextDrawSetShadow(playerid, Textdraw[2][playerid], 0);
  967.     PlayerTextDrawSetOutline(playerid, Textdraw[2][playerid], 1);
  968.     PlayerTextDrawBackgroundColor(playerid, Textdraw[2][playerid], 255);
  969.     PlayerTextDrawFont(playerid, Textdraw[2][playerid], 2);
  970.     PlayerTextDrawSetProportional(playerid, Textdraw[2][playerid], 1);
  971.     ////////////////////////////////////////////////////////////////////////////
  972.     Textdraw[3][playerid] = CreatePlayerTextDraw(playerid, 461.500000, 427.437500, "GT");
  973.     PlayerTextDrawLetterSize(playerid, Textdraw[3][playerid], 0.449999, 1.600000);
  974.     PlayerTextDrawAlignment(playerid, Textdraw[3][playerid], 1);
  975.     PlayerTextDrawColor(playerid, Textdraw[3][playerid], -16776961);
  976.     PlayerTextDrawSetShadow(playerid, Textdraw[3][playerid], 0);
  977.     PlayerTextDrawSetOutline(playerid, Textdraw[3][playerid], 1);
  978.     PlayerTextDrawBackgroundColor(playerid, Textdraw[3][playerid], 255);
  979.     PlayerTextDrawFont(playerid, Textdraw[3][playerid], 2);
  980.     PlayerTextDrawSetProportional(playerid, Textdraw[3][playerid], 1);
  981.  
  982. }
  983. //==============================================================================
  984. stock SleptiTextdrawus(playerid)
  985. {
  986.     PlayerTextDrawHide(playerid, Textdraw[0][playerid]);
  987.     PlayerTextDrawHide(playerid, Textdraw[1][playerid]);
  988.     PlayerTextDrawHide(playerid, Textdraw[2][playerid]);
  989.     PlayerTextDrawHide(playerid, Textdraw[3][playerid]);
  990. }
  991. //==============================================================================
  992. stock GetPlayerSpeed(playerid)
  993. {
  994.     new Float:ST[4];
  995.     if(IsPlayerInAnyVehicle(playerid))
  996.     GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  997.     else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  998.     ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 200.25000;
  999.     return floatround(ST[3]);
  1000. }
  1001. //==============================================================================
  1002. //=============================== { TIMERIAI } =================================
  1003. task Greitis[100]()
  1004. {
  1005.     for(new i; i < MAX_PLAYERS; i++)
  1006.     {
  1007.         if (IsPlayerConnected(i))
  1008.        {
  1009.             if(IsPlayerInAnyVehicle(i))
  1010.             {
  1011.             new getInfo[100], Float:bukle;
  1012.             format(getInfo, 50, "GREITIS: ~b~~h~%i KM/H", GetPlayerSpeed(i));
  1013.             PlayerTextDrawSetString(i, Textdraw[1][i], getInfo);
  1014.             GetVehicleHealth(GetPlayerVehicleID(i), bukle);
  1015.             format(getInfo, 50, "BUKLE: ~y~%.0f", bukle/1);
  1016.             PlayerTextDrawSetString (i, Textdraw[2][i], getInfo);
  1017.             }
  1018.          }
  1019.     }
  1020. }
  1021. //==============================================================================
  1022. task TekstoValymas[7000](playerid)
  1023. {
  1024.     for(new i; i < MAX_PLAYERS; i++)
  1025.     {
  1026.         SendClientMessage(i, 0x999999FF, "");
  1027.     }
  1028.     return 1;
  1029. }
  1030. //==============================================================================
  1031. task Zaidimas[60000]()
  1032. {
  1033.     for(new p; p < MAX_PLAYERS; p++)
  1034.     {
  1035.         if (IsPlayerConnected(p))
  1036.         {
  1037.             playerData[p][pPrazaide] ++;
  1038.             SetPlayerScore(p,GetPlayerScore(p)+5);
  1039.             GivePlayerMoney(p, 50);
  1040.         }
  1041.         new XP[55] = {10,30,55,350,500,600,1000,1100,1250,1300,1400,1600,2000,2200,
  1042.         2500,2650,2700,3000,3500,3700,4100,4150,4200,4500,5000,5550,5600,6000,6125,6410,
  1043.         6700,8000,8125,8200,8250,8270,8350,8500,8600,9000,20000,21150,50000,80000,85000,
  1044.         150000,350000,500000,550000,1000000,1050000,1500000,2000000,3500000};
  1045.         for(new i = 0; i != sizeof(XP); i++)
  1046.         {
  1047.             if(GetPlayerScore(p) == XP[i])
  1048.             {
  1049.                 playerData[p][pLygis] ++;
  1050.                 playerData[p][pKreditai] ++;
  1051.                 SetPlayerScore(p,GetPlayerScore(p)+10);
  1052.                 new str[70];
  1053.                 format(str, 70, "[APDOVANOJIMAS]Pasiekėte %d lygį bei gavote 1 kreditą ir 10 XP", playerData[p][pLygis]);
  1054.                 SendClientMessage(p, AUKSINE, str);
  1055.         }
  1056.     }
  1057. }
  1058.     return 1;
  1059.  
  1060. }
  1061. //==============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement