27.10.2012, 06:54
when I compile this filter script I get that error. Actually it is not defined anywhere else what I know
it appears at the VERY end
it appears at the VERY end
pawn Код:
strcat(DialogText5, "{FF0A00}* No cheating or modifications of any kind that give you advantages over other players!(BANNABLE)\n\n* No flaming, racism or any sort of discrimination towards any other player!(BANNABLE)\n\n* No spamming/flooding chat for any reason!\n\n* Avoid the unnecessary use of sexual language (pussy, dick, etc.)!\n\n");
strcat(DialogText5, "* The abuse of server bugs, such as RPG Bug is forbidden!(BANNABLE)\n\n* Spawn kill is allowed as long as it is not done with a Sea-Sparrow...\n\n ...In any race Spawn killing is strictly forbidden!\n");
strcat(DialogText5, "\n* Use /report [ID/first letters of the offender's name] [reason] to report a cheater!\n\n{FFD200}Play Fair & Have Fun!");
Код:
//---------------------------------------------------------- // // GRAND LARCENY 1.0 // A freeroam gamemode for SA-MP 0.3 // //---------------------------------------------------------- #include <irc> #include <a_samp> #include <core> #include <ircfs> #include <float> #include <YSI\y_ini> #include <streamer> #include <sscanf2> #include <ZCMD> //Like so! #include <DynamicRadioStations> #include "../include/gl_common.inc" #include "../include/gl_spawns.inc" #pragma tabsize 0 //---------------------------------------------------------- #define COLOR_WHITE 0xFFFFFFFF #define COLOR_NORMAL_PLAYER 0xFFBB7777 #define COLOR_RED 0xFF444499 #define COLOR_YELLOW 0xFFFF00AA #define COLOR_GREEN 0xB1FB44FF #define loop(%1,%2) for (new %1 = 0; %1 < %2; %1++) // loop (used for gamemode) #define CITY_LOS_SANTOS 0 #define CITY_SAN_FIERRO 1 #define CITY_LAS_VENTURAS 2 #define Skinid 1 #define Money 2 #define Faction 3 #define irc #define STREAMER_TYPE_OBJECT (0) #define STREAMER_TYPE_PICKUP (1) #define STREAMER_TYPE_CP (2) #define STREAMER_TYPE_RACE_CP (3) #define STREAMER_TYPE_MAP_ICON (4) #define STREAMER_TYPE_3D_TEXT_LABEL (5) #define STREAMER_TYPE_AREA (6) #define STREAMER_AREA_TYPE_CIRCLE (0) #define STREAMER_AREA_TYPE_RECTANGLE (1) #define STREAMER_AREA_TYPE_SPHERE (2) #define STREAMER_AREA_TYPE_CUBE (3) #define STREAMER_AREA_TYPE_POLYGON (4) #define STREAMER_OBJECT_TYPE_GLOBAL (0) #define STREAMER_OBJECT_TYPE_PLAYER (1) #define STREAMER_OBJECT_TYPE_DYNAMIC (2) #define GAMETEXT_COLOR 2 //Change this to change the color of the text. 0 = yellow(default), 1 = blue, 2 = green, 3 = red, 4 = purple, 5 = white, 6 = black. #define COL_WHITE "{FFFFFF}" #define COL_RED "{F81414}" #define COL_GREEN "{00FF22}" // Name that everyone will see #define BOT_1_NICKNAME "Julius95Bot" // Name that will only be visible in a whois #define BOT_1_REALNAME "Julius95Bot" // Name that will be in front of the hostname (username@hostname) #define BOT_1_USERNAME "Julius95Bot" #define BOT_2_NICKNAME "AdrenalineBot" #define BOT_2_REALNAME "AdrenalineBot" #define BOT_2_USERNAME "AdrenalineBot" #define IRC_SERVER "exnet.fr.irc.tl" #define IRC_PORT (6667) #define IRC_CHANNEL "#Julius95" #define IRC_CHANNEL2 "#Julius95" // IRC Channel #2 // If your bot names are registered put a password here to identify them with #define IRC_PASSWORD "password" #define IRC_PASSWORD "password" // Maximum number of bots in the filterscript #define MAX_BOTS (2) #define PLUGIN_VERSION "1.4.3" new Text:welcomeText; new gBotID[MAX_BOTS], gGroupID; new szString[32]; new DialogText5[1024]; new total_vehicles_from_files=0; new botIDs[MAX_BOTS], groupID; // Class selection globals new gPlayerCitySelection[MAX_PLAYERS]; new gPlayerHasCitySelected[MAX_PLAYERS]; new gPlayerLastCitySelectionTick[MAX_PLAYERS]; enum zoneinfo { zone_name[256], Float:zone_minx, Float:zone_miny, Float:zone_minz, Float:zone_maxx, Float:zone_maxy, Float:zone_maxz } new Float:zones[][zoneinfo] = { { "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}, // Main Zones { "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} }; new VehicleNames[212][] = { {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"}, {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"}, {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"}, {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"}, {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"}, {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"}, {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"}, {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"}, {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"}, {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"}, {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"}, {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"}, {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"}, {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"}, {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"}, {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"}, {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"}, {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"}, {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"}, {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"}, {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"}, {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"}, {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"}, {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"}, {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"}, {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"}, {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"}, {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"}, {"Utility Trailer"} }; new VehicleModel[MAX_PLAYERS]; new CFCTimer; forward CheckForChange(playerid); forward ShowGameTextForPlayer(playerid); forward update_zones(playerid); new zoneupdates[MAX_PLAYERS]; new player_zone[MAX_PLAYERS]; new zoneupdate; new Text:txtClassSelHelper; new Text:txtLosSantos; new Text:txtSanFierro; new Text:txtLasVenturas; //---------------------------------------------------------- main() { print("\n---------------------------------------"); print("Running Julius95's server\n"); print("---------------------------------------\n"); } //---------------------------------------------------------- public OnPlayerConnect(playerid) { if(!IsPlayerConnected(playerid)) return 1; printf("Passed"); SendDeathMessage(INVALID_PLAYER_ID,playerid,200); printf("Passed"); new joinMsg[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(joinMsg, sizeof(joinMsg), "02[%d] 03*** %s has joined the server.", playerid, name); IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg); TextDrawShowForPlayer(playerid,welcomeText); // class selection init vars gPlayerCitySelection[playerid] = -1; gPlayerHasCitySelected[playerid] = 0; gPlayerLastCitySelectionTick[playerid] = GetTickCount(); //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER); /* Removes vending machines RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0); */ /* new ClientVersion[32]; GetPlayerVersion(playerid, ClientVersion, 32); printf("Player %d reports client version: %s", playerid, ClientVersion);*/ return 1; } //---------------------------------------------------------- public OnPlayerDisconnect(playerid, reason) { SendDeathMessage(INVALID_PLAYER_ID, playerid, 201); new leaveMsg[128], name[MAX_PLAYER_NAME], reasonMsg[8]; switch(reason) { case 0: reasonMsg = "Timeout"; case 1: reasonMsg = "Leaving"; case 2: reasonMsg = "Kicked"; } GetPlayerName(playerid, name, sizeof(name)); format(leaveMsg, sizeof(leaveMsg), "02[%d] 03*** %s has left the server. (%s)", playerid, name, reasonMsg); IRC_GroupSay(groupID, IRC_CHANNEL, leaveMsg); zoneupdates[playerid] = 0; player_zone[playerid] = -1; } //---------------------------------------------------------- public OnPlayerSpawn(playerid) { if(IsPlayerNPC(playerid)) return 1; new randSpawn = 0; zoneupdates[playerid] = 1; player_zone[playerid] = -1; if(!zoneupdate) zoneupdate = SetTimer("update_zones",1000,4); SetPlayerInterior(playerid,0); TogglePlayerClock(playerid,0); if(CITY_LOS_SANTOS == gPlayerCitySelection[playerid]) { randSpawn = random(sizeof(gRandomSpawns_LosSantos)); SetPlayerPos(playerid, gRandomSpawns_LosSantos[randSpawn][0], gRandomSpawns_LosSantos[randSpawn][1], gRandomSpawns_LosSantos[randSpawn][2]); SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]); } else if(CITY_SAN_FIERRO == gPlayerCitySelection[playerid]) { randSpawn = random(sizeof(gRandomSpawns_SanFierro)); SetPlayerPos(playerid, gRandomSpawns_SanFierro[randSpawn][0], gRandomSpawns_SanFierro[randSpawn][1], gRandomSpawns_SanFierro[randSpawn][2]); SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]); } else if(CITY_LAS_VENTURAS == gPlayerCitySelection[playerid]) { randSpawn = random(sizeof(gRandomSpawns_LasVenturas)); SetPlayerPos(playerid, gRandomSpawns_LasVenturas[randSpawn][0], gRandomSpawns_LasVenturas[randSpawn][1], gRandomSpawns_LasVenturas[randSpawn][2]); SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]); } //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER); GivePlayerWeapon(playerid,WEAPON_COLT45,100); GivePlayerWeapon(playerid,WEAPON_MP5,100); TogglePlayerClock(playerid, 0); return 1; } //---------------------------------------------------------- public OnPlayerDeath(playerid, killerid, reason) { SendDeathMessage(killerid, playerid, reason); new msg[128], killerName[MAX_PLAYER_NAME], reasonMsg[32], playerName[MAX_PLAYER_NAME]; GetPlayerName(killerid, killerName, sizeof(killerName)); GetPlayerName(playerid, playerName, sizeof(playerName)); if (killerid != INVALID_PLAYER_ID) { switch (reason) { case 0: reasonMsg = "Unarmed"; case 1: reasonMsg = "Brass Knuckles"; case 2: reasonMsg = "Golf Club"; case 3: reasonMsg = "Night Stick"; case 4: reasonMsg = "Knife"; case 5: reasonMsg = "Baseball Bat"; case 6: reasonMsg = "Shovel"; case 7: reasonMsg = "Pool Cue"; case 8: reasonMsg = "Katana"; case 9: reasonMsg = "Chainsaw"; case 10: reasonMsg = "Dildo"; case 11: reasonMsg = "Dildo"; case 12: reasonMsg = "Vibrator"; case 13: reasonMsg = "Vibrator"; case 14: reasonMsg = "Flowers"; case 15: reasonMsg = "Cane"; case 22: reasonMsg = "Pistol"; case 23: reasonMsg = "Silenced Pistol"; case 24: reasonMsg = "Desert Eagle"; case 25: reasonMsg = "Shotgun"; case 26: reasonMsg = "Sawn-off Shotgun"; case 27: reasonMsg = "Combat Shotgun"; case 28: reasonMsg = "MAC-10"; case 29: reasonMsg = "MP5"; case 30: reasonMsg = "AK-47"; case 31: reasonMsg = "M4"; case 32: reasonMsg = "TEC-9"; case 33: reasonMsg = "Country Rifle"; case 34: reasonMsg = "Sniper Rifle"; case 37: reasonMsg = "Fire"; case 38: reasonMsg = "Minigun"; case 41: reasonMsg = "Spray Can"; case 42: reasonMsg = "Fire Extinguisher"; case 49: reasonMsg = "Vehicle Collision"; case 50: reasonMsg = "Vehicle Collision"; case 51: reasonMsg = "Explosion"; default: reasonMsg = "Unknown"; } format(msg, sizeof(msg), "04*** %s killed %s. (%s)", killerName, playerName, reasonMsg); } else { switch (reason) { case 53: format(msg, sizeof(msg), "04*** %s died. (Drowned)", playerName); case 54: format(msg, sizeof(msg), "04*** %s died. (Collision)", playerName); default: format(msg, sizeof(msg), "04*** %s died.", playerName); } } IRC_GroupSay(groupID, IRC_CHANNEL, msg); new playercash; // if they ever return to class selection make them city // select again first gPlayerHasCitySelected[playerid] = 0; if(killerid == INVALID_PLAYER_ID) { ResetPlayerMoney(playerid); } else { playercash = GetPlayerMoney(playerid); if(playercash > 0) { GivePlayerMoney(killerid, playercash); ResetPlayerMoney(playerid); } } return 1; } //---------------------------------------------------------- ClassSel_SetupCharSelection(playerid) { if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) { SetPlayerInterior(playerid,11); SetPlayerPos(playerid,508.7362,-87.4335,998.9609); SetPlayerFacingAngle(playerid,0.0); SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609); SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609); } else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) { SetPlayerInterior(playerid,3); SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516); SetPlayerFacingAngle(playerid,181.0); SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516); SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516); } else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) { SetPlayerInterior(playerid,3); SetPlayerPos(playerid,349.0453,193.2271,1014.1797); SetPlayerFacingAngle(playerid,286.25); SetPlayerCameraPos(playerid,352.9164,194.5702,1014.1875); SetPlayerCameraLookAt(playerid,349.0453,193.2271,1014.1797); } } //---------------------------------------------------------- // Used to init textdraws of city names ClassSel_InitCityNameText(Text:txtInit) { TextDrawUseBox(txtInit, 0); TextDrawLetterSize(txtInit,1.25,3.0); TextDrawFont(txtInit, 0); TextDrawSetShadow(txtInit,0); TextDrawSetOutline(txtInit,1); TextDrawColor(txtInit,0xEEEEEEFF); TextDrawBackgroundColor(txtClassSelHelper,0x000000FF); } //---------------------------------------------------------- ClassSel_InitTextDraws() { // Init our observer helper text display txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos"); ClassSel_InitCityNameText(txtLosSantos); txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro"); ClassSel_InitCityNameText(txtSanFierro); txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas"); ClassSel_InitCityNameText(txtLasVenturas); // Init our observer helper text display txtClassSelHelper = TextDrawCreate(10.0, 415.0, " Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select."); TextDrawUseBox(txtClassSelHelper, 1); TextDrawBoxColor(txtClassSelHelper,0x222222BB); TextDrawLetterSize(txtClassSelHelper,0.3,1.0); TextDrawTextSize(txtClassSelHelper,400.0,40.0); TextDrawFont(txtClassSelHelper, 2); TextDrawSetShadow(txtClassSelHelper,0); TextDrawSetOutline(txtClassSelHelper,1); TextDrawBackgroundColor(txtClassSelHelper,0x000000FF); TextDrawColor(txtClassSelHelper,0xFFFFFFFF); } //---------------------------------------------------------- ClassSel_SetupSelectedCity(playerid) { if(gPlayerCitySelection[playerid] == -1) { gPlayerCitySelection[playerid] = CITY_LOS_SANTOS; } if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) { SetPlayerInterior(playerid,0); SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0); SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167); TextDrawShowForPlayer(playerid,txtLosSantos); TextDrawHideForPlayer(playerid,txtSanFierro); TextDrawHideForPlayer(playerid,txtLasVenturas); } else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) { SetPlayerInterior(playerid,0); SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823); SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589); TextDrawHideForPlayer(playerid,txtLosSantos); TextDrawShowForPlayer(playerid,txtSanFierro); TextDrawHideForPlayer(playerid,txtLasVenturas); } else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) { SetPlayerInterior(playerid,0); SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390); SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275); TextDrawHideForPlayer(playerid,txtLosSantos); TextDrawHideForPlayer(playerid,txtSanFierro); TextDrawShowForPlayer(playerid,txtLasVenturas); } } //---------------------------------------------------------- ClassSel_SwitchToNextCity(playerid) { gPlayerCitySelection[playerid]++; if(gPlayerCitySelection[playerid] > CITY_LAS_VENTURAS) { gPlayerCitySelection[playerid] = CITY_LOS_SANTOS; } PlayerPlaySound(playerid,1052,0.0,0.0,0.0); gPlayerLastCitySelectionTick[playerid] = GetTickCount(); ClassSel_SetupSelectedCity(playerid); } //---------------------------------------------------------- ClassSel_SwitchToPreviousCity(playerid) { gPlayerCitySelection[playerid]--; if(gPlayerCitySelection[playerid] < CITY_LOS_SANTOS) { gPlayerCitySelection[playerid] = CITY_LAS_VENTURAS; } PlayerPlaySound(playerid,1053,0.0,0.0,0.0); gPlayerLastCitySelectionTick[playerid] = GetTickCount(); ClassSel_SetupSelectedCity(playerid); } //---------------------------------------------------------- ClassSel_HandleCitySelection(playerid) { new Keys,ud,lr; GetPlayerKeys(playerid,Keys,ud,lr); if(gPlayerCitySelection[playerid] == -1) { ClassSel_SwitchToNextCity(playerid); return; } // only allow new selection every ~500 ms if( (GetTickCount() - gPlayerLastCitySelectionTick[playerid]) < 500 ) return; if(Keys & KEY_FIRE) { gPlayerHasCitySelected[playerid] = 1; TextDrawHideForPlayer(playerid,txtClassSelHelper); TextDrawHideForPlayer(playerid,txtLosSantos); TextDrawHideForPlayer(playerid,txtSanFierro); TextDrawHideForPlayer(playerid,txtLasVenturas); TogglePlayerSpectating(playerid,0); return; } if(lr > 0) { ClassSel_SwitchToNextCity(playerid); } else if(lr < 0) { ClassSel_SwitchToPreviousCity(playerid); } } //---------------------------------------------------------- public OnPlayerRequestClass(playerid, classid) { if(IsPlayerNPC(playerid)) return 1; if(gPlayerHasCitySelected[playerid]) { ClassSel_SetupCharSelection(playerid); return 1; } else { if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING) { TogglePlayerSpectating(playerid,1); TextDrawShowForPlayer(playerid, txtClassSelHelper); gPlayerCitySelection[playerid] = -1; } } zoneupdates[playerid] = 0; player_zone[playerid] = -1; return 0; } //---------------------------------------------------------- public OnGameModeInit() { // Connect the first bot botIDs[0] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_1_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME); // Set the connect delay for the first bot to 20 seconds IRC_SetIntData(botIDs[0], E_IRC_CONNECT_DELAY, 20); // Connect the second bot botIDs[1] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_2_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME); // Set the connect delay for the second bot to 30 seconds IRC_SetIntData(botIDs[1], E_IRC_CONNECT_DELAY, 30); // Create a group (the bots will be added to it upon connect) groupID = IRC_CreateGroup(); #define USE_TEXTDRAW_SET 1 AddRadioStation("Radio Julius", "http://78.72.181.195:8000/listen.pls", 1); AddRadioStation("Vinylgodis", "http://93.182.176.123/listen.pls", 1); AddRadioStation("Radio Seven", "http://www.radioseven.se/128.pls", 1); AddRadioStation("Dansbandskanalen", "http://www.guldkanalen.se/static/streamDBK/128MP3.pls", 1); AddRadioStation("Din Gata", "http://sverigesradio.se/topsy/direkt/2576-hi-mp3.pls", 1); AddRadioStation("Big R Radio", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=73131", 1); AddRadioStation("Radio AF", "http://webradio.af.lu.se:8000/listen.pls", 1); AddRadioStation("Reggae141.com", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=85742", 1); AddRadioStation("Hit Radio N1", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1277314", 1); AddRadioStation("The 1920s Radio Network", "http://64.5.130.43/listen.pls", 1); AddRadioStation("LAs HOT Country", "http://46.21.151.98:8000/listen.pls", 1); AddRadioStation("Fade FM", "http://37.59.61.51/listen.pls", 1); AddRadioStation("Grand Theft Auto San Andreas", "http://listen.radionomy.com/grand-theft-auto-san-andreas.m3u", 1); AddRadioStation("Radio Off", "", 1); SetGameModeText("Free Mode, stunts, races etc."); ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL); ShowNameTags(1); SetNameTagDrawDistance(40.0); EnableStuntBonusForAll(0); DisableInteriorEnterExits(); SetWeather(2); SetWorldTime(11); //UsePlayerPedAnims(); //ManualVehicleEngineAndLights(); //LimitGlobalChatRadius(300.0); ClassSel_InitTextDraws(); // Player Class AddPlayerClass(281,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(282,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(283,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(284,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(285,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(286,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(287,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(288,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(265,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(266,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(267,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(268,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(42,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(74,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(281,2385.7600,-1281.1403,24.4851,115.8818,0,0,0,0,0,0); // //AddVehicles AddStaticVehicle(600,2461.7532,-1656.6047,13.0208,90.0551,43,8); // car0 AddStaticVehicle(439,-1766.9050,613.7802,28.0963,90.1726,79,78); // car1 AddStaticVehicle(549,-1997.1497,701.7988,45.0459,0.2772,14,14); // car2 AddStaticVehicle(480,-1997.1570,696.1385,45.1418,0.9108,127,8); // car3 AddStaticVehicle(555,-1997.1226,690.4085,45.0497,0.4574,58,1); // car4 AddStaticVehicle(533,-1997.1150,684.5101,45.0449,0.7273,7,1); // car5 AddStaticVehicle(518,-1997.1124,678.0267,44.9521,1.0255,8,0); // car6 AddStaticVehicle(542,-1997.1284,671.6221,44.1768,0.8896,45,92); // car7 AddStaticVehicle(419,-1997.0178,664.9196,42.9615,0.3890,1,76); // car8 AddStaticVehicle(502,-1944.3131,585.5934,35.0131,0.5602,36,88); // car9 AddStaticVehicle(451,-1947.4026,585.6334,34.7825,0.5844,1,36); // car10 AddStaticVehicle(506,-1950.4606,585.7036,34.8199,1.4687,126,52); // car 11 AddStaticVehicle(477,-1938.2062,585.5255,34.8710,359.9006,65,1); // car12 AddStaticVehicle(602,-1953.4102,585.8502,34.8846,359.4462,94,1); // car 13 AddStaticVehicle(496,-1956.5023,585.9746,34.7861,0.1029,2,6); // car14 AddStaticVehicle(402,-1959.3685,585.6564,34.9014,359.6677,86,110); // car15 AddStaticVehicle(541,-1935.3408,585.7760,34.7403,0.0132,126,6); // car16 AddStaticVehicle(415,-1932.3533,585.5296,34.8907,0.0465,119,1); // car17 AddStaticVehicle(587,-1929.2599,586.0511,34.8377,359.7012,0,1); // car18 AddStaticVehicle(504,-1926.2498,585.7791,34.9114,359.2645,45,29); // car19 AddStaticVehicle(598,-1616.6740,651.2231,6.9347,0.8125,0,1); // car20 AddStaticVehicle(601,-1628.8429,651.0104,6.9463,359.6806,1,1); // car21 AddStaticVehicle(427,-1605.2008,651.7350,7.3193,359.6695,0,1); // car22 AddStaticVehicle(596,-1599.6945,651.1352,6.9087,359.4665,0,1); // car23 AddStaticVehicle(514,-1658.1969,449.0964,7.7671,213.6456,25,1); // car24 AddStaticVehicle(432,-1450.3162,458.0264,7.1965,358.0674,43,0); // car25 AddStaticVehicle(596,-1587.6300,651.6120,6.9087,358.3333,0,1); // car26 AddStaticVehicle(596,-1581.8977,651.7803,6.9078,359.2933,0,1); // car27 AddStaticVehicle(598,-1594.4235,673.0942,6.9332,179.1243,0,1); // car28 AddStaticVehicle(598,-1600.0331,673.0317,6.9328,179.5085,0,1); // car29 AddStaticVehicle(490,-1574.2876,714.2642,-5.1145,89.0129,0,0); // car30 AddStaticVehicle(490,-1574.2661,710.3427,-5.1147,89.1375,0,0); // car31 AddStaticVehicle(490,-1574.1755,706.1642,-5.1146,90.7530,0,0); // car32 AddStaticVehicle(596,-1573.6791,722.1187,-5.5211,90.6117,0,1); // car33 AddStaticVehicle(596,-1573.8575,730.6639,-5.5217,89.7573,0,1); // car34 AddStaticVehicle(596,-1573.5385,734.4633,-5.5220,88.8792,0,1); // car35 AddStaticVehicle(596,-1573.4248,739.0908,-5.5221,90.4690,0,1); // car36 AddStaticVehicle(596,-1573.2230,742.5228,-5.5208,89.2028,0,1); // car37 AddStaticVehicle(598,-1600.3463,749.7092,-5.4954,180.3100,0,1); // car38 AddStaticVehicle(598,-1604.2474,749.6938,-5.4956,179.8932,0,1); // car39 AddStaticVehicle(598,-1608.4534,749.6821,-5.4960,180.4397,0,1); // car40 AddStaticVehicle(598,-1612.7340,749.6252,-5.4962,181.2642,0,1); // car41 AddStaticVehicle(598,-1616.6920,749.7081,-5.4970,179.9954,0,1); // car41 AddStaticVehicle(598,-1592.1154,749.6444,-5.4973,179.6934,0,1); // car43 AddStaticVehicle(598,-1587.9971,749.8513,-5.4958,178.9971,0,1); // car44 AddStaticVehicle(598,-1583.9622,749.8259,-5.4954,179.3184,0,1); // car45 AddStaticVehicle(598,-1579.9960,749.7203,-5.4958,179.3284,0,1); // car46 AddStaticVehicle(597,-1622.7053,649.7056,-5.4738,88.5598,0,1); // car47 AddStaticVehicle(596,-1639.5427,674.1429,-5.5225,269.2240,0,1); // car48 AddStaticVehicle(596,-1639.6805,682.0773,-5.5206,270.4482,0,1); // car49 AddStaticVehicle(597,-1639.7576,686.4487,-5.4733,271.0222,0,1); // car50 AddStaticVehicle(597,-1639.8285,669.9292,-5.4740,269.2921,0,1); // car51 AddStaticVehicle(596,-1639.7863,666.1780,-5.5219,269.8799,0,1); // car52 AddStaticVehicle(597,-1639.9882,661.8076,-5.4729,269.4359,0,1); // car53 AddStaticVehicle(596,-1639.7858,657.7263,-5.5219,270.1051,0,1); // car54 AddStaticVehicle(597,-1639.8157,653.7025,-5.4737,268.7205,0,1); // car55 AddStaticVehicle(596,-1639.5710,649.8344,-5.5219,269.4172,0,1); // car56 AddStaticVehicle(598,-1595.6241,694.0532,-5.4961,180.6208,0,1); // car57 AddStaticVehicle(598,-1600.1334,693.9891,-5.4959,179.8698,0,1); // car58 AddStaticVehicle(598,-1604.2416,693.9874,-5.4968,179.3441,0,1); // car59 AddStaticVehicle(598,-1608.5326,694.0151,-5.4969,179.8332,0,1); // car60 AddStaticVehicle(598,-1612.3291,694.0125,-5.4954,180.4067,0,1); // car61 AddStaticVehicle(598,-1616.5938,694.0545,-5.4963,180.0018,0,1); // car62 AddStaticVehicle(598,-1620.7970,694.0438,-5.4966,179.2025,0,1); // car63 AddStaticVehicle(598,-1624.8109,693.9700,-5.4957,177.9268,0,1); // car64 AddStaticVehicle(598,-1628.9708,693.9097,-5.4965,179.0654,0,1); // car65 AddStaticVehicle(598,-1632.7097,693.9340,-5.4964,178.4928,0,1); // car66 AddStaticVehicle(427,-1596.4033,678.2721,-5.1103,1.2281,0,1); // car67 AddStaticVehicle(427,-1611.6322,733.2242,-5.1102,358.4313,0,1); // car68 AddStaticVehicle(601,-1603.5253,733.0418,-5.4757,0.2952,1,1); // car69 AddStaticVehicle(601,-1607.4572,732.7892,-5.4819,359.0168,1,1); // car70 AddStaticVehicle(601,-1590.8903,718.8868,-5.4834,271.2448,1,1); // car71 AddStaticVehicle(601,-1590.8268,714.7463,-5.4834,268.9313,1,1); // car72 AddStaticVehicle(601,-1604.3324,676.1072,-5.4834,1.0470,1,1); // car73 AddStaticVehicle(601,-1608.3807,675.8729,-5.4834,0.8872,1,1); // car74 AddStaticVehicle(601,-1640.4934,690.0363,-5.4834,267.7431,1,1); // car75 AddStaticVehicle(601,-1636.2931,694.5077,-5.4834,186.3782,1,1); // car76 AddStaticVehicle(601,-1622.6899,657.6486,-5.4834,89.5577,1,1); // car77 AddStaticVehicle(601,-1622.5437,661.3481,-5.4834,88.2688,1,1); // car78 AddStaticVehicle(601,-1571.8530,745.8903,-5.4834,89.7020,1,1); // car79 AddStaticVehicle(601,-1576.2029,749.3005,-5.4835,173.8618,1,1); // car80 AddStaticVehicle(497,-1632.6996,671.5107,7.3643,268.2399,0,1); // car81 AddStaticVehicle(449,-1857.2998,603.2500,35.4973,270.0000,1,74); // tram82 AddStaticVehicle(411,1911.1893,-2279.0786,13.4614,179.2485,123,1); // lol1 AddStaticVehicle(445,1907.7418,-2279.5120,13.6094,179.8117,35,35); // lol2 AddStaticVehicle(504,1904.7721,-2279.1318,13.5269,179.3161,57,38); // lol3 AddStaticVehicle(401,1901.4082,-2279.2578,13.5139,180.0869,47,47); // lol4 AddStaticVehicle(518,1898.2179,-2279.1873,13.4053,180.2076,56,29); // lol5 AddStaticVehicle(542,1894.9795,-2279.2842,13.4777,180.0437,32,92); // lol6 AddStaticVehicle(507,1891.8937,-2279.1143,13.5598,179.7240,42,42); // lol8 AddStaticVehicle(562,1888.6708,-2279.1792,13.3937,179.5717,17,1); // lol7 AddStaticVehicle(558,1885.4453,-2279.1008,13.3649,179.9285,116,1); // lol9 AddStaticVehicle(585,1882.3105,-2278.6233,13.3206,179.4485,42,42); // lol10 AddStaticVehicle(419,1878.8553,-2279.2100,13.5319,179.2855,47,76); // lol11 AddStaticVehicle(526,1875.7548,-2279.3730,13.5010,179.3397,9,39); // lol12 AddStaticVehicle(480,1911.1173,-2287.7908,13.5075,359.5498,46,46); // lol13 AddStaticVehicle(587,1907.8986,-2288.0244,13.4612,0.5045,101,1); // 14 AddStaticVehicle(434,1904.6763,-2288.2078,13.6972,359.9930,12,12); // 15 AddStaticVehicle(502,1901.3320,-2288.2546,13.6262,359.5880,79,62); // 17 AddStaticVehicle(603,1898.3413,-2288.2791,13.5726,359.3993,69,1); // 19 AddStaticVehicle(506,1895.0903,-2288.1157,13.4389,359.9139,6,6); // lol20 AddStaticVehicle(451,1891.8843,-2288.2788,13.4408,359.4118,16,16); // lol21 AddStaticVehicle(529,1888.6558,-2288.2527,13.3676,359.2263,42,42); // lol22 AddStaticVehicle(421,1885.5139,-2288.0940,13.6169,359.4807,30,1); // lol23 AddStaticVehicle(540,1882.1724,-2288.2661,13.5956,359.5057,7,7); // lol24 AddStaticVehicle(550,1878.9658,-2288.3044,13.5483,0.0715,11,11); // lol25 AddStaticVehicle(560,1875.8556,-2288.1931,13.4395,359.4767,33,0); // lol27 AddStaticVehicle(580,1923.8180,-2269.1038,13.5305,359.8271,81,81); // lol28 AddStaticVehicle(458,1920.7224,-2269.0457,13.6129,359.4567,101,1); // lol29 AddStaticVehicle(405,1917.4686,-2268.8232,13.6094,358.7858,24,1); // lol30 AddStaticVehicle(442,1914.3392,-2269.3115,13.5632,359.4727,36,0); // lol31 AddStaticVehicle(479,1911.1680,-2269.1724,13.5300,359.4114,49,23); // lol33 AddStaticVehicle(547,1908.0110,-2269.2039,13.4693,359.9124,10,1); // lol34 AddStaticVehicle(426,1904.7115,-2268.9585,13.4777,359.8541,62,62); // lol35 AddStaticVehicle(420,1901.5040,-2269.0149,13.5146,359.4012,6,1); // lol36 AddStaticVehicle(597,1898.0305,-2268.9377,13.5027,358.3706,0,1); // lol37 AddStaticVehicle(596,1895.1246,-2268.8660,13.4557,359.2520,0,1); // lol38 AddStaticVehicle(598,1891.8759,-2269.0061,13.4802,359.5250,0,1); // lol39 AddStaticVehicle(467,1888.6821,-2269.2686,13.4743,359.0755,22,1); // lol40 AddStaticVehicle(516,1885.5570,-2269.2581,13.5683,359.8004,116,1); // lol41 AddStaticVehicle(551,1882.3090,-2269.2805,13.5350,359.5113,91,1); // lol42 AddStaticVehicle(546,1878.9924,-2268.9438,13.4587,359.6487,3,87); // lol43 AddStaticVehicle(492,1875.7860,-2269.0564,13.5162,359.0539,77,26); // lol44 AddStaticVehicle(466,1872.6475,-2269.1812,13.4762,358.6961,16,76); // lol45 AddStaticVehicle(585,1869.4386,-2269.1697,13.3187,359.1321,62,62); // lol46 AddStaticVehicle(602,1866.0898,-2268.8457,13.5410,359.1708,34,1); // lol47 AddStaticVehicle(402,1862.9867,-2269.0178,13.5661,359.9218,30,30); // lol48 AddStaticVehicle(429,1859.9293,-2269.0386,13.4141,0.0943,12,12); // lol49 AddStaticVehicle(541,1856.7625,-2274.5742,13.3593,89.5916,51,1); // lol50 AddStaticVehicle(415,1856.9264,-2277.6211,13.5063,88.5767,20,1); // lol51 AddStaticVehicle(431,1862.0280,-2304.1050,13.6462,270.0306,59,83); // lol52 AddStaticVehicle(437,1873.7074,-2304.0161,13.6802,269.9991,95,16); // lol53 AddStaticVehicle(554,1856.9506,-2280.5718,13.8178,89.4800,65,32); // lol54 AddStaticVehicle(478,1856.6708,-2283.6772,13.7288,89.6596,66,1); // lol55 AddStaticVehicle(495,1856.7122,-2286.5811,14.0823,89.3343,119,122); // lol56 AddStaticVehicle(422,1856.6270,-2289.3911,13.7232,89.2235,97,25); // lol57 AddStaticVehicle(543,1856.7506,-2292.5146,13.5551,89.6668,43,8); // lol58 AddStaticVehicle(489,1859.7606,-2298.5264,13.8834,179.9259,14,123); // lol59 AddStaticVehicle(599,1863.0787,-2298.5251,13.9349,178.6234,0,1); // lol60 AddStaticVehicle(490,1866.3394,-2298.1189,13.8696,179.5494,0,0); // lol61 AddStaticVehicle(601,1869.4817,-2297.9785,13.5007,179.2839,1,1); // lol62 AddStaticVehicle(528,1872.7810,-2299.0559,13.7821,179.4620,0,0); // lol63 AddStaticVehicle(427,1875.7861,-2298.1174,13.8663,179.8300,0,1); // lol64 AddStaticVehicle(433,1879.0906,-2296.8906,14.1710,179.9041,43,0); // lol67 AddStaticVehicle(579,1882.2793,-2298.7673,13.6687,179.2489,11,11); // lol68 AddStaticVehicle(400,1885.5701,-2299.2480,13.8267,179.4204,4,1); // lol69 AddStaticVehicle(500,1888.7135,-2298.7749,13.8403,179.5145,28,119); // lol70 AddStaticVehicle(444,1891.5771,-2298.2197,14.1174,179.4028,32,36); // lol71 AddStaticVehicle(470,1895.1737,-2299.0354,13.7274,179.7490,43,0); // lol73 AddStaticVehicle(600,1898.1533,-2298.6555,13.4504,179.4988,32,8); // lol74 AddStaticVehicle(536,1901.3976,-2298.9766,13.4717,179.8836,12,1); // lol75 AddStaticVehicle(534,1904.6555,-2298.5073,13.4587,179.1104,42,42); // lol76 AddStaticVehicle(575,1907.9175,-2299.1719,13.3361,178.8462,51,96); // lol77 AddStaticVehicle(567,1910.9651,-2298.3127,13.6028,179.3204,102,114); // lol78 AddStaticVehicle(561,1914.3330,-2298.5879,13.5480,179.2602,25,78); // lol79 AddStaticVehicle(559,1917.4224,-2298.8337,13.3907,179.8719,36,8); // lol80 AddStaticVehicle(566,1920.6310,-2298.8464,13.5141,179.8326,52,8); // lol81 AddStaticVehicle(576,1923.8184,-2298.8926,13.3433,179.0500,76,8); // lol82 //Objects CreateObject(13592, 1966.19921875, -2460.3994140625, 21.60000038147, 0, 0, 0); CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0); CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0); CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0); CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0); CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0); CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0); CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0); CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0); CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0); CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300); CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300); CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180); CreateObject(18478, 1856.0999755859, -2516, 40.299999237061, 0, 30, 0); CreateObject(18478, 1725.0999755859, -2515.8000488281, 75.400001525879, 0, 0, 0); CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0); CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270); CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90); CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90); CreateObject(13592, 1966.1999511719, -2460.3999023438, 21.60000038147, 0, 0, 0); CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0); CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0); CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0); CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0); CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0); CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0); CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0); CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0); CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0); CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300); CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300); CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180); CreateObject(18478, 1856.0999755859, -2516, 40.299999237061, 0, 30, 0); CreateObject(18478, 1725.099609375, -2515.7998046875, 75.400001525879, 0, 0, 0); CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0); CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270); CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90); CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90); CreateObject(5314, 1597, -1196, 343.10000610352, 0, 0, 90); CreateObject(615, 1566.5999755859, -1305.5999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.4000244141, -1304.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1566.1999511719, -1286.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.1999511719, -1283.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1566.3000488281, -1273.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1566.1999511719, -1244, 343.20001220703, 0, 0, 0); CreateObject(615, 1566, -1262.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1582, -1274.5, 343.20001220703, 0, 0, 0); CreateObject(615, 1565.6999511719, -1259.3000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.6999511719, -1244.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1567.5999755859, -1224.8000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1583.0999755859, -1224.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1568.5999755859, -1211.0999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1583, -1210.5999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1567.3000488281, -1195.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1581.8000488281, -1194.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1565.6999511719, -1182.8000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.8000488281, -1182.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1568.4000244141, -1168.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.9000244141, -1168.1999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1569.1999511719, -1153.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1584.5, -1158.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1573.9000244141, -1143.5999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1588.3000488281, -1149.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1577.4000244141, -1133.0999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1591, -1139.3000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.9000244141, -1123.5, 343.20001220703, 0, 0, 0); CreateObject(615, 1597, -1131.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1590.4000244141, -1115.0999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1602.6999511719, -1122.3000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1597.1999511719, -1105, 343.20001220703, 0, 0, 0); CreateObject(615, 1609, -1115.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1606.5999755859, -1095.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1615.9000244141, -1106.5999755859, 343.20001220703, 0, 0, 0); CreateObject(13592, 1966.1999511719, -2460.3999023438, 21.60000038147, 0, 0, 0); CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0); CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0); CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0); CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0); CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0); CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0); CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0); CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0); CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0); CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300); CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300); CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180); CreateObject(18478, 1856.099609375, -2516, 40.299999237061, 0, 29.998168945313, 0); CreateObject(18478, 1725.0999755859, -2515.8000488281, 75.400001525879, 0, 0, 0); CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0); CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270); CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90); CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90); CreateObject(17300, -1387.5999755859, -276.79998779297, 46.200000762939, 351.98559570313, 0, 315); CreateObject(17300, -1548, -463.29998779297, 83.800003051758, 1, 0, 315); CreateObject(17300, -1699.8000488281, -639.90002441406, 113, 355, 0, 315); CreateObject(18483, -1803.5999755859, -760, 130.89999389648, 0, 0, 48); CreateObject(1634, -1297.5, -176, 14.39999961853, 0, 0, 315); CreateObject(1634, -1300.5, -173.10000610352, 14.39999961853, 0, 0, 315); CreateObject(5112, -970.40002441406, 514.90002441406, 9.6999998092651, 0, 0, 40); CreateObject(5112, -858.5, 617.29998779297, 10, 0, 0, 45); CreateObject(1632, -786.79998779297, 695.20001220703, 17.39999961853, 0, 0, 135); CreateObject(4710, -1178, 424.5, 13.39999961853, 0, 0, 160); CreateObject(4148, -1283.3000488281, 470.70001220703, 6.3000001907349, 353, 0, 70); CreateObject(8040, 1648.1999511719, -1064.6999511719, 343.89999389648, 0, 0, 225); CreateObject(4150, 1576.6999511719, -1368.4000244141, 343.10000610352, 0, 0, 0); CreateObject(4150, 1576.6999511719, -1484.4000244141, 322.60000610352, 20, 0, 0); CreateObject(4150, 1576.9000244141, -1572.8000488281, 290.5, 20, 0, 0); CreateObject(4150, 1577.0999755859, -1681.5999755859, 245.39999389648, 25, 0, 0); CreateObject(4150, 1577.0999755859, -1787.8000488281, 194.73950195313, 26, 0, 0); CreateObject(13641, 1578.5, -1845.8000488281, 169.80000305176, 0, 0, 270); CreateObject(13641, 1572.0999755859, -1845.9000244141, 169.80000305176, 0, 0, 270); CreateObject(13641, 1478.5999755859, -2567.3999023438, 14.5, 0, 0, 0); CreateObject(13641, 1477.5999755859, -2552.5, 12.5, 0, 0, 0); CreateObject(13640, 1511.3000488281, -2533.6999511719, 13.60000038147, 0, 0, 0); CreateObject(13592, 1543.9000244141, -2529.5, 22.700000762939, 0, 0, 5); CreateObject(1634, 1775.5999755859, -2569.6000976563, 13.800000190735, 0, 0, 0); CreateObject(1634, 1774.5, -2518.8999023438, 13.800000190735, 0, 0, 180); CreateObject(3567, 1777, -2455.8000488281, 13.39999961853, 0, 0, 0); CreateObject(12932, 1802.5999755859, -2436.6999511719, 15.89999961853, 0, 0, 0); CreateObject(7515, 1727.8000488281, -2459.1999511719, 18.5, 0, 0, 0); CreateObject(3625, 1557.9000244141, -2460.8000488281, 15.39999961853, 0, 0, 0); CreateObject(8302, 1593.5, -2445.3000488281, 14.60000038147, 0, 0, 0); CreateObject(8040, 1893.0999755859, -2283.8999023438, 13.5, 0, 0, 0); CreateObject(13666, 1929.6999511719, -2343.6999511719, 18.299999237061, 0, 0, 0); CreateObject(9076, 1889.4000244141, -2675, 43.400001525879, 0, 0, 270); CreateObject(16778, 1896.9000244141, -2449.3999023438, 12.5, 0, 0, 0); CreateObject(16776, 1936.5, -2428.8000488281, 12.5, 0, 0, 0); CreateObject(13562, 1810.8000488281, -2646.3999023438, 24.10000038147, 0, 0, 0); CreateObject(13667, 1841.5, -2641.6999511719, 38.599998474121, 0, 0, 95); CreateObject(14608, 1823.5, -2641.3000488281, 27.60000038147, 0, 0, 325); CreateObject(16776, 1754.3000488281, -2647.3999023438, 25.39999961853, 0, 0, 180); CreateObject(1634, 1970.5999755859, -2428.3999023438, 13.800000190735, 0, 0, 90); CreateObject(18483, 2476.5, -1659.0999755859, 12, 0, 329.13635253906, 0); CreateObject(18483, 2541.6999511719, -1659, 31, 0, 358.17993164063, 0); CreateObject(18483, 2575.1999511719, -1659, 32.099998474121, 0, 330, 0); CreateObject(18483, 2605.3999023438, -1659, 49.5, 0, 330, 0); CreateObject(18483, 2624.8000488281, -1659.0999755859, 60.700000762939, 0, 330, 0); CreateObject(18483, 2655.1000976563, -1659.4000244141, 78.099998474121, 0, 330, 0); CreateObject(17300, 2809.8994140625, -1658.69921875, 102.80000305176, 3.8397216796875, 0, 85.995483398438); CreateObject(13139, 172.80000305176, 109.5, 492.70001220703, 0, 0, 0); CreateObject(17062, 3026.1000976563, -1656.5999755859, 163.5, 331.5, 0, 87); CreateObject(8420, 3161.1999511719, -1644.5999755859, 217.69999694824, 346, 0, 19); CreateObject(13641, 2369.3999023438, -1658.8000488281, 12.39999961853, 0, 0, 178); // SPECIAL total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt"); // LAS VENTURAS total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt"); // SAN FIERRO total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt"); // LOS SANTOS total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt"); // OTHER AREAS total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt"); printf("Total vehicles from files: %d",total_vehicles_from_files); welcomeText = TextDrawCreate(240.0,580.0,"Welcome to Julius95's server!"); return 0; } //---------------------------------------------------------- public OnPlayerUpdate(playerid) { if(!IsPlayerConnected(playerid)) return 0; if(IsPlayerNPC(playerid)) return 1; // changing cities by inputs if( !gPlayerHasCitySelected[playerid] && GetPlayerState(playerid) == PLAYER_STATE_SPECTATING ) { ClassSel_HandleCitySelection(playerid); return 1; } // No weapons in interiors if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) { SetPlayerArmedWeapon(playerid,0); // fists return 0; // no syncing until they change their weapon } // Don't allow minigun if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN) { Kick(playerid); return 0; } /* No jetpacks allowed if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) { Kick(playerid); return 0; }*/ /* For testing animations new msg[128+1]; new animlib[32+1]; new animname[32+1]; thisanimid = GetPlayerAnimationIndex(playerid); if(lastanimid != thisanimid) { GetAnimationName(thisanimid,animlib,32,animname,32); format(msg, 128, "anim(%d,%d): %s %s", lastanimid, thisanimid, animlib, animname); lastanimid = thisanimid; SendClientMessage(playerid, 0xFFFFFFFF, msg); }*/ return 1; } //---------------------------------------------------------- enum { E_STREAMER_ATTACHED_OBJECT, E_STREAMER_ATTACHED_PLAYER, E_STREAMER_ATTACHED_VEHICLE, E_STREAMER_ATTACH_OFFSET_X, E_STREAMER_ATTACH_OFFSET_Y, E_STREAMER_ATTACH_OFFSET_Z, E_STREAMER_ATTACH_R_X, E_STREAMER_ATTACH_R_Y, E_STREAMER_ATTACH_R_Z, E_STREAMER_ATTACH_X, E_STREAMER_ATTACH_Y, E_STREAMER_ATTACH_Z, E_STREAMER_COLOR, E_STREAMER_DRAW_DISTANCE, E_STREAMER_EXTRA_ID, E_STREAMER_INTERIOR_ID, E_STREAMER_MAX_X, E_STREAMER_MAX_Y, E_STREAMER_MAX_Z, E_STREAMER_MIN_X, E_STREAMER_MIN_Y, E_STREAMER_MIN_Z, E_STREAMER_MODEL_ID, E_STREAMER_MOVE_R_X, E_STREAMER_MOVE_R_Y, E_STREAMER_MOVE_R_Z, E_STREAMER_MOVE_SPEED, E_STREAMER_MOVE_X, E_STREAMER_MOVE_Y, E_STREAMER_MOVE_Z, E_STREAMER_NEXT_X, E_STREAMER_NEXT_Y, E_STREAMER_NEXT_Z, E_STREAMER_PLAYER_ID, E_STREAMER_R_X, E_STREAMER_R_Y, E_STREAMER_R_Z, E_STREAMER_SIZE, E_STREAMER_STREAM_DISTANCE, E_STREAMER_STYLE, E_STREAMER_TEST_LOS, E_STREAMER_TYPE, E_STREAMER_WORLD_ID, E_STREAMER_X, E_STREAMER_Y, E_STREAMER_Z } //---------------------------------------------------------- CMD:healme(playerid, params[]) { SetPlayerHealth(playerid, 100); SendClientMessage(playerid, 0xFFFFFFFF, "Julius95Bot: You have successfully healed yourself!"); SendClientMessage(playerid, 0xFFFFFFFF, "Julius95Bot: Don't abuse this command for example during fights or you may get kicked and banned!"); return 1; } CMD:fix(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "SpyBot: You are not in a vehicle!"); RepairVehicle(GetPlayerVehicleID(playerid)); SendClientMessage(playerid, 0xFFFFFFFF, "SpyBot: Your vehicle has been successfully repaired!"); return 1; } CMD:flip(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "AdrenalineBot: You are not in a vehicle!"); new currentveh; new Float:angle; currentveh = GetPlayerVehicleID(playerid); GetVehicleZAngle(currentveh, angle); SetVehicleZAngle(currentveh, angle); SendClientMessage(playerid, 0xFFFFFFFF, "AdrenalineBot: Your vehicle has been successfully flipped!"); return 1; } new fixtimer[MAX_PLAYERS],bool:actived[MAX_PLAYERS]; CMD:autofix(playerid) { if(actived[playerid]) return SendClientMessage(playerid,-1,"TestBot: You have disabled autofix!"),KillTimer(fixtimer[playerid]),actived[playerid] = false; fixtimer[playerid] = SetTimerEx("fixt",1000,true,"i",playerid); actived[playerid] = true; SendClientMessage(playerid,-1,"TestBot: You have enabled autofix! Don't abuse this command."); return 1; } forward fixt(playerid); public fixt(playerid) { if(!IsPlayerInAnyVehicle(playerid)) return 0; RepairVehicle(GetPlayerVehicleID(playerid)); return 1; } new lastpm[MAX_PLAYERS][128]; CMD:pm(playerid, params[]) { new id, message[1024]; if(sscanf(params,"ds[1024]",id,message))return SendClientMessage(playerid, COLOR_RED, "USAGE: /pm <playerid> <message>"); if (!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected."); if(playerid != id) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); new ReturnName[MAX_PLAYER_NAME]; GetPlayerName(id, ReturnName, sizeof(ReturnName)); format(szString,sizeof(szString), ">> PM To %s (ID:%d): %s", ReturnName, id, message); SendClientMessage(playerid, 0xFFCC2299, szString); format(szString,sizeof(szString),"<< PM From %s (ID:%d): %s",PlayerName, playerid, message); SendClientMessage(id, 0xFFFF22AA, szString); PlayerPlaySound(id, 1085, 0.0, 0.0, 0.0); format(szString, sizeof(szString), "5*** [PM] From %s (ID:%d) To %s (ID:%d): %s",PlayerName,playerid,ReturnName,id,message); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); } else { SendClientMessage(playerid, COLOR_RED, "ERROR: You cannot PM yourself"); } return 1; } CMD:paint(playerid, params[]) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); new car1,car2; if(IsPlayerInAnyVehicle(playerid)) { if(sscanf(params, "dd",car1,car2)) return SendClientMessage(playerid, COLOR_RED,"USAGE: /paint number number"); ChangeVehicleColor(GetPlayerVehicleID(playerid), car1,car2); format(szString, sizeof(szString), "WinampBot: You have changed your car colors to /paint %d %d", car1, car2); SendClientMessage(playerid, COLOR_YELLOW, szString); format(szString, sizeof(szString), "WinampBot: [CAR] %s (ID:%d) changed their color to /paint %d %d", PlayerName, playerid, car1, car2); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); } else { SendClientMessage(playerid, COLOR_RED, "ERROR: You're not in any Vehicle!"); } return 1; } CMD:lock(playerid, params[]) { if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be in a vehicle to use this command!"); if (GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be the driver of a vehicle to use this command"); new vID = GetPlayerVehicleID(playerid); new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); loop(i, MAX_PLAYERS) { if (IsPlayerConnected(i) && i != playerid) { SetVehicleParamsForPlayer(vID, i, 0, 1); } } SetVehicleParamsForPlayer(vID, playerid, 0, 0); SendClientMessage(playerid, COLOR_GREEN, "HelpBot: Your vehicle is now locked."); format(szString, sizeof(szString), "HelpBot: [LOCK] %s (ID:%d) locked his vehicle.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); return 1; } CMD:unlock(playerid, params[]) { if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be in a vehicle to use this command!"); if (GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be the driver of a vehicle to use this command"); new vID = GetPlayerVehicleID(playerid); new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); loop(i, MAX_PLAYERS) { if (IsPlayerConnected(i)) { SetVehicleParamsForPlayer(vID, i, 0, 0); } } SetVehicleParamsForPlayer(vID, playerid, 0, 0); SendClientMessage(playerid, COLOR_GREEN, "Julius95Bot: Your vehicle is now unlocked."); format(szString, sizeof(szString), "Julius95Bot: [UNLOCK] %s (ID:%d) has unlocked his vehicle.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); return 1; } CMD:spray(playerid, params[]) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); if(IsPlayerInAnyVehicle(playerid) == 1) { new vID = GetPlayerVehicleID(playerid); SetVehiclePos(vID, -1905.0388,267.0628,40.7519); SetVehicleZAngle(vID, 360.0000); PutPlayerInVehicle(playerid, vID, 0); format(szString, sizeof(szString), "* (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); SendClientMessageToAll(0x6B96EFFF, szString); format(szString, sizeof(szString), "TestBot: [TELEPORT] (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); } else { SetPlayerPos(playerid, -1905.0388,267.0628,40.7519); SetPlayerFacingAngle(playerid, 360.0000); format(szString, sizeof(szString), "* (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); SendClientMessageToAll(0x6B96EFFF, szString); format(szString, sizeof(szString), "TestBot: [TELEPORT] (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); return 1; } } CMD:getid(playerid, params[]) { if(sscanf(params, "s[35]",params)) return SendClientMessage(playerid, COLOR_RED, "USAGE:/getid <partofname>"); new matches; format(szString, sizeof(szString), "Matches:"); loop(i, MAX_PLAYERS) { if (IsPlayerConnected(i)) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(i, PlayerName, sizeof(PlayerName)); if (!strfind(PlayerName, params, true)) { matches++; format(szString, sizeof(szString), "%s %s(%d)", szString, PlayerName, i); } } } if (matches == 0) { SendClientMessage(playerid, COLOR_RED, "ERROR: No matches found"); } else { SendClientMessage(playerid, COLOR_GREEN, szString); } return 1; } CMD:rules(playerid, params[]) { ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{FFFF00}Ultimate Stunting Rules List", DialogText5,"Okay","Cancel"); return 1; } //---------------------------------------------------------- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_FIRE) { new veh = GetPlayerVehicleID(playerid); AddVehicleComponent(veh,1010); return 1; } return 1; } //---------------------------------------------------------- public OnPlayerText(playerid, text[]) { new name[MAX_PLAYER_NAME], ircMsg[256]; GetPlayerName(playerid, name, sizeof(name)); format(ircMsg, sizeof(ircMsg), "02[%d] 07%s: %s", playerid, name, text); IRC_GroupSay(groupID, IRC_CHANNEL, ircMsg); return 1; } //---------------------------------------------------------- public IRC_OnConnect(botid, ip[], port) { printf("*** IRC_OnConnect: Bot ID %d connected to %s:%d", botid, ip, port); // Join the channel IRC_JoinChannel(botid, IRC_CHANNEL); // Add the bot to the group IRC_AddToGroup(groupID, botid); new str[60]; format(str, 60, "nickserv identify %s", IRC_PASSWORD); IRC_SendRaw(botid, str); return 1; } /* This callback is executed whenever a current connection is closed. The plugin may automatically attempt to reconnect per user settings. IRC_Quit may be called at any time to stop the reconnection process. */ public IRC_OnDisconnect(botid, ip[], port, reason[]) { printf("*** IRC_OnDisconnect: Bot ID %d disconnected from %s:%d (%s)", botid, ip, port, reason); // Remove the bot from the group IRC_RemoveFromGroup(groupID, botid); return 1; } /* This callback is executed whenever a connection attempt begins. IRC_Quit may be called at any time to stop the reconnection process. */ public IRC_OnConnectAttempt(botid, ip[], port) { printf("*** IRC_OnConnectAttempt: Bot ID %d attempting to connect to %s:%d...", botid, ip, port); return 1; } /* This callback is executed whenever a connection attempt fails. IRC_Quit may be called at any time to stop the reconnection process. */ public IRC_OnConnectAttemptFail(botid, ip[], port, reason[]) { printf("*** IRC_OnConnectAttemptFail: Bot ID %d failed to connect to %s:%d (%s)", botid, ip, port, reason); return 1; } /* This callback is executed whenever a bot joins a channel. */ public IRC_OnJoinChannel(botid, channel[]) { printf("*** IRC_OnJoinChannel: Bot ID %d joined channel %s", botid, channel); return 1; } /* This callback is executed whenevever a bot leaves a channel. */ public IRC_OnLeaveChannel(botid, channel[], message[]) { printf("*** IRC_OnLeaveChannel: Bot ID %d left channel %s (%s)", botid, channel, message); return 1; } /* This callback is executed whenevever a bot is invited to a channel. */ public IRC_OnInvitedToChannel(botid, channel[], invitinguser[], invitinghost[]) { printf("*** IRC_OnInvitedToChannel: Bot ID %d invited to channel %s by %s (%s)", botid, channel, invitinguser, invitinghost); IRC_JoinChannel(botid, channel); return 1; } /* This callback is executed whenevever a bot is kicked from a channel. If the bot cannot immediately rejoin the channel (in the event, for example, that the bot is kicked and then banned), you might want to set up a timer here for rejoin attempts. */ public IRC_OnKickedFromChannel(botid, channel[], oppeduser[], oppedhost[], message[]) { printf("*** IRC_OnKickedFromChannel: Bot ID %d kicked by %s (%s) from channel %s (%s)", botid, oppeduser, oppedhost, channel, message); IRC_JoinChannel(botid, channel); return 1; } public IRC_OnUserDisconnect(botid, user[], host[], message[]) { printf("*** IRC_OnUserDisconnect (Bot ID %d): User %s (%s) disconnected (%s)", botid, user, host, message); return 1; } public IRC_OnUserJoinChannel(botid, channel[], user[], host[]) { printf("*** IRC_OnUserJoinChannel (Bot ID %d): User %s (%s) joined channel %s", botid, user, host, channel); return 1; } public IRC_OnUserLeaveChannel(botid, channel[], user[], host[], message[]) { printf("*** IRC_OnUserLeaveChannel (Bot ID %d): User %s (%s) left channel %s (%s)", botid, user, host, channel, message); return 1; } public IRC_OnUserKickedFromChannel(botid, channel[], kickeduser[], oppeduser[], oppedhost[], message[]) { printf("*** IRC_OnUserKickedFromChannel (Bot ID %d): User %s kicked by %s (%s) from channel %s (%s)", botid, kickeduser, oppeduser, oppedhost, channel, message); } public IRC_OnUserNickChange(botid, oldnick[], newnick[], host[]) { printf("*** IRC_OnUserNickChange (Bot ID %d): User %s (%s) changed his/her nick to %s", botid, oldnick, host, newnick); return 1; } public IRC_OnUserSetChannelMode(botid, channel[], user[], host[], mode[]) { printf("*** IRC_OnUserSetChannelMode (Bot ID %d): User %s (%s) on %s set mode: %s", botid, user, host, channel, mode); return 1; } public IRC_OnUserSetChannelTopic(botid, channel[], user[], host[], topic[]) { printf("*** IRC_OnUserSetChannelTopic (Bot ID %d): User %s (%s) on %s set topic: %s", botid, user, host, channel, topic); return 1; } public IRC_OnUserSay(botid, recipient[], user[], host[], message[]) { printf("*** IRC_OnUserSay (Bot ID %d): User %s (%s) sent message to %s: %s", botid, user, host, recipient, message); // Someone sent the first bot a private message if(strcmp(user,BOT_1_NICKNAME) && strcmp(user,BOT_2_NICKNAME)) // just to check if user that have said anything is not a bot lol, bot_2_name is second bot name if u have any { new msg[256]; format(msg, sizeof(msg), "%s: %s", user, message); SendClientMessageToAll(0xFFFFFFFF, msg); } if (!strcmp(recipient, BOT_1_NICKNAME)) { IRC_Say(botid, user, "You sent me a PM!"); } return 1; } public IRC_OnUserNotice(botid, recipient[], user[], host[], message[]) { printf("*** IRC_OnUserNotice (Bot ID %d): User %s (%s) sent notice to %s: %s", botid, user, host, recipient, message); // Someone sent the second bot a notice (probably a network service) if (!strcmp(recipient, BOT_2_NICKNAME)) { IRC_Notice(botid, user, "You sent me a notice!"); } return 1; } public IRC_OnUserRequestCTCP(botid, user[], host[], message[]) { printf("*** IRC_OnUserRequestCTCP (Bot ID %d): User %s (%s) sent CTCP request: %s", botid, user, host, message); // Someone sent a CTCP VERSION request if (!strcmp(message, "VERSION")) { IRC_ReplyCTCP(botid, user, "VERSION SA-MP IRC Plugin v" #PLUGIN_VERSION ""); } return 1; } public IRC_OnUserReplyCTCP(botid, user[], host[], message[]) { printf("*** IRC_OnUserReplyCTCP (Bot ID %d): User %s (%s) sent CTCP reply: %s", botid, user, host, message); return 1; } /* This callback is useful for logging, debugging, or catching error messages sent by the IRC server. */ public IRC_OnReceiveRaw(botid, message[]) { new File:file; if (!fexist("irc_log.txt")) { file = fopen("irc_log.txt", io_write); } else { file = fopen("irc_log.txt", io_append); } if (file) { fwrite(file, message); fwrite(file, "\r\n"); fclose(file); } return 1; } /* Some examples of channel commands are here. You can add more very easily; their implementation is identical to that of ZeeX's zcmd. */ IRCCMD:say(botid, channel[], user[], host[], params[]) { // Check if the user has at least voice in the channel if (IRC_IsVoice(botid, channel, user)) { // Check if the user entered any text if (!isnull(params)) { new msg[128]; // Echo the formatted message format(msg, sizeof(msg), "02*** %s on IRC: %s", user, params); IRC_GroupSay(groupID, channel, msg); format(msg, sizeof(msg), "*** %s on IRC: %s", user, params); SendClientMessageToAll(0x0000FFFF, msg); } } return 1; } IRCCMD:kick(botid, channel[], user[], host[], params[]) { // Check if the user is at least a halfop in the channel if (IRC_IsHalfop(botid, channel, user)) { new playerid, reason[64]; // Check if the user at least entered a player ID if (sscanf(params, "dS(No reason)[64]", playerid, reason)) { return 1; } // Check if the player is connected if (IsPlayerConnected(playerid)) { // Echo the formatted message new msg[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(msg, sizeof(msg), "02*** %s has been kicked by %s on IRC. (%s)", name, user, reason); IRC_GroupSay(groupID, channel, msg); format(msg, sizeof(msg), "*** %s has been kicked by %s on IRC. (%s)", name, user, reason); SendClientMessageToAll(0x0000FFFF, msg); // Kick the player Kick(playerid); } } return 1; } IRCCMD:ban(botid, channel[], user[], host[], params[]) { // Check if the user is at least an op in the channel if (IRC_IsOp(botid, channel, user)) { new playerid, reason[64]; // Check if the user at least entered a player ID if (sscanf(params, "dS(No reason)[64]", playerid, reason)) { return 1; } // Check if the player is connected if (IsPlayerConnected(playerid)) { // Echo the formatted message new msg[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(msg, sizeof(msg), "02*** %s has been banned by %s on IRC. (%s)", name, user, reason); IRC_GroupSay(groupID, channel, msg); format(msg, sizeof(msg), "*** %s has been banned by %s on IRC. (%s)", name, user, reason); SendClientMessageToAll(0x0000FFFF, msg); // Ban the player BanEx(playerid, reason); } } return 1; } IRCCMD:rcon(botid, channel[], user[], host[], params[]) { // Check if the user is at least an op in the channel if (IRC_IsOp(botid, channel, user)) { // Check if the user entered any text if (!isnull(params)) { // Check if the user did not enter any invalid commands if (strcmp(params, "exit", true) != 0 && strfind(params, "loadfs irc", true) == -1) { // Echo the formatted message new msg[128]; format(msg, sizeof(msg), "RCON command %s has been executed.", params); IRC_GroupSay(groupID, channel, msg); // Send the command SendRconCommand(params); } } } return 1; } //---------------------------------------------------------- public update_zones() { new line1[10], line2[10]; for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && zoneupdates[i] == 1) { if(IsPlayerInZone(i,player_zone[i])) { } else { new player_zone_before; player_zone_before = player_zone[i]; player_zone[i] = -1; for(new j=0; j<sizeof(zones);j++) { if(IsPlayerInZone(i,j) && player_zone[i] == -1) { if(player_zone_before == -1) GameTextForPlayer(i,zones[j][zone_name],1500,1); else if(strcmp(zones[j][zone_name],zones[player_zone_before][zone_name],true) != 0) GameTextForPlayer(i,zones[j][zone_name],1500,1); player_zone[i] = j; format(line1,10,"p%dzone",i); format(line2,10,"%d",j); } } if(player_zone[i] == -1) player_zone[i] = player_zone_before; } } } } IsPlayerInZone(playerid, zoneid) { if(zoneid == -1) return 0; new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); if(x >= zones[zoneid][zone_minx] && x < zones[zoneid][zone_maxx] && y >= zones[zoneid][zone_miny] && y < zones[zoneid][zone_maxy] && z >= zones[zoneid][zone_minz] && z < zones[zoneid][zone_maxz] && z < 900.0) return 1; return 0; } //---------------------------------------------------------- public OnPlayerStateChange(playerid, newstate, oldstate) //checks when the player gets in a vehicle { if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { VehicleModel[playerid] = GetVehicleModel(GetPlayerVehicleID(playerid)); ShowGameTextForPlayer(playerid); return 1; } if(newstate != PLAYER_STATE_DRIVER && (oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)) KillTimer(CFCTimer); //kills timer that checks for left vehicle if player exits vehicle return 1; } public CheckForChange(playerid) //Checks if the player has changed vehicles. { if(GetVehicleModel(GetPlayerVehicleID(playerid)) != VehicleModel[playerid]) //makes sure the new vehicle isn't the same as old vehicle { VehicleModel[playerid] = GetVehicleModel(GetPlayerVehicleID(playerid)); ShowGameTextForPlayer(playerid); } return 1; } public ShowGameTextForPlayer(playerid) //optimised code here :D { new string[32]; switch(GAMETEXT_COLOR) //sets the text's color { case 0: format(string,sizeof(string),"%s",VehicleNames[VehicleModel[playerid]-400]); //yellow case 1: format(string,sizeof(string),"~b~%s",VehicleNames[VehicleModel[playerid]-400]); //blue case 2: format(string,sizeof(string),"~g~%s",VehicleNames[VehicleModel[playerid]-400]); //green case 3: format(string,sizeof(string),"~r~%s",VehicleNames[VehicleModel[playerid]-400]); //red case 4: format(string,sizeof(string),"~p~%s",VehicleNames[VehicleModel[playerid]-400]); //purple case 5: format(string,sizeof(string),"~w~%s",VehicleNames[VehicleModel[playerid]-400]); //white case 6: format(string,sizeof(string),"%~|~s",VehicleNames[VehicleModel[playerid]-400]); //black } GameTextForPlayer(playerid,string,2000,1); //shows the text CFCTimer = SetTimerEx("CheckForChange",1000,true,"i",playerid); //starts timer to check if player has changed vehicles return 1; } strcat(DialogText5, "{FF0A00}* No cheating or modifications of any kind that give you advantages over other players!(BANNABLE)\n\n* No flaming, racism or any sort of discrimination towards any other player!(BANNABLE)\n\n* No spamming/flooding chat for any reason!\n\n* Avoid the unnecessary use of sexual language (pussy, dick, etc.)!\n\n"); strcat(DialogText5, "* The abuse of server bugs, such as RPG Bug is forbidden!(BANNABLE)\n\n* Spawn kill is allowed as long as it is not done with a Sea-Sparrow...\n\n ...In any race Spawn killing is strictly forbidden!\n"); strcat(DialogText5, "\n* Use /report [ID/first letters of the offender's name] [reason] to report a cheater!\n\n{FFD200}Play Fair & Have Fun!");