Guest User

SPU [Special Police Units] [v4.0]

a guest
Jan 23rd, 2011
5,076
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 37.14 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. /*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  4. /*\\\\\\\\\\\Script made by Geso\\\\\\\\\\\*/
  5. /*http://forum.sa-mp.com/member.php?u=76396*/
  6. /*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  7.  
  8. //#define POLICE_USE //uncomment if you want only police to use it.
  9. //#define ADMIN_USE //uncomment if you want only admins to use it.
  10.  
  11. /*
  12. AddSPU(spuid, Float:x, Float:y, Float:z, Float:rotation, color1, color2, lightonoroff) //lightonoroff: 1 = on, 0 = off.
  13.  
  14. You can use this function to create SPU's without using the dialog, i.e. in OnFilterScriptInit.
  15. SPU-id stands for the type you need:
  16. 1  --- Sultan with lamp on dashboard.
  17. 2  --- Sultan with lamp on roof.
  18. 3  --- Cheetah with lamp on dashboard.
  19. 4  --- Cheetah with lamp on roof.
  20. 5  --- Washington with lamp on dashboard.
  21. 6  --- Washington with lamp on roof.
  22. 7  --- Premier with lamp on dashboard.
  23. 8  --- Premier with lamp on roof.
  24. 9  --- Huntley with lamp on dashboard.
  25. 10 --- Huntley with lamp on roof.
  26. 11 --- Buffalo with lamp on dashboard.
  27. 12 --- Buffalo with lamp on roof.
  28. 13 --- LSPD with lamp on dashboard.
  29. 14 --- LSPD with lamp on roof.
  30. 15 --- SFPD with lamp on dashboard.
  31. 16 --- SFPD with lamp on roof.
  32. 17 --- LVPD with lamp on dashboard.
  33. 18 --- LVPD with lamp on roof.
  34. 19 --- FireTruck
  35. 20 --- FBI-Truck
  36. 21 --- Towtruck
  37. 22 --- Stretch with lamp on dashboard.
  38. 23 --- Stretch with lamp on roof.
  39. 24 --- PCJ-600
  40. 25 --- FCR-900
  41. 26 --- Wayfarer
  42. 27 --- Super GT
  43. 28 --- Burrito with lamp on dashboard.
  44. 29 --- Burrito with lamp on roof.
  45. 30 --- BF Injection
  46. 31 --- Patriot
  47. 32 --- Barracks
  48. 33 --- Rhino
  49. */
  50.  
  51. #define COLOR_RED 0xAA3333AA
  52.  
  53. #define DIALOG1_MSG "Sultan [dashboard]\nSultan [roof]\nCheetah [dashboard]\nCheetah [roof]\nWashington [dashboard]\nWashington [roof]\nPremier [dashboard]\nPremier [roof]\nHuntley [dashboard]\nHuntley [roof]\nMore"
  54. #define DIALOG2_MSG "Buffalo [dashboard]\nBuffalo [roof]\nLSPD Cruiser[dashboard]\nLSPD Cruiser[roof]\nSFPD Cruiser[dashboard]\nSFPD Cruiser[roof]\nLVPD Cruiser[dashboard]\nLVPD Cruiser[roof]\nFiretruck\nFBI Truck \nMore"
  55. #define DIALOG3_MSG "Tow Truck\nStretch [dashboard]\nStretch [roof]\nPCJ-600\nFCR-900\nWayfarer\nSuper GT\nBurrito [dashboard]\nBurrito [roof]\nBF Injection\nPatriot\nBarracks\nRhino"
  56.  
  57. new IsSpu[MAX_VEHICLES] = 0;
  58. new Lamp[MAX_VEHICLES] = 0;
  59. new light[MAX_VEHICLES];
  60.  
  61. enum Coords
  62. {
  63.     SPU,
  64.     VehicleID,
  65.     Float:X,
  66.     Float:Y,
  67.     Float:Z,
  68. };
  69.  
  70. new Offsets[33][Coords] = {
  71.     {1, 560, 0.398071289,0.75390625,0.43879509},
  72.     {2, 560, -0.35644531250, 0.0388183593, 0.863788605},
  73.     {3, 415, 0.409729004, 0.526367188, 0.206963539},
  74.     {4, 415, -0.290039062, -0.284179688, 0.631957054},
  75.     {5, 421, 0.421691895, 0.804931641, 0.256482124},
  76.     {6, 421, -0.323303223, 0.0207519532, 0.731482506},
  77.     {7, 426, 0.575378418, 0.786132812, 0.361483574},
  78.     {8, 426, -0.455505371, -0.143066406, 0.861475945},
  79.     {9, 579, 0.454345703, 0.575683594, 0.645122528},
  80.     {10, 579, -0.442626953, -0.269042969, 1.27014542},
  81.     {11, 402, 0.53515625, 0.562988281, 0.278743744},
  82.     {12, 402, -0.412841797, -0.474365234, 0.778804779},
  83.     {13, 596, 0.53515625, 0.771728516, 0.373809814},
  84.     {14, 596, -0.0048828125, -0.860107422, 0.848770142},
  85.     {15, 597, 0.53515625, 0.771728516, 0.373809814},
  86.     {16, 597, -0.0048828125, -0.860107422, 0.848770142},
  87.     {17, 598, 0.406738281, 0.696777344, 0.398208618},
  88.     {18, 598, -0.0048828125, -0.860107422, 0.848770142},
  89.     {19, 544, 0.522338867, 2.5925293, 1.46867275},
  90.     {20, 528, 0.563842773, 0.754882812, 0.487258911},
  91.     {21, 525, -0.0089111328, 0.273193359, 1.4037838},
  92.     {22, 409, 0.420776367, 1.80236816, 0.368680954},
  93.     {23, 409, -0.439941406, 0.824829102, 0.842817307},
  94.     {24, 461, 0.00000000, -0.932861328, 0.494509697},
  95.     {25, 521, 0.00000000, -0.928955078, 0.558652878},
  96.     {26, 586, 0.00000000, -1.20178223, 0.671886444},
  97.     {27, 506, 0.541137695, 0.282714844, 0.272130013},
  98.     {28, 482, 0.493530273, 1.39465332, 0.442443848},
  99.     {29, 482, -0.392211914, 0.565551758, 0.941601753},
  100.     {30, 424, -0.624511719, 0.139648438, 0.918135643},
  101.     {31, 470, -0.617797851, 0.056640625, 1.10928631},
  102.     {32, 433, -0.577392578, 1.23217773, 1.70311642},
  103.     {33, 432, -1.21105957, -3.84765625, 1.17495251}
  104. };
  105.  
  106. public OnFilterScriptInit()
  107. {
  108.     print("\n----------------------------------------");
  109.     print(" SPU's v4.0[Special Police Units] by Geso ");
  110.     print("----------------------------------------\n");
  111.     //AddSPU(23, -2082.1675, 1366.9668, 7.1007, 0, 0, 0, 1); Example, this will create a black Stretch with a light at Esplanade Point, north of SF.
  112.     return 1;
  113. }
  114.  
  115. public OnFilterScriptExit()
  116. {
  117.     return 1;
  118. }
  119.  
  120. public OnPlayerCommandText(playerid, cmdtext[])
  121. {
  122.     if (strcmp("/spu", cmdtext, true) == 0)
  123.     {
  124.         #if defined ADMIN_USE
  125.         if(!IsPlayerAdmin(playerid)) return 1;
  126.         #endif
  127.         #if defined POLICE_USE
  128.         if(GetPlayerSkin(playerid) != 280 && GetPlayerSkin(playerid) != 281 && GetPlayerSkin(playerid) != 282 && GetPlayerSkin(playerid) != 283 && GetPlayerSkin(playerid) != 284 && GetPlayerSkin(playerid) != 285 && GetPlayerSkin(playerid) != 286 && GetPlayerSkin(playerid) != 287 && GetPlayerSkin(playerid) != 288) return 1;
  129.         #endif
  130.         ShowPlayerDialog(playerid, 1123, DIALOG_STYLE_LIST, "So you want to have a SPU, what one do you want then?", DIALOG1_MSG, "Take it", "Leave it" );
  131.         return 1;
  132.     }
  133.     if (strcmp("/destroyspu", cmdtext, true) == 0)
  134.     {
  135.         #if defined ADMIN_USE
  136.         if(!IsPlayerAdmin(playerid)) return 1;
  137.         #endif
  138.         #if defined POLICE_USE
  139.         if(GetPlayerSkin(playerid) != 280 && GetPlayerSkin(playerid) != 281 && GetPlayerSkin(playerid) != 282 && GetPlayerSkin(playerid) != 283 && GetPlayerSkin(playerid) != 284 && GetPlayerSkin(playerid) != 285 && GetPlayerSkin(playerid) != 286 && GetPlayerSkin(playerid) != 287 && GetPlayerSkin(playerid) != 288) return 1;
  140.         #endif
  141.         if(IsPlayerConnected(playerid))
  142.         {
  143.  
  144.             new vid = GetPlayerVehicleID(playerid);
  145.             if(IsSpu[vid] > 0)
  146.             {
  147.                     IsSpu[vid] = 0;
  148.                     if(Lamp[vid] == 1)
  149.                     {
  150.                     DestroyObject(light[vid]);
  151.                     Lamp[vid] = 0;
  152.                     }
  153.                     DestroyVehicle(vid);
  154.                     return 1;
  155.             }
  156.             else
  157.             {
  158.                    SendClientMessage(playerid, COLOR_RED, "This is not a SPU vehicle.");
  159.             }
  160.         }
  161.         return 1;
  162.     }
  163.     return 0;
  164. }
  165.  
  166. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  167. {
  168.     if(response == 1 && dialogid == 1123)
  169.     {
  170.         switch(listitem)
  171.         {
  172.             case 0:
  173.             {
  174.                 new Float:x, Float:y, Float:z, Float:angle;
  175.                 GetPlayerPos(playerid, x, y, z);
  176.                 GetPlayerFacingAngle(playerid, angle);
  177.                 for(new i=0; i<sizeof(Offsets); i++)
  178.                 {
  179.                     if(Offsets[i][SPU] == 1)
  180.                     {
  181.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  182.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  183.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  184.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  185.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  186.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  187.                         Lamp[vehicleid] = 1;
  188.                         IsSpu[vehicleid] = 1;
  189.                     }
  190.                 }
  191.             }
  192.             case 1:
  193.             {
  194.                 new Float:x, Float:y, Float:z, Float:angle;
  195.                 GetPlayerPos(playerid, x, y, z);
  196.                 GetPlayerFacingAngle(playerid, angle);
  197.                 for(new i=0; i<sizeof(Offsets); i++)
  198.                 {
  199.                     if(Offsets[i][SPU] == 2)
  200.                     {
  201.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  202.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  203.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  204.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  205.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  206.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  207.                         Lamp[vehicleid] = 1;
  208.                         IsSpu[vehicleid] = 2;
  209.                     }
  210.                 }
  211.             }
  212.             case 2:
  213.             {
  214.                 new Float:x, Float:y, Float:z, Float:angle;
  215.                 GetPlayerPos(playerid, x, y, z);
  216.                 GetPlayerFacingAngle(playerid, angle);
  217.                 for(new i=0; i<sizeof(Offsets); i++)
  218.                 {
  219.                     if(Offsets[i][SPU] == 3)
  220.                     {
  221.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  222.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  223.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  224.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  225.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  226.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  227.                         Lamp[vehicleid] = 1;
  228.                         IsSpu[vehicleid] = 3;
  229.                     }
  230.                 }
  231.             }
  232.             case 3:
  233.             {
  234.                 new Float:x, Float:y, Float:z, Float:angle;
  235.                 GetPlayerPos(playerid, x, y, z);
  236.                 GetPlayerFacingAngle(playerid, angle);
  237.                 for(new i=0; i<sizeof(Offsets); i++)
  238.                 {
  239.                     if(Offsets[i][SPU] == 4)
  240.                     {
  241.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  242.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  243.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  244.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  245.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  246.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  247.                         Lamp[vehicleid] = 1;
  248.                         IsSpu[vehicleid] = 4;
  249.                     }
  250.                 }
  251.             }
  252.             case 4:
  253.             {
  254.                 new Float:x, Float:y, Float:z, Float:angle;
  255.                 GetPlayerPos(playerid, x, y, z);
  256.                 GetPlayerFacingAngle(playerid, angle);
  257.                 for(new i=0; i<sizeof(Offsets); i++)
  258.                 {
  259.                     if(Offsets[i][SPU] == 5)
  260.                     {
  261.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  262.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  263.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  264.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  265.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  266.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  267.                         Lamp[vehicleid] = 1;
  268.                         IsSpu[vehicleid] = 5;
  269.                     }
  270.                 }
  271.             }
  272.             case 5:
  273.             {
  274.                 new Float:x, Float:y, Float:z, Float:angle;
  275.                 GetPlayerPos(playerid, x, y, z);
  276.                 GetPlayerFacingAngle(playerid, angle);
  277.                 for(new i=0; i<sizeof(Offsets); i++)
  278.                 {
  279.                     if(Offsets[i][SPU] == 6)
  280.                     {
  281.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  282.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  283.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  284.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  285.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  286.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  287.                         Lamp[vehicleid] = 1;
  288.                         IsSpu[vehicleid] = 6;
  289.                     }
  290.                 }
  291.             }//done
  292.             case 6:
  293.             {
  294.                 new Float:x, Float:y, Float:z, Float:angle;
  295.                 GetPlayerPos(playerid, x, y, z);
  296.                 GetPlayerFacingAngle(playerid, angle);
  297.                 for(new i=0; i<sizeof(Offsets); i++)
  298.                 {
  299.                     if(Offsets[i][SPU] == 7)
  300.                     {
  301.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  302.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  303.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  304.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  305.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  306.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  307.                         Lamp[vehicleid] = 1;
  308.                         IsSpu[vehicleid] = 7;
  309.                     }
  310.                 }
  311.             }
  312.             case 7:
  313.             {
  314.                 new Float:x, Float:y, Float:z, Float:angle;
  315.                 GetPlayerPos(playerid, x, y, z);
  316.                 GetPlayerFacingAngle(playerid, angle);
  317.                 for(new i=0; i<sizeof(Offsets); i++)
  318.                 {
  319.                     if(Offsets[i][SPU] == 8)
  320.                     {
  321.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  322.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  323.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  324.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  325.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  326.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  327.                         Lamp[vehicleid] = 1;
  328.                         IsSpu[vehicleid] = 8;
  329.                     }
  330.                 }
  331.             }
  332.             case 8:
  333.             {
  334.                 new Float:x, Float:y, Float:z, Float:angle;
  335.                 GetPlayerPos(playerid, x, y, z);
  336.                 GetPlayerFacingAngle(playerid, angle);
  337.                 for(new i=0; i<sizeof(Offsets); i++)
  338.                 {
  339.                     if(Offsets[i][SPU] == 9)
  340.                     {
  341.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  342.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  343.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  344.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  345.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  346.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  347.                         Lamp[vehicleid] = 1;
  348.                         IsSpu[vehicleid] = 9;
  349.                     }
  350.                 }
  351.             }
  352.             case 9:
  353.             {
  354.                 new Float:x, Float:y, Float:z, Float:angle;
  355.                 GetPlayerPos(playerid, x, y, z);
  356.                 GetPlayerFacingAngle(playerid, angle);
  357.                 for(new i=0; i<sizeof(Offsets); i++)
  358.                 {
  359.                     if(Offsets[i][SPU] == 10)
  360.                     {
  361.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  362.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  363.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  364.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  365.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  366.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  367.                         Lamp[vehicleid] = 1;
  368.                         IsSpu[vehicleid] = 10;
  369.                     }
  370.                 }
  371.             }
  372.             case 10:
  373.             {//new dialog
  374.                 ShowPlayerDialog(playerid, 1133, DIALOG_STYLE_LIST, "So you want to have a SPU, what one do you want then?", DIALOG2_MSG, "Take it", "Leave it" );
  375.             }
  376.         }
  377.     }
  378.     if(response == 1 && dialogid == 1133)
  379.     {
  380.         switch(listitem)
  381.         {
  382.             case 0:
  383.             {
  384.                 new Float:x, Float:y, Float:z, Float:angle;
  385.                 GetPlayerPos(playerid, x, y, z);
  386.                 GetPlayerFacingAngle(playerid, angle);
  387.                 for(new i=0; i<sizeof(Offsets); i++)
  388.                 {
  389.                     if(Offsets[i][SPU] == 11)
  390.                     {
  391.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  392.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  393.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  394.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  395.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  396.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  397.                         Lamp[vehicleid] = 1;
  398.                         IsSpu[vehicleid] = 11;
  399.                     }
  400.                 }
  401.             }
  402.             case 1:
  403.             {
  404.                 new Float:x, Float:y, Float:z, Float:angle;
  405.                 GetPlayerPos(playerid, x, y, z);
  406.                 GetPlayerFacingAngle(playerid, angle);
  407.                 for(new i=0; i<sizeof(Offsets); i++)
  408.                 {
  409.                     if(Offsets[i][SPU] == 12)
  410.                     {
  411.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  412.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  413.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  414.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  415.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  416.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  417.                         Lamp[vehicleid] = 1;
  418.                         IsSpu[vehicleid] = 12;
  419.                     }
  420.                 }
  421.             }
  422.             case 2:
  423.             {
  424.                 new Float:x, Float:y, Float:z, Float:angle;
  425.                 GetPlayerPos(playerid, x, y, z);
  426.                 GetPlayerFacingAngle(playerid, angle);
  427.                 for(new i=0; i<sizeof(Offsets); i++)
  428.                 {
  429.                     if(Offsets[i][SPU] == 13)
  430.                     {
  431.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  432.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  433.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  434.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  435.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  436.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  437.                         Lamp[vehicleid] = 1;
  438.                         IsSpu[vehicleid] = 13;
  439.                     }
  440.                 }
  441.             }
  442.             case 3:
  443.             {
  444.                 new Float:x, Float:y, Float:z, Float:angle;
  445.                 GetPlayerPos(playerid, x, y, z);
  446.                 GetPlayerFacingAngle(playerid, angle);
  447.                 for(new i=0; i<sizeof(Offsets); i++)
  448.                 {
  449.                     if(Offsets[i][SPU] == 14)
  450.                     {
  451.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  452.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  453.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  454.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  455.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  456.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  457.                         Lamp[vehicleid] = 1;
  458.                         IsSpu[vehicleid] = 14;
  459.                     }
  460.                 }
  461.             }
  462.             case 4:
  463.             {
  464.                 new Float:x, Float:y, Float:z, Float:angle;
  465.                 GetPlayerPos(playerid, x, y, z);
  466.                 GetPlayerFacingAngle(playerid, angle);
  467.                 for(new i=0; i<sizeof(Offsets); i++)
  468.                 {
  469.                     if(Offsets[i][SPU] == 15)
  470.                     {
  471.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  472.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  473.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  474.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  475.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  476.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  477.                         Lamp[vehicleid] = 1;
  478.                         IsSpu[vehicleid] = 15;
  479.                     }
  480.                 }
  481.             }
  482.             case 5:
  483.             {
  484.                 new Float:x, Float:y, Float:z, Float:angle;
  485.                 GetPlayerPos(playerid, x, y, z);
  486.                 GetPlayerFacingAngle(playerid, angle);
  487.                 for(new i=0; i<sizeof(Offsets); i++)
  488.                 {
  489.                     if(Offsets[i][SPU] == 16)
  490.                     {
  491.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  492.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  493.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  494.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  495.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  496.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  497.                         Lamp[vehicleid] = 1;
  498.                         IsSpu[vehicleid] = 16;
  499.                     }
  500.                 }
  501.             }
  502.             case 6:
  503.             {
  504.                 new Float:x, Float:y, Float:z, Float:angle;
  505.                 GetPlayerPos(playerid, x, y, z);
  506.                 GetPlayerFacingAngle(playerid, angle);
  507.                 for(new i=0; i<sizeof(Offsets); i++)
  508.                 {
  509.                     if(Offsets[i][SPU] == 17)
  510.                     {
  511.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  512.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  513.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  514.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  515.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  516.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  517.                         Lamp[vehicleid] = 1;
  518.                         IsSpu[vehicleid] = 17;
  519.                     }
  520.                 }
  521.             }
  522.             case 7:
  523.             {
  524.                 new Float:x, Float:y, Float:z, Float:angle;
  525.                 GetPlayerPos(playerid, x, y, z);
  526.                 GetPlayerFacingAngle(playerid, angle);
  527.                 for(new i=0; i<sizeof(Offsets); i++)
  528.                 {
  529.                     if(Offsets[i][SPU] == 18)
  530.                     {
  531.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  532.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  533.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  534.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  535.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  536.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  537.                         Lamp[vehicleid] = 1;
  538.                         IsSpu[vehicleid] = 18;
  539.                     }
  540.                 }
  541.             }
  542.             case 8:
  543.             {
  544.                 new Float:x, Float:y, Float:z, Float:angle;
  545.                 GetPlayerPos(playerid, x, y, z);
  546.                 GetPlayerFacingAngle(playerid, angle);
  547.                 for(new i=0; i<sizeof(Offsets); i++)
  548.                 {
  549.                     if(Offsets[i][SPU] == 19)
  550.                     {
  551.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  552.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  553.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  554.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  555.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  556.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  557.                         Lamp[vehicleid] = 1;
  558.                         IsSpu[vehicleid] = 19;
  559.                     }
  560.                 }
  561.             }
  562.             case 9:
  563.             {
  564.                 new Float:x, Float:y, Float:z, Float:angle;
  565.                 GetPlayerPos(playerid, x, y, z);
  566.                 GetPlayerFacingAngle(playerid, angle);
  567.                 for(new i=0; i<sizeof(Offsets); i++)
  568.                 {
  569.                     if(Offsets[i][SPU] == 20)
  570.                     {
  571.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  572.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  573.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  574.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  575.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  576.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  577.                         Lamp[vehicleid] = 1;
  578.                         IsSpu[vehicleid] = 20;
  579.                     }
  580.                 }
  581.             }
  582.             case 10:
  583.             {//new dialog
  584.                 ShowPlayerDialog(playerid, 1143, DIALOG_STYLE_LIST, "So you want to have a SPU, what one do you want then?", DIALOG3_MSG, "Take it", "Leave it" );
  585.             }
  586.         }
  587.     }
  588.     if(response == 1 && dialogid == 1143)
  589.     {
  590.         switch(listitem)
  591.         {
  592.             case 0:
  593.             {
  594.                 new Float:x, Float:y, Float:z, Float:angle;
  595.                 GetPlayerPos(playerid, x, y, z);
  596.                 GetPlayerFacingAngle(playerid, angle);
  597.                 for(new i=0; i<sizeof(Offsets); i++)
  598.                 {
  599.                     if(Offsets[i][SPU] == 21)
  600.                     {
  601.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  602.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  603.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  604.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  605.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  606.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  607.                         Lamp[vehicleid] = 1;
  608.                         IsSpu[vehicleid] = 21;
  609.                     }
  610.                 }
  611.             }
  612.             case 1:
  613.             {
  614.                 new Float:x, Float:y, Float:z, Float:angle;
  615.                 GetPlayerPos(playerid, x, y, z);
  616.                 GetPlayerFacingAngle(playerid, angle);
  617.                 for(new i=0; i<sizeof(Offsets); i++)
  618.                 {
  619.                     if(Offsets[i][SPU] == 22)
  620.                     {
  621.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  622.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  623.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  624.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  625.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  626.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  627.                         Lamp[vehicleid] = 1;
  628.                         IsSpu[vehicleid] = 22;
  629.                     }
  630.                 }
  631.             }
  632.             case 2:
  633.             {
  634.                 new Float:x, Float:y, Float:z, Float:angle;
  635.                 GetPlayerPos(playerid, x, y, z);
  636.                 GetPlayerFacingAngle(playerid, angle);
  637.                 for(new i=0; i<sizeof(Offsets); i++)
  638.                 {
  639.                     if(Offsets[i][SPU] == 23)
  640.                     {
  641.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  642.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  643.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  644.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  645.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  646.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  647.                         Lamp[vehicleid] = 1;
  648.                         IsSpu[vehicleid] = 23;
  649.                     }
  650.                 }
  651.             }
  652.             case 3:
  653.             {
  654.                 new Float:x, Float:y, Float:z, Float:angle;
  655.                 GetPlayerPos(playerid, x, y, z);
  656.                 GetPlayerFacingAngle(playerid, angle);
  657.                 for(new i=0; i<sizeof(Offsets); i++)
  658.                 {
  659.                     if(Offsets[i][SPU] == 24)
  660.                     {
  661.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  662.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  663.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  664.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  665.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  666.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  667.                         Lamp[vehicleid] = 1;
  668.                         IsSpu[vehicleid] = 24;
  669.                     }
  670.                 }
  671.             }
  672.             case 4:
  673.             {
  674.                 new Float:x, Float:y, Float:z, Float:angle;
  675.                 GetPlayerPos(playerid, x, y, z);
  676.                 GetPlayerFacingAngle(playerid, angle);
  677.                 for(new i=0; i<sizeof(Offsets); i++)
  678.                 {
  679.                     if(Offsets[i][SPU] == 25)
  680.                     {
  681.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  682.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  683.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  684.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  685.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  686.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  687.                         Lamp[vehicleid] = 1;
  688.                         IsSpu[vehicleid] = 25;
  689.                     }
  690.                 }
  691.             }
  692.             case 5:
  693.             {
  694.                 new Float:x, Float:y, Float:z, Float:angle;
  695.                 GetPlayerPos(playerid, x, y, z);
  696.                 GetPlayerFacingAngle(playerid, angle);
  697.                 for(new i=0; i<sizeof(Offsets); i++)
  698.                 {
  699.                     if(Offsets[i][SPU] == 26)
  700.                     {
  701.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  702.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  703.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  704.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  705.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  706.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  707.                         Lamp[vehicleid] = 1;
  708.                         IsSpu[vehicleid] = 26;
  709.                     }
  710.                 }
  711.             }
  712.             case 6:
  713.             {
  714.                 new Float:x, Float:y, Float:z, Float:angle;
  715.                 GetPlayerPos(playerid, x, y, z);
  716.                 GetPlayerFacingAngle(playerid, angle);
  717.                 for(new i=0; i<sizeof(Offsets); i++)
  718.                 {
  719.                     if(Offsets[i][SPU] == 27)
  720.                     {
  721.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  722.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  723.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  724.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  725.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  726.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  727.                         Lamp[vehicleid] = 1;
  728.                         IsSpu[vehicleid] = 27;
  729.                     }
  730.                 }
  731.             }
  732.             case 7:
  733.             {
  734.                 new Float:x, Float:y, Float:z, Float:angle;
  735.                 GetPlayerPos(playerid, x, y, z);
  736.                 GetPlayerFacingAngle(playerid, angle);
  737.                 for(new i=0; i<sizeof(Offsets); i++)
  738.                 {
  739.                     if(Offsets[i][SPU] == 28)
  740.                     {
  741.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  742.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  743.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  744.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  745.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  746.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  747.                         Lamp[vehicleid] = 1;
  748.                         IsSpu[vehicleid] = 28;
  749.                     }
  750.                 }
  751.             }
  752.             case 8:
  753.             {
  754.                 new Float:x, Float:y, Float:z, Float:angle;
  755.                 GetPlayerPos(playerid, x, y, z);
  756.                 GetPlayerFacingAngle(playerid, angle);
  757.                 for(new i=0; i<sizeof(Offsets); i++)
  758.                 {
  759.                     if(Offsets[i][SPU] == 29)
  760.                     {
  761.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  762.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  763.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  764.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  765.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  766.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  767.                         Lamp[vehicleid] = 1;
  768.                         IsSpu[vehicleid] = 29;
  769.                     }
  770.                 }
  771.             }
  772.             case 9:
  773.             {
  774.                 new Float:x, Float:y, Float:z, Float:angle;
  775.                 GetPlayerPos(playerid, x, y, z);
  776.                 GetPlayerFacingAngle(playerid, angle);
  777.                 for(new i=0; i<sizeof(Offsets); i++)
  778.                 {
  779.                     if(Offsets[i][SPU] == 30)
  780.                     {
  781.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  782.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  783.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  784.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  785.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  786.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  787.                         Lamp[vehicleid] = 1;
  788.                         IsSpu[vehicleid] = 30;
  789.                     }
  790.                 }
  791.             }
  792.             case 10:
  793.             {
  794.                 new Float:x, Float:y, Float:z, Float:angle;
  795.                 GetPlayerPos(playerid, x, y, z);
  796.                 GetPlayerFacingAngle(playerid, angle);
  797.                 for(new i=0; i<sizeof(Offsets); i++)
  798.                 {
  799.                     if(Offsets[i][SPU] == 31)
  800.                     {
  801.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  802.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  803.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  804.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  805.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  806.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  807.                         Lamp[vehicleid] = 1;
  808.                         IsSpu[vehicleid] = 31;
  809.                     }
  810.                 }
  811.             }
  812.             case 11:
  813.             {
  814.                 new Float:x, Float:y, Float:z, Float:angle;
  815.                 GetPlayerPos(playerid, x, y, z);
  816.                 GetPlayerFacingAngle(playerid, angle);
  817.                 for(new i=0; i<sizeof(Offsets); i++)
  818.                 {
  819.                     if(Offsets[i][SPU] == 32)
  820.                     {
  821.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  822.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  823.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  824.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  825.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  826.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  827.                         Lamp[vehicleid] = 1;
  828.                         IsSpu[vehicleid] = 32;
  829.                     }
  830.                 }
  831.             }
  832.             case 12:
  833.             {
  834.                 new Float:x, Float:y, Float:z, Float:angle;
  835.                 GetPlayerPos(playerid, x, y, z);
  836.                 GetPlayerFacingAngle(playerid, angle);
  837.                 for(new i=0; i<sizeof(Offsets); i++)
  838.                 {
  839.                     if(Offsets[i][SPU] == 33)
  840.                     {
  841.                         new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
  842.                         PutPlayerInVehicle(playerid, vehicleid, 0);
  843.                         SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  844.                         LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  845.                         light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  846.                         AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  847.                         Lamp[vehicleid] = 1;
  848.                         IsSpu[vehicleid] = 33;
  849.                     }
  850.                 }
  851.             }
  852.         }
  853.     }
  854.     return 1;
  855. }
  856.  
  857. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  858. {
  859.     if((newkeys & KEY_SUBMISSION) && !(oldkeys & KEY_SUBMISSION))
  860.     {
  861.          VehicleLightSwitch(playerid);
  862.     }
  863.     return 1;
  864. }
  865.  
  866. AddSPU(spuid, Float:x, Float:y, Float:z, Float:rotation, color1, color2, lightonoroff)
  867. {
  868.     if(lightonoroff == 1)
  869.     {
  870.         for(new i=0; i<sizeof(Offsets); i++)
  871.         {
  872.             if(Offsets[i][SPU] == spuid)
  873.             {
  874.                 new vehicleid = CreateVehicle(Offsets[i][VehicleID], x, y, z, rotation, color1, color2, -1);
  875.                 Lamp[vehicleid] = 1;
  876.                 IsSpu[vehicleid] = spuid;
  877.                 light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  878.                 AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  879.                 printf("AddSPU(%d), succesfully created.", spuid);
  880.                 return 1;
  881.             }
  882.         }
  883.     }
  884.     if(lightonoroff == 0)
  885.     {
  886.         for(new i=0; i<sizeof(Offsets); i++)
  887.         {
  888.             if(Offsets[i][SPU] == spuid)
  889.             {
  890.                 new vehicleid = CreateVehicle(Offsets[i][VehicleID], x, y, z, rotation, color1, color2, -1);
  891.                 Lamp[vehicleid] = 0;
  892.                 IsSpu[vehicleid] = spuid;
  893.                 printf("AddSPU(%d), succesfully created.", spuid);
  894.                 return 1;
  895.             }
  896.         }
  897.     }
  898.     return 1;
  899. }
  900.  
  901. VehicleLightSwitch(playerid)
  902. {
  903.         new vid = GetPlayerVehicleID(playerid);
  904.         if(vid == INVALID_VEHICLE_ID) return 1;
  905.         if(IsSpu[vid] != 0)
  906.         {
  907.             if(Lamp[vid] == 1)
  908.             {
  909.                  DestroyObject(light[vid]);
  910.                  Lamp[vid] = 0;
  911.                  return 1;
  912.             }
  913.             if(Lamp[vid] == 0)
  914.             {
  915.                  for(new i=0; i<sizeof(Offsets); i++)
  916.                  {
  917.                      if(Offsets[i][SPU] == IsSpu[vid])
  918.                      {
  919.                          light[vid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
  920.                          AttachObjectToVehicle(light[vid], vid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
  921.                          Lamp[vid] = 1;
  922.                      }
  923.                  }
  924.                  return 1;
  925.             }
  926.         }
  927.         return 1;
  928. }
Advertisement
Add Comment
Please, Sign In to add comment