SHARE
TWEET

[FS] Carrinha Das Motas

Chip7 May 24th, 2012 137 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Sente-te livre para editares
  2. // Mantem apenas os meus creditos.
  3. // VISITE NOSSO SITE: http://www.sampknd.com/
  4. // SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  5.  
  6. #include <a_samp>
  7.  
  8. new GetIn[MAX_PLAYERS], InteriorTruck[9], slot = 0;
  9. new van;
  10.  
  11. forward Float:GetDistanceBetweenVehicles(vehicleid,carid);
  12. forward Float:GetDistBetweenVehiclePlayer(v1, p2);
  13.  
  14. public OnFilterScriptInit()
  15. {
  16.         print("\n--------------------------------------");
  17.         print(" Carrinha das Motas por -> StreetGT <-");
  18.         print("--------------------------------------\n");
  19.         van = AddStaticVehicleEx(498,740.5068,-1332.7472,14.1702,269.5034,6,6,-1); // Mechanics Van
  20.         InteriorTruck[0]= CreateObject(11292, 2081.333496, -1375.118530, 300.764832, 0.0000, 0.0000, 0.0000);
  21.     InteriorTruck[1]= CreateObject(974, 2077.989258, -1376.559937, 300.831085, 0.0000, 0.0000, 0.0000);
  22.     InteriorTruck[2]= CreateObject(974, 2077.123047, -1374.362671, 300.655640, 0.0000, 0.0000, 270.0000);
  23.     InteriorTruck[3]= CreateObject(974, 2078.161133, -1373.030640, 300.330536, 0.0000, 0.0000, 0.0000);
  24.     InteriorTruck[4]= CreateObject(2395, 2080.772949, -1376.560547, 299.490601, 0.0000, 0.0000, 180.0000);
  25.     InteriorTruck[5]= CreateObject(1533, 2085.592773, -1373.328857, 299.552917, 0.0000, 0.0000, 270.0000);
  26.     InteriorTruck[6]= CreateObject(1533, 2085.569824, -1374.802246, 299.539307, 0.0000, 0.0000, 270.0000);
  27.     InteriorTruck[7]= CreateObject(1754, 2083.981445, -1373.538574, 299.553741, 0.0000, 0.0000, 0.0000);
  28.     InteriorTruck[8]= CreateObject(1754, 2083.128906, -1373.539063, 299.553741, 0.0000, 0.0000, 0.0000);
  29.         return 1;
  30. }
  31.  
  32. public OnFilterScriptExit()
  33. {
  34.         return 1;
  35. }
  36.  
  37. main()
  38. {
  39.         print("\n----------------------------------");
  40.         print(" Carrinha das Motas por StreetGT");
  41.         print(" Aproveita!");
  42.         print("----------------------------------\n");
  43. }
  44.  
  45.  
  46. public OnPlayerConnect(playerid)
  47. {
  48.     GetIn[playerid] = 0;
  49.         return 1;
  50. }
  51.  
  52. public OnPlayerDisconnect(playerid, reason)
  53. {
  54.         return 1;
  55. }
  56.  
  57. public OnPlayerSpawn(playerid)
  58. {
  59.         return 1;
  60. }
  61.  
  62. public OnPlayerDeath(playerid, killerid, reason)
  63. {
  64.         return 1;
  65. }
  66.  
  67. public OnVehicleSpawn(vehicleid)
  68. {
  69.         return 1;
  70. }
  71.  
  72. public OnVehicleDeath(vehicleid, killerid)
  73. {
  74.         return 1;
  75. }
  76.  
  77. public OnPlayerText(playerid, text[])
  78. {
  79.         return 1;
  80. }
  81.  
  82. public OnPlayerCommandText(playerid, cmdtext[])
  83. {
  84.         if(strcmp(cmdtext, "/descarregar", true) == 0)
  85.     {
  86.         if(IsPlayerConnected(playerid))
  87.         {
  88.             if(GetPlayerVehicleID(playerid) == van)
  89.             {
  90.                 if(slot == 0) return SendClientMessage(playerid, -1, "Não existe motas dentro da carrinha.");
  91.                         Descarregar();
  92.                         }
  93.                         else SendClientMessage(playerid, -1, "Tu não estás a conduzir a carrinha das motas!");
  94.                 }
  95.         }
  96.         return 0;
  97. }
  98.  
  99. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  100. {
  101.         return 1;
  102. }
  103.  
  104. public OnPlayerExitVehicle(playerid, vehicleid)
  105. {
  106.         return 1;
  107. }
  108.  
  109. public OnPlayerStateChange(playerid, newstate, oldstate)
  110. {
  111.         return 1;
  112. }
  113.  
  114. public OnPlayerEnterCheckpoint(playerid)
  115. {
  116.         return 1;
  117. }
  118.  
  119. public OnPlayerLeaveCheckpoint(playerid)
  120. {
  121.         return 1;
  122. }
  123.  
  124. public OnPlayerEnterRaceCheckpoint(playerid)
  125. {
  126.         return 1;
  127. }
  128.  
  129. public OnPlayerLeaveRaceCheckpoint(playerid)
  130. {
  131.         return 1;
  132. }
  133.  
  134. public OnRconCommand(cmd[])
  135. {
  136.         return 1;
  137. }
  138.  
  139. public OnPlayerRequestSpawn(playerid)
  140. {
  141.         return 1;
  142. }
  143.  
  144. public OnObjectMoved(objectid)
  145. {
  146.         return 1;
  147. }
  148.  
  149. public OnPlayerObjectMoved(playerid, objectid)
  150. {
  151.         return 1;
  152. }
  153.  
  154. public OnPlayerPickUpPickup(playerid, pickupid)
  155. {
  156.         return 1;
  157. }
  158.  
  159. public OnVehicleMod(playerid, vehicleid, componentid)
  160. {
  161.         return 1;
  162. }
  163.  
  164. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  165. {
  166.         return 1;
  167. }
  168.  
  169. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  170. {
  171.         return 1;
  172. }
  173.  
  174. public OnPlayerSelectedMenuRow(playerid, row)
  175. {
  176.         return 1;
  177. }
  178.  
  179. public OnPlayerExitedMenu(playerid)
  180. {
  181.         return 1;
  182. }
  183.  
  184. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  185. {
  186.         return 1;
  187. }
  188.  
  189. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  190. {
  191.     if(newkeys & KEY_YES)
  192.         {
  193.         if(GetDistBetweenVehiclePlayer(van,playerid) <= 3 || IsPlayerInRangeOfPoint(playerid,3.0, 2084.6538,-1374.2390,300.5588))
  194.             {
  195.                GetInto(playerid);
  196.                 }
  197.         }
  198.         if ((newkeys==KEY_ACTION) && (IsPlayerInAnyVehicle(playerid)) && (GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
  199.         {
  200.             if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 498)
  201.             {
  202.                 new vid = GetClosestVehicle(playerid);
  203.                         if(IsABike(vid))
  204.                         {
  205.                             if(!IsVehicleInUse(vid))
  206.                             {
  207.                                 if(slot == 0)
  208.                                         {
  209.                                                 SetVehiclePos(vid,2077.8936,-1375.0763,300.154);
  210.                                                 SetVehicleZAngle(vid,183.4);
  211.                                                 slot++;
  212.                                         }
  213.                                         else if(slot == 1)
  214.                                         {
  215.                                                 SetVehiclePos(vid,2078.9941,-1375.0520,300.1554);
  216.                                                 SetVehicleZAngle(vid,183.4);
  217.                                                 slot++;
  218.                                         }
  219.                                         else if(slot == 2)
  220.                                         {
  221.                                                 SetVehiclePos(vid,2079.8987,-1375.0085,300.1540);
  222.                                                 SetVehicleZAngle(vid,183.4);
  223.                                                 slot++;
  224.                                         }
  225.                                         else if(slot == 3)
  226.                                         {
  227.                                                 SetVehiclePos(vid,2081.0239,-1374.8945,300.1557);
  228.                                                 SetVehicleZAngle(vid,183.4);
  229.                                                 slot++;
  230.                                         }
  231.                                         else return SendClientMessage(playerid,-1,"A carrinha das motas já se encontra cheia!");
  232.                                 if(slot >=0 && slot <= 4 ) { LinkVehicleToInterior(vid,1), SendClientMessage(playerid,0x33CCFFAA,"Veículo rebocado para o interior!"); }
  233.                                 }
  234.                                 else SendClientMessage(playerid, -1,"Este veículo não está desocupado!");
  235.                         }
  236.                         else SendClientMessage(playerid, -1,"Este veículo não é uma mota!");
  237.                 }
  238.         }
  239.         return 1;
  240. }
  241.  
  242. public OnRconLoginAttempt(ip[], password[], success)
  243. {
  244.         return 1;
  245. }
  246.  
  247. public OnPlayerUpdate(playerid)
  248. {
  249.         return 1;
  250. }
  251.  
  252. stock GetInto(playerid)
  253. {
  254.     if(IsPlayerConnected(playerid))
  255.     {
  256.         if(IsPlayerInAnyVehicle(playerid)) return 1;
  257.             if(GetIn[playerid] == 0)
  258.             {
  259.                 if(GetDistBetweenVehiclePlayer(van,playerid) <= 3)
  260.                 {
  261.                     GetIn[playerid] = 1;
  262.                     SetPlayerPos(playerid, 2084.479980, -1374.825928, 300.628052);
  263.                         SetPlayerFacingAngle(playerid, 0);
  264.                         SetCameraBehindPlayer(playerid);
  265.                         SetPlayerInterior(playerid, 1);
  266.                         }
  267.                 }
  268.                 else if(GetIn[playerid] == 1)
  269.                 {
  270.                     if(IsPlayerInRangeOfPoint(playerid,3.0, 2084.6538,-1374.2390,300.5588))
  271.                     {
  272.                         GetIn[playerid] = 0;
  273.                         new Float:X, Float:Y, Float:Z;
  274.                                 GetVehiclePos(van, X, Y, Z);
  275.                                 SetPlayerPos(playerid, X+4, Y, Z);
  276.                                 SetPlayerInterior(playerid, 0);
  277.                         }
  278.                 }
  279.     }
  280.     return 1;
  281. }
  282.  
  283. Descarregar()
  284. {
  285.         for(new v = 0; v < MAX_VEHICLES; v++)
  286.         {
  287.             if(VehicleToPoint(20.0, v, 2084.479980, -1374.825928, 300.628052))
  288.             {
  289.                 new Float:X, Float:Y, Float:Z;
  290.                         GetVehiclePos(van, X, Y, Z);
  291.                         SetVehiclePos(v, X+5, Y, Z);
  292.                         LinkVehicleToInterior(v,0);
  293.                         slot = 0;
  294.                 }
  295.         }
  296.         return 1;
  297. }
  298.  
  299. public Float:GetDistBetweenVehiclePlayer(v1, p2)
  300. {
  301.         new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  302.         if(!IsPlayerConnected(p2))
  303.         {
  304.                 return -1.00;
  305.         }
  306.         GetVehiclePos(v1,x1,y1,z1);
  307.         GetPlayerPos(p2,x2,y2,z2);
  308.         return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  309. }
  310.  
  311.  
  312. VehicleToPoint(Float:radi, vehicleid, Float:x, Float:y, Float:z)
  313. {
  314.         new Float:oldposx, Float:oldposy, Float:oldposz;
  315.         new Float:tempposx, Float:tempposy, Float:tempposz;
  316.         GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
  317.         tempposx = (oldposx -x);
  318.         tempposy = (oldposy -y);
  319.         tempposz = (oldposz -z);
  320.         if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  321.         {
  322.                 return 1;
  323.         }
  324.         return 0;
  325. }
  326.  
  327. forward GetClosestVehicle(playerid);
  328. public GetClosestVehicle(playerid)
  329. {
  330.     new x,Float:dis,Float:dis2,car;
  331.     car = 0;
  332.     dis = 99999.99;
  333.     for ( x = 0; x < MAX_VEHICLES; x++ )
  334.     {
  335.         dis2 = GetDistBetweenVehiclePlayer(x,playerid);
  336.         if((dis2 < dis && dis2 < 8.0) && GetPlayerVehicleID(playerid) != x)
  337.         {
  338.             dis = dis2;
  339.             car = x;
  340.         }
  341.     }
  342.     return car;
  343. }
  344.  
  345. stock IsABike(carid)
  346. {
  347.         new id = GetVehicleModel(carid);
  348.         if(id==448 || id==581 || id==522 || id==461 || id==463 || id==521 || id==523 || id==586|| id==468 || id==471 )
  349.         {
  350.                 return 1;
  351.         }
  352.         return 0;
  353. }
  354.  
  355.  
  356. stock IsVehicleInUse(vehicleid)
  357. {
  358.         new temp;
  359.         for(new i=0;i<GetMaxPlayers();i++)
  360.         {
  361.                 if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i)==PLAYER_STATE_DRIVER) { temp++; }
  362.         }
  363.         if(temp > 0)
  364.         {
  365.                 return true;
  366.         }
  367.         else return false;
  368. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top