Advertisement
Guest User

Tr valdymas krc

a guest
Jul 18th, 2014
490
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.55 KB | None | 0 0
  1. // TR VALDYMAS. BY SUPERGAMES NARYS `Tom.
  2.  
  3. #include <a_samp>
  4.  
  5.  
  6. // ŽEMIAU PATEIKTA KOMANDA DIRŽUI UŽSISEGTI (TIK SĖDINTIEMS NE VAIRUOTOJO VIETOJ)
  7. // KAD JI VEIKTU PRIVALOTE TURĖTI ZCMD INCLUDE BEI ĮSISTATYTI JĄ TARP SAVO KOMANDŲ.
  8. /*
  9.     CMD:dirzas(playerid, params[])
  10.     {
  11.         if(playerData[playerid][dirzai] == 0)
  12.         {
  13.             if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER )
  14.             {
  15.                 SendClientMessage(playerid, -1, "{E0F214}Bandote užsisegti diržą...");
  16.                 SetTimer("dirzui", 5000, false);
  17.             }
  18.         }
  19.         else
  20.         {
  21.             if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER )
  22.             playerData[playerid][dirzai] = 0;
  23.             SendClientMessage(playerid,-1,"{65F219}» Nusisegėte {ECFAE7}saugos diržą.");
  24.         }
  25.         return 1;
  26.     }
  27. */
  28.  
  29. #define TRVALDYMAS 10101
  30. #define TRVALDYMAS2 10102
  31. #define TRVALDYMAS3 10103
  32. #define TRVALDYMAS4 10104
  33. #define TRVALDYMAS5 10105
  34.  
  35. main()
  36. {
  37.     print("\n----------------------------------------");
  38.     print("------TRANSPORTO VALDYMAS SU Y RAIDE------");
  39.     print("----------------------------------------\n");
  40. }
  41. // enumas, tiesiog dirzo kintamasis
  42. enum _playerData
  43. {
  44.     dirzai
  45. };
  46. new playerData[MAX_PLAYERS][_playerData];
  47. // enumas, tiesiog dirzo kintamasis
  48.  
  49. // ------------ kintamieji masinos valdymui ----------------- //
  50. new engine, lights, alarm, doors, bonnet, boot, objective;
  51. new
  52.     Float:g_fSpeedCap[ MAX_PLAYERS ] = { 0.5, ... } // autopilotui
  53. ;
  54. new
  55.     bool:matuojamgreiti[ MAX_PLAYERS ] // autopilotui
  56. ;
  57. // ------------ kintamieji masinos valdymui ----------------- //
  58. public OnGameModeInit()
  59. {
  60.     // Don't use these lines if it's a filterscript
  61.     SetGameModeText("Blank Script");
  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.     return 1;
  69. }
  70.  
  71. public OnPlayerRequestClass(playerid, classid)
  72. {
  73.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  74.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  75.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  76.     return 1;
  77. }
  78.  
  79. public OnPlayerConnect(playerid)
  80. {
  81.     return 1;
  82. }
  83.  
  84. public OnPlayerDisconnect(playerid, reason)
  85. {
  86.     return 1;
  87. }
  88.  
  89. public OnPlayerSpawn(playerid)
  90. {
  91.     return 1;
  92. }
  93.  
  94. public OnPlayerDeath(playerid, killerid, reason)
  95. {
  96.     return 1;
  97. }
  98.  
  99. public OnVehicleSpawn(vehicleid)
  100. {
  101.     return 1;
  102. }
  103.  
  104. public OnVehicleDeath(vehicleid, killerid)
  105. {
  106.     return 1;
  107. }
  108.  
  109. public OnPlayerText(playerid, text[])
  110. {
  111.     return 1;
  112. }
  113.  
  114. public OnPlayerCommandText(playerid, cmdtext[])
  115. {
  116.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  117.     {
  118.         // Do something here
  119.         return 1;
  120.     }
  121.     return 0;
  122. }
  123.  
  124. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  125. {
  126.     return 1;
  127. }
  128.  
  129. public OnPlayerExitVehicle(playerid, vehicleid)
  130. {
  131.     return 1;
  132. }
  133.  
  134. public OnPlayerStateChange(playerid, newstate, oldstate)
  135. {
  136.     // TEKSTAS ĮLIPUS Į TR PRIEMONE KAIP VAIRUOTOJUI //
  137.     if(newstate == PLAYER_STATE_DRIVER )
  138.     {
  139.         SendClientMessage(playerid, -1, "{cccccc}[ {ff6600}! {cccccc}] Transporto valdymas paspaudus {ff6600}Y {cccccc}raidę." );
  140.     }
  141.     // TEKSTAS ĮLIPUS Į TR PRIEMONE KAIP KELEIVIUI //
  142.     if(newstate == PLAYER_STATE_PASSENGER)
  143.     {
  144.         SendClientMessage(playerid, -1, "{cccccc}[ {ff6600}! {cccccc}] Diržą užsisegti galite su komanda {ff6600}/dirzas" );
  145.     }
  146.     return 1;
  147. }
  148.  
  149. public OnPlayerEnterCheckpoint(playerid)
  150. {
  151.     return 1;
  152. }
  153.  
  154. public OnPlayerLeaveCheckpoint(playerid)
  155. {
  156.     return 1;
  157. }
  158.  
  159. public OnPlayerEnterRaceCheckpoint(playerid)
  160. {
  161.     return 1;
  162. }
  163.  
  164. public OnPlayerLeaveRaceCheckpoint(playerid)
  165. {
  166.     return 1;
  167. }
  168.  
  169. public OnRconCommand(cmd[])
  170. {
  171.     return 1;
  172. }
  173.  
  174. public OnPlayerRequestSpawn(playerid)
  175. {
  176.     return 1;
  177. }
  178.  
  179. public OnObjectMoved(objectid)
  180. {
  181.     return 1;
  182. }
  183.  
  184. public OnPlayerObjectMoved(playerid, objectid)
  185. {
  186.     return 1;
  187. }
  188.  
  189. public OnPlayerPickUpPickup(playerid, pickupid)
  190. {
  191.     return 1;
  192. }
  193.  
  194. public OnVehicleMod(playerid, vehicleid, componentid)
  195. {
  196.     return 1;
  197. }
  198.  
  199. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  200. {
  201.     return 1;
  202. }
  203.  
  204. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  205. {
  206.     return 1;
  207. }
  208.  
  209. public OnPlayerSelectedMenuRow(playerid, row)
  210. {
  211.     return 1;
  212. }
  213.  
  214. public OnPlayerExitedMenu(playerid)
  215. {
  216.     return 1;
  217. }
  218.  
  219. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  220. {
  221.     return 1;
  222. }
  223.  
  224. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  225. {
  226.     //***************** TR VALDYMAS **************//
  227.     if(newkeys & KEY_YES)
  228.     {
  229.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  230.         {
  231.             if(IsPlayerInAnyVehicle(playerid))
  232.             {
  233.             new msg[144];
  234.             format(msg,sizeof(msg), "{39F214}• {ffffff}Diržo valdymas\n{39F214}• {ffffff}Variklio valdymas\n{39F214}• {ffffff}Šviesų valdymas\n{39F214}• {ffffff}Ribotuvo valdymas");
  235.             ShowPlayerDialog(playerid, TRVALDYMAS, DIALOG_STYLE_LIST, "» Tr. valdymas", msg, "Rinktis", "Išeiti");
  236.             }
  237.         }
  238.     }
  239.     //***************** TR VALDYMAS **************//
  240.     return 1;
  241. }
  242.  
  243. public OnRconLoginAttempt(ip[], password[], success)
  244. {
  245.     return 1;
  246. }
  247.  
  248. public OnPlayerUpdate(playerid)
  249. {
  250.     // AUTO PILOTUI //
  251.     static
  252.         s_iVehicle
  253.     ;
  254.     if ( g_fSpeedCap[ playerid ] != 0.0 && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
  255.     {
  256.         s_iVehicle = GetPlayerVehicleID( playerid );
  257.         if ( s_iVehicle )
  258.     {
  259.     static
  260.         Float:s_fX,
  261.         Float:s_fY,
  262.         Float:s_fZ,
  263.         Float:s_fVX,
  264.         Float:s_fVY,
  265.         Float:s_fVZ
  266.     ;
  267.     GetVehiclePos( s_iVehicle, s_fX, s_fY, s_fZ );
  268.     GetVehicleVelocity( s_iVehicle, s_fVX, s_fVY, s_fVZ );
  269.     if ( !IsPlayerInRangeOfPoint( playerid, g_fSpeedCap[ playerid ] + 0.05, s_fX + s_fVX, s_fY + s_fVY, s_fZ + s_fVZ ) )
  270.     {
  271.     static
  272.         Float:s_fLength
  273.     ;
  274.     s_fLength = floatsqroot( ( s_fVX * s_fVX ) + ( s_fVY * s_fVY ) + ( s_fVZ * s_fVZ ) );
  275.     s_fVX = ( s_fVX / s_fLength ) * g_fSpeedCap[ playerid ];
  276.     s_fVY = ( s_fVY / s_fLength ) * g_fSpeedCap[ playerid ];
  277.     s_fVZ = ( s_fVZ / s_fLength ) * g_fSpeedCap[ playerid ];
  278.     if ( s_iVehicle )
  279.     SetVehicleVelocity( s_iVehicle, s_fVX, s_fVY, s_fVZ );
  280.     else
  281.     SetPlayerVelocity( playerid, s_fVX, s_fVY, s_fVZ );
  282.     }
  283. }
  284. }
  285.     // AUTO PILOTUI //
  286.     return 1;
  287. }
  288.  
  289. public OnPlayerStreamIn(playerid, forplayerid)
  290. {
  291.     return 1;
  292. }
  293.  
  294. public OnPlayerStreamOut(playerid, forplayerid)
  295. {
  296.     return 1;
  297. }
  298.  
  299. public OnVehicleStreamIn(vehicleid, forplayerid)
  300. {
  301.     return 1;
  302. }
  303.  
  304. public OnVehicleStreamOut(vehicleid, forplayerid)
  305. {
  306.     return 1;
  307. }
  308.  
  309. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  310. {
  311.     if(dialogid == TRVALDYMAS)
  312.     {
  313.         if(response)
  314.         {
  315.             if(listitem == 0)
  316.             {
  317.                 ShowPlayerDialog(playerid, TRVALDYMAS2, DIALOG_STYLE_LIST, "» Diržo valdymas", "{39F214}» {ffffff}Užsisegti diržą\n{39F214}» {ffffff}Nusisegti diržą", "Rinktis", "Atgal");
  318.             }
  319.             if(listitem == 1)
  320.             {
  321.                 ShowPlayerDialog(playerid, TRVALDYMAS3, DIALOG_STYLE_LIST, "» Variklio valdymas", "{39F214}» {ffffff}Užvesti variklį\n{39F214}» {ffffff}Užgesinti variklį", "Rinktis", "Atgal");
  322.             }
  323.             if(listitem == 2)
  324.             {
  325.                 ShowPlayerDialog(playerid, TRVALDYMAS4, DIALOG_STYLE_LIST, "» Šviesų valdymas", "{39F214}» {ffffff}Įjungti šviesas\n{39F214}» {ffffff}Išjungti šviesas", "Rinktis", "Atgal");
  326.             }
  327.             if(listitem == 3)
  328.             {
  329.                 ShowPlayerDialog(playerid, TRVALDYMAS5, DIALOG_STYLE_LIST, "» Ribotuvo valdymas", "{39F214}» {ffffff}Įjungti ribotuvą\n{39F214}» {ffffff}Išjungti ribotuvą", "Rinktis", "Atgal");
  330.             }
  331.         }
  332.         return 1;
  333.     }
  334.     if(dialogid == TRVALDYMAS5)
  335.     {
  336.         if ( ! response )
  337.         {
  338.             new msg[144];
  339.             format(msg,sizeof(msg), "{39F214}• {ffffff}Diržo valdymas\n{39F214}• {ffffff}Variklio valdymas\n{39F214}• {ffffff}Šviesų valdymas\n{39F214}• {ffffff}Ribotuvo valdymas");
  340.             ShowPlayerDialog(playerid, TRVALDYMAS, DIALOG_STYLE_LIST, "» Tr. valdymas", msg, "Rinktis", "Išeiti");
  341.         }
  342.         if (response)
  343.         {
  344.             if (listitem == 0)
  345.             {
  346.                 if(matuojamgreiti [playerid] == true) return SendClientMessage(playerid, -1, "{ff0000}• Ribotuvas ir taip įjungtas!");
  347.                 if( matuojamgreiti [playerid] == false)
  348.                 {
  349.                     matuojamgreiti[playerid] = true;
  350.                     SetPlayerSpeedCap(playerid, 0.5);
  351.                     SendClientMessage(playerid,-1,"{65F219}» Įjungėte {ECFAE7}ribotuvą (maksimalus greitis iki {65F219}120km/h{ECFAE7}).");
  352.                 }
  353.             }
  354.             if(listitem == 1)
  355.             {
  356.                 if( matuojamgreiti [playerid] == false) return SendClientMessage(playerid, -1, "{ff0000}• Ribotuvas ir taip išjungtas!");
  357.                 if(matuojamgreiti[playerid] == true)
  358.                 {
  359.                     matuojamgreiti[playerid] = false;
  360.                     DisablePlayerSpeedCap( playerid );
  361.                     SendClientMessage(playerid,-1, "{65F219}» Išjungėte {ECFAE7}ribovutą (maksimalus greitis - mašinos greitis).");
  362.                 }
  363.             }
  364.         }
  365.         return 1;
  366.     }
  367.     if(dialogid == TRVALDYMAS4)
  368.     {
  369.         new vid = GetPlayerVehicleID(playerid);
  370.         GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
  371.         if ( ! response )
  372.         {
  373.             new msg[144];
  374.             format(msg,sizeof(msg), "{39F214}• {ffffff}Diržo valdymas\n{39F214}• {ffffff}Variklio valdymas\n{39F214}• {ffffff}Šviesų valdymas\n{39F214}• {ffffff}Ribotuvo valdymas");
  375.             ShowPlayerDialog(playerid, TRVALDYMAS, DIALOG_STYLE_LIST, "» Tr. valdymas", msg, "Rinktis", "Išeiti");
  376.         }
  377.         if (response)
  378.         {
  379.             if(listitem == 0)
  380.             {
  381.                 if(lights == 1) return SendClientMessage(playerid, -1, "{ff0000}• Transporto šviesos ir taip įjungtos!");
  382.                 SetVehicleParamsEx(vid,engine,1,alarm,doors,bonnet,boot,objective);
  383.                 SendClientMessage(playerid,-1,"{65F219}» Įjungėte {ECFAE7}transporto šviesas.");
  384.                 lights = 1;
  385.             }
  386.             if(listitem == 1)
  387.             {
  388.                 if(lights == -1||lights == 0) SendClientMessage(playerid, -1, "{ff0000}• Transporto šviesos ir taip išjungtos!");
  389.                 SetVehicleParamsEx(vid,engine,0,alarm,doors,bonnet,boot,objective);
  390.                 SendClientMessage(playerid,-1,"{65F219}» Išjungėte {ECFAE7}transporto šviesas.");
  391.                 lights = 0;
  392.             }
  393.         }
  394.         return 1;
  395.     }
  396.     if(dialogid == TRVALDYMAS3)
  397.     {
  398.         new vid = GetPlayerVehicleID(playerid);
  399.         GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
  400.         if ( ! response )
  401.         {
  402.             new msg[144];
  403.             format(msg,sizeof(msg), "{39F214}• {ffffff}Diržo valdymas\n{39F214}• {ffffff}Variklio valdymas\n{39F214}• {ffffff}Šviesų valdymas\n{39F214}• {ffffff}Ribotuvo valdymas");
  404.             ShowPlayerDialog(playerid, TRVALDYMAS, DIALOG_STYLE_LIST, "» Tr. valdymas", msg, "Rinktis", "Išeiti");
  405.         }
  406.         if(response)
  407.         {
  408.             if(listitem == 0)
  409.             {
  410.                 if(engine == 1) return SendClientMessage(playerid, -1, "{ff0000}• Transporto variklis ir taip užvestas!");
  411.                 if(engine == -1||engine == 0)
  412.                 {
  413.                     SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);
  414.                     SendClientMessage(playerid,-1,"{65F219}» Užvedėte {ECFAE7}transporto variklį.");
  415.                 }
  416.             }
  417.             if(listitem == 1)
  418.             {
  419.                 if(engine == -1||engine == 0) return SendClientMessage(playerid, -1, "{ff0000}• Transporto variklis ir taip užgesintas!");
  420.                 if(engine == 1)
  421.                 {
  422.                     SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
  423.                     SendClientMessage(playerid,-1,"{65F219}» Užgesinote {ECFAE7}transporto variklį.");
  424.                 }
  425.             }
  426.         }
  427.         return 1;
  428.     }
  429.     if(dialogid == TRVALDYMAS2)
  430.     {
  431.         if ( ! response )
  432.         {
  433.             new msg[144];
  434.             format(msg,sizeof(msg), "{39F214}• {ffffff}Diržo valdymas\n{39F214}• {ffffff}Variklio valdymas\n{39F214}• {ffffff}Šviesų valdymas\n{39F214}• {ffffff}Ribotuvo valdymas");
  435.             ShowPlayerDialog(playerid, TRVALDYMAS, DIALOG_STYLE_LIST, "» Tr. valdymas", msg, "Rinktis", "Išeiti");
  436.         }
  437.         if (response)
  438.         {
  439.             if(listitem == 0)
  440.             {
  441.                 if(playerData[playerid][dirzai] == 1) return SendClientMessage(playerid, -1, "{ff0000}• Jūs jau esate užsisegęs diržą!");
  442.                 SendClientMessage(playerid, -1, "{E0F214}Bandote užsisegti diržą...");
  443.                 SetTimer("dirzui", 5000, false);
  444.             }
  445.             if(listitem == 1)
  446.             {
  447.                 if(playerData[playerid][dirzai] == 0) return SendClientMessage(playerid, -1, "{ff0000}• Jūs jau esate nusisegęs diržą!");
  448.                 playerData[playerid][dirzai] = 0;
  449.                 SendClientMessage(playerid,-1,"{65F219}» Nusisegėte {ECFAE7}saugos diržą.");
  450.                 return 1;
  451.             }
  452.         }
  453.         return 1;
  454.     }
  455.     return 1;
  456. }
  457.  
  458. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  459. {
  460.     return 1;
  461. }
  462.  
  463. // AUTOPILOTUI //
  464. forward SetPlayerSpeedCap (playerid, Float:value );
  465. public SetPlayerSpeedCap( playerid, Float:value )
  466. {
  467.     if ( 0 <= playerid < sizeof( g_fSpeedCap ) )
  468.         g_fSpeedCap[ playerid ] = value;
  469. }
  470. forward DisablePlayerSpeedCap (playerid);
  471. public DisablePlayerSpeedCap( playerid )
  472. {
  473.     if ( 0 <= playerid < sizeof( g_fSpeedCap ) )
  474.         g_fSpeedCap[ playerid ] = 0.0;
  475. }
  476. // AUTOPILOTUI //
  477.  
  478. // BANDOM UZSISEGT DIRZA //
  479. forward dirzui(playerid);
  480. public dirzui(playerid)
  481. {
  482.     for(new i=0;i<MAX_PLAYERS;i++)
  483.     {
  484.         new vehicleid = GetPlayerVehicleID(i);
  485.         if( MasinosGreitis( vehicleid ) > 30) return SendClientMessage(i,-1, "{ff0000}• Jūs važiavote per greitai, todėl diržo neužsisegėte!");
  486.         {
  487.             if(playerData[i][dirzai] == 0)
  488.             {
  489.                 playerData[i][dirzai] = 1;
  490.                 SendClientMessage(i,-1,"{65F219}» Užsisegėte {ECFAE7}saugos diržą.");
  491.                 return 1;
  492.             }
  493.         }
  494.     }  
  495.     return 1;
  496. }
  497. // BANDOM UZSISEGT DIRZA //
  498.  
  499. // MASINOS GREICIUI ISGAUTI //
  500. stock MasinosGreitis( vehicleid )
  501. {
  502.     new Float: VehicleVelocity[ 3 ];
  503.     GetVehicleVelocity( vehicleid, VehicleVelocity[ 0 ], VehicleVelocity[ 1 ], VehicleVelocity[ 2 ] );
  504.     return floatround( floatsqroot( floatpower( VehicleVelocity[ 0 ], 2 ) + floatpower( VehicleVelocity[ 1 ], 2 ) + floatpower( VehicleVelocity[ 2 ], 2 ) ) * 200 );
  505. }
  506. // MASINOS GREICIUI ISGAUTI //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement