SHOW:
|
|
- or go back to the newest paste.
| 1 | /*================================================================== | |
| 2 | G-IRC Version 0.1 | |
| 3 | By Deron_Green | |
| 4 | Special thanks to: Y_LESS, Incognito, | |
| 5 | ejb And the SA-IRC Network | |
| 6 | - | !credits |
| 6 | + | !creditsfgffgdfgdfgdfgdfg |
| 7 | Please dont remove credits | |
| 8 | //===================================================================*/ | |
| 9 | #include <a_samp> | |
| 10 | #include <irc> | |
| 11 | #include <sscanf2> | |
| 12 | //============Defines================// | |
| 13 | #define BOT_1_NICKNAME "SA-MPA" | |
| 14 | #define BOT_1_REALNAME "SA-MPA" | |
| 15 | #define BOT_1_USERNAME "Bot" | |
| 16 | ||
| 17 | #define BOT_2_NICKNAME "SA-MPB" | |
| 18 | #define BOT_2_REALNAME "SA-MPB" | |
| 19 | #define BOT_2_USERNAME "Bot" | |
| 20 | ||
| 21 | #define IRC_SERVER "irc.sa-irc.com" | |
| 22 | #define IRC_PORT (6667) | |
| 23 | #define IRC_CHANNEL "#changeme" | |
| 24 | #define ADMIN_CHANNEL "#putyourownchan" | |
| 25 | #define BOT_PASS "sanfierro" | |
| 26 | #define BOT_EMAIL "[email protected]" | |
| 27 | ||
| 28 | #define MAX_BOTS (2) | |
| 29 | #define PLUGIN_VERSION "1.4.3" | |
| 30 | new botIDs[MAX_BOTS], groupID; | |
| 31 | ||
| 32 | #define WHITE 0xFFFFFFAA | |
| 33 | #define HOT_PINK "{FF2DFF}"
| |
| 34 | #define GOLD "{F7DE00}"
| |
| 35 | #define ROYALB "{0000FF}"
| |
| 36 | #define CWHITE "{FFFFFF}"
| |
| 37 | #define CWHITE "{FFFFFF}"
| |
| 38 | #define CYELLOW "{FFFF00}"
| |
| 39 | #define CORED "{FF0000}"
| |
| 40 | #define CORANGE "{FF8000}"
| |
| 41 | #define CBLUE "{0080FF}"
| |
| 42 | #define CVIOLET "{A020F0}"
| |
| 43 | #define CGREEN "{00FF00}"
| |
| 44 | #define CRED "{F81414}"
| |
| 45 | #define CRBLUE "{14f8f8}"
| |
| 46 | #define MAX_ZONE_NAME 28 | |
| 47 | ||
| 48 | //===============Zones==================// | |
| 49 | enum SAZONE_MAIN {
| |
| 50 | SAZONE_NAME[28], | |
| 51 | Float:SAZONE_AREA[6] | |
| 52 | }; | |
| 53 | ||
| 54 | static const gSAZones[][SAZONE_MAIN] = {
| |
| 55 | // NAME AREA (Xmin,Ymin,Zmin,Xmax,Ymax,Zmax) | |
| 56 | {"The Big Ear", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
| |
| 57 | {"Aldea Malvada", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
| |
| 58 | {"Angel Pine", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
| |
| 59 | {"Arco del Oeste", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
| |
| 60 | {"Avispa Country Club", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
| |
| 61 | {"Avispa Country Club", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
| |
| 62 | {"Avispa Country Club", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
| |
| 63 | {"Avispa Country Club", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
| |
| 64 | {"Avispa Country Club", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
| |
| 65 | {"Avispa Country Club", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
| |
| 66 | {"Back o Beyond", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
| |
| 67 | {"Battery Point", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
| |
| 68 | {"Bayside", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
| |
| 69 | {"Bayside Marina", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
| |
| 70 | {"Beacon Hill", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
| |
| 71 | {"Blackfield", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
| |
| 72 | {"Blackfield", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
| |
| 73 | {"Blackfield Chapel", {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
| |
| 74 | {"Blackfield Chapel", {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
| |
| 75 | {"Blackfield Intersection", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
| |
| 76 | {"Blackfield Intersection", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
| |
| 77 | {"Blackfield Intersection", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
| |
| 78 | {"Blackfield Intersection", {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
| |
| 79 | {"Blueberry", {104.50,-220.10,2.30,349.60,152.20,200.00}},
| |
| 80 | {"Blueberry", {19.60,-404.10,3.80,349.60,-220.10,200.00}},
| |
| 81 | {"Blueberry Acres", {-319.60,-220.10,0.00,104.50,293.30,200.00}},
| |
| 82 | {"Caligula's Palace", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
| |
| 83 | {"Caligula's Palace", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
| |
| 84 | {"Calton Heights", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
| |
| 85 | {"Chinatown", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
| |
| 86 | {"City Hall", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
| |
| 87 | {"Come-A-Lot", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
| |
| 88 | {"Commerce", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
| |
| 89 | {"Commerce", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
| |
| 90 | {"Commerce", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
| |
| 91 | {"Commerce", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
| |
| 92 | {"Commerce", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
| |
| 93 | {"Commerce", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
| |
| 94 | {"Conference Center", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
| |
| 95 | {"Conference Center", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
| |
| 96 | {"Cranberry Station", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
| |
| 97 | {"Creek", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
| |
| 98 | {"Dillimore", {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
| |
| 99 | {"Doherty", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
| |
| 100 | {"Doherty", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
| |
| 101 | {"Downtown", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
| |
| 102 | {"Downtown", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
| |
| 103 | {"Downtown", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
| |
| 104 | {"Downtown", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
| |
| 105 | {"Downtown", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
| |
| 106 | {"Downtown", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
| |
| 107 | {"Downtown Los Santos", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
| |
| 108 | {"Downtown Los Santos", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
| |
| 109 | {"Downtown Los Santos", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
| |
| 110 | {"Downtown Los Santos", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
| |
| 111 | {"Downtown Los Santos", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
| |
| 112 | {"Downtown Los Santos", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
| |
| 113 | {"Downtown Los Santos", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
| |
| 114 | {"Downtown Los Santos", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
| |
| 115 | {"Downtown Los Santos", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
| |
| 116 | {"East Beach", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
| |
| 117 | {"East Beach", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
| |
| 118 | {"East Beach", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
| |
| 119 | {"East Beach", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
| |
| 120 | {"East Los Santos", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
| |
| 121 | {"East Los Santos", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
| |
| 122 | {"East Los Santos", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
| |
| 123 | {"East Los Santos", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
| |
| 124 | {"East Los Santos", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
| |
| 125 | {"East Los Santos", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
| |
| 126 | {"East Los Santos", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
| |
| 127 | {"Easter Basin", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
| |
| 128 | {"Easter Basin", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
| |
| 129 | {"Easter Bay Airport", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
| |
| 130 | {"Easter Bay Airport", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
| |
| 131 | {"Easter Bay Airport", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
| |
| 132 | {"Easter Bay Airport", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
| |
| 133 | {"Easter Bay Airport", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
| |
| 134 | {"Easter Bay Airport", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
| |
| 135 | {"Easter Bay Airport", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
| |
| 136 | {"Easter Bay Airport", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
| |
| 137 | {"Easter Bay Chemicals", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
| |
| 138 | {"Easter Bay Chemicals", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
| |
| 139 | {"El Castillo del Diablo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
| |
| 140 | {"El Castillo del Diablo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
| |
| 141 | {"El Castillo del Diablo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
| |
| 142 | {"El Corona", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
| |
| 143 | {"El Corona", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
| |
| 144 | {"El Quebrados", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
| |
| 145 | {"Esplanade East", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
| |
| 146 | {"Esplanade East", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
| |
| 147 | {"Esplanade East", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
| |
| 148 | {"Esplanade North", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
| |
| 149 | {"Esplanade North", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
| |
| 150 | {"Esplanade North", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
| |
| 151 | {"Fallen Tree", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
| |
| 152 | {"Fallow Bridge", {434.30,366.50,0.00,603.00,555.60,200.00}},
| |
| 153 | {"Fern Ridge", {508.10,-139.20,0.00,1306.60,119.50,200.00}},
| |
| 154 | {"Financial", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
| |
| 155 | {"Fisher's Lagoon", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
| |
| 156 | {"Flint Intersection", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
| |
| 157 | {"Flint Range", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
| |
| 158 | {"Fort Carson", {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
| |
| 159 | {"Foster Valley", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
| |
| 160 | {"Foster Valley", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
| |
| 161 | {"Foster Valley", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
| |
| 162 | {"Foster Valley", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
| |
| 163 | {"Frederick Bridge", {2759.20,296.50,0.00,2774.20,594.70,200.00}},
| |
| 164 | {"Gant Bridge", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
| |
| 165 | {"Gant Bridge", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
| |
| 166 | {"Ganton", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
| |
| 167 | {"Ganton", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
| |
| 168 | {"Garcia", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
| |
| 169 | {"Garcia", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
| |
| 170 | {"Garver Bridge", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
| |
| 171 | {"Garver Bridge", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
| |
| 172 | {"Garver Bridge", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
| |
| 173 | {"Glen Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
| |
| 174 | {"Glen Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
| |
| 175 | {"Glen Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
| |
| 176 | {"Green Palms", {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
| |
| 177 | {"Greenglass College", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
| |
| 178 | {"Greenglass College", {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
| |
| 179 | {"Hampton Barns", {603.00,264.30,0.00,761.90,366.50,200.00}},
| |
| 180 | {"Hankypanky Point", {2576.90,62.10,0.00,2759.20,385.50,200.00}},
| |
| 181 | {"Harry Gold Parkway", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
| |
| 182 | {"Hashbury", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
| |
| 183 | {"Hilltop Farm", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
| |
| 184 | {"Hunter Quarry", {337.20,710.80,-115.20,860.50,1031.70,203.70}},
| |
| 185 | {"Idlewood", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
| |
| 186 | {"Idlewood", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
| |
| 187 | {"Idlewood", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
| |
| 188 | {"Idlewood", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
| |
| 189 | {"Idlewood", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
| |
| 190 | {"Idlewood", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
| |
| 191 | {"Jefferson", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
| |
| 192 | {"Jefferson", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
| |
| 193 | {"Jefferson", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
| |
| 194 | {"Jefferson", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
| |
| 195 | {"Jefferson", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
| |
| 196 | {"Jefferson", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
| |
| 197 | {"Julius Thruway East", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
| |
| 198 | {"Julius Thruway East", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
| |
| 199 | {"Julius Thruway East", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
| |
| 200 | {"Julius Thruway East", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
| |
| 201 | {"Julius Thruway North", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
| |
| 202 | {"Julius Thruway North", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
| |
| 203 | {"Julius Thruway North", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
| |
| 204 | {"Julius Thruway North", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
| |
| 205 | {"Julius Thruway North", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
| |
| 206 | {"Julius Thruway North", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
| |
| 207 | {"Julius Thruway North", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
| |
| 208 | {"Julius Thruway North", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
| |
| 209 | {"Julius Thruway South", {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
| |
| 210 | {"Julius Thruway South", {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
| |
| 211 | {"Julius Thruway West", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
| |
| 212 | {"Julius Thruway West", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
| |
| 213 | {"Juniper Hill", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
| |
| 214 | {"Juniper Hollow", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
| |
| 215 | {"K.A.C.C. Military Fuels", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
| |
| 216 | {"Kincaid Bridge", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
| |
| 217 | {"Kincaid Bridge", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
| |
| 218 | {"Kincaid Bridge", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
| |
| 219 | {"King's", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
| |
| 220 | {"King's", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
| |
| 221 | {"King's", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
| |
| 222 | {"LVA Freight Depot", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
| |
| 223 | {"LVA Freight Depot", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
| |
| 224 | {"LVA Freight Depot", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
| |
| 225 | {"LVA Freight Depot", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
| |
| 226 | {"LVA Freight Depot", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
| |
| 227 | {"Las Barrancas", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
| |
| 228 | {"Las Brujas", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
| |
| 229 | {"Las Colinas", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
| |
| 230 | {"Las Colinas", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
| |
| 231 | {"Las Colinas", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
| |
| 232 | {"Las Colinas", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
| |
| 233 | {"Las Colinas", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
| |
| 234 | {"Las Colinas", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
| |
| 235 | {"Las Colinas", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
| |
| 236 | {"Las Payasadas", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
| |
| 237 | {"Las Venturas Airport", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
| |
| 238 | {"Las Venturas Airport", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
| |
| 239 | {"Las Venturas Airport", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
| |
| 240 | {"Las Venturas Airport", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
| |
| 241 | {"Last Dime Motel", {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
| |
| 242 | {"Leafy Hollow", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
| |
| 243 | {"Liberty City", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
| |
| 244 | {"Lil' Probe Inn", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
| |
| 245 | {"Linden Side", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
| |
| 246 | {"Linden Station", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
| |
| 247 | {"Linden Station", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
| |
| 248 | {"Little Mexico", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
| |
| 249 | {"Little Mexico", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
| |
| 250 | {"Los Flores", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
| |
| 251 | {"Los Flores", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
| |
| 252 | {"Los Santos International", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
| |
| 253 | {"Los Santos International", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
| |
| 254 | {"Los Santos International", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
| |
| 255 | {"Los Santos International", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
| |
| 256 | {"Los Santos International", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
| |
| 257 | {"Los Santos International", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
| |
| 258 | {"Marina", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
| |
| 259 | {"Marina", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
| |
| 260 | {"Marina", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
| |
| 261 | {"Market", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
| |
| 262 | {"Market", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
| |
| 263 | {"Market", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
| |
| 264 | {"Market", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
| |
| 265 | {"Market Station", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
| |
| 266 | {"Martin Bridge", {-222.10,293.30,0.00,-122.10,476.40,200.00}},
| |
| 267 | {"Missionary Hill", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
| |
| 268 | {"Montgomery", {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
| |
| 269 | {"Montgomery", {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
| |
| 270 | {"Montgomery Intersection", {1546.60,208.10,0.00,1745.80,347.40,200.00}},
| |
| 271 | {"Montgomery Intersection", {1582.40,347.40,0.00,1664.60,401.70,200.00}},
| |
| 272 | {"Mulholland", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
| |
| 273 | {"Mulholland", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
| |
| 274 | {"Mulholland", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
| |
| 275 | {"Mulholland", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
| |
| 276 | {"Mulholland", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
| |
| 277 | {"Mulholland", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
| |
| 278 | {"Mulholland", {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
| |
| 279 | {"Mulholland", {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
| |
| 280 | {"Mulholland", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
| |
| 281 | {"Mulholland", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
| |
| 282 | {"Mulholland", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
| |
| 283 | {"Mulholland", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
| |
| 284 | {"Mulholland", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
| |
| 285 | {"Mulholland Intersection", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
| |
| 286 | {"North Rock", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
| |
| 287 | {"Ocean Docks", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
| |
| 288 | {"Ocean Docks", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
| |
| 289 | {"Ocean Docks", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
| |
| 290 | {"Ocean Docks", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
| |
| 291 | {"Ocean Docks", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
| |
| 292 | {"Ocean Docks", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
| |
| 293 | {"Ocean Docks", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
| |
| 294 | {"Ocean Flats", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
| |
| 295 | {"Ocean Flats", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
| |
| 296 | {"Ocean Flats", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
| |
| 297 | {"Octane Springs", {338.60,1228.50,0.00,664.30,1655.00,200.00}},
| |
| 298 | {"Old Venturas Strip", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
| |
| 299 | {"Palisades", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
| |
| 300 | {"Palomino Creek", {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
| |
| 301 | {"Paradiso", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
| |
| 302 | {"Pershing Square", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
| |
| 303 | {"Pilgrim", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
| |
| 304 | {"Pilgrim", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
| |
| 305 | {"Pilson Intersection", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
| |
| 306 | {"Pirates in Men's Pants", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
| |
| 307 | {"Playa del Seville", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
| |
| 308 | {"Prickle Pine", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
| |
| 309 | {"Prickle Pine", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
| |
| 310 | {"Prickle Pine", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
| |
| 311 | {"Prickle Pine", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
| |
| 312 | {"Queens", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
| |
| 313 | {"Queens", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
| |
| 314 | {"Queens", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
| |
| 315 | {"Randolph Industrial Estate", {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
| |
| 316 | {"Redsands East", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
| |
| 317 | {"Redsands East", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
| |
| 318 | {"Redsands East", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
| |
| 319 | {"Redsands West", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
| |
| 320 | {"Redsands West", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
| |
| 321 | {"Redsands West", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
| |
| 322 | {"Redsands West", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
| |
| 323 | {"Regular Tom", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
| |
| 324 | {"Richman", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
| |
| 325 | {"Richman", {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
| |
| 326 | {"Richman", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
| |
| 327 | {"Richman", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
| |
| 328 | {"Richman", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
| |
| 329 | {"Richman", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
| |
| 330 | {"Richman", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
| |
| 331 | {"Richman", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
| |
| 332 | {"Richman", {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
| |
| 333 | {"Richman", {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
| |
| 334 | {"Robada Intersection", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
| |
| 335 | {"Roca Escalante", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
| |
| 336 | {"Roca Escalante", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
| |
| 337 | {"Rockshore East", {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
| |
| 338 | {"Rockshore West", {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
| |
| 339 | {"Rockshore West", {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
| |
| 340 | {"Rodeo", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
| |
| 341 | {"Rodeo", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
| |
| 342 | {"Rodeo", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
| |
| 343 | {"Rodeo", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
| |
| 344 | {"Rodeo", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
| |
| 345 | {"Rodeo", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
| |
| 346 | {"Rodeo", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
| |
| 347 | {"Rodeo", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
| |
| 348 | {"Rodeo", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
| |
| 349 | {"Rodeo", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
| |
| 350 | {"Rodeo", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
| |
| 351 | {"Rodeo", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
| |
| 352 | {"Royal Casino", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
| |
| 353 | {"San Andreas Sound", {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
| |
| 354 | {"Santa Flora", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
| |
| 355 | {"Santa Maria Beach", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
| |
| 356 | {"Santa Maria Beach", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
| |
| 357 | {"Shady Cabin", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
| |
| 358 | {"Shady Creeks", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
| |
| 359 | {"Shady Creeks", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
| |
| 360 | {"Sobell Rail Yards", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
| |
| 361 | {"Spinybed", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
| |
| 362 | {"Starfish Casino", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
| |
| 363 | {"Starfish Casino", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
| |
| 364 | {"Starfish Casino", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
| |
| 365 | {"Temple", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
| |
| 366 | {"Temple", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
| |
| 367 | {"Temple", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
| |
| 368 | {"Temple", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
| |
| 369 | {"Temple", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
| |
| 370 | {"Temple", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
| |
| 371 | {"The Camel's Toe", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
| |
| 372 | {"The Clown's Pocket", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
| |
| 373 | {"The Emerald Isle", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
| |
| 374 | {"The Farm", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
| |
| 375 | {"The Four Dragons Casino", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
| |
| 376 | {"The High Roller", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
| |
| 377 | {"The Mako Span", {1664.60,401.70,0.00,1785.10,567.20,200.00}},
| |
| 378 | {"The Panopticon", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
| |
| 379 | {"The Pink Swan", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
| |
| 380 | {"The Sherman Dam", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
| |
| 381 | {"The Strip", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
| |
| 382 | {"The Strip", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
| |
| 383 | {"The Strip", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
| |
| 384 | {"The Strip", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
| |
| 385 | {"The Visage", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
| |
| 386 | {"The Visage", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
| |
| 387 | {"Unity Station", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
| |
| 388 | {"Valle Ocultado", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
| |
| 389 | {"Verdant Bluffs", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
| |
| 390 | {"Verdant Bluffs", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
| |
| 391 | {"Verdant Bluffs", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
| |
| 392 | {"Verdant Meadows", {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
| |
| 393 | {"Verona Beach", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
| |
| 394 | {"Verona Beach", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
| |
| 395 | {"Verona Beach", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
| |
| 396 | {"Verona Beach", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
| |
| 397 | {"Verona Beach", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
| |
| 398 | {"Vinewood", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
| |
| 399 | {"Vinewood", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
| |
| 400 | {"Vinewood", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
| |
| 401 | {"Vinewood", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
| |
| 402 | {"Whitewood Estates", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
| |
| 403 | {"Whitewood Estates", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
| |
| 404 | {"Willowfield", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
| |
| 405 | {"Willowfield", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
| |
| 406 | {"Willowfield", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
| |
| 407 | {"Willowfield", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
| |
| 408 | {"Willowfield", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
| |
| 409 | {"Willowfield", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
| |
| 410 | {"Willowfield", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
| |
| 411 | {"Yellow Bell Station", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
| |
| 412 | // Main Zones | |
| 413 | {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
| |
| 414 | {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
| |
| 415 | {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
| |
| 416 | {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
| |
| 417 | {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
| |
| 418 | {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
| |
| 419 | {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
| |
| 420 | {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
| |
| 421 | {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
| |
| 422 | }; | |
| 423 | ||
| 424 | ||
| 425 | main() | |
| 426 | {
| |
| 427 | print("\n----------------------------------");
| |
| 428 | print(" G-IRC v0.1 ");
| |
| 429 | print(" By Deron_Green !credits ");
| |
| 430 | print("----------------------------------\n");
| |
| 431 | } | |
| 432 | //==============Publics================// | |
| 433 | public OnFilterScriptInit() | |
| 434 | {
| |
| 435 | botIDs[0] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_1_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME); | |
| 436 | IRC_SetIntData(botIDs[0], E_IRC_CONNECT_DELAY, 20); | |
| 437 | botIDs[1] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_2_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME); | |
| 438 | IRC_SetIntData(botIDs[1], E_IRC_CONNECT_DELAY, 30); | |
| 439 | groupID = IRC_CreateGroup(); | |
| 440 | } | |
| 441 | public OnFilterScriptExit() | |
| 442 | {
| |
| 443 | IRC_Quit(botIDs[0], "G-IRC closing"); | |
| 444 | IRC_Quit(botIDs[1], "G-IRC closing"); | |
| 445 | IRC_DestroyGroup(groupID); | |
| 446 | } | |
| 447 | public OnPlayerConnect(playerid) | |
| 448 | {
| |
| 449 | new joinMsg[128], name[MAX_PLAYER_NAME], Ajoin[128]; | |
| 450 | GetPlayerName(playerid, name, sizeof(name)); | |
| 451 | format(joinMsg, sizeof(joinMsg), "50JOIN: %s (%d) Has Joined The Server.", name, playerid); | |
| 452 | IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg); | |
| 453 | new giveplayerid, ip[16]; | |
| 454 | GetPlayerIp(giveplayerid, ip, sizeof(ip)); | |
| 455 | format(Ajoin, sizeof(Ajoin), "50JOIN: %s (%d) Has Joined The Server.- (IP): %s", name, playerid, ip); | |
| 456 | IRC_GroupSay(groupID, ADMIN_CHANNEL, Ajoin); | |
| 457 | return 1; | |
| 458 | } | |
| 459 | public OnPlayerDisconnect(playerid, reason) | |
| 460 | {
| |
| 461 | new leaveMsg[128], name[MAX_PLAYER_NAME], reasonMsg[20], Aleave[128]; | |
| 462 | switch(reason) | |
| 463 | {
| |
| 464 | case 0: reasonMsg = "Timeout"; | |
| 465 | case 1: reasonMsg = "Leaving"; | |
| 466 | case 2: reasonMsg = "Kicked/Banned"; | |
| 467 | } | |
| 468 | GetPlayerName(playerid, name, sizeof(name)); | |
| 469 | format(leaveMsg, sizeof(leaveMsg), "02%s (%d) Has Left The Server. -(%s)", name, playerid, reasonMsg); | |
| 470 | IRC_GroupSay(groupID, IRC_CHANNEL, leaveMsg); | |
| 471 | format(Aleave, sizeof(Aleave), "02%s (%d) Has Left The Server. - (%s)", name, playerid, reasonMsg); | |
| 472 | IRC_GroupSay(groupID, ADMIN_CHANNEL, Aleave); | |
| 473 | return 1; | |
| 474 | } | |
| 475 | public OnPlayerSpawn(playerid) | |
| 476 | {
| |
| 477 | new SpawnMsg[128], name[MAX_PLAYER_NAME], string[128], zone[MAX_ZONE_NAME]; | |
| 478 | GetPlayerName(playerid, name, sizeof(name)); | |
| 479 | format(SpawnMsg, sizeof(SpawnMsg), "5SPAWN: %s (%d) Has Spawned.", name, playerid); | |
| 480 | IRC_GroupSay(groupID, IRC_CHANNEL, SpawnMsg); | |
| 481 | GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME); | |
| 482 | format(string, sizeof(string), "5 SPAWN: %s (%d) Has Spawned. - Location: %s", name, playerid, zone); | |
| 483 | IRC_GroupSay(groupID, ADMIN_CHANNEL, string); | |
| 484 | return 1; | |
| 485 | } | |
| 486 | public OnPlayerDeath(playerid, killerid, reason) | |
| 487 | {
| |
| 488 | new msg[128], killerName[MAX_PLAYER_NAME], reasonMsg[32], playerName[MAX_PLAYER_NAME]; | |
| 489 | GetPlayerName(killerid, killerName, sizeof(killerName)); | |
| 490 | GetPlayerName(playerid, playerName, sizeof(playerName)); | |
| 491 | if (killerid != INVALID_PLAYER_ID) | |
| 492 | {
| |
| 493 | switch (reason) | |
| 494 | {
| |
| 495 | case 0: reasonMsg = "Fist"; | |
| 496 | case 1: reasonMsg = "Brass Knuckles"; | |
| 497 | case 2: reasonMsg = "Golf Club"; | |
| 498 | case 3: reasonMsg = "Night Stick"; | |
| 499 | case 4: reasonMsg = "Knife"; | |
| 500 | case 5: reasonMsg = "Baseball Bat"; | |
| 501 | case 6: reasonMsg = "Shovel"; | |
| 502 | case 7: reasonMsg = "Pool Cue"; | |
| 503 | case 8: reasonMsg = "Katana"; | |
| 504 | case 9: reasonMsg = "Chainsaw"; | |
| 505 | case 10: reasonMsg = "Dildo"; | |
| 506 | case 11: reasonMsg = "Dildo"; | |
| 507 | case 12: reasonMsg = "Vibrator"; | |
| 508 | case 13: reasonMsg = "Vibrator"; | |
| 509 | case 14: reasonMsg = "Flowers"; | |
| 510 | case 15: reasonMsg = "Cane"; | |
| 511 | case 22: reasonMsg = "Pistol"; | |
| 512 | case 23: reasonMsg = "Silenced Pistol"; | |
| 513 | case 24: reasonMsg = "Desert Eagle"; | |
| 514 | case 25: reasonMsg = "Shotgun"; | |
| 515 | case 26: reasonMsg = "Sawn-off Shotgun"; | |
| 516 | case 27: reasonMsg = "Combat Shotgun"; | |
| 517 | case 28: reasonMsg = "MAC-10"; | |
| 518 | case 29: reasonMsg = "MP5"; | |
| 519 | case 30: reasonMsg = "AK-47"; | |
| 520 | case 31: reasonMsg = "M4"; | |
| 521 | case 32: reasonMsg = "TEC-9"; | |
| 522 | case 33: reasonMsg = "Country Rifle"; | |
| 523 | case 34: reasonMsg = "Sniper Rifle"; | |
| 524 | case 37: reasonMsg = "Fire"; | |
| 525 | case 38: reasonMsg = "Minigun"; | |
| 526 | case 41: reasonMsg = "Spray Can"; | |
| 527 | case 42: reasonMsg = "Fire Extinguisher"; | |
| 528 | case 49: reasonMsg = "Vehicle Collision"; | |
| 529 | case 50: reasonMsg = "Vehicle Collision"; | |
| 530 | case 51: reasonMsg = "Explosion"; | |
| 531 | default: reasonMsg = "Unknown"; | |
| 532 | } | |
| 533 | format(msg, sizeof(msg), "04 %s Murdered %s. (%s)", killerName, playerName, reasonMsg); | |
| 534 | } | |
| 535 | else | |
| 536 | {
| |
| 537 | switch (reason) | |
| 538 | {
| |
| 539 | case 53: format(msg, sizeof(msg), "04 %s died. (Drowned)", playerName); | |
| 540 | case 54: format(msg, sizeof(msg), "04 %s died. (Collision)", playerName); | |
| 541 | default: format(msg, sizeof(msg), "04 %s died.", playerName); | |
| 542 | } | |
| 543 | } | |
| 544 | IRC_GroupSay(groupID, IRC_CHANNEL, msg); | |
| 545 | return 1; | |
| 546 | } | |
| 547 | public OnPlayerText(playerid, text[]) | |
| 548 | {
| |
| 549 | new name[MAX_PLAYER_NAME], ircMsg[256], Rstr[128]; | |
| 550 | GetPlayerName(playerid, name, sizeof(name)); | |
| 551 | GetPlayerWantedLevel(playerid); | |
| 552 | if(GetPlayerWantedLevel(playerid) == 0) | |
| 553 | {
| |
| 554 | format(ircMsg, sizeof(ircMsg), "%s (%d): %s", name, playerid, text); | |
| 555 | IRC_GroupSay(groupID, IRC_CHANNEL, ircMsg); | |
| 556 | IRC_GroupSay(groupID, ADMIN_CHANNEL, ircMsg); | |
| 557 | } | |
| 558 | else if(GetPlayerWantedLevel(playerid) >= 1) | |
| 559 | {
| |
| 560 | format(Rstr, sizeof(Rstr), "4(WANTED):1%s (%d): %s", name, playerid, text); | |
| 561 | IRC_GroupSay(groupID, IRC_CHANNEL, Rstr); | |
| 562 | IRC_GroupSay(groupID, ADMIN_CHANNEL, Rstr); | |
| 563 | } | |
| 564 | return 1; | |
| 565 | } | |
| 566 | public IRC_OnConnect(botid, ip[], port) | |
| 567 | {
| |
| 568 | printf("*** IRC_OnConnect: Bot ID %d connected to %s:%d", botid, ip, port);
| |
| 569 | IRC_JoinChannel(botid, IRC_CHANNEL); | |
| 570 | IRC_JoinChannel(botid, ADMIN_CHANNEL); | |
| 571 | IRC_AddToGroup(groupID, botid); | |
| 572 | IRC_SendRaw(botid, "ns identify "BOT_PASS""); | |
| 573 | return 1; | |
| 574 | } | |
| 575 | public IRC_OnDisconnect(botid, ip[], port, reason[]) | |
| 576 | {
| |
| 577 | IRC_RemoveFromGroup(groupID, botid); | |
| 578 | return 1; | |
| 579 | } | |
| 580 | public IRC_OnConnectAttemptFail(botid, ip[], port, reason[]) | |
| 581 | {
| |
| 582 | printf("*** IRC_OnConnectAttemptFail: Bot ID %d failed to connect to %s:%d (%s)", botid, ip, port, reason);
| |
| 583 | return 1; | |
| 584 | } | |
| 585 | public IRC_OnReceiveRaw(botid, message[]) | |
| 586 | {
| |
| 587 | new File:file; | |
| 588 | if (!fexist("irc_log.txt"))
| |
| 589 | {
| |
| 590 | file = fopen("irc_log.txt", io_write);
| |
| 591 | } | |
| 592 | else | |
| 593 | {
| |
| 594 | file = fopen("irc_log.txt", io_append);
| |
| 595 | } | |
| 596 | if (file) | |
| 597 | {
| |
| 598 | fwrite(file, message); | |
| 599 | fwrite(file, "\r\n"); | |
| 600 | fclose(file); | |
| 601 | } | |
| 602 | return 1; | |
| 603 | } | |
| 604 | //==============================Commands===============================// | |
| 605 | IRCCMD:say(botid, channel[], user[], host[], params[]) | |
| 606 | {
| |
| 607 | if (IRC_IsVoice(botid, channel, user)) | |
| 608 | {
| |
| 609 | if (!isnull(params)) | |
| 610 | {
| |
| 611 | new msg[128]; | |
| 612 | format(msg, sizeof(msg), "02%s on IRC: %s", user, params); | |
| 613 | IRC_GroupSay(groupID, channel, msg); | |
| 614 | format(msg, sizeof(msg), "%s on IRC: %s", user, params); | |
| 615 | SendClientMessageToAll(WHITE, msg); | |
| 616 | } | |
| 617 | } | |
| 618 | return 1; | |
| 619 | } | |
| 620 | ||
| 621 | IRCCMD:ikick(botid, channel[], user[], host[], params[]) | |
| 622 | {
| |
| 623 | if (IRC_IsHalfop(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 624 | {
| |
| 625 | new playerid, reason[64]; | |
| 626 | if (sscanf(params, "dS(No reason)[64]", playerid, reason)) | |
| 627 | {
| |
| 628 | return 1; | |
| 629 | } | |
| 630 | if (IsPlayerConnected(playerid)) | |
| 631 | {
| |
| 632 | new msg[128], name[MAX_PLAYER_NAME]; | |
| 633 | GetPlayerName(playerid, name, sizeof(name)); | |
| 634 | format(msg, sizeof(msg), "02%s Has Been Kicked By Administrator %s On IRC. (%s)", name, user, reason); | |
| 635 | IRC_GroupSay(groupID, channel, msg); | |
| 636 | format(msg, sizeof(msg), "%s Has Been Kicked By %s On IRC. (%s)", name, user, reason); | |
| 637 | SendClientMessageToAll(WHITE, msg); | |
| 638 | Kick(playerid); | |
| 639 | } | |
| 640 | } | |
| 641 | return 1; | |
| 642 | } | |
| 643 | ||
| 644 | IRCCMD:iban(botid, channel[], user[], host[], params[]) | |
| 645 | {
| |
| 646 | if (IRC_IsHalfop(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 647 | {
| |
| 648 | new playerid, reason[64]; | |
| 649 | if (sscanf(params, "dS(No reason)[64]", playerid, reason)) | |
| 650 | {
| |
| 651 | return 1; | |
| 652 | } | |
| 653 | if (IsPlayerConnected(playerid)) | |
| 654 | {
| |
| 655 | new msg[128], name[MAX_PLAYER_NAME]; | |
| 656 | GetPlayerName(playerid, name, sizeof(name)); | |
| 657 | format(msg, sizeof(msg), "02%s Has Been "CRED"Banned By Administrator %s On IRC. (%s)", name, user, reason); | |
| 658 | IRC_GroupSay(groupID, channel, msg); | |
| 659 | format(msg, sizeof(msg), "%s has been "CRED"Banned By Administrator %s On IRC. (%s)", name, user, reason); | |
| 660 | SendClientMessageToAll(WHITE, msg); | |
| 661 | BanEx(playerid, reason); | |
| 662 | } | |
| 663 | } | |
| 664 | return 1; | |
| 665 | } | |
| 666 | ||
| 667 | IRCCMD:rcon(botid, channel[], user[], host[], params[]) | |
| 668 | {
| |
| 669 | if (IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 670 | {
| |
| 671 | if (!isnull(params)) | |
| 672 | {
| |
| 673 | if (strcmp(params, "exit", true) != 0 && strfind(params, "loadfs irc", true) == -1) | |
| 674 | {
| |
| 675 | new msg[128]; | |
| 676 | format(msg, sizeof(msg), "RCON command %s has been executed.", params); | |
| 677 | IRC_GroupSay(groupID, channel, msg); | |
| 678 | SendRconCommand(params); | |
| 679 | } | |
| 680 | } | |
| 681 | } | |
| 682 | return 1; | |
| 683 | } | |
| 684 | IRCCMD:cmds(botid, channel[], user[], host[], params[]) | |
| 685 | {
| |
| 686 | if(!strcmp(channel, channel, true)) | |
| 687 | {
| |
| 688 | IRC_Say(botid, user, "04 [IRC Commands] "); | |
| 689 | IRC_Say(groupID, user, "| User: !pm !players !credits !say "); | |
| 690 | {
| |
| 691 | if(IRC_IsHalfop(botid, channel, user)) | |
| 692 | {
| |
| 693 | IRC_Say(groupID, user, "| Halfops: !slap !iban !ikick !clearchat !warn !getip "); | |
| 694 | } | |
| 695 | if(IRC_IsOp(botid, channel, user)) | |
| 696 | {
| |
| 697 | IRC_Say(groupID, user, "| Operators: !explode !givecash !setscore !setwanted !loc "); | |
| 698 | } | |
| 699 | if(IRC_IsAdmin(botid, channel, user)) | |
| 700 | {
| |
| 701 | IRC_Say(groupID, user, "| Administrators: !isay !cprotect !crestore "); | |
| 702 | } | |
| 703 | if(IRC_IsOwner(botid, channel, user)) | |
| 704 | {
| |
| 705 | IRC_Say(groupID, user, "| Owner: !restart !bregister !rcon "); | |
| 706 | } | |
| 707 | } | |
| 708 | } | |
| 709 | return 1; | |
| 710 | } | |
| 711 | IRCCMD:bregister(botid, channel[], user[], host[], params[]) | |
| 712 | {
| |
| 713 | if(!IRC_IsOwner(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 714 | new regstr[50]; | |
| 715 | format(regstr, sizeof(regstr), "ns register %s %s", BOT_PASS, BOT_EMAIL); | |
| 716 | IRC_SendRaw(botid, regstr); | |
| 717 | return 1; | |
| 718 | } | |
| 719 | IRCCMD:restart(botid, channel[], user[], host[], params[]) | |
| 720 | {
| |
| 721 | if(!IRC_IsOwner(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 722 | SendRconCommand("gmx");
| |
| 723 | return 1; | |
| 724 | } | |
| 725 | IRCCMD:cprotect(botid, channel[], user[], host[], params[]) | |
| 726 | {
| |
| 727 | if(!IRC_IsAdmin(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 728 | new pmode[50]; | |
| 729 | format(pmode, sizeof(pmode), "mode %s +miRCp", channel); | |
| 730 | IRC_SendRaw(botid, pmode); | |
| 731 | return 1; | |
| 732 | } | |
| 733 | IRCCMD:crestore(botid, channel[], user[], host[], params[]) | |
| 734 | {
| |
| 735 | if(!IRC_IsAdmin(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 736 | new pmode[50]; | |
| 737 | format(pmode, sizeof(pmode), "mode %s -miRCp", channel); | |
| 738 | IRC_SendRaw(botid, pmode); | |
| 739 | return 1; | |
| 740 | } | |
| 741 | IRCCMD:bsay(botid, channel[], user[], host[], params[]) | |
| 742 | {
| |
| 743 | if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 744 | new bmsg[128], bmsg2[128]; | |
| 745 | format(bmsg, sizeof(bmsg), "02%s on IRC: %s", BOT_1_NICKNAME, params); | |
| 746 | IRC_GroupSay(groupID, channel, bmsg); | |
| 747 | format(bmsg2, sizeof(bmsg2), ""CGREEN"%s on IRC:"CWHITE" %s", BOT_1_NICKNAME, params); | |
| 748 | SendClientMessageToAll(WHITE, bmsg2); | |
| 749 | return 1; | |
| 750 | } | |
| 751 | IRCCMD:isay(botid, channel[], user[], host[], params[]) | |
| 752 | {
| |
| 753 | if(!IRC_IsAdmin(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 754 | if(isnull(params) || strlen(params) > 50) return IRC_GroupNotice(groupID, user, "4Invalid length. The length must be between 1 and 50 characters."); | |
| 755 | new amsg[128], amsg2[128]; | |
| 756 | format(amsg, sizeof(amsg), "17Administrator %s on IRC:1 %s", user, params); | |
| 757 | IRC_GroupSay(groupID, channel, amsg); | |
| 758 | format(amsg2, sizeof(amsg2), ""CRED"Administrator %s on IRC:"CWHITE" %s", user, params); | |
| 759 | SendClientMessageToAll(WHITE, amsg2); | |
| 760 | return 1; | |
| 761 | } | |
| 762 | IRCCMD:credits(botid, channel[], user[], host[], params[]) | |
| 763 | {
| |
| 764 | IRC_Notice(botid, user, "04 [IRC script] "); | |
| 765 | IRC_Notice(botid, user, "04 Made by Deron_Green and ejb "); | |
| 766 | IRC_Notice(botid, user, "04 Special thanks to Incognito, "); | |
| 767 | IRC_Notice(botid, user, "04 Y_Less, SA-IRC network "); | |
| 768 | IRC_Notice(botid, user, "04 And.. "); | |
| 769 | IRC_Notice(botid, user, "04 You for choosing GreenIRC v0.1! "); | |
| 770 | IRC_Notice(botid, user, "04___________________________________"); | |
| 771 | return 1; | |
| 772 | } | |
| 773 | IRCCMD:explode(botid, channel[], user[], host[], params[]) | |
| 774 | {
| |
| 775 | if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level."); | |
| 776 | new id, reason[80]; new pname[MAX_PLAYER_NAME]; | |
| 777 | if(sscanf(params, "uS(No Reason)[80]", id, reason)) | |
| 778 | {
| |
| 779 | IRC_GroupSay(groupID, user, "04USAGE: !explode [ID] [Reason]"); | |
| 780 | return 1; | |
| 781 | } | |
| 782 | if(!IsPlayerConnected(id)) | |
| 783 | {
| |
| 784 | IRC_GroupSay(groupID, user, "04ERROR: Invalid Player ID"); | |
| 785 | return 1; | |
| 786 | } | |
| 787 | new Float:x, Float:y, Float:z, string[100], str2[100]; | |
| 788 | GetPlayerPos(id, x, y, z); | |
| 789 | CreateExplosion(x, y, z, 6, 10); | |
| 790 | CreateExplosion(x, y, z, 6, 10); | |
| 791 | GetPlayerName(id, pname, sizeof(pname)); | |
| 792 | format(string, sizeof(string), ""CORANGE"EXPLOSION: "CWHITE"IRC Administrator %s Has Exploded %s(%d) - Reason: %s", user, pname, id, reason); | |
| 793 | SendClientMessageToAll(WHITE, string); | |
| 794 | format(str2, sizeof(str2), "41(EXPLOSION):1 IRC Admin %s Exploded %s(%d) - Reason: %s", user, pname, id, reason); | |
| 795 | IRC_Say(groupID, ADMIN_CHANNEL, str2); | |
| 796 | return 1; | |
| 797 | } | |
| 798 | IRCCMD:getip(botid, channel[], user[], host[], params[])//ReV | |
| 799 | {
| |
| 800 | if(!IRC_IsHalfop(botid, channel, user)) return false; | |
| 801 | new giveplayerid, ip[16], str[128]; | |
| 802 | new giveplayer[MAX_PLAYER_NAME]; | |
| 803 | if(sscanf(params, "i", giveplayerid)) | |
| 804 | {
| |
| 805 | IRC_GroupSay(groupID, ADMIN_CHANNEL, "Usage: !getip (playerid)"); | |
| 806 | return false; | |
| 807 | } | |
| 808 | ||
| 809 | GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); | |
| 810 | GetPlayerIp(giveplayerid, ip, sizeof(ip)); | |
| 811 | ||
| 812 | if(!IsPlayerConnected(giveplayerid)) | |
| 813 | {
| |
| 814 | IRC_GroupSay(groupID, channel, "4()3 Invalid Player ID!"); | |
| 815 | return 1; | |
| 816 | } | |
| 817 | format(str, 128, "2Player:1 %s(%i) 4IP:1 Is %s", giveplayer, giveplayerid, ip); | |
| 818 | IRC_GroupSay(groupID, channel, str); | |
| 819 | ||
| 820 | #pragma unused botid, user | |
| 821 | return true; | |
| 822 | } | |
| 823 | IRCCMD:players(conn, channel[], user[], params[]) //made by Grove, taken from CYS Echo Bot 1.2 | |
| 824 | {
| |
| 825 | new count, PlayerNames[512], string[256]; | |
| 826 | for(new i=0; i<=MAX_PLAYERS; i++) | |
| 827 | {
| |
| 828 | if(IsPlayerConnected(i)) | |
| 829 | {
| |
| 830 | if(count == 0) | |
| 831 | {
| |
| 832 | new PlayerName1[MAX_PLAYER_NAME]; | |
| 833 | GetPlayerName(i, PlayerName1, sizeof(PlayerName1)); | |
| 834 | format(PlayerNames, sizeof(PlayerNames),"2%s1", PlayerName1); | |
| 835 | count++; | |
| 836 | } | |
| 837 | else | |
| 838 | {
| |
| 839 | new PlayerName1[MAX_PLAYER_NAME]; | |
| 840 | GetPlayerName(i, PlayerName1, sizeof(PlayerName1)); | |
| 841 | format(PlayerNames, sizeof(PlayerNames),"%s, 2%s1", PlayerNames, PlayerName1); | |
| 842 | count++; | |
| 843 | } | |
| 844 | } | |
| 845 | else { if(count == 0) format(PlayerNames, sizeof(PlayerNames), "1No Players Online!"); }
| |
| 846 | } | |
| 847 | ||
| 848 | new counter = 0; | |
| 849 | for(new i=0; i<=MAX_PLAYERS; i++) | |
| 850 | {
| |
| 851 | if(IsPlayerConnected(i)) counter++; | |
| 852 | } | |
| 853 | ||
| 854 | format(string, 256, "50Connected Players[%d]:1 %s", counter, PlayerNames); | |
| 855 | IRC_Say(conn, channel, string); | |
| 856 | #pragma unused params,user | |
| 857 | return true; | |
| 858 | } | |
| 859 | IRCCMD:clearchat(conn, channel[], user[], message[]) | |
| 860 | {
| |
| 861 | if(IRC_IsHalfop(conn, channel, user) == 0) return IRC_Say(conn, channel, "Invalid Level"); | |
| 862 | {
| |
| 863 | for( new i = 0; i <= 100; i ++ ) SendClientMessageToAll(WHITE, "" ); | |
| 864 | } | |
| 865 | new string[256]; | |
| 866 | format(string, sizeof(string), ""CRED"A IRC Administrator "CWHITE"has cleared the chat", user); | |
| 867 | ||
| 868 | SendClientMessageToAll(WHITE, string); | |
| 869 | IRC_Say(conn, channel, string); | |
| 870 | ||
| 871 | #pragma unused message | |
| 872 | return 1; | |
| 873 | } | |
| 874 | IRCCMD:warn(botid, channel[], user[], host[], params[]) | |
| 875 | {
| |
| 876 | new ID; new reason[100]; new string[200]; new pname[MAX_PLAYER_NAME];new str[200]; | |
| 877 | if(IRC_IsOp(botid, channel, user)) | |
| 878 | {
| |
| 879 | if(sscanf(params, "us[100]", ID, reason)) | |
| 880 | {
| |
| 881 | IRC_Say(groupID, channel, "Usage: !warn [ID] [reason]"); | |
| 882 | } | |
| 883 | if(!IsPlayerConnected(ID)) | |
| 884 | {
| |
| 885 | IRC_Say(groupID, channel, "Invalid Player ID."); | |
| 886 | return 1; | |
| 887 | } | |
| 888 | GetPlayerName(ID, pname, 24); | |
| 889 | format(string, sizeof(string), "WARN: %s(%d) Has Been Warned By IRC Administrator %s - Reason: %s", pname, ID, user, reason); | |
| 890 | SendClientMessageToAll(WHITE, string); | |
| 891 | format(str, sizeof(str), "WARN: %s(%d) Has Been Warned By %s. Reason: %s", pname, ID, user, reason); | |
| 892 | IRC_Say(groupID, ADMIN_CHANNEL, str); | |
| 893 | SendClientMessage(ID, WHITE, "WARNED: You Have Been Issued A Warning By An IRC Administrator."); | |
| 894 | SendClientMessage(ID, WHITE, "Please Follow The Rules And Read /rules"); | |
| 895 | } | |
| 896 | return 1; | |
| 897 | } | |
| 898 | IRCCMD:pm(botid, channel[], user[], host[], params[]) | |
| 899 | {
| |
| 900 | new string[128], str1[128], id, pname[MAX_PLAYER_NAME]; | |
| 901 | if(sscanf(params, "us[100]", id, str1)) | |
| 902 | {
| |
| 903 | IRC_Say(groupID, channel, "Usage: !pm [ID] [message]"); | |
| 904 | return 1; | |
| 905 | } | |
| 906 | if(!IsPlayerConnected(id)) return IRC_Say(groupID, channel, "Invalid Player ID."); | |
| 907 | {
| |
| 908 | GetPlayerName(id, pname, sizeof(pname)); | |
| 909 | format(string, sizeof(string), "PM To: %s(ID %d): %s", pname, id, str1); | |
| 910 | IRC_Say(groupID, channel, string); | |
| 911 | format(str1, sizeof(str1), ""HOT_PINK"PM From %s:"CWHITE" %s", user, str1); | |
| 912 | SendClientMessage(id, WHITE, str1); | |
| 913 | } | |
| 914 | return 1; | |
| 915 | } | |
| 916 | IRCCMD:slap(botid, channel[], user[], host[], params[]) | |
| 917 | {
| |
| 918 | new id, str[128], str2[128], pname[MAX_PLAYER_NAME], Float:x, Float:y, Float:z; | |
| 919 | if(!IRC_IsHalfop(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level"); | |
| 920 | {
| |
| 921 | if(sscanf(params, "us[128]", id, str)) | |
| 922 | {
| |
| 923 | IRC_Say(groupID, channel, "Usage: !slap [ID] [reason]"); | |
| 924 | } | |
| 925 | GetPlayerName(id, pname, sizeof(pname)); | |
| 926 | format(str2, sizeof(str2), "53SLAP:1 %s Has Been Slapped By 39IRC Administrator1 %s - 4Reason:1 %s", pname, user, str); | |
| 927 | IRC_Say(groupID, channel, str2); | |
| 928 | GetPlayerPos(id, x, y, z); | |
| 929 | SetPlayerPos(id, x, y, z+10); | |
| 930 | } | |
| 931 | return 1; | |
| 932 | } | |
| 933 | IRCCMD:givecash(botid, channel[], user[], host[], params[]) | |
| 934 | {
| |
| 935 | new id, amount, pname[MAX_PLAYER_NAME], Mstr[128]; | |
| 936 | if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level"); | |
| 937 | {
| |
| 938 | if(sscanf(params,"ui", id, amount)) | |
| 939 | {
| |
| 940 | IRC_Say(groupID, channel, "Usage: !givecash [ID] [Amount]"); | |
| 941 | } | |
| 942 | if(!IsPlayerConnected(id)) return IRC_Say(groupID, channel, "Invalid Player ID."); | |
| 943 | {
| |
| 944 | GetPlayerName(id, pname, sizeof(pname)); | |
| 945 | GivePlayerMoney(id, amount); | |
| 946 | format(Mstr, sizeof(Mstr), "44CASH::1 %s Has Been Given $%d By IRC Administrator %s", pname, amount, user); | |
| 947 | IRC_Say(groupID, ADMIN_CHANNEL, Mstr); | |
| 948 | } | |
| 949 | } | |
| 950 | return 1; | |
| 951 | } | |
| 952 | IRCCMD:setscore(botid, channel[], user[], host[], params[]) | |
| 953 | {
| |
| 954 | new id, score, pname[MAX_PLAYER_NAME], str[128]; | |
| 955 | if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level"); | |
| 956 | {
| |
| 957 | if (sscanf(params, "ui", id, score)) | |
| 958 | {
| |
| 959 | IRC_Say(groupID, channel, "Usage: !setscore [ID] [score]"); | |
| 960 | } | |
| 961 | if(!IsPlayerConnected(id)) return IRC_Say(groupID, channel, "Invalid Player ID."); | |
| 962 | {
| |
| 963 | SetPlayerScore(id, score); | |
| 964 | GetPlayerName(id, pname, sizeof(pname)); | |
| 965 | format(str, sizeof(str), "57SCORE::1 %s Score Has Been Set To %d By IRC Administrator %s", pname, score, user); | |
| 966 | IRC_Say(groupID, channel, str); | |
| 967 | } | |
| 968 | } | |
| 969 | return 1; | |
| 970 | } | |
| 971 | IRCCMD:loc(botid, channel[], user[], host[], params[]) | |
| 972 | {
| |
| 973 | new id, zone[MAX_ZONE_NAME], pname[MAX_PLAYER_NAME], str[128]; | |
| 974 | if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level"); | |
| 975 | {
| |
| 976 | if (sscanf(params, "u", id)) | |
| 977 | {
| |
| 978 | IRC_Say(groupID, channel, "Usage: !loc [ID]"); | |
| 979 | } | |
| 980 | if(!IsPlayerConnected(id)) return IRC_Say(groupID, channel, "Invalid Player ID."); | |
| 981 | {
| |
| 982 | GetPlayer2DZone(id, zone, MAX_ZONE_NAME); | |
| 983 | GetPlayerName(id, pname, sizeof(pname)); | |
| 984 | format(str, sizeof(str), "57LOCATION:1 17Player:1 %s - 4Location:1 %s", pname, zone); | |
| 985 | IRC_Say(groupID, channel, str); | |
| 986 | } | |
| 987 | } | |
| 988 | return 1; | |
| 989 | } | |
| 990 | IRCCMD:setwanted(botid, channel[], user[], host[], params[]) | |
| 991 | {
| |
| 992 | new id, pname[MAX_PLAYER_NAME], wl, Wstr[128]; | |
| 993 | if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level"); | |
| 994 | {
| |
| 995 | if (sscanf(params, "ui", id, wl)) | |
| 996 | {
| |
| 997 | IRC_Say(groupID, channel, "Usage: !setwanted [ID] [Level]"); | |
| 998 | } | |
| 999 | if(!IsPlayerConnected(id)) return IRC_Say(groupID, channel, "Invalid Player ID"); | |
| 1000 | {
| |
| 1001 | SetPlayerWantedLevel(id, wl); | |
| 1002 | GetPlayerName(id, pname, sizeof(pname)); | |
| 1003 | format(Wstr, sizeof(Wstr), "4WANTEDLEVEL:1 IRC Administrator %s Has Set %s Wanted Level To %d", user, pname, wl); | |
| 1004 | IRC_Say(groupID, channel, Wstr); | |
| 1005 | } | |
| 1006 | } | |
| 1007 | return 1; | |
| 1008 | } | |
| 1009 | stock GetPlayer2DZone(playerid, zone[], len) | |
| 1010 | {
| |
| 1011 | new Float:x, Float:y, Float:z; | |
| 1012 | GetPlayerPos(playerid, x, y, z); | |
| 1013 | for(new i = 0; i != sizeof(gSAZones); i++ ) | |
| 1014 | {
| |
| 1015 | if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4]) | |
| 1016 | {
| |
| 1017 | return format(zone, len, gSAZones[i][SAZONE_NAME], 0); | |
| 1018 | } | |
| 1019 | } | |
| 1020 | return 0; | |
| 1021 | } |