Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define COLOR_RED 0xAA3333AA
- #define COLOR_NOTES 0x2894FFFF
- #define MAX_MINIGUNS 40
- #define DIALOG_EDITMINIGUN1 123
- #define DIALOG_EDITMINIGUN2 456
- #define DIALOG_EDITMINIGUN3 789
- new MinigunT;
- new Miniguns;
- enum mInfo
- {
- ID,
- Object,
- CreatorID,
- IsSpawned,
- MinigunHealth,
- Float:MinigunDamage,
- Float:MinigunRange,
- Float:mX, Float:mY, Float:mZ, Float:mAngle
- };
- new MinigunInfo[MAX_MINIGUNS][mInfo];
- enum GPSInfo
- {
- zone_name[30],
- Float:zone_minx,
- Float:zone_miny,
- Float:zone_minz,
- Float:zone_maxx,
- Float:zone_maxy,
- Float:zone_maxz
- }
- new Float:Zones[][GPSInfo] = {
- { "'The Big Ear'", -410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00},
- { "Aldea Malvada", -1372.10, 2498.50, 0.00, -1277.50, 2615.30, 200.00},
- { "Angel Pine", -2324.90, -2584.20, -6.10, -1964.20, -2212.10, 200.00},
- { "Arco del Oeste", -901.10, 2221.80, 0.00, -592.00, 2571.90, 200.00},
- { "Avispa Country Club", -2646.40, -355.40, 0.00, -2270.00, -222.50, 200.00},
- { "Avispa Country Club", -2831.80, -430.20, -6.10, -2646.40, -222.50, 200.00},
- { "Avispa Country Club", -2361.50, -417.10, 0.00, -2270.00, -355.40, 200.00},
- { "Avispa Country Club", -2667.80, -302.10, -28.80, -2646.40, -262.30, 71.10},
- { "Avispa Country Club", -2470.00, -355.40, 0.00, -2270.00, -318.40, 46.10},
- { "Avispa Country Club", -2550.00, -355.40, 0.00, -2470.00, -318.40, 39.70},
- { "Back o Beyond", -1166.90, -2641.10, 0.00, -321.70, -1856.00, 200.00},
- { "Battery Point", -2741.00, 1268.40, -4.50, -2533.00, 1490.40, 200.00},
- { "Bayside", -2741.00, 2175.10, 0.00, -2353.10, 2722.70, 200.00},
- { "Bayside Marina", -2353.10, 2275.70, 0.00, -2153.10, 2475.70, 200.00},
- { "Beacon Hill", -399.60, -1075.50, -1.40, -319.00, -977.50, 198.50},
- { "Blackfield", 964.30, 1203.20, -89.00, 1197.30, 1403.20, 110.90},
- { "Blackfield", 964.30, 1403.20, -89.00, 1197.30, 1726.20, 110.90},
- { "Blackfield Chapel", 1375.60, 596.30, -89.00, 1558.00, 823.20, 110.90},
- { "Blackfield Chapel", 1325.60, 596.30, -89.00, 1375.60, 795.00, 110.90},
- { "Blackfield Intersection", 1197.30, 1044.60, -89.00, 1277.00, 1163.30, 110.90},
- { "Blackfield Intersection", 1166.50, 795.00, -89.00, 1375.60, 1044.60, 110.90},
- { "Blackfield Intersection", 1277.00, 1044.60, -89.00, 1315.30, 1087.60, 110.90},
- { "Blackfield Intersection", 1375.60, 823.20, -89.00, 1457.30, 919.40, 110.90},
- { "Blueberry", 104.50, -220.10, 2.30, 349.60, 152.20, 200.00},
- { "Blueberry", 19.60, -404.10, 3.80, 349.60, -220.10, 200.00},
- { "Blueberry Acres", -319.60, -220.10, 0.00, 104.50, 293.30, 200.00},
- { "Caligula's Palace", 2087.30, 1543.20, -89.00, 2437.30, 1703.20, 110.90},
- { "Caligula's Palace", 2137.40, 1703.20, -89.00, 2437.30, 1783.20, 110.90},
- { "Calton Heights", -2274.10, 744.10, -6.10, -1982.30, 1358.90, 200.00},
- { "Chinatown", -2274.10, 578.30, -7.60, -2078.60, 744.10, 200.00},
- { "City Hall", -2867.80, 277.40, -9.10, -2593.40, 458.40, 200.00},
- { "Come-A-Lot", 2087.30, 943.20, -89.00, 2623.10, 1203.20, 110.90},
- { "Commerce", 1323.90, -1842.20, -89.00, 1701.90, -1722.20, 110.90},
- { "Commerce", 1323.90, -1722.20, -89.00, 1440.90, -1577.50, 110.90},
- { "Commerce", 1370.80, -1577.50, -89.00, 1463.90, -1384.90, 110.90},
- { "Commerce", 1463.90, -1577.50, -89.00, 1667.90, -1430.80, 110.90},
- { "Commerce", 1583.50, -1722.20, -89.00, 1758.90, -1577.50, 110.90},
- { "Commerce", 1667.90, -1577.50, -89.00, 1812.60, -1430.80, 110.90},
- { "Conference Center", 1046.10, -1804.20, -89.00, 1323.90, -1722.20, 110.90},
- { "Conference Center", 1073.20, -1842.20, -89.00, 1323.90, -1804.20, 110.90},
- { "Cranberry Station", -2007.80, 56.30, 0.00, -1922.00, 224.70, 100.00},
- { "Creek", 2749.90, 1937.20, -89.00, 2921.60, 2669.70, 110.90},
- { "Dillimore", 580.70, -674.80, -9.50, 861.00, -404.70, 200.00},
- { "Doherty", -2270.00, -324.10, -0.00, -1794.90, -222.50, 200.00},
- { "Doherty", -2173.00, -222.50, -0.00, -1794.90, 265.20, 200.00},
- { "Downtown", -1982.30, 744.10, -6.10, -1871.70, 1274.20, 200.00},
- { "Downtown", -1871.70, 1176.40, -4.50, -1620.30, 1274.20, 200.00},
- { "Downtown", -1700.00, 744.20, -6.10, -1580.00, 1176.50, 200.00},
- { "Downtown", -1580.00, 744.20, -6.10, -1499.80, 1025.90, 200.00},
- { "Downtown", -2078.60, 578.30, -7.60, -1499.80, 744.20, 200.00},
- { "Downtown", -1993.20, 265.20, -9.10, -1794.90, 578.30, 200.00},
- { "Downtown Los Santos", 1463.90, -1430.80, -89.00, 1724.70, -1290.80, 110.90},
- { "Downtown Los Santos", 1724.70, -1430.80, -89.00, 1812.60, -1250.90, 110.90},
- { "Downtown Los Santos", 1463.90, -1290.80, -89.00, 1724.70, -1150.80, 110.90},
- { "Downtown Los Santos", 1370.80, -1384.90, -89.00, 1463.90, -1170.80, 110.90},
- { "Downtown Los Santos", 1724.70, -1250.90, -89.00, 1812.60, -1150.80, 110.90},
- { "Downtown Los Santos", 1370.80, -1170.80, -89.00, 1463.90, -1130.80, 110.90},
- { "Downtown Los Santos", 1378.30, -1130.80, -89.00, 1463.90, -1026.30, 110.90},
- { "Downtown Los Santos", 1391.00, -1026.30, -89.00, 1463.90, -926.90, 110.90},
- { "Downtown Los Santos", 1507.50, -1385.20, 110.90, 1582.50, -1325.30, 335.90},
- { "East Beach", 2632.80, -1852.80, -89.00, 2959.30, -1668.10, 110.90},
- { "East Beach", 2632.80, -1668.10, -89.00, 2747.70, -1393.40, 110.90},
- { "East Beach", 2747.70, -1668.10, -89.00, 2959.30, -1498.60, 110.90},
- { "East Beach", 2747.70, -1498.60, -89.00, 2959.30, -1120.00, 110.90},
- { "East Los Santos", 2421.00, -1628.50, -89.00, 2632.80, -1454.30, 110.90},
- { "East Los Santos", 2222.50, -1628.50, -89.00, 2421.00, -1494.00, 110.90},
- { "East Los Santos", 2266.20, -1494.00, -89.00, 2381.60, -1372.00, 110.90},
- { "East Los Santos", 2381.60, -1494.00, -89.00, 2421.00, -1454.30, 110.90},
- { "East Los Santos", 2281.40, -1372.00, -89.00, 2381.60, -1135.00, 110.90},
- { "East Los Santos", 2381.60, -1454.30, -89.00, 2462.10, -1135.00, 110.90},
- { "East Los Santos", 2462.10, -1454.30, -89.00, 2581.70, -1135.00, 110.90},
- { "Easter Basin", -1794.90, 249.90, -9.10, -1242.90, 578.30, 200.00},
- { "Easter Basin", -1794.90, -50.00, -0.00, -1499.80, 249.90, 200.00},
- { "Easter Bay Airport", -1499.80, -50.00, -0.00, -1242.90, 249.90, 200.00},
- { "Easter Bay Airport", -1794.90, -730.10, -3.00, -1213.90, -50.00, 200.00},
- { "Easter Bay Airport", -1213.90, -730.10, 0.00, -1132.80, -50.00, 200.00},
- { "Easter Bay Airport", -1242.90, -50.00, 0.00, -1213.90, 578.30, 200.00},
- { "Easter Bay Airport", -1213.90, -50.00, -4.50, -947.90, 578.30, 200.00},
- { "Easter Bay Airport", -1315.40, -405.30, 15.40, -1264.40, -209.50, 25.40},
- { "Easter Bay Airport", -1354.30, -287.30, 15.40, -1315.40, -209.50, 25.40},
- { "Easter Bay Airport", -1490.30, -209.50, 15.40, -1264.40, -148.30, 25.40},
- { "Easter Bay Chemicals", -1132.80, -768.00, 0.00, -956.40, -578.10, 200.00},
- { "Easter Bay Chemicals", -1132.80, -787.30, 0.00, -956.40, -768.00, 200.00},
- { "El Castillo del Diablo", -464.50, 2217.60, 0.00, -208.50, 2580.30, 200.00},
- { "El Castillo del Diablo", -208.50, 2123.00, -7.60, 114.00, 2337.10, 200.00},
- { "El Castillo del Diablo", -208.50, 2337.10, 0.00, 8.40, 2487.10, 200.00},
- { "El Corona", 1812.60, -2179.20, -89.00, 1970.60, -1852.80, 110.90},
- { "El Corona", 1692.60, -2179.20, -89.00, 1812.60, -1842.20, 110.90},
- { "El Quebrados", -1645.20, 2498.50, 0.00, -1372.10, 2777.80, 200.00},
- { "Esplanade East", -1620.30, 1176.50, -4.50, -1580.00, 1274.20, 200.00},
- { "Esplanade East", -1580.00, 1025.90, -6.10, -1499.80, 1274.20, 200.00},
- { "Esplanade East", -1499.80, 578.30, -79.60, -1339.80, 1274.20, 20.30},
- { "Esplanade North", -2533.00, 1358.90, -4.50, -1996.60, 1501.20, 200.00},
- { "Esplanade North", -1996.60, 1358.90, -4.50, -1524.20, 1592.50, 200.00},
- { "Esplanade North", -1982.30, 1274.20, -4.50, -1524.20, 1358.90, 200.00},
- { "Fallen Tree", -792.20, -698.50, -5.30, -452.40, -380.00, 200.00},
- { "Fallow Bridge", 434.30, 366.50, 0.00, 603.00, 555.60, 200.00},
- { "Fern Ridge", 508.10, -139.20, 0.00, 1306.60, 119.50, 200.00},
- { "Financial", -1871.70, 744.10, -6.10, -1701.30, 1176.40, 300.00},
- { "Fisher's Lagoon", 1916.90, -233.30, -100.00, 2131.70, 13.80, 200.00},
- { "Flint Intersection", -187.70, -1596.70, -89.00, 17.00, -1276.60, 110.90},
- { "Flint Range", -594.10, -1648.50, 0.00, -187.70, -1276.60, 200.00},
- { "Fort Carson", -376.20, 826.30, -3.00, 123.70, 1220.40, 200.00},
- { "Foster Valley", -2270.00, -430.20, -0.00, -2178.60, -324.10, 200.00},
- { "Foster Valley", -2178.60, -599.80, -0.00, -1794.90, -324.10, 200.00},
- { "Foster Valley", -2178.60, -1115.50, 0.00, -1794.90, -599.80, 200.00},
- { "Foster Valley", -2178.60, -1250.90, 0.00, -1794.90, -1115.50, 200.00},
- { "Frederick Bridge", 2759.20, 296.50, 0.00, 2774.20, 594.70, 200.00},
- { "Gant Bridge", -2741.40, 1659.60, -6.10, -2616.40, 2175.10, 200.00},
- { "Gant Bridge", -2741.00, 1490.40, -6.10, -2616.40, 1659.60, 200.00},
- { "Ganton", 2222.50, -1852.80, -89.00, 2632.80, -1722.30, 110.90},
- { "Ganton", 2222.50, -1722.30, -89.00, 2632.80, -1628.50, 110.90},
- { "Garcia", -2411.20, -222.50, -0.00, -2173.00, 265.20, 200.00},
- { "Garcia", -2395.10, -222.50, -5.30, -2354.00, -204.70, 200.00},
- { "Garver Bridge", -1339.80, 828.10, -89.00, -1213.90, 1057.00, 110.90},
- { "Garver Bridge", -1213.90, 950.00, -89.00, -1087.90, 1178.90, 110.90},
- { "Garver Bridge", -1499.80, 696.40, -179.60, -1339.80, 925.30, 20.30},
- { "Glen Park", 1812.60, -1449.60, -89.00, 1996.90, -1350.70, 110.90},
- { "Glen Park", 1812.60, -1100.80, -89.00, 1994.30, -973.30, 110.90},
- { "Glen Park", 1812.60, -1350.70, -89.00, 2056.80, -1100.80, 110.90},
- { "Green Palms", 176.50, 1305.40, -3.00, 338.60, 1520.70, 200.00},
- { "Greenglass College", 964.30, 1044.60, -89.00, 1197.30, 1203.20, 110.90},
- { "Greenglass College", 964.30, 930.80, -89.00, 1166.50, 1044.60, 110.90},
- { "Hampton Barns", 603.00, 264.30, 0.00, 761.90, 366.50, 200.00},
- { "Hankypanky Point", 2576.90, 62.10, 0.00, 2759.20, 385.50, 200.00},
- { "Harry Gold Parkway", 1777.30, 863.20, -89.00, 1817.30, 2342.80, 110.90},
- { "Hashbury", -2593.40, -222.50, -0.00, -2411.20, 54.70, 200.00},
- { "Hilltop Farm", 967.30, -450.30, -3.00, 1176.70, -217.90, 200.00},
- { "Hunter Quarry", 337.20, 710.80, -115.20, 860.50, 1031.70, 203.70},
- { "Idlewood", 1812.60, -1852.80, -89.00, 1971.60, -1742.30, 110.90},
- { "Idlewood", 1812.60, -1742.30, -89.00, 1951.60, -1602.30, 110.90},
- { "Idlewood", 1951.60, -1742.30, -89.00, 2124.60, -1602.30, 110.90},
- { "Idlewood", 1812.60, -1602.30, -89.00, 2124.60, -1449.60, 110.90},
- { "Idlewood", 2124.60, -1742.30, -89.00, 2222.50, -1494.00, 110.90},
- { "Idlewood", 1971.60, -1852.80, -89.00, 2222.50, -1742.30, 110.90},
- { "Jefferson", 1996.90, -1449.60, -89.00, 2056.80, -1350.70, 110.90},
- { "Jefferson", 2124.60, -1494.00, -89.00, 2266.20, -1449.60, 110.90},
- { "Jefferson", 2056.80, -1372.00, -89.00, 2281.40, -1210.70, 110.90},
- { "Jefferson", 2056.80, -1210.70, -89.00, 2185.30, -1126.30, 110.90},
- { "Jefferson", 2185.30, -1210.70, -89.00, 2281.40, -1154.50, 110.90},
- { "Jefferson", 2056.80, -1449.60, -89.00, 2266.20, -1372.00, 110.90},
- { "Julius Thruway East", 2623.10, 943.20, -89.00, 2749.90, 1055.90, 110.90},
- { "Julius Thruway East", 2685.10, 1055.90, -89.00, 2749.90, 2626.50, 110.90},
- { "Julius Thruway East", 2536.40, 2442.50, -89.00, 2685.10, 2542.50, 110.90},
- { "Julius Thruway East", 2625.10, 2202.70, -89.00, 2685.10, 2442.50, 110.90},
- { "Julius Thruway North", 2498.20, 2542.50, -89.00, 2685.10, 2626.50, 110.90},
- { "Julius Thruway North", 2237.40, 2542.50, -89.00, 2498.20, 2663.10, 110.90},
- { "Julius Thruway North", 2121.40, 2508.20, -89.00, 2237.40, 2663.10, 110.90},
- { "Julius Thruway North", 1938.80, 2508.20, -89.00, 2121.40, 2624.20, 110.90},
- { "Julius Thruway North", 1534.50, 2433.20, -89.00, 1848.40, 2583.20, 110.90},
- { "Julius Thruway North", 1848.40, 2478.40, -89.00, 1938.80, 2553.40, 110.90},
- { "Julius Thruway North", 1704.50, 2342.80, -89.00, 1848.40, 2433.20, 110.90},
- { "Julius Thruway North", 1377.30, 2433.20, -89.00, 1534.50, 2507.20, 110.90},
- { "Julius Thruway South", 1457.30, 823.20, -89.00, 2377.30, 863.20, 110.90},
- { "Julius Thruway South", 2377.30, 788.80, -89.00, 2537.30, 897.90, 110.90},
- { "Julius Thruway West", 1197.30, 1163.30, -89.00, 1236.60, 2243.20, 110.90},
- { "Julius Thruway West", 1236.60, 2142.80, -89.00, 1297.40, 2243.20, 110.90},
- { "Juniper Hill", -2533.00, 578.30, -7.60, -2274.10, 968.30, 200.00},
- { "Juniper Hollow", -2533.00, 968.30, -6.10, -2274.10, 1358.90, 200.00},
- { "K.A.C.C. Military Fuels", 2498.20, 2626.50, -89.00, 2749.90, 2861.50, 110.90},
- { "Kincaid Bridge", -1339.80, 599.20, -89.00, -1213.90, 828.10, 110.90},
- { "Kincaid Bridge", -1213.90, 721.10, -89.00, -1087.90, 950.00, 110.90},
- { "Kincaid Bridge", -1087.90, 855.30, -89.00, -961.90, 986.20, 110.90},
- { "King's", -2329.30, 458.40, -7.60, -1993.20, 578.30, 200.00},
- { "King's", -2411.20, 265.20, -9.10, -1993.20, 373.50, 200.00},
- { "King's", -2253.50, 373.50, -9.10, -1993.20, 458.40, 200.00},
- { "LVA Freight Depot", 1457.30, 863.20, -89.00, 1777.40, 1143.20, 110.90},
- { "LVA Freight Depot", 1375.60, 919.40, -89.00, 1457.30, 1203.20, 110.90},
- { "LVA Freight Depot", 1277.00, 1087.60, -89.00, 1375.60, 1203.20, 110.90},
- { "LVA Freight Depot", 1315.30, 1044.60, -89.00, 1375.60, 1087.60, 110.90},
- { "LVA Freight Depot", 1236.60, 1163.40, -89.00, 1277.00, 1203.20, 110.90},
- { "Las Barrancas", -926.10, 1398.70, -3.00, -719.20, 1634.60, 200.00},
- { "Las Brujas", -365.10, 2123.00, -3.00, -208.50, 2217.60, 200.00},
- { "Las Colinas", 1994.30, -1100.80, -89.00, 2056.80, -920.80, 110.90},
- { "Las Colinas", 2056.80, -1126.30, -89.00, 2126.80, -920.80, 110.90},
- { "Las Colinas", 2185.30, -1154.50, -89.00, 2281.40, -934.40, 110.90},
- { "Las Colinas", 2126.80, -1126.30, -89.00, 2185.30, -934.40, 110.90},
- { "Las Colinas", 2747.70, -1120.00, -89.00, 2959.30, -945.00, 110.90},
- { "Las Colinas", 2632.70, -1135.00, -89.00, 2747.70, -945.00, 110.90},
- { "Las Colinas", 2281.40, -1135.00, -89.00, 2632.70, -945.00, 110.90},
- { "Las Payasadas", -354.30, 2580.30, 2.00, -133.60, 2816.80, 200.00},
- { "Las Venturas Airport", 1236.60, 1203.20, -89.00, 1457.30, 1883.10, 110.90},
- { "Las Venturas Airport", 1457.30, 1203.20, -89.00, 1777.30, 1883.10, 110.90},
- { "Las Venturas Airport", 1457.30, 1143.20, -89.00, 1777.40, 1203.20, 110.90},
- { "Las Venturas Airport", 1515.80, 1586.40, -12.50, 1729.90, 1714.50, 87.50},
- { "Last Dime Motel", 1823.00, 596.30, -89.00, 1997.20, 823.20, 110.90},
- { "Leafy Hollow", -1166.90, -1856.00, 0.00, -815.60, -1602.00, 200.00},
- { "Lil' Probe Inn", -90.20, 1286.80, -3.00, 153.80, 1554.10, 200.00},
- { "Linden Side", 2749.90, 943.20, -89.00, 2923.30, 1198.90, 110.90},
- { "Linden Station", 2749.90, 1198.90, -89.00, 2923.30, 1548.90, 110.90},
- { "Linden Station", 2811.20, 1229.50, -39.50, 2861.20, 1407.50, 60.40},
- { "Little Mexico", 1701.90, -1842.20, -89.00, 1812.60, -1722.20, 110.90},
- { "Little Mexico", 1758.90, -1722.20, -89.00, 1812.60, -1577.50, 110.90},
- { "Los Flores", 2581.70, -1454.30, -89.00, 2632.80, -1393.40, 110.90},
- { "Los Flores", 2581.70, -1393.40, -89.00, 2747.70, -1135.00, 110.90},
- { "Los Santos International", 1249.60, -2394.30, -89.00, 1852.00, -2179.20, 110.90},
- { "Los Santos International", 1852.00, -2394.30, -89.00, 2089.00, -2179.20, 110.90},
- { "Los Santos International", 1382.70, -2730.80, -89.00, 2201.80, -2394.30, 110.90},
- { "Los Santos International", 1974.60, -2394.30, -39.00, 2089.00, -2256.50, 60.90},
- { "Los Santos International", 1400.90, -2669.20, -39.00, 2189.80, -2597.20, 60.90},
- { "Los Santos International", 2051.60, -2597.20, -39.00, 2152.40, -2394.30, 60.90},
- { "Marina", 647.70, -1804.20, -89.00, 851.40, -1577.50, 110.90},
- { "Marina", 647.70, -1577.50, -89.00, 807.90, -1416.20, 110.90},
- { "Marina", 807.90, -1577.50, -89.00, 926.90, -1416.20, 110.90},
- { "Market", 787.40, -1416.20, -89.00, 1072.60, -1310.20, 110.90},
- { "Market", 952.60, -1310.20, -89.00, 1072.60, -1130.80, 110.90},
- { "Market", 1072.60, -1416.20, -89.00, 1370.80, -1130.80, 110.90},
- { "Market", 926.90, -1577.50, -89.00, 1370.80, -1416.20, 110.90},
- { "Market Station", 787.40, -1410.90, -34.10, 866.00, -1310.20, 65.80},
- { "Martin Bridge", -222.10, 293.30, 0.00, -122.10, 476.40, 200.00},
- { "Missionary Hill", -2994.40, -811.20, 0.00, -2178.60, -430.20, 200.00},
- { "Montgomery", 1119.50, 119.50, -3.00, 1451.40, 493.30, 200.00},
- { "Montgomery", 1451.40, 347.40, -6.10, 1582.40, 420.80, 200.00},
- { "Montgomery Intersection", 1546.60, 208.10, 0.00, 1745.80, 347.40, 200.00},
- { "Montgomery Intersection", 1582.40, 347.40, 0.00, 1664.60, 401.70, 200.00},
- { "Mulholland", 1414.00, -768.00, -89.00, 1667.60, -452.40, 110.90},
- { "Mulholland", 1281.10, -452.40, -89.00, 1641.10, -290.90, 110.90},
- { "Mulholland", 1269.10, -768.00, -89.00, 1414.00, -452.40, 110.90},
- { "Mulholland", 1357.00, -926.90, -89.00, 1463.90, -768.00, 110.90},
- { "Mulholland", 1318.10, -910.10, -89.00, 1357.00, -768.00, 110.90},
- { "Mulholland", 1169.10, -910.10, -89.00, 1318.10, -768.00, 110.90},
- { "Mulholland", 768.60, -954.60, -89.00, 952.60, -860.60, 110.90},
- { "Mulholland", 687.80, -860.60, -89.00, 911.80, -768.00, 110.90},
- { "Mulholland", 737.50, -768.00, -89.00, 1142.20, -674.80, 110.90},
- { "Mulholland", 1096.40, -910.10, -89.00, 1169.10, -768.00, 110.90},
- { "Mulholland", 952.60, -937.10, -89.00, 1096.40, -860.60, 110.90},
- { "Mulholland", 911.80, -860.60, -89.00, 1096.40, -768.00, 110.90},
- { "Mulholland", 861.00, -674.80, -89.00, 1156.50, -600.80, 110.90},
- { "Mulholland Intersection", 1463.90, -1150.80, -89.00, 1812.60, -768.00, 110.90},
- { "North Rock", 2285.30, -768.00, 0.00, 2770.50, -269.70, 200.00},
- { "Ocean Docks", 2373.70, -2697.00, -89.00, 2809.20, -2330.40, 110.90},
- { "Ocean Docks", 2201.80, -2418.30, -89.00, 2324.00, -2095.00, 110.90},
- { "Ocean Docks", 2324.00, -2302.30, -89.00, 2703.50, -2145.10, 110.90},
- { "Ocean Docks", 2089.00, -2394.30, -89.00, 2201.80, -2235.80, 110.90},
- { "Ocean Docks", 2201.80, -2730.80, -89.00, 2324.00, -2418.30, 110.90},
- { "Ocean Docks", 2703.50, -2302.30, -89.00, 2959.30, -2126.90, 110.90},
- { "Ocean Docks", 2324.00, -2145.10, -89.00, 2703.50, -2059.20, 110.90},
- { "Ocean Flats", -2994.40, 277.40, -9.10, -2867.80, 458.40, 200.00},
- { "Ocean Flats", -2994.40, -222.50, -0.00, -2593.40, 277.40, 200.00},
- { "Ocean Flats", -2994.40, -430.20, -0.00, -2831.80, -222.50, 200.00},
- { "Octane Springs", 338.60, 1228.50, 0.00, 664.30, 1655.00, 200.00},
- { "Old Venturas Strip", 2162.30, 2012.10, -89.00, 2685.10, 2202.70, 110.90},
- { "Palisades", -2994.40, 458.40, -6.10, -2741.00, 1339.60, 200.00},
- { "Palomino Creek", 2160.20, -149.00, 0.00, 2576.90, 228.30, 200.00},
- { "Paradiso", -2741.00, 793.40, -6.10, -2533.00, 1268.40, 200.00},
- { "Pershing Square", 1440.90, -1722.20, -89.00, 1583.50, -1577.50, 110.90},
- { "Pilgrim", 2437.30, 1383.20, -89.00, 2624.40, 1783.20, 110.90},
- { "Pilgrim", 2624.40, 1383.20, -89.00, 2685.10, 1783.20, 110.90},
- { "Pilson Intersection", 1098.30, 2243.20, -89.00, 1377.30, 2507.20, 110.90},
- { "Pirates in Men's Pants", 1817.30, 1469.20, -89.00, 2027.40, 1703.20, 110.90},
- { "Playa del Seville", 2703.50, -2126.90, -89.00, 2959.30, -1852.80, 110.90},
- { "Prickle Pine", 1534.50, 2583.20, -89.00, 1848.40, 2863.20, 110.90},
- { "Prickle Pine", 1117.40, 2507.20, -89.00, 1534.50, 2723.20, 110.90},
- { "Prickle Pine", 1848.40, 2553.40, -89.00, 1938.80, 2863.20, 110.90},
- { "Prickle Pine", 1938.80, 2624.20, -89.00, 2121.40, 2861.50, 110.90},
- { "Queens", -2533.00, 458.40, 0.00, -2329.30, 578.30, 200.00},
- { "Queens", -2593.40, 54.70, 0.00, -2411.20, 458.40, 200.00},
- { "Queens", -2411.20, 373.50, 0.00, -2253.50, 458.40, 200.00},
- { "Randolph Industrial Estate", 1558.00, 596.30, -89.00, 1823.00, 823.20, 110.90},
- { "Redsands East", 1817.30, 2011.80, -89.00, 2106.70, 2202.70, 110.90},
- { "Redsands East", 1817.30, 2202.70, -89.00, 2011.90, 2342.80, 110.90},
- { "Redsands East", 1848.40, 2342.80, -89.00, 2011.90, 2478.40, 110.90},
- { "Redsands West", 1236.60, 1883.10, -89.00, 1777.30, 2142.80, 110.90},
- { "Redsands West", 1297.40, 2142.80, -89.00, 1777.30, 2243.20, 110.90},
- { "Redsands West", 1377.30, 2243.20, -89.00, 1704.50, 2433.20, 110.90},
- { "Redsands West", 1704.50, 2243.20, -89.00, 1777.30, 2342.80, 110.90},
- { "Regular Tom", -405.70, 1712.80, -3.00, -276.70, 1892.70, 200.00},
- { "Richman", 647.50, -1118.20, -89.00, 787.40, -954.60, 110.90},
- { "Richman", 647.50, -954.60, -89.00, 768.60, -860.60, 110.90},
- { "Richman", 225.10, -1369.60, -89.00, 334.50, -1292.00, 110.90},
- { "Richman", 225.10, -1292.00, -89.00, 466.20, -1235.00, 110.90},
- { "Richman", 72.60, -1404.90, -89.00, 225.10, -1235.00, 110.90},
- { "Richman", 72.60, -1235.00, -89.00, 321.30, -1008.10, 110.90},
- { "Richman", 321.30, -1235.00, -89.00, 647.50, -1044.00, 110.90},
- { "Richman", 321.30, -1044.00, -89.00, 647.50, -860.60, 110.90},
- { "Richman", 321.30, -860.60, -89.00, 687.80, -768.00, 110.90},
- { "Richman", 321.30, -768.00, -89.00, 700.70, -674.80, 110.90},
- { "Robada Intersection", -1119.00, 1178.90, -89.00, -862.00, 1351.40, 110.90},
- { "Roca Escalante", 2237.40, 2202.70, -89.00, 2536.40, 2542.50, 110.90},
- { "Roca Escalante", 2536.40, 2202.70, -89.00, 2625.10, 2442.50, 110.90},
- { "Rockshore East", 2537.30, 676.50, -89.00, 2902.30, 943.20, 110.90},
- { "Rockshore West", 1997.20, 596.30, -89.00, 2377.30, 823.20, 110.90},
- { "Rockshore West", 2377.30, 596.30, -89.00, 2537.30, 788.80, 110.90},
- { "Rodeo", 72.60, -1684.60, -89.00, 225.10, -1544.10, 110.90},
- { "Rodeo", 72.60, -1544.10, -89.00, 225.10, -1404.90, 110.90},
- { "Rodeo", 225.10, -1684.60, -89.00, 312.80, -1501.90, 110.90},
- { "Rodeo", 225.10, -1501.90, -89.00, 334.50, -1369.60, 110.90},
- { "Rodeo", 334.50, -1501.90, -89.00, 422.60, -1406.00, 110.90},
- { "Rodeo", 312.80, -1684.60, -89.00, 422.60, -1501.90, 110.90},
- { "Rodeo", 422.60, -1684.60, -89.00, 558.00, -1570.20, 110.90},
- { "Rodeo", 558.00, -1684.60, -89.00, 647.50, -1384.90, 110.90},
- { "Rodeo", 466.20, -1570.20, -89.00, 558.00, -1385.00, 110.90},
- { "Rodeo", 422.60, -1570.20, -89.00, 466.20, -1406.00, 110.90},
- { "Rodeo", 466.20, -1385.00, -89.00, 647.50, -1235.00, 110.90},
- { "Rodeo", 334.50, -1406.00, -89.00, 466.20, -1292.00, 110.90},
- { "Royal Casino", 2087.30, 1383.20, -89.00, 2437.30, 1543.20, 110.90},
- { "San Andreas Sound", 2450.30, 385.50, -100.00, 2759.20, 562.30, 200.00},
- { "Santa Flora", -2741.00, 458.40, -7.60, -2533.00, 793.40, 200.00},
- { "Santa Maria Beach", 342.60, -2173.20, -89.00, 647.70, -1684.60, 110.90},
- { "Santa Maria Beach", 72.60, -2173.20, -89.00, 342.60, -1684.60, 110.90},
- { "Shady Cabin", -1632.80, -2263.40, -3.00, -1601.30, -2231.70, 200.00},
- { "Shady Creeks", -1820.60, -2643.60, -8.00, -1226.70, -1771.60, 200.00},
- { "Shady Creeks", -2030.10, -2174.80, -6.10, -1820.60, -1771.60, 200.00},
- { "Sobell Rail Yards", 2749.90, 1548.90, -89.00, 2923.30, 1937.20, 110.90},
- { "Spinybed", 2121.40, 2663.10, -89.00, 2498.20, 2861.50, 110.90},
- { "Starfish Casino", 2437.30, 1783.20, -89.00, 2685.10, 2012.10, 110.90},
- { "Starfish Casino", 2437.30, 1858.10, -39.00, 2495.00, 1970.80, 60.90},
- { "Starfish Casino", 2162.30, 1883.20, -89.00, 2437.30, 2012.10, 110.90},
- { "Temple", 1252.30, -1130.80, -89.00, 1378.30, -1026.30, 110.90},
- { "Temple", 1252.30, -1026.30, -89.00, 1391.00, -926.90, 110.90},
- { "Temple", 1252.30, -926.90, -89.00, 1357.00, -910.10, 110.90},
- { "Temple", 952.60, -1130.80, -89.00, 1096.40, -937.10, 110.90},
- { "Temple", 1096.40, -1130.80, -89.00, 1252.30, -1026.30, 110.90},
- { "Temple", 1096.40, -1026.30, -89.00, 1252.30, -910.10, 110.90},
- { "The Camel's Toe", 2087.30, 1203.20, -89.00, 2640.40, 1383.20, 110.90},
- { "The Clown's Pocket", 2162.30, 1783.20, -89.00, 2437.30, 1883.20, 110.90},
- { "The Emerald Isle", 2011.90, 2202.70, -89.00, 2237.40, 2508.20, 110.90},
- { "The Farm", -1209.60, -1317.10, 114.90, -908.10, -787.30, 251.90},
- { "The Four Dragons Casino", 1817.30, 863.20, -89.00, 2027.30, 1083.20, 110.90},
- { "The High Roller", 1817.30, 1283.20, -89.00, 2027.30, 1469.20, 110.90},
- { "The Mako Span", 1664.60, 401.70, 0.00, 1785.10, 567.20, 200.00},
- { "The Panopticon", -947.90, -304.30, -1.10, -319.60, 327.00, 200.00},
- { "The Pink Swan", 1817.30, 1083.20, -89.00, 2027.30, 1283.20, 110.90},
- { "The Sherman Dam", -968.70, 1929.40, -3.00, -481.10, 2155.20, 200.00},
- { "The Strip", 2027.40, 863.20, -89.00, 2087.30, 1703.20, 110.90},
- { "The Strip", 2106.70, 1863.20, -89.00, 2162.30, 2202.70, 110.90},
- { "The Strip", 2027.40, 1783.20, -89.00, 2162.30, 1863.20, 110.90},
- { "The Strip", 2027.40, 1703.20, -89.00, 2137.40, 1783.20, 110.90},
- { "The Visage", 1817.30, 1863.20, -89.00, 2106.70, 2011.80, 110.90},
- { "The Visage", 1817.30, 1703.20, -89.00, 2027.40, 1863.20, 110.90},
- { "Unity Station", 1692.60, -1971.80, -20.40, 1812.60, -1932.80, 79.50},
- { "Valle Ocultado", -936.60, 2611.40, 2.00, -715.90, 2847.90, 200.00},
- { "Verdant Bluffs", 930.20, -2488.40, -89.00, 1249.60, -2006.70, 110.90},
- { "Verdant Bluffs", 1073.20, -2006.70, -89.00, 1249.60, -1842.20, 110.90},
- { "Verdant Bluffs", 1249.60, -2179.20, -89.00, 1692.60, -1842.20, 110.90},
- { "Verdant Meadows", 37.00, 2337.10, -3.00, 435.90, 2677.90, 200.00},
- { "Verona Beach", 647.70, -2173.20, -89.00, 930.20, -1804.20, 110.90},
- { "Verona Beach", 930.20, -2006.70, -89.00, 1073.20, -1804.20, 110.90},
- { "Verona Beach", 851.40, -1804.20, -89.00, 1046.10, -1577.50, 110.90},
- { "Verona Beach", 1161.50, -1722.20, -89.00, 1323.90, -1577.50, 110.90},
- { "Verona Beach", 1046.10, -1722.20, -89.00, 1161.50, -1577.50, 110.90},
- { "Vinewood", 787.40, -1310.20, -89.00, 952.60, -1130.80, 110.90},
- { "Vinewood", 787.40, -1130.80, -89.00, 952.60, -954.60, 110.90},
- { "Vinewood", 647.50, -1227.20, -89.00, 787.40, -1118.20, 110.90},
- { "Vinewood", 647.70, -1416.20, -89.00, 787.40, -1227.20, 110.90},
- { "Whitewood Estates", 883.30, 1726.20, -89.00, 1098.30, 2507.20, 110.90},
- { "Whitewood Estates", 1098.30, 1726.20, -89.00, 1197.30, 2243.20, 110.90},
- { "Willowfield", 1970.60, -2179.20, -89.00, 2089.00, -1852.80, 110.90},
- { "Willowfield", 2089.00, -2235.80, -89.00, 2201.80, -1989.90, 110.90},
- { "Willowfield", 2089.00, -1989.90, -89.00, 2324.00, -1852.80, 110.90},
- { "Willowfield", 2201.80, -2095.00, -89.00, 2324.00, -1989.90, 110.90},
- { "Willowfield", 2541.70, -1941.40, -89.00, 2703.50, -1852.80, 110.90},
- { "Willowfield", 2324.00, -2059.20, -89.00, 2541.70, -1852.80, 110.90},
- { "Willowfield", 2541.70, -2059.20, -89.00, 2703.50, -1941.40, 110.90},
- { "Yellow Bell Station", 1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00},
- { "Los Santos", 44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00},
- { "Las Venturas", 869.40, 596.30, -242.90, 2997.00, 2993.80, 900.00},
- { "Bone County", -480.50, 596.30, -242.90, 869.40, 2993.80, 900.00},
- { "Tierra Robada", -2997.40, 1659.60, -242.90, -480.50, 2993.80, 900.00},
- { "Tierra Robada", -1213.90, 596.30, -242.90, -480.50, 1659.60, 900.00},
- { "San Fierro", -2997.40, -1115.50, -242.90, -1213.90, 1659.60, 900.00},
- { "Red County", -1213.90, -768.00, -242.90, 2997.00, 596.30, 900.00},
- { "Flint County", -1213.90, -2892.90, -242.90, 44.60, -768.00, 900.00},
- { "Whetstone", -2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00}
- };
- #define FILTERSCRIPT
- #include <a_samp>
- #include <zcmd>
- #include <foreach>
- #include <sscanf2>
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\nMinigun fs loaded\nVersion: 1.0\nCreator: Kyance");
- MinigunT = SetTimer("MinigunTimer", 1500, true);
- for( new i; i < _: mInfo; ++i ) MinigunInfo[ i ][ mInfo: i ] = 0;
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("\nMinigun fs unloaded\nVersion: 1.0\nCreator: Kyance");
- KillTimer(MinigunT);
- DestroyMiniguns();
- return 1;
- }
- #endif
- new SelectedMinigun[MAX_PLAYERS];
- public OnPlayerConnect(playerid)
- {
- SelectedMinigun[playerid] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- for(new i = 1; i<MAX_MINIGUNS; i++)
- {
- if(!MinigunInfo[i][IsSpawned]) continue;
- if(MinigunInfo[i][CreatorID] == playerid)
- {
- DestroyMinigun(i);
- }
- }
- SelectedMinigun[playerid] = 0;
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_EDITMINIGUN1:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN2, DIALOG_STYLE_INPUT, "{FC4949}Modify Damage", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}DAMAGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- case 1: ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN3, DIALOG_STYLE_INPUT, "{FC4949}Modify Range", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}RANGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- case 2:
- {
- if(GetPlayerMoney(playerid) > 50000)
- {
- MinigunInfo[SelectedMinigun[playerid]][MinigunHealth] = 100;
- GivePlayerMoney(playerid, -50000);
- SendClientMessage(playerid, COLOR_NOTES, "* Successfully repaired the minigun!");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN1, DIALOG_STYLE_LIST, "{64CC66}Edit selected minigun.", "{64CC66}* {FFFFFF}Modify Damage\n{64CC66}* {FFFFFF}Modify Range\n{64CC66}* {FFFFFF}Repair(or fix) selected minigun", "Select", "Cancel");
- SendClientMessage(playerid, COLOR_RED, "[NOTE] You don't have enough cash!");
- return 1;
- }
- }
- }
- }
- }
- case DIALOG_EDITMINIGUN2:
- {
- if(response)
- {
- if(strlen(inputtext))
- {
- new Float:newdmg = strval(inputtext);
- if(newdmg == MinigunInfo[SelectedMinigun[playerid]][MinigunDamage])
- {
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN2, DIALOG_STYLE_INPUT, "{FC4949}Modify Damage", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}DAMAGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- SendClientMessage(playerid, COLOR_RED, "[NOTE] That's the same DAMAGE value.");
- return 1;
- }
- else if(newdmg > 20 || newdmg < 5)
- {
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN2, DIALOG_STYLE_INPUT, "{FC4949}Modify Damage", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}DAMAGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- SendClientMessage(playerid, COLOR_RED, "[NOTE] The max. DAMAGE is 20, the min. DAMAGE is 5.");
- return 1;
- }
- else
- {
- MinigunInfo[SelectedMinigun[playerid]][MinigunDamage] = newdmg;
- new string[72];
- format(string, sizeof(string), "* You've successfully edited the miniguns DAMAGE to %0.1f.", newdmg);
- SendClientMessage(playerid, COLOR_NOTES, string), string = "\0";
- }
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN2, DIALOG_STYLE_INPUT, "{FC4949}Modify Damage", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}DAMAGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- SendClientMessage(playerid, COLOR_RED, "[NOTE] You didn't type anything!");
- }
- }
- else ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN1, DIALOG_STYLE_LIST, "{64CC66}Edit selected minigun.", "{64CC66}* {FFFFFF}Modify Damage\n{64CC66}* {FFFFFF}Modify Range\n{64CC66}* {FFFFFF}Repair(or fix) selected minigun", "Select", "Cancel");
- }
- case DIALOG_EDITMINIGUN3:
- {
- if(response)
- {
- if(strlen(inputtext))
- {
- new Float:newrange = strval(inputtext);
- if(newrange == MinigunInfo[SelectedMinigun[playerid]][MinigunRange])
- {
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN3, DIALOG_STYLE_INPUT, "{FC4949}Modify Range", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}RANGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- SendClientMessage(playerid, COLOR_RED, "[NOTE] That's the same RANGE value.");
- return 1;
- }
- else if(newrange > 35 || newrange < 10)
- {
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN3, DIALOG_STYLE_INPUT, "{FC4949}Modify Range", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}RANGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- SendClientMessage(playerid, COLOR_RED, "[NOTE] The max. DAMAGE is 35, the min. RANGE is 10.");
- return 1;
- }
- else
- {
- MinigunInfo[SelectedMinigun[playerid]][MinigunRange] = newrange;
- new string[72];
- format(string, sizeof(string), "* You've successfully edited the miniguns RANGE to %0.1f.", newrange);
- SendClientMessage(playerid, COLOR_NOTES, string), string = "\0";
- }
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN3, DIALOG_STYLE_INPUT, "{FC4949}Modify Range", "{FC4949}* {FFFFFF}Insert a new value for the {FC4949}RANGE {FFFFFF}below\n{FC4949}MUST BE NUMERIC.", "Accept", "Back");
- SendClientMessage(playerid, COLOR_RED, "[NOTE] You didn't type anything!");
- }
- }
- else ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN1, DIALOG_STYLE_LIST, "{64CC66}Edit selected minigun.", "{64CC66}* {FFFFFF}Modify Damage\n{64CC66}* {FFFFFF}Modify Range\n{64CC66}* {FFFFFF}Repair(or fix) selected minigun", "Select", "Cancel");
- }
- }
- return 1;
- }
- CMD:miniguns(playerid, params[]) {
- new string[420];
- if(!Miniguns) return SendClientMessage(playerid, COLOR_NOTES, "[INFO] There aren't any spawned miniguns!");
- for(new i = 1; i < MAX_MINIGUNS; i++)
- {
- if(MinigunInfo[i][IsSpawned]) format(string, sizeof(string), "%s\nMinigun %d - Created by %s - HP %d - DAMAGE %0.1f - RANGE %0.1f", string, MinigunInfo[i][ID], GetName(MinigunInfo[i][CreatorID]), MinigunInfo[i][MinigunHealth], MinigunInfo[i][MinigunDamage], MinigunInfo[i][MinigunRange]);
- }
- ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "{64CC66}All spawned miniguns", string, "Close", ""), string = "\0";
- return 1;
- }
- CMD:editminigun(playerid, params[]) {
- if(IsPlayerAdmin(playerid))
- {
- if(!Miniguns) return SendClientMessage(playerid, COLOR_NOTES, "[INFO] There aren't any spawned miniguns!");
- new mingID = GetClosestMinigun(playerid);
- if(mingID)
- {
- SelectedMinigun[playerid] = mingID;
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN1, DIALOG_STYLE_LIST, "{64CC66}Edit nearby minigun.", "{64CC66}* {FFFFFF}Modify Damage\n{64CC66}* {FFFFFF}Modify Range\n{64CC66}* {FFFFFF}Repair(or fix) nearby minigun ( {64CC66}50'000${FFFFFF} )", "Select", "Cancel");
- }
- else
- {
- if(sscanf(params, "i", mingID)) return SendClientMessage(playerid, COLOR_NOTES, "[USAGE] /editminigun ID");
- if(!MinigunInfo[mingID][IsSpawned]) return SendClientMessage(playerid, COLOR_NOTES, "[NOTE] Invalid ID");
- SelectedMinigun[playerid] = mingID;
- ShowPlayerDialog(playerid, DIALOG_EDITMINIGUN1, DIALOG_STYLE_LIST, "{64CC66}Edit selected minigun.", "{64CC66}* {FFFFFF}Modify Damage\n{64CC66}* {FFFFFF}Modify Range\n{64CC66}* {FFFFFF}Repair(or fix) selected minigun", "Select", "Cancel");
- }
- }
- else return 0;
- return 1;
- }
- CMD:createminigun(playerid, params[]) {
- if(IsPlayerAdmin(playerid))
- {
- if(Miniguns < MAX_MINIGUNS)
- {
- new health, Float:damage, Float:range;
- if(sscanf(params, "iff", health, damage, range)) return SendClientMessage(playerid, COLOR_NOTES, "[USAGE] /createminigun HEALTH DAMAGE RANGE");
- if(health > 100 || health < 45) return SendClientMessage(playerid, COLOR_NOTES, "[INFO] The max. HEALTH is 100, the min. HEALTH is 45.");
- else if(damage > 20 || damage < 5) return SendClientMessage(playerid, COLOR_NOTES, "[INFO] The max. DAMAGE is 20, the min. DAMAGE is 5.");
- else if(range > 35 || range < 10) return SendClientMessage(playerid, COLOR_NOTES, "[INFO] The max. RANGE is 35, the min. RANGE is 10.");
- new Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, Angle);
- new id = GetAvailableID();
- CreateMinigun(playerid, id, X, Y, Z, Angle, health, damage, range);
- //Remove these 4 lines ( 594 -> 597 ), if you don't want people to get notifications about miniguns being created.
- new string[72];
- format(string, sizeof(string), "[INFO] %s(%d) has created a minigun at %s.", GetName(playerid), playerid, GetPlayerArea(playerid));
- SendClientMessageToAll(COLOR_RED, string), string = "\0";
- }
- else SendClientMessage(playerid, COLOR_RED, "[NOTE] The max. amount of miniguns has been reached.");
- }
- else return 0;
- return 1;
- }
- CMD:destroyminigun(playerid, params[]) {
- if(IsPlayerAdmin(playerid))
- {
- new mgid;
- if(!Miniguns) return SendClientMessage(playerid, COLOR_NOTES, "[INFO] There aren't any spawned miniguns!");
- if(isnull(params)) return SendClientMessage(playerid, COLOR_NOTES, "[USAGE] /destroyminigun ID");
- mgid = strval(params);
- if(!MinigunInfo[mgid][IsSpawned]) return SendClientMessage(playerid, COLOR_NOTES, "[NOTE] Invalid ID!");
- DestroyMinigun(mgid);
- }
- else return 0;
- return 1;
- }
- CMD:destroyminiguns(playerid, params[]) {
- if(IsPlayerAdmin(playerid))
- {
- if(!Miniguns) return SendClientMessage(playerid, COLOR_NOTES, "[INFO] There aren't any spawned miniguns!");
- DestroyMiniguns();
- }
- else return 0;
- return 1;
- }
- public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
- {
- if( hittype == BULLET_HIT_TYPE_OBJECT )
- {
- if( hitid == MinigunInfo[hitid][Object] )
- {
- MinigunInfo[hitid][MinigunHealth]--;
- new string[112];
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~r~MINIGUN DAMAGED~n~HP: ~r~%d~h~~h~/~r~100", MinigunInfo[hitid][MinigunHealth]);
- GameTextForPlayer(playerid, string, 1000, 3), string = "\0";
- if(MinigunInfo[hitid][MinigunHealth] == 35)
- {
- format(string, sizeof(string), "* %s(%d) has damaged the minigun to %d/100 health!", GetName(playerid), playerid, MinigunInfo[hitid][MinigunHealth]);
- SendClientMessageToAll(COLOR_RED, string), string = "\0";
- SendClientMessageToAll(COLOR_RED, "* The Minigun has enabled its Advanced Self-Defense mode!");
- MinigunInfo[hitid][MinigunDamage] = 20;
- MinigunInfo[hitid][MinigunRange] = 55;
- }
- else if(MinigunInfo[hitid][MinigunHealth] <= 1)
- {
- //format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~r~MINIGUN DESTROYED\nHP: ~w~%d~r~/~r~100", MinigunInfo[hitid][MinigunHealth]);
- GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~r~MINIGUN DESTROYED\nHP: ~w~0~r~/~r~100", 1500, 3);
- format(string, sizeof(string), "* %s(%d) destroyed %s's(%d) minigun!", GetName(playerid), playerid, GetName(MinigunInfo[hitid][CreatorID]), MinigunInfo[hitid][CreatorID]);
- SendClientMessageToAll(COLOR_NOTES, string), string = "\0";
- SetPlayerHealth(playerid, 99);
- GivePlayerScore(playerid, 3);
- GivePlayerMoney(playerid, 15000);
- SendClientMessage(playerid, COLOR_NOTES, "* You've received 3 score and 15'000$!");
- DestroyMinigun(hitid);
- }
- return 1;
- }
- }
- return 1;
- }
- stock CreateMinigun(Creator, mID, Float:X, Float:Y, Float:Z, Float:Angle, Health, Float:Damage, Float:Range)
- {
- MinigunInfo[mID][Object] = CreateObject(2985,X,Y+1,Z-0.75,0,0,0);
- MinigunInfo[mID][ID] = mID;
- MinigunInfo[mID][CreatorID] = Creator;
- MinigunInfo[mID][IsSpawned] = 1;
- MinigunInfo[mID][MinigunHealth] = Health;
- MinigunInfo[mID][MinigunDamage] = Damage, MinigunInfo[mID][MinigunRange] = Range;
- MinigunInfo[mID][mX] = X, MinigunInfo[mID][mY] = Y, MinigunInfo[mID][mZ] = Z, MinigunInfo[mID][mAngle] = Angle;
- Miniguns++;
- printf("[info] created minigun %d .. %d", mID, Miniguns);
- printf("[info] creator: %d, health: %d, dmg: %0.1f, rng: %0.1f.", Creator, Health, Damage, Range);
- return 1;
- }
- stock DestroyMiniguns()
- {
- for(new i = 1; i < MAX_MINIGUNS; i++)
- {
- if(MinigunInfo[i][IsSpawned])
- {
- DestroyObject(MinigunInfo[i][Object]);
- MinigunInfo[i][ID] = -1;
- MinigunInfo[i][CreatorID] = -1;
- MinigunInfo[i][IsSpawned] = -1;
- MinigunInfo[i][MinigunHealth] = -1;
- MinigunInfo[i][MinigunDamage] = -1, MinigunInfo[i][MinigunRange] = -1;
- MinigunInfo[i][mX] = -1, MinigunInfo[i][mY] = -1, MinigunInfo[i][mZ] = -1, MinigunInfo[i][mAngle] = -1;
- Miniguns = 0;
- }
- }
- foreach(Player, x) SelectedMinigun[x] = 0;
- SendClientMessageToAll(COLOR_NOTES, "[INFO] Destroyed all miniguns.");
- return 1;
- }
- stock DestroyMinigun(minigunid)
- {
- DestroyObject(MinigunInfo[minigunid][Object]), MinigunInfo[minigunid][Object] = -1;
- MinigunInfo[minigunid][ID] = -1;
- MinigunInfo[minigunid][CreatorID] = -1;
- MinigunInfo[minigunid][IsSpawned] = -1;
- MinigunInfo[minigunid][MinigunHealth] = -1;
- MinigunInfo[minigunid][MinigunDamage] = -1, MinigunInfo[minigunid][MinigunRange] = -1;
- MinigunInfo[minigunid][mX] = -1, MinigunInfo[minigunid][mY] = -1, MinigunInfo[minigunid][mZ] = -1, MinigunInfo[minigunid][mAngle] = -1;
- SelectedMinigun[MinigunInfo[minigunid][CreatorID]] = 0;
- Miniguns--;
- return 1;
- }
- forward MinigunTimer();
- public MinigunTimer()
- {
- if(Miniguns)
- {
- new Float:RotX,Float:RotY,Float:px,Float:py, Float:pAngle;
- new string[88];
- new vID;
- foreach(Player, i)
- {
- if(IsPlayerAdmin(i)) continue;
- new mingID = GetClosestMinigun(i);
- if(mingID)
- {
- GetPlayerPos(i, px,py,pAngle);
- PlayerPlaySound(i, 1130, px, py, pAngle);
- GetMinigunAngle(px, py, MinigunInfo[mingID][mX], MinigunInfo[mingID][mY], pAngle);
- SetObjectRot(MinigunInfo[mingID][Object], RotX, RotY, pAngle+90);
- new Float:armour;
- GetPlayerArmour(i,armour);
- if(armour > 5) SetPlayerArmour(i, armour-MinigunInfo[mingID][MinigunDamage]);
- else SetPlayerArmour(i, 0);
- new Float:health;
- GetPlayerHealth(i,health);
- if(health >= 8)
- {
- SetPlayerHealth(i, health-MinigunInfo[mingID][MinigunDamage]);
- if(IsPlayerInAnyVehicle(i))
- {
- new Float:vp;
- vID = GetPlayerVehicleID(i);
- GetVehicleHealth(i, vp);
- if(vp > 245)
- {
- SetVehicleHealth(vID, vp-MinigunInfo[mingID][MinigunDamage]+random(75));
- }
- }
- }
- else
- {
- OnPlayerDeath(i, MinigunInfo[mingID][CreatorID], 38), SpawnPlayer(i);
- format(string, sizeof(string), "* You got killed by %s's(%d) minigun!", MinigunInfo[mingID][CreatorID], GetName(MinigunInfo[mingID][CreatorID]));
- SendClientMessage(i, COLOR_NOTES, string), string = "\0";
- format(string, sizeof(string), "* Your minigun killed %s(%d) - %d/100 health left - %0.1f damage - %0.1f radius", GetName(i), i, MinigunInfo[mingID][MinigunHealth], MinigunInfo[mingID][MinigunDamage], MinigunInfo[mingID][MinigunRange]);
- SendClientMessage(MinigunInfo[mingID][CreatorID], COLOR_NOTES, string), string = "\0";
- }
- }
- }
- }
- return 1;
- }
- stock GetMinigunAngle(Float:X, Float:Y, Float:CurrentX, Float:CurrentY, &Float:Angle)
- {
- Angle = atan2(Y-CurrentY, X-CurrentX);
- Angle = floatsub(Angle, 90.0);
- if(Angle < 0.0)
- {
- Angle = floatadd(Angle, 360.0);
- }
- }
- stock GetName(playerid)
- {
- new pnameid[24];
- GetPlayerName(playerid,pnameid,sizeof(pnameid));
- return pnameid;
- }
- stock PlayerIP(playerid)
- {
- new str[16];
- GetPlayerIp(playerid, str, sizeof(str));
- return str;
- }
- stock GivePlayerScore(playerid, score)
- {
- SetPlayerScore(playerid, GetPlayerScore(playerid) + score);
- return 1;
- }
- stock GetAvailableID()
- {
- for(new i = 1; i<MAX_MINIGUNS; i++)
- {
- if(!MinigunInfo[i][IsSpawned]) return i;
- }
- return -1;
- }
- stock GetPlayerArea(playerid)
- {
- new stringz[50];
- format(stringz,sizeof(stringz),"%s",Zones[GetPlayerZone(playerid)][zone_name]);
- return stringz;
- }
- stock GetPlayerZone(playerid)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- for(new i=0;i<sizeof(Zones);i++)
- {
- if(x > Zones[i][zone_minx] && y > Zones[i][zone_miny] && z > Zones[i][zone_minz] && x < Zones[i][zone_maxx] && y < Zones[i][zone_maxy] && z < Zones[i][zone_maxz])
- return i;
- }
- return false;
- }
- stock GetClosestMinigun(playerid)
- {
- new Float:dist = 40.0;
- new id = -1;
- new Float:x,Float:y,Float:z;
- new Float:tmpdis;
- GetPlayerPos(playerid,x,y,z);
- for(new i=1;i<MAX_MINIGUNS;i++)
- {
- if(!MinigunInfo[i][IsSpawned]) continue;
- GetObjectPos(i,MinigunInfo[i][mX],MinigunInfo[i][mY],MinigunInfo[i][mZ]);
- tmpdis = floatsqroot(floatpower(floatabs(floatsub(MinigunInfo[i][mX],x)),2)+floatpower(floatabs(floatsub(MinigunInfo[i][mY],y)),2)+floatpower(floatabs(floatsub(MinigunInfo[i][mZ],z)),2));
- if(tmpdis < dist)
- {
- dist = tmpdis;
- id = i;
- }
- }
- return id;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement