Advertisement
Guest User

Car Crusher

a guest
Mar 19th, 2015
1,372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.00 KB | None | 0 0
  1. #define     FILTERSCRIPT
  2. #include    <a_samp>
  3. #include    <streamer>
  4. #define     MOVE_SPEED      (0.01)
  5.  
  6. new
  7.     ContainerObject,
  8.     ContainerDoors[2],
  9.     ContainerCheckpoint,
  10.     Text3D: StatusLabel,
  11.     CrusherStage,
  12.     CrusherVehID = INVALID_VEHICLE_ID;
  13.  
  14. new
  15.     WantedModels[] = {470, 468, 409, 533, 534, 402, 405, 411, 483, 445, 535, 496, 580, 475, 521, 415, 489, 439, 514, 480, 536, 463, 500, 477, 587, 429, 506, 508, 579, 424};
  16.  
  17. stock IsVehicleWanted(vehicleid)
  18. {
  19.     new model = GetVehicleModel(vehicleid);
  20.     for(new i; i < sizeof(WantedModels); ++i)
  21.     {
  22.         if(WantedModels[i] == model) return 1;
  23.     }
  24.    
  25.     return 0;
  26. }
  27.  
  28. public OnFilterScriptInit()
  29. {
  30.     ContainerObject = CreateDynamicObject(19321, 2098.69946, -1988.17786, 14.01000, 0.00000, 0.00000, 136.00000);
  31.     ContainerDoors[0] = CreateDynamicObject(3062, 2102.26611, -1986.72510, 13.94830, 0.00000, 0.00000, 0.00000);
  32.     ContainerDoors[1] = CreateDynamicObject(3062, 2100.02051, -1984.51746, 13.94830, 0.00000, 0.00000, -260.5230);
  33.     StatusLabel = CreateDynamic3DTextLabel("Crusher Status:\n{2ECC71}Available", 0xFFFFFFFF, 2102.6682, -1983.9194, 13.5463, 25.0, .testlos = 1);
  34.     ContainerCheckpoint = CreateDynamicCP(2098.5313, -1988.2269, 12.7, 2.0);
  35.     return 1;
  36. }
  37.  
  38. public OnFilterScriptExit()
  39. {
  40.     DestroyDynamicObject(ContainerObject);
  41.     DestroyDynamicObject(ContainerDoors[0]);
  42.     DestroyDynamicObject(ContainerDoors[1]);
  43.     DestroyDynamic3DTextLabel(StatusLabel);
  44.     DestroyDynamicCP(ContainerCheckpoint);
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerConnect(playerid)
  49. {
  50.     RemoveBuildingForPlayer(playerid, 3723, 2100.7031, -1989.3984, 16.8672, 0.25);
  51.     RemoveBuildingForPlayer(playerid, 3722, 2100.7031, -1989.3984, 16.8672, 0.25);
  52.     return 1;
  53. }
  54.  
  55. public OnPlayerEnterDynamicCP(playerid, checkpointid)
  56. {
  57.     if(checkpointid == ContainerCheckpoint)
  58.     {
  59.         if(GetPVarInt(playerid, "CrusherCooldown")-tickcount() > 110000) return 1;
  60.         if(GetPVarInt(playerid, "CrusherCooldown") > tickcount()) return SendClientMessage(playerid, 0xE74C3CFF, "Please wait to use the crusher again.");
  61.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xE74C3CFF, "Umm... Where's the vehicle?");
  62.         if(CrusherStage > 0) return SendClientMessage(playerid, 0xE74C3CFF, "Crusher is already in use.");
  63.         if(!IsVehicleWanted(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, 0xE74C3CFF, "Sorry, I don't want this model.");
  64.         UpdateDynamic3DTextLabelText(StatusLabel, 0xFFFFFFFF, "Crusher Status:\n{E74C3C}Not Available");
  65.         CrusherStage = 1;
  66.         CrusherVehID = GetPlayerVehicleID(playerid);
  67.         SetPlayerPos(playerid, 2102.6682, -1983.9194, 13.5463);
  68.         SetPlayerFacingAngle(playerid, 136.0);
  69.         SetPVarInt(playerid, "CrusherCooldown", tickcount()+120000);
  70.         new money = random(7500), string[64];
  71.         format(string, sizeof(string), "~n~~r~~h~~h~Thanks for doing business!~n~Earned ~g~~h~~h~$%d!", money);
  72.         GameTextForPlayer(playerid, string, 5000, 3);
  73.         GivePlayerMoney(playerid, money);
  74.         MoveDynamicObject(ContainerDoors[0], 2102.26611+0.025, -1986.72510, 13.94830, MOVE_SPEED, 0.00000, 0.00000, 136.00000);
  75.         MoveDynamicObject(ContainerDoors[1], 2100.02051+0.025, -1984.51746, 13.94830, MOVE_SPEED, 0.00000, 0.00000, -43.5523);
  76.     }
  77.    
  78.     return 1;
  79. }
  80.  
  81. public OnDynamicObjectMoved(objectid)
  82. {
  83.     if(objectid == ContainerDoors[0])
  84.     {
  85.         switch(CrusherStage)
  86.         {
  87.             case 1:
  88.             {
  89.                 CrusherStage = 2;
  90.                 SetVehicleToRespawn(CrusherVehID);
  91.                 CrusherVehID = INVALID_VEHICLE_ID;
  92.                 SetTimer("OpenDoors", 13000, false);
  93.             }
  94.            
  95.             case 2:
  96.             {
  97.                 UpdateDynamic3DTextLabelText(StatusLabel, 0xFFFFFFFF, "Crusher Status:\n{2ECC71}Available");
  98.                 CrusherStage = 0;
  99.             }
  100.         }
  101.     }
  102.    
  103.     return 1;
  104. }
  105.  
  106. forward OpenDoors();
  107. public OpenDoors()
  108. {
  109.     MoveDynamicObject(ContainerDoors[0], 2102.26611-0.025, -1986.72510, 13.94830, MOVE_SPEED, 0.00000, 0.00000, 0.00000);
  110.     MoveDynamicObject(ContainerDoors[1], 2100.02051-0.025, -1984.51746, 13.94830, MOVE_SPEED, 0.00000, 0.00000, -260.5230);
  111.     return 1;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement