Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <fixes>
- #include <xml>
- #include <banfix>
- #include <a_mysql>
- #include <streamer>
- #include <sscanf>
- #include <ForEachPlayer>
- #include <callbacks>
- #define SQL_HOST "127.0.0.1"
- #define SQL_USER "root"
- #define SQL_PASS ""
- #define SQL_DATA "db"
- #define SERVER_WEBSITE "www.whatever.de"
- #define SERVER_UCP "ucp.whatever.de"
- #define SERVER_NAME "Whatever"
- #define SERVER_TAG "WE"
- #define SERVER_VERSION "1.0.5"
- native WP_Hash(buffer[], len, const str[]);
- new SpawnObjects[21];
- new PlayerMode[MAX_PLAYERS];
- new InCar[MAX_PLAYERS];
- new WhatCar[MAX_PLAYERS];
- new SpectatedPlayer[MAX_PLAYERS];
- new bool:IsPlayerSpectating[MAX_PLAYERS];
- new PlayerKillingSpree[MAX_PLAYERS];
- enum MData {
- Float:mX,
- Float:mY,
- Float:mZ,
- Float:mA,
- virtualworld,
- weapon1,
- weapon_ammo1,
- weapon2,
- weapon_ammo2,
- weapon3,
- weapon_ammo3
- }
- new ModeData[][MData] = {
- {1310.2128,-1370.4999,13.5764,179.4715,0,10,1,0,0,0,0}, //Spawn
- {1305.2179,2107.2729,11.0156,310.8057,500,24,128,26,128,0,0}, //DM 1
- {1305.2179,2107.2729,11.0156,310.8057,501,22,128,31,256,0,0}, //DM 2
- {1305.2179,2107.2729,11.0156,310.8057,502,24,128,25,128,0,0} //DM 3
- };
- enum RData {
- Float:rsX,
- Float:rsY,
- Float:rsZ
- }
- new RandomSpawns[][RData] = {
- {1390.6727,2192.3665,11.0234}, //DM 1
- {1390.6727,2192.3665,11.0234}, //DM 2
- {1390.6727,2192.3665,11.0234} //DM 3
- };
- #define MAX_MAPS 3
- enum MapData {
- MapName[60]
- }
- new LoadMaps[][MapData] = {
- {"Maps/LSAir.xml"},
- {"Maps/Ammunation.xml"}
- };
- new Text:InformationBox[2],
- Text:InfoBoxText[7],
- Text:TextDrawForum,
- Text:MoneyTextDraw[4],
- Text:MoneyText[MAX_PLAYERS],
- Text:HealBarText[MAX_PLAYERS],
- Text:DateTimeTextDraw[3],
- Text:BottomBox[2],
- Text:PlayerFPSTD[MAX_PLAYERS],
- Text:PlayerModeTD[MAX_PLAYERS],
- Text:Speedo[MAX_PLAYERS][4],
- Text:TextDialog[16][MAX_PLAYERS],
- Text:SpectateTD[6][MAX_PLAYERS],
- Text:DamageTD[MAX_PLAYERS];
- new CurrentTextDialog[MAX_PLAYERS] = -1;
- new HappyHour = 0, Text: HHTD, HHTimer;
- enum AntiRetard
- {
- aOnFootAirbrake, // Currently not used
- Float: aOnFootDistance, // Currently not used
- aFakeKillCount
- }
- new GetARInfo[MAX_PLAYERS][AntiRetard];
- enum SpielerDaten
- {
- pName[MAX_PLAYER_NAME],
- pMoney,
- pSkin,
- pScore,
- pLevel,
- pKills,
- pDeaths,
- pPremium,
- pAdmin,
- pLoggedIn,
- pPaused
- }
- new SpielerInfo[MAX_PLAYERS][SpielerDaten];
- new PlayerVehicle[MAX_PLAYERS];
- new HelpVar = 0, TDChangeVar = 0;
- new shotTime[MAX_PLAYERS];
- new shot[MAX_PLAYERS];
- new SpeedoState[MAX_PLAYERS];
- new PlayerHasBeenSlain[MAX_PLAYERS];
- #define MAX_LENGTH 96
- #define MAX_LINES 7
- new Info_Message[MAX_LINES][MAX_LENGTH];
- //Defines
- #define PUBLIC:%0(%1) forward%0(%1); public%0(%1)
- #define DIALOG_STATS (0)
- #define DIALOG_REGISTER (1)
- #define DIALOG_LOGIN (2)
- #define DIALOG_TELEPORT (3)
- #define DIALOG_TELEPORT_LOCATIONS (4)
- #define DIALOG_TELEPORT_DM (5)
- #define TEXT_TELEPORT (6)
- #define TEXT_TELEPORT_LOCATIONS (7)
- #define TEXT_TELEPORT_DM (8)
- #define WEAPON_BODY_PART_CHEST 3
- #define WEAPON_BODY_PART_CROTCH 4
- #define WEAPON_BODY_PART_LEFT_ARM 5
- #define WEAPON_BODY_PART_RIGHT_ARM 6
- #define WEAPON_BODY_PART_LEFT_LEG 7
- #define WEAPON_BODY_PART_RIGHT_LEG 8
- #define WEAPON_BODY_PART_HEAD 9
- new stock
- FALSE = false,
- TRUE = true;
- #define S: SendClientMessage
- #define SA: SendClientMessageToAll
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- //Farben
- #define COLOR_LIGHTRED 0xFF6347AA
- #define COLOR_ORANGE 0xFF9933FF
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_DIALOG 0xA9C4E4FF
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_LIGHTGREEN 0x9ACD32AA
- #define COLOR_BLUE 0x0A00FFFF
- #define COLOR_GREY 0xB4B5B7FF
- //Hex Farben
- #define HEX_WHITE "{FFFFFF}"
- #define HEX_LIGHTRED "{FF6347}"
- #define HEX_ORANGE "{FF9933}"
- #define HEX_DIALOG_COL "{A9C4E4}"
- #define HEX_LIGHTBLUE "{33CCFF}"
- #define HEX_LIGHTGREEN "{9ACD32}"
- #define HEX_BLUE "{0A00FF}"
- #define HEX_GREY "{B4B5B7}"
- new VehicleNames[][] =
- {
- "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
- "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
- "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
- "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
- "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
- "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
- "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
- "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "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", "Cropduster", "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", "Hustler", "Intruder", "Primo",
- "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
- "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
- "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
- "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
- "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
- "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
- "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
- "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
- "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
- "Tiller", "Utility Trailer"
- };
- new PlayerColors[200] = {
- 0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,
- 0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,
- 0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,
- 0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,
- 0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,
- 0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,
- 0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,
- 0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,
- 0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,
- 0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF,
- 0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
- 0xD8C762FF,0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,
- 0xF4A460FF,0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,
- 0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,
- 0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,
- 0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
- 0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,
- 0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,
- 0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,
- 0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,
- 0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,
- 0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,
- 0xD8C762FF,0xD8C762FF
- };
- #define MAX_ZONE_NAME 28
- enum SAZONE_MAIN
- {
- SAZONE_NAME [28 char],
- Float: SAZONE_AREA [6]
- };
- static const SAZones [][SAZONE_MAIN] =
- {
- {!"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}},
- {!"Liberty City", {-1000.00, 400.00, 1300.00, -700.00, 600.00, 1400.00}},
- {!"Lil' Probe Inn", {-90.20, 1286.80, -3.00, 153.80, 1554.10, 200.00}},
- {!"Linden Side", {2749.90, 943.20, -89.00, 2923.30, 1198.90, 110.90}},
- {!"Linden Station", {2749.90, 1198.90, -89.00, 2923.30, 1548.90, 110.90}},
- {!"Linden Station", {2811.20, 1229.50, -39.50, 2861.20, 1407.50, 60.40}},
- {!"Little Mexico", {1701.90, -1842.20, -89.00, 1812.60, -1722.20, 110.90}},
- {!"Little Mexico", {1758.90, -1722.20, -89.00, 1812.60, -1577.50, 110.90}},
- {!"Los Flores", {2581.70, -1454.30, -89.00, 2632.80, -1393.40, 110.90}},
- {!"Los Flores", {2581.70, -1393.40, -89.00, 2747.70, -1135.00, 110.90}},
- {!"Los Santos International", {1249.60, -2394.30, -89.00, 1852.00, -2179.20, 110.90}},
- {!"Los Santos International", {1852.00, -2394.30, -89.00, 2089.00, -2179.20, 110.90}},
- {!"Los Santos International", {1382.70, -2730.80, -89.00, 2201.80, -2394.30, 110.90}},
- {!"Los Santos International", {1974.60, -2394.30, -39.00, 2089.00, -2256.50, 60.90}},
- {!"Los Santos International", {1400.90, -2669.20, -39.00, 2189.80, -2597.20, 60.90}},
- {!"Los Santos International", {2051.60, -2597.20, -39.00, 2152.40, -2394.30, 60.90}},
- {!"Marina", {647.70, -1804.20, -89.00, 851.40, -1577.50, 110.90}},
- {!"Marina", {647.70, -1577.50, -89.00, 807.90, -1416.20, 110.90}},
- {!"Marina", {807.90, -1577.50, -89.00, 926.90, -1416.20, 110.90}},
- {!"Market", {787.40, -1416.20, -89.00, 1072.60, -1310.20, 110.90}},
- {!"Market", {952.60, -1310.20, -89.00, 1072.60, -1130.80, 110.90}},
- {!"Market", {1072.60, -1416.20, -89.00, 1370.80, -1130.80, 110.90}},
- {!"Market", {926.90, -1577.50, -89.00, 1370.80, -1416.20, 110.90}},
- {!"Market Station", {787.40, -1410.90, -34.10, 866.00, -1310.20, 65.80}},
- {!"Martin Bridge", {-222.10, 293.30, 0.00, -122.10, 476.40, 200.00}},
- {!"Missionary Hill", {-2994.40, -811.20, 0.00, -2178.60, -430.20, 200.00}},
- {!"Montgomery", {1119.50, 119.50, -3.00, 1451.40, 493.30, 200.00}},
- {!"Montgomery", {1451.40, 347.40, -6.10, 1582.40, 420.80, 200.00}},
- {!"Montgomery Intersection", {1546.60, 208.10, 0.00, 1745.80, 347.40, 200.00}},
- {!"Montgomery Intersection", {1582.40, 347.40, 0.00, 1664.60, 401.70, 200.00}},
- {!"Mulholland", {1414.00, -768.00, -89.00, 1667.60, -452.40, 110.90}},
- {!"Mulholland", {1281.10, -452.40, -89.00, 1641.10, -290.90, 110.90}},
- {!"Mulholland", {1269.10, -768.00, -89.00, 1414.00, -452.40, 110.90}},
- {!"Mulholland", {1357.00, -926.90, -89.00, 1463.90, -768.00, 110.90}},
- {!"Mulholland", {1318.10, -910.10, -89.00, 1357.00, -768.00, 110.90}},
- {!"Mulholland", {1169.10, -910.10, -89.00, 1318.10, -768.00, 110.90}},
- {!"Mulholland", {768.60, -954.60, -89.00, 952.60, -860.60, 110.90}},
- {!"Mulholland", {687.80, -860.60, -89.00, 911.80, -768.00, 110.90}},
- {!"Mulholland", {737.50, -768.00, -89.00, 1142.20, -674.80, 110.90}},
- {!"Mulholland", {1096.40, -910.10, -89.00, 1169.10, -768.00, 110.90}},
- {!"Mulholland", {952.60, -937.10, -89.00, 1096.40, -860.60, 110.90}},
- {!"Mulholland", {911.80, -860.60, -89.00, 1096.40, -768.00, 110.90}},
- {!"Mulholland", {861.00, -674.80, -89.00, 1156.50, -600.80, 110.90}},
- {!"Mulholland Intersection", {1463.90, -1150.80, -89.00, 1812.60, -768.00, 110.90}},
- {!"North Rock", {2285.30, -768.00, 0.00, 2770.50, -269.70, 200.00}},
- {!"Ocean Docks", {2373.70, -2697.00, -89.00, 2809.20, -2330.40, 110.90}},
- {!"Ocean Docks", {2201.80, -2418.30, -89.00, 2324.00, -2095.00, 110.90}},
- {!"Ocean Docks", {2324.00, -2302.30, -89.00, 2703.50, -2145.10, 110.90}},
- {!"Ocean Docks", {2089.00, -2394.30, -89.00, 2201.80, -2235.80, 110.90}},
- {!"Ocean Docks", {2201.80, -2730.80, -89.00, 2324.00, -2418.30, 110.90}},
- {!"Ocean Docks", {2703.50, -2302.30, -89.00, 2959.30, -2126.90, 110.90}},
- {!"Ocean Docks", {2324.00, -2145.10, -89.00, 2703.50, -2059.20, 110.90}},
- {!"Ocean Flats", {-2994.40, 277.40, -9.10, -2867.80, 458.40, 200.00}},
- {!"Ocean Flats", {-2994.40, -222.50, -0.00, -2593.40, 277.40, 200.00}},
- {!"Ocean Flats", {-2994.40, -430.20, -0.00, -2831.80, -222.50, 200.00}},
- {!"Octane Springs", {338.60, 1228.50, 0.00, 664.30, 1655.00, 200.00}},
- {!"Old Venturas Strip", {2162.30, 2012.10, -89.00, 2685.10, 2202.70, 110.90}},
- {!"Palisades", {-2994.40, 458.40, -6.10, -2741.00, 1339.60, 200.00}},
- {!"Palomino Creek", {2160.20, -149.00, 0.00, 2576.90, 228.30, 200.00}},
- {!"Paradiso", {-2741.00, 793.40, -6.10, -2533.00, 1268.40, 200.00}},
- {!"Pershing Square", {1440.90, -1722.20, -89.00, 1583.50, -1577.50, 110.90}},
- {!"Pilgrim", {2437.30, 1383.20, -89.00, 2624.40, 1783.20, 110.90}},
- {!"Pilgrim", {2624.40, 1383.20, -89.00, 2685.10, 1783.20, 110.90}},
- {!"Pilson Intersection", {1098.30, 2243.20, -89.00, 1377.30, 2507.20, 110.90}},
- {!"Pirates in Men's Pants", {1817.30, 1469.20, -89.00, 2027.40, 1703.20, 110.90}},
- {!"Playa del Seville", {2703.50, -2126.90, -89.00, 2959.30, -1852.80, 110.90}},
- {!"Prickle Pine", {1534.50, 2583.20, -89.00, 1848.40, 2863.20, 110.90}},
- {!"Prickle Pine", {1117.40, 2507.20, -89.00, 1534.50, 2723.20, 110.90}},
- {!"Prickle Pine", {1848.40, 2553.40, -89.00, 1938.80, 2863.20, 110.90}},
- {!"Prickle Pine", {1938.80, 2624.20, -89.00, 2121.40, 2861.50, 110.90}},
- {!"Queens", {-2533.00, 458.40, 0.00, -2329.30, 578.30, 200.00}},
- {!"Queens", {-2593.40, 54.70, 0.00, -2411.20, 458.40, 200.00}},
- {!"Queens", {-2411.20, 373.50, 0.00, -2253.50, 458.40, 200.00}},
- {!"Randolph Industrial Estate", {1558.00, 596.30, -89.00, 1823.00, 823.20, 110.90}},
- {!"Redsands East", {1817.30, 2011.80, -89.00, 2106.70, 2202.70, 110.90}},
- {!"Redsands East", {1817.30, 2202.70, -89.00, 2011.90, 2342.80, 110.90}},
- {!"Redsands East", {1848.40, 2342.80, -89.00, 2011.90, 2478.40, 110.90}},
- {!"Redsands West", {1236.60, 1883.10, -89.00, 1777.30, 2142.80, 110.90}},
- {!"Redsands West", {1297.40, 2142.80, -89.00, 1777.30, 2243.20, 110.90}},
- {!"Redsands West", {1377.30, 2243.20, -89.00, 1704.50, 2433.20, 110.90}},
- {!"Redsands West", {1704.50, 2243.20, -89.00, 1777.30, 2342.80, 110.90}},
- {!"Regular Tom", {-405.70, 1712.80, -3.00, -276.70, 1892.70, 200.00}},
- {!"Richman", {647.50, -1118.20, -89.00, 787.40, -954.60, 110.90}},
- {!"Richman", {647.50, -954.60, -89.00, 768.60, -860.60, 110.90}},
- {!"Richman", {225.10, -1369.60, -89.00, 334.50, -1292.00, 110.90}},
- {!"Richman", {225.10, -1292.00, -89.00, 466.20, -1235.00, 110.90}},
- {!"Richman", {72.60, -1404.90, -89.00, 225.10, -1235.00, 110.90}},
- {!"Richman", {72.60, -1235.00, -89.00, 321.30, -1008.10, 110.90}},
- {!"Richman", {321.30, -1235.00, -89.00, 647.50, -1044.00, 110.90}},
- {!"Richman", {321.30, -1044.00, -89.00, 647.50, -860.60, 110.90}},
- {!"Richman", {321.30, -860.60, -89.00, 687.80, -768.00, 110.90}},
- {!"Richman", {321.30, -768.00, -89.00, 700.70, -674.80, 110.90}},
- {!"Robada Intersection", {-1119.00, 1178.90, -89.00, -862.00, 1351.40, 110.90}},
- {!"Roca Escalante", {2237.40, 2202.70, -89.00, 2536.40, 2542.50, 110.90}},
- {!"Roca Escalante", {2536.40, 2202.70, -89.00, 2625.10, 2442.50, 110.90}},
- {!"Rockshore East", {2537.30, 676.50, -89.00, 2902.30, 943.20, 110.90}},
- {!"Rockshore West", {1997.20, 596.30, -89.00, 2377.30, 823.20, 110.90}},
- {!"Rockshore West", {2377.30, 596.30, -89.00, 2537.30, 788.80, 110.90}},
- {!"Rodeo", {72.60, -1684.60, -89.00, 225.10, -1544.10, 110.90}},
- {!"Rodeo", {72.60, -1544.10, -89.00, 225.10, -1404.90, 110.90}},
- {!"Rodeo", {225.10, -1684.60, -89.00, 312.80, -1501.90, 110.90}},
- {!"Rodeo", {225.10, -1501.90, -89.00, 334.50, -1369.60, 110.90}},
- {!"Rodeo", {334.50, -1501.90, -89.00, 422.60, -1406.00, 110.90}},
- {!"Rodeo", {312.80, -1684.60, -89.00, 422.60, -1501.90, 110.90}},
- {!"Rodeo", {422.60, -1684.60, -89.00, 558.00, -1570.20, 110.90}},
- {!"Rodeo", {558.00, -1684.60, -89.00, 647.50, -1384.90, 110.90}},
- {!"Rodeo", {466.20, -1570.20, -89.00, 558.00, -1385.00, 110.90}},
- {!"Rodeo", {422.60, -1570.20, -89.00, 466.20, -1406.00, 110.90}},
- {!"Rodeo", {466.20, -1385.00, -89.00, 647.50, -1235.00, 110.90}},
- {!"Rodeo", {334.50, -1406.00, -89.00, 466.20, -1292.00, 110.90}},
- {!"Royal Casino", {2087.30, 1383.20, -89.00, 2437.30, 1543.20, 110.90}},
- {!"San Andreas Sound", {2450.30, 385.50, -100.00, 2759.20, 562.30, 200.00}},
- {!"Santa Flora", {-2741.00, 458.40, -7.60, -2533.00, 793.40, 200.00}},
- {!"Santa Maria Beach", {342.60, -2173.20, -89.00, 647.70, -1684.60, 110.90}},
- {!"Santa Maria Beach", {72.60, -2173.20, -89.00, 342.60, -1684.60, 110.90}},
- {!"Shady Cabin", {-1632.80, -2263.40, -3.00, -1601.30, -2231.70, 200.00}},
- {!"Shady Creeks", {-1820.60, -2643.60, -8.00, -1226.70, -1771.60, 200.00}},
- {!"Shady Creeks", {-2030.10, -2174.80, -6.10, -1820.60, -1771.60, 200.00}},
- {!"Sobell Rail Yards", {2749.90, 1548.90, -89.00, 2923.30, 1937.20, 110.90}},
- {!"Spinybed", {2121.40, 2663.10, -89.00, 2498.20, 2861.50, 110.90}},
- {!"Starfish Casino", {2437.30, 1783.20, -89.00, 2685.10, 2012.10, 110.90}},
- {!"Starfish Casino", {2437.30, 1858.10, -39.00, 2495.00, 1970.80, 60.90}},
- {!"Starfish Casino", {2162.30, 1883.20, -89.00, 2437.30, 2012.10, 110.90}},
- {!"Temple", {1252.30, -1130.80, -89.00, 1378.30, -1026.30, 110.90}},
- {!"Temple", {1252.30, -1026.30, -89.00, 1391.00, -926.90, 110.90}},
- {!"Temple", {1252.30, -926.90, -89.00, 1357.00, -910.10, 110.90}},
- {!"Temple", {952.60, -1130.80, -89.00, 1096.40, -937.10, 110.90}},
- {!"Temple", {1096.40, -1130.80, -89.00, 1252.30, -1026.30, 110.90}},
- {!"Temple", {1096.40, -1026.30, -89.00, 1252.30, -910.10, 110.90}},
- {!"The Camel's Toe", {2087.30, 1203.20, -89.00, 2640.40, 1383.20, 110.90}},
- {!"The Clown's Pocket", {2162.30, 1783.20, -89.00, 2437.30, 1883.20, 110.90}},
- {!"The Emerald Isle", {2011.90, 2202.70, -89.00, 2237.40, 2508.20, 110.90}},
- {!"The Farm", {-1209.60, -1317.10, 114.90, -908.10, -787.30, 251.90}},
- {!"The Four Dragons Casino", {1817.30, 863.20, -89.00, 2027.30, 1083.20, 110.90}},
- {!"The High Roller", {1817.30, 1283.20, -89.00, 2027.30, 1469.20, 110.90}},
- {!"The Mako Span", {1664.60, 401.70, 0.00, 1785.10, 567.20, 200.00}},
- {!"The Panopticon", {-947.90, -304.30, -1.10, -319.60, 327.00, 200.00}},
- {!"The Pink Swan", {1817.30, 1083.20, -89.00, 2027.30, 1283.20, 110.90}},
- {!"The Sherman Dam", {-968.70, 1929.40, -3.00, -481.10, 2155.20, 200.00}},
- {!"The Strip", {2027.40, 863.20, -89.00, 2087.30, 1703.20, 110.90}},
- {!"The Strip", {2106.70, 1863.20, -89.00, 2162.30, 2202.70, 110.90}},
- {!"The Strip", {2027.40, 1783.20, -89.00, 2162.30, 1863.20, 110.90}},
- {!"The Strip", {2027.40, 1703.20, -89.00, 2137.40, 1783.20, 110.90}},
- {!"The Visage", {1817.30, 1863.20, -89.00, 2106.70, 2011.80, 110.90}},
- {!"The Visage", {1817.30, 1703.20, -89.00, 2027.40, 1863.20, 110.90}},
- {!"Unity Station", {1692.60, -1971.80, -20.40, 1812.60, -1932.80, 79.50}},
- {!"Valle Ocultado", {-936.60, 2611.40, 2.00, -715.90, 2847.90, 200.00}},
- {!"Verdant Bluffs", {930.20, -2488.40, -89.00, 1249.60, -2006.70, 110.90}},
- {!"Verdant Bluffs", {1073.20, -2006.70, -89.00, 1249.60, -1842.20, 110.90}},
- {!"Verdant Bluffs", {1249.60, -2179.20, -89.00, 1692.60, -1842.20, 110.90}},
- {!"Verdant Meadows", {37.00, 2337.10, -3.00, 435.90, 2677.90, 200.00}},
- {!"Verona Beach", {647.70, -2173.20, -89.00, 930.20, -1804.20, 110.90}},
- {!"Verona Beach", {930.20, -2006.70, -89.00, 1073.20, -1804.20, 110.90}},
- {!"Verona Beach", {851.40, -1804.20, -89.00, 1046.10, -1577.50, 110.90}},
- {!"Verona Beach", {1161.50, -1722.20, -89.00, 1323.90, -1577.50, 110.90}},
- {!"Verona Beach", {1046.10, -1722.20, -89.00, 1161.50, -1577.50, 110.90}},
- {!"Vinewood", {787.40, -1310.20, -89.00, 952.60, -1130.80, 110.90}},
- {!"Vinewood", {787.40, -1130.80, -89.00, 952.60, -954.60, 110.90}},
- {!"Vinewood", {647.50, -1227.20, -89.00, 787.40, -1118.20, 110.90}},
- {!"Vinewood", {647.70, -1416.20, -89.00, 787.40, -1227.20, 110.90}},
- {!"Whitewood Estates", {883.30, 1726.20, -89.00, 1098.30, 2507.20, 110.90}},
- {!"Whitewood Estates", {1098.30, 1726.20, -89.00, 1197.30, 2243.20, 110.90}},
- {!"Willowfield", {1970.60, -2179.20, -89.00, 2089.00, -1852.80, 110.90}},
- {!"Willowfield", {2089.00, -2235.80, -89.00, 2201.80, -1989.90, 110.90}},
- {!"Willowfield", {2089.00, -1989.90, -89.00, 2324.00, -1852.80, 110.90}},
- {!"Willowfield", {2201.80, -2095.00, -89.00, 2324.00, -1989.90, 110.90}},
- {!"Willowfield", {2541.70, -1941.40, -89.00, 2703.50, -1852.80, 110.90}},
- {!"Willowfield", {2324.00, -2059.20, -89.00, 2541.70, -1852.80, 110.90}},
- {!"Willowfield", {2541.70, -2059.20, -89.00, 2703.50, -1941.40, 110.90}},
- {!"Yellow Bell Station", {1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00}},
- {!"Los Santos", {44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00}},
- {!"Las Venturas", {869.40, 596.30, -242.90, 2997.00, 2993.80, 900.00}},
- {!"Bone County", {-480.50, 596.30, -242.90, 869.40, 2993.80, 900.00}},
- {!"Tierra Robada", {-2997.40, 1659.60, -242.90, -480.50, 2993.80, 900.00}},
- {!"Tierra Robada", {-1213.90, 596.30, -242.90, -480.50, 1659.60, 900.00}},
- {!"San Fierro", {-2997.40, -1115.50, -242.90, -1213.90, 1659.60, 900.00}},
- {!"Red County", {-1213.90, -768.00, -242.90, 2997.00, 596.30, 900.00}},
- {!"Flint County", {-1213.90, -2892.90, -242.90, 44.60, -768.00, 900.00}},
- {!"Whetstone", {-2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00}}
- };
- #define TextDrawSetText(%0,%1,%2) do{new _string[128]; format(_string,sizeof(_string),%1,%2); TextDrawSetString(%0,_string);} while(FALSE)
- #define AddFormatToInfoBox(%0,%1) do{new _string[128]; format(_string,sizeof(_string),%0,%1); AddToInfoBox(_string);} while(FALSE)
- #define SendAdminFormat(%0,%1,%2) do{new _string[128]; format(_string,sizeof(_string),%1,%2); SendAdminMessage(%0,_string);} while(FALSE)
- #define SendFormat(%0,%1,%2,%3) do{new _string[128]; format(_string,sizeof(_string),%2,%3); SendClientMessage(%0,%1,_string);} while(FALSE)
- #define SendFormatToAll(%0,%1,%2) do{new _string[128]; format(_string,sizeof(_string),%1,%2); SendClientMessageToAll(%0,_string);} while(FALSE)
- main()
- {
- print(" ");
- print(""#SERVER_TAG" Script <> by [dWa]Infra");
- print("Visit www.dawn-tdm.com");
- print("Version "#SERVER_VERSION"");
- print("© Copyright by "#SERVER_TAG"");
- print(" ");
- }
- public OnGameModeInit()
- {
- SetWorldTime(23);
- Connect_To_Database();
- SetTimer("MainTimer", 500, 1);
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- UsePlayerPedAnims();
- SendRconCommand("hostname «|- "#SERVER_TAG" -|» DM «-|-» Freeroam «-|-» Stunt (0.3z)");
- SendRconCommand("mapname "#SERVER_TAG" v"#SERVER_VERSION"");
- SetGameModeText("[ENG/GER] DM/Freeroam/Stunt");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- InformationBox[0] = TextDrawCreate(485.981994, 450.083374, "usebox");
- TextDrawLetterSize(InformationBox[0], 0.000000, -8.306856);
- TextDrawTextSize(InformationBox[0], 638.000000, 0.000000);
- TextDrawAlignment(InformationBox[0], 1);
- TextDrawColor(InformationBox[0], 0);
- TextDrawUseBox(InformationBox[0], true);
- TextDrawBoxColor(InformationBox[0], 102);
- TextDrawSetShadow(InformationBox[0], 0);
- TextDrawSetOutline(InformationBox[0], 0);
- TextDrawFont(InformationBox[0], 0);
- InformationBox[1] = TextDrawCreate(482.296783, 449.916687, "usebox");
- TextDrawLetterSize(InformationBox[1], 0.000000, -8.822229);
- TextDrawTextSize(InformationBox[1], 638.000000, 0.000000);
- TextDrawAlignment(InformationBox[1], 1);
- TextDrawColor(InformationBox[1], 0);
- TextDrawUseBox(InformationBox[1], true);
- TextDrawBoxColor(InformationBox[1], 102);
- TextDrawSetShadow(InformationBox[1], 0);
- TextDrawSetOutline(InformationBox[1], 0);
- TextDrawFont(InformationBox[1], 0);
- BottomBox[0] = TextDrawCreate(482.234252, 429.083312, "usebox");
- TextDrawLetterSize(BottomBox[0], 0.000000, 1.887041);
- TextDrawTextSize(BottomBox[0], -2.000000, 0.000000);
- TextDrawAlignment(BottomBox[0], 1);
- TextDrawColor(BottomBox[0], 0);
- TextDrawUseBox(BottomBox[0], true);
- TextDrawBoxColor(BottomBox[0], 102);
- TextDrawSetShadow(BottomBox[0], 0);
- TextDrawSetOutline(BottomBox[0], 0);
- TextDrawFont(BottomBox[0], 0);
- BottomBox[1] = TextDrawCreate(-3.153733, 432.583374, "usebox");
- TextDrawLetterSize(BottomBox[1], 0.000000, 1.955742);
- TextDrawTextSize(BottomBox[1], 482.450988, 0.000000);
- TextDrawAlignment(BottomBox[1], 1);
- TextDrawColor(BottomBox[1], 0);
- TextDrawUseBox(BottomBox[1], true);
- TextDrawBoxColor(BottomBox[1], 102);
- TextDrawSetShadow(BottomBox[1], 0);
- TextDrawSetOutline(BottomBox[1], 0);
- TextDrawFont(BottomBox[1], 0);
- InfoBoxText[0] = TextDrawCreate(486.000000, 378.000000, "");
- TextDrawBackgroundColor(InfoBoxText[0], 255);
- TextDrawFont(InfoBoxText[0], 1);
- TextDrawLetterSize(InfoBoxText[0], 0.139999, 0.999999);
- TextDrawColor(InfoBoxText[0], -1);
- TextDrawSetOutline(InfoBoxText[0], 1);
- TextDrawSetProportional(InfoBoxText[0], 1);
- InfoBoxText[1] = TextDrawCreate(486.000000, 388.000000, "");
- TextDrawBackgroundColor(InfoBoxText[1], 255);
- TextDrawFont(InfoBoxText[1], 1);
- TextDrawLetterSize(InfoBoxText[1], 0.139999, 0.999999);
- TextDrawColor(InfoBoxText[1], -1);
- TextDrawSetOutline(InfoBoxText[1], 1);
- TextDrawSetProportional(InfoBoxText[1], 1);
- InfoBoxText[2] = TextDrawCreate(486.000000, 398.000000, "");
- TextDrawBackgroundColor(InfoBoxText[2], 255);
- TextDrawFont(InfoBoxText[2], 1);
- TextDrawLetterSize(InfoBoxText[2], 0.139999, 0.999999);
- TextDrawColor(InfoBoxText[2], -1);
- TextDrawSetOutline(InfoBoxText[2], 1);
- TextDrawSetProportional(InfoBoxText[2], 1);
- InfoBoxText[3] = TextDrawCreate(486.000000, 408.000000, "");
- TextDrawBackgroundColor(InfoBoxText[3], 255);
- TextDrawFont(InfoBoxText[3], 1);
- TextDrawLetterSize(InfoBoxText[3], 0.139999, 0.999999);
- TextDrawColor(InfoBoxText[3], -1);
- TextDrawSetOutline(InfoBoxText[3], 1);
- TextDrawSetProportional(InfoBoxText[3], 1);
- InfoBoxText[4] = TextDrawCreate(486.000000, 418.000000, "");
- TextDrawBackgroundColor(InfoBoxText[4], 255);
- TextDrawFont(InfoBoxText[4], 1);
- TextDrawLetterSize(InfoBoxText[4], 0.139999, 0.999999);
- TextDrawColor(InfoBoxText[4], -1);
- TextDrawSetOutline(InfoBoxText[4], 1);
- TextDrawSetProportional(InfoBoxText[4], 1);
- InfoBoxText[5] = TextDrawCreate(486.000000, 428.000000, "");
- TextDrawBackgroundColor(InfoBoxText[5], 255);
- TextDrawFont(InfoBoxText[5], 1);
- TextDrawLetterSize(InfoBoxText[5], 0.139999, 0.999999);
- TextDrawColor(InfoBoxText[5], -1);
- TextDrawSetOutline(InfoBoxText[5], 1);
- TextDrawSetProportional(InfoBoxText[5], 1);
- InfoBoxText[6] = TextDrawCreate(486.000000, 438.000000, "");
- TextDrawBackgroundColor(InfoBoxText[6], 255);
- TextDrawFont(InfoBoxText[6], 1);
- TextDrawLetterSize(InfoBoxText[6], 0.139999, 0.999999);
- TextDrawColor(InfoBoxText[6], -1);
- TextDrawSetOutline(InfoBoxText[6], 1);
- TextDrawSetProportional(InfoBoxText[6], 1);
- TextDrawForum = TextDrawCreate(1.405564, 431.666656, ""#SERVER_WEBSITE"");
- TextDrawLetterSize(TextDrawForum, 0.245724, 1.553333);
- TextDrawAlignment(TextDrawForum, 1);
- TextDrawColor(TextDrawForum, -1);
- TextDrawSetShadow(TextDrawForum, 0);
- TextDrawSetOutline(TextDrawForum, 1);
- TextDrawBackgroundColor(TextDrawForum, 51);
- TextDrawFont(TextDrawForum, 1);
- TextDrawSetProportional(TextDrawForum, 1);
- DateTimeTextDraw[0] = TextDrawCreate(666.000000, 0.000000, "~n~");
- TextDrawBackgroundColor(DateTimeTextDraw[0], 255);
- TextDrawFont(DateTimeTextDraw[0], 1);
- TextDrawLetterSize(DateTimeTextDraw[0], 0.500000, 1.200000);
- TextDrawColor(DateTimeTextDraw[0], -1);
- TextDrawSetOutline(DateTimeTextDraw[0], 0);
- TextDrawSetProportional(DateTimeTextDraw[0], 1);
- TextDrawSetShadow(DateTimeTextDraw[0], 1);
- TextDrawUseBox(DateTimeTextDraw[0], 1);
- TextDrawBoxColor(DateTimeTextDraw[0], 112);
- TextDrawTextSize(DateTimeTextDraw[0], 542.000000, 0.000000);
- DateTimeTextDraw[1] = TextDrawCreate(675.000000, 0.000000, "~n~");
- TextDrawBackgroundColor(DateTimeTextDraw[1], 255);
- TextDrawFont(DateTimeTextDraw[1], 1);
- TextDrawLetterSize(DateTimeTextDraw[1], 0.500000, 1.500000);
- TextDrawColor(DateTimeTextDraw[1], -1);
- TextDrawSetOutline(DateTimeTextDraw[1], 0);
- TextDrawSetProportional(DateTimeTextDraw[1], 1);
- TextDrawSetShadow(DateTimeTextDraw[1], 1);
- TextDrawUseBox(DateTimeTextDraw[1], 1);
- TextDrawBoxColor(DateTimeTextDraw[1], 112);
- TextDrawTextSize(DateTimeTextDraw[1], 539.000000, 0.000000);
- new D_T_String_O[50];
- format(D_T_String_O, sizeof(D_T_String_O), "~w~%s ~y~-~w~ %s", GetDate(), GetTime());
- DateTimeTextDraw[2] = TextDrawCreate(637.000000, 1.000000, D_T_String_O);
- TextDrawAlignment(DateTimeTextDraw[2], 3);
- TextDrawBackgroundColor(DateTimeTextDraw[2], 255);
- TextDrawFont(DateTimeTextDraw[2], 2);
- TextDrawLetterSize(DateTimeTextDraw[2], 0.190000, 1.000000);
- TextDrawColor(DateTimeTextDraw[2], -1);
- TextDrawSetOutline(DateTimeTextDraw[2], 0);
- TextDrawSetProportional(DateTimeTextDraw[2], 1);
- TextDrawSetShadow(DateTimeTextDraw[2], 0);
- MoneyTextDraw[0] = TextDrawCreate(498.000000, 80.000000, "~n~");
- TextDrawBackgroundColor(MoneyTextDraw[0], 255);
- TextDrawFont(MoneyTextDraw[0], 1);
- TextDrawLetterSize(MoneyTextDraw[0], 0.500000, 1.900000);
- TextDrawColor(MoneyTextDraw[0], -1);
- TextDrawSetOutline(MoneyTextDraw[0], 0);
- TextDrawSetProportional(MoneyTextDraw[0], 1);
- TextDrawSetShadow(MoneyTextDraw[0], 1);
- TextDrawUseBox(MoneyTextDraw[0], 1);
- TextDrawBoxColor(MoneyTextDraw[0], 255);
- TextDrawTextSize(MoneyTextDraw[0], 607.000000, 0.000000);
- MoneyTextDraw[1] = TextDrawCreate(496.000000, 78.000000, "~n~");
- TextDrawBackgroundColor(MoneyTextDraw[1], 255);
- TextDrawFont(MoneyTextDraw[1], 1);
- TextDrawLetterSize(MoneyTextDraw[1], 0.500000, 2.299999);
- TextDrawColor(MoneyTextDraw[1], -1);
- TextDrawSetOutline(MoneyTextDraw[1], 0);
- TextDrawSetProportional(MoneyTextDraw[1], 1);
- TextDrawSetShadow(MoneyTextDraw[1], 1);
- TextDrawUseBox(MoneyTextDraw[1], 1);
- TextDrawBoxColor(MoneyTextDraw[1], 102);
- TextDrawTextSize(MoneyTextDraw[1], 609.000000, 0.000000);
- MoneyTextDraw[2] = TextDrawCreate(497.000000, 79.000000, "~g~$");
- TextDrawBackgroundColor(MoneyTextDraw[2], 255);
- TextDrawFont(MoneyTextDraw[2], 0);
- TextDrawLetterSize(MoneyTextDraw[2], 0.420000, 1.899999);
- TextDrawColor(MoneyTextDraw[2], -1);
- TextDrawSetOutline(MoneyTextDraw[2], 0);
- TextDrawSetProportional(MoneyTextDraw[2], 1);
- TextDrawSetShadow(MoneyTextDraw[2], 0);
- HHTD = TextDrawCreate(79.000000, 323.000000, "~>~~y~ HAPPYHOUR ~<~");
- TextDrawAlignment(HHTD, 2);
- TextDrawBackgroundColor(HHTD, 255);
- TextDrawFont(HHTD, 2);
- TextDrawLetterSize(HHTD, 0.300000, 1.000000);
- TextDrawColor(HHTD, -1);
- TextDrawSetOutline(HHTD, 1);
- TextDrawSetProportional(HHTD, 1);
- for(new i=0; i<GetMaxPlayers(); i++)
- {
- HealBarText[i] = TextDrawCreate(575.000000, 66.500000, "100");
- TextDrawAlignment(HealBarText[i], 2);
- TextDrawBackgroundColor(HealBarText[i], 255);
- TextDrawFont(HealBarText[i], 2);
- TextDrawLetterSize(HealBarText[i], 0.280000, 0.899999);
- TextDrawColor(HealBarText[i], -1);
- TextDrawSetOutline(HealBarText[i], 0);
- TextDrawSetProportional(HealBarText[i], 1);
- TextDrawSetShadow(HealBarText[i], 0);
- MoneyText[i] = TextDrawCreate(511.000000, 81.000000, "0");
- TextDrawBackgroundColor(MoneyText[i], 255);
- TextDrawFont(MoneyText[i], 2);
- TextDrawLetterSize(MoneyText[i], 0.320000, 1.499999);
- TextDrawColor(MoneyText[i], -1);
- TextDrawSetOutline(MoneyText[i], 0);
- TextDrawSetProportional(MoneyText[i], 1);
- TextDrawSetShadow(MoneyText[i], 0);
- Speedo[i][0] = TextDrawCreate(318.187957, 430.333251, "~r~Vehicle: ~w~");
- TextDrawLetterSize(Speedo[i][0], 0.187628, 0.905833);
- TextDrawAlignment(Speedo[i][0], 1);
- TextDrawColor(Speedo[i][0], -1);
- TextDrawSetShadow(Speedo[i][0], 0);
- TextDrawSetOutline(Speedo[i][0], 1);
- TextDrawBackgroundColor(Speedo[i][0], 51);
- TextDrawFont(Speedo[i][0], 1);
- TextDrawSetProportional(Speedo[i][0], 1);
- Speedo[i][1] = TextDrawCreate(320.126068, 438.916748, "~r~Health: ~w~");
- TextDrawLetterSize(Speedo[i][1], 0.187628, 0.905833);
- TextDrawAlignment(Speedo[i][1], 1);
- TextDrawColor(Speedo[i][1], -1);
- TextDrawSetShadow(Speedo[i][1], 0);
- TextDrawSetOutline(Speedo[i][1], 1);
- TextDrawBackgroundColor(Speedo[i][1], 51);
- TextDrawFont(Speedo[i][1], 1);
- TextDrawSetProportional(Speedo[i][1], 1);
- Speedo[i][2] = TextDrawCreate(478.019378, 430.749877, "~r~Speed: ~w~0 km/h");
- TextDrawLetterSize(Speedo[i][2], 0.187628, 0.905833);
- TextDrawAlignment(Speedo[i][2], 3);
- TextDrawColor(Speedo[i][2], -1);
- TextDrawSetShadow(Speedo[i][2], 0);
- TextDrawSetOutline(Speedo[i][2], 1);
- TextDrawBackgroundColor(Speedo[i][2], 51);
- TextDrawFont(Speedo[i][2], 1);
- TextDrawSetProportional(Speedo[i][2], 1);
- Speedo[i][3] = TextDrawCreate(479.019561, 438.750061, "~w~Unknown");
- TextDrawLetterSize(Speedo[i][3], 0.187628, 0.905833);
- TextDrawAlignment(Speedo[i][3], 3);
- TextDrawColor(Speedo[i][3], -1);
- TextDrawSetShadow(Speedo[i][3], 0);
- TextDrawSetOutline(Speedo[i][3], 1);
- TextDrawBackgroundColor(Speedo[i][3], 51);
- TextDrawFont(Speedo[i][3], 1);
- TextDrawSetProportional(Speedo[i][3], 1);
- PlayerFPSTD[i] = TextDrawCreate(637.000000, 17.000000, "~g~FPS: ~w~0");
- TextDrawAlignment(PlayerFPSTD[i], 3);
- TextDrawBackgroundColor(PlayerFPSTD[i], 255);
- TextDrawFont(PlayerFPSTD[i], 2);
- TextDrawLetterSize(PlayerFPSTD[i], 0.220000, 1.000000);
- TextDrawColor(PlayerFPSTD[i], -1);
- TextDrawSetOutline(PlayerFPSTD[i], 1);
- TextDrawSetProportional(PlayerFPSTD[i], 1);
- PlayerModeTD[i] = TextDrawCreate(495.000000, 101.000000, "~y~Freeroam");
- TextDrawBackgroundColor(PlayerModeTD[i], 255);
- TextDrawFont(PlayerModeTD[i], 2);
- TextDrawLetterSize(PlayerModeTD[i], 0.219999, 1.000000);
- TextDrawColor(PlayerModeTD[i], -1);
- TextDrawSetOutline(PlayerModeTD[i], 1);
- TextDrawSetProportional(PlayerModeTD[i], 1);
- TextDialog[0][i] = TextDrawCreate(200.000000, 130.000000, "~n~");
- TextDrawBackgroundColor(TextDialog[0][i], 255);
- TextDrawFont(TextDialog[0][i], 1);
- TextDrawLetterSize(TextDialog[0][i], 0.500000, 21.000000);
- TextDrawColor(TextDialog[0][i], -1);
- TextDrawSetOutline(TextDialog[0][i], 0);
- TextDrawSetProportional(TextDialog[0][i], 1);
- TextDrawSetShadow(TextDialog[0][i], 1);
- TextDrawUseBox(TextDialog[0][i], 1);
- TextDrawBoxColor(TextDialog[0][i], 101);
- TextDrawTextSize(TextDialog[0][i], 420.000000, 0.000000);
- TextDialog[1][i] = TextDrawCreate(205.000000, 135.000000, "~n~");
- TextDrawBackgroundColor(TextDialog[1][i], 255);
- TextDrawFont(TextDialog[1][i], 1);
- TextDrawLetterSize(TextDialog[1][i], 0.500000, 19.799995);
- TextDrawColor(TextDialog[1][i], -1);
- TextDrawSetOutline(TextDialog[1][i], 0);
- TextDrawSetProportional(TextDialog[1][i], 1);
- TextDrawSetShadow(TextDialog[1][i], 1);
- TextDrawUseBox(TextDialog[1][i], 1);
- TextDrawBoxColor(TextDialog[1][i], 101);
- TextDrawTextSize(TextDialog[1][i], 415.000000, 0.000000);
- TextDialog[2][i] = TextDrawCreate(205.000000, 135.000000, "~n~");
- TextDrawBackgroundColor(TextDialog[2][i], 255);
- TextDrawFont(TextDialog[2][i], 1);
- TextDrawLetterSize(TextDialog[2][i], 0.500000, 1.499995);
- TextDrawColor(TextDialog[2][i], -1);
- TextDrawSetOutline(TextDialog[2][i], 0);
- TextDrawSetProportional(TextDialog[2][i], 1);
- TextDrawSetShadow(TextDialog[2][i], 1);
- TextDrawUseBox(TextDialog[2][i], 1);
- TextDrawBoxColor(TextDialog[2][i], 101);
- TextDrawTextSize(TextDialog[2][i], 415.000000, 0.000000);
- TextDialog[3][i] = TextDrawCreate(205.000000, 299.000000, "~n~");
- TextDrawBackgroundColor(TextDialog[3][i], 255);
- TextDrawFont(TextDialog[3][i], 1);
- TextDrawLetterSize(TextDialog[3][i], 0.500000, 1.499995);
- TextDrawColor(TextDialog[3][i], -1);
- TextDrawSetOutline(TextDialog[3][i], 0);
- TextDrawSetProportional(TextDialog[3][i], 1);
- TextDrawSetShadow(TextDialog[3][i], 1);
- TextDrawUseBox(TextDialog[3][i], 1);
- TextDrawBoxColor(TextDialog[3][i], 101);
- TextDrawTextSize(TextDialog[3][i], 415.000000, 0.000000);
- TextDialog[4][i] = TextDrawCreate(206.000000, 137.000000, "~y~TELEPORTS");
- TextDrawBackgroundColor(TextDialog[4][i], 255);
- TextDrawFont(TextDialog[4][i], 2);
- TextDrawLetterSize(TextDialog[4][i], 0.210000, 1.000000);
- TextDrawColor(TextDialog[4][i], -1);
- TextDrawSetOutline(TextDialog[4][i], 1);
- TextDrawSetProportional(TextDialog[4][i], 1);
- TextDialog[7][i] = TextDrawCreate(406.000000, 137.000000, "X");
- TextDrawBackgroundColor(TextDialog[7][i], 255);
- TextDrawFont(TextDialog[7][i], 2);
- TextDrawLetterSize(TextDialog[7][i], 0.210000, 1.000000);
- TextDrawColor(TextDialog[7][i], -10270721);
- TextDrawSetOutline(TextDialog[7][i], 1);
- TextDrawSetProportional(TextDialog[7][i], 1);
- TextDrawSetSelectable(TextDialog[7][i], 1);
- TextDialog[8][i] = TextDrawCreate(402.000000, 135.000000, "~n~");
- TextDrawBackgroundColor(TextDialog[8][i], 255);
- TextDrawFont(TextDialog[8][i], 2);
- TextDrawLetterSize(TextDialog[8][i], 0.210000, 1.400000);
- TextDrawColor(TextDialog[8][i], -10270721);
- TextDrawSetOutline(TextDialog[8][i], 1);
- TextDrawSetProportional(TextDialog[8][i], 1);
- TextDrawUseBox(TextDialog[8][i], 1);
- TextDrawBoxColor(TextDialog[8][i], -188);
- TextDrawTextSize(TextDialog[8][i], 415.000000, 1.000000);
- TextDialog[9][i] = TextDrawCreate(206.000000, 154.000000, "Spawn");
- TextDrawBackgroundColor(TextDialog[9][i], 255);
- TextDrawFont(TextDialog[9][i], 1);
- TextDrawLetterSize(TextDialog[9][i], 0.180000, 1.000000);
- TextDrawColor(TextDialog[9][i], -1);
- TextDrawSetOutline(TextDialog[9][i], 1);
- TextDrawSetProportional(TextDialog[9][i], 1);
- TextDrawSetSelectable(TextDialog[9][i], 1);
- TextDialog[10][i] = TextDrawCreate(206.000000, 174.000000, "Locations");
- TextDrawBackgroundColor(TextDialog[10][i], 255);
- TextDrawFont(TextDialog[10][i], 1);
- TextDrawLetterSize(TextDialog[10][i], 0.180000, 1.000000);
- TextDrawColor(TextDialog[10][i], -1);
- TextDrawSetOutline(TextDialog[10][i], 1);
- TextDrawSetProportional(TextDialog[10][i], 1);
- TextDrawSetSelectable(TextDialog[10][i], 1);
- TextDialog[11][i] = TextDrawCreate(206.000000, 194.000000, "Deathmatch");
- TextDrawBackgroundColor(TextDialog[11][i], 255);
- TextDrawFont(TextDialog[11][i], 1);
- TextDrawLetterSize(TextDialog[11][i], 0.180000, 1.000000);
- TextDrawColor(TextDialog[11][i], -1);
- TextDrawSetOutline(TextDialog[11][i], 1);
- TextDrawSetProportional(TextDialog[11][i], 1);
- TextDrawSetSelectable(TextDialog[11][i], 1);
- TextDialog[12][i] = TextDrawCreate(206.000000, 214.000000, "SpawnLocation#4");
- TextDrawBackgroundColor(TextDialog[12][i], 255);
- TextDrawFont(TextDialog[12][i], 1);
- TextDrawLetterSize(TextDialog[12][i], 0.180000, 1.000000);
- TextDrawColor(TextDialog[12][i], -1);
- TextDrawSetOutline(TextDialog[12][i], 1);
- TextDrawSetProportional(TextDialog[12][i], 1);
- TextDrawSetSelectable(TextDialog[12][i], 1);
- TextDialog[13][i] = TextDrawCreate(206.000000, 234.000000, "SpawnLocation#5");
- TextDrawBackgroundColor(TextDialog[13][i], 255);
- TextDrawFont(TextDialog[13][i], 1);
- TextDrawLetterSize(TextDialog[13][i], 0.180000, 1.000000);
- TextDrawColor(TextDialog[13][i], -1);
- TextDrawSetOutline(TextDialog[13][i], 1);
- TextDrawSetProportional(TextDialog[13][i], 1);
- TextDrawSetSelectable(TextDialog[13][i], 1);
- TextDialog[14][i] = TextDrawCreate(206.000000, 254.000000, "SpawnLocation#6");
- TextDrawBackgroundColor(TextDialog[14][i], 255);
- TextDrawFont(TextDialog[14][i], 1);
- TextDrawLetterSize(TextDialog[14][i], 0.180000, 1.000000);
- TextDrawColor(TextDialog[14][i], -1);
- TextDrawSetOutline(TextDialog[14][i], 1);
- TextDrawSetProportional(TextDialog[14][i], 1);
- TextDrawSetSelectable(TextDialog[14][i], 1);
- TextDialog[15][i] = TextDrawCreate(206.000000, 274.000000, "SpawnLocation#7");
- TextDrawBackgroundColor(TextDialog[15][i], 255);
- TextDrawFont(TextDialog[15][i], 1);
- TextDrawLetterSize(TextDialog[15][i], 0.180000, 1.000000);
- TextDrawColor(TextDialog[15][i], -1);
- TextDrawSetOutline(TextDialog[15][i], 1);
- TextDrawSetProportional(TextDialog[15][i], 1);
- TextDrawSetSelectable(TextDialog[15][i], 1);
- SpectateTD[0][i] = TextDrawCreate(654.000000, 250.000000, "~n~");
- TextDrawBackgroundColor(SpectateTD[0][i], 255);
- TextDrawFont(SpectateTD[0][i], 1);
- TextDrawLetterSize(SpectateTD[0][i], 0.500000, 5.399999);
- TextDrawColor(SpectateTD[0][i], -1);
- TextDrawSetOutline(SpectateTD[0][i], 0);
- TextDrawSetProportional(SpectateTD[0][i], 1);
- TextDrawSetShadow(SpectateTD[0][i], 1);
- TextDrawUseBox(SpectateTD[0][i], 1);
- TextDrawBoxColor(SpectateTD[0][i], 102);
- TextDrawTextSize(SpectateTD[0][i], 479.000000, 0.000000);
- SpectateTD[1][i] = TextDrawCreate(654.000000, 254.000000, "~n~");
- TextDrawBackgroundColor(SpectateTD[1][i], 255);
- TextDrawFont(SpectateTD[1][i], 1);
- TextDrawLetterSize(SpectateTD[1][i], 0.500000, 4.500000);
- TextDrawColor(SpectateTD[1][i], -1);
- TextDrawSetOutline(SpectateTD[1][i], 0);
- TextDrawSetProportional(SpectateTD[1][i], 1);
- TextDrawSetShadow(SpectateTD[1][i], 1);
- TextDrawUseBox(SpectateTD[1][i], 1);
- TextDrawBoxColor(SpectateTD[1][i], 102);
- TextDrawTextSize(SpectateTD[1][i], 483.000000, 0.000000);
- SpectateTD[2][i] = TextDrawCreate(487.000000, 254.000000, "~g~PLAYER: ~w~");
- TextDrawBackgroundColor(SpectateTD[2][i], 255);
- TextDrawFont(SpectateTD[2][i], 1);
- TextDrawLetterSize(SpectateTD[2][i], 0.200000, 1.000000);
- TextDrawColor(SpectateTD[2][i], -1);
- TextDrawSetOutline(SpectateTD[2][i], 1);
- TextDrawSetProportional(SpectateTD[2][i], 1);
- SpectateTD[3][i] = TextDrawCreate(487.000000, 264.000000, "~g~HEALTH: ~w~");
- TextDrawBackgroundColor(SpectateTD[3][i], 255);
- TextDrawFont(SpectateTD[3][i], 1);
- TextDrawLetterSize(SpectateTD[3][i], 0.200000, 1.000000);
- TextDrawColor(SpectateTD[3][i], -1);
- TextDrawSetOutline(SpectateTD[3][i], 1);
- TextDrawSetProportional(SpectateTD[3][i], 1);
- SpectateTD[4][i] = TextDrawCreate(487.000000, 274.000000, "~y~WEAPON: ~w~");
- TextDrawBackgroundColor(SpectateTD[4][i], 255);
- TextDrawFont(SpectateTD[4][i], 1);
- TextDrawLetterSize(SpectateTD[4][i], 0.200000, 1.000000);
- TextDrawColor(SpectateTD[4][i], -1);
- TextDrawSetOutline(SpectateTD[4][i], 1);
- TextDrawSetProportional(SpectateTD[4][i], 1);
- SpectateTD[5][i] = TextDrawCreate(487.000000, 284.000000, "~y~AMMO: ~w~");
- TextDrawBackgroundColor(SpectateTD[5][i], 255);
- TextDrawFont(SpectateTD[5][i], 1);
- TextDrawLetterSize(SpectateTD[5][i], 0.200000, 1.000000);
- TextDrawColor(SpectateTD[5][i], -1);
- TextDrawSetOutline(SpectateTD[5][i], 1);
- TextDrawSetProportional(SpectateTD[5][i], 1);
- DamageTD[i] = TextDrawCreate(143.000000, 397.000000, "~y~None~n~~r~Bodypart: ~w~NaN~n~~r~Damage: ~w~NaN");
- TextDrawBackgroundColor(DamageTD[i], 255);
- TextDrawFont(DamageTD[i], 1);
- TextDrawLetterSize(DamageTD[i], 0.200000, 1.000000);
- TextDrawColor(DamageTD[i], -1);
- TextDrawSetOutline(DamageTD[i], 1);
- TextDrawSetProportional(DamageTD[i], 1);
- }
- //Objects DM Area
- for(new i = 500; i < 503; i++)
- {
- CreateTransparentObject(6959,1296.7,2196.3999,14.7,90,0,90, i);
- CreateTransparentObject(6959,1296.7,2155.1001,14.7,90,0,90, i);
- CreateTransparentObject(6959,1296.7,2113.8,14.7,90,0,90, i);
- CreateTransparentObject(6959,1317.2,2099.8999,14.7,90,0,180, i);
- CreateTransparentObject(6959,1358.5,2099.8999,14.7,90,0,179.995, i);
- CreateTransparentObject(6959,1399.8,2099.8999,14.7,90,0,179.995, i);
- CreateTransparentObject(6959,1317.2,2217.1001,14.7,90,0,0, i);
- CreateTransparentObject(6959,1358.5,2217.1001,14.7,90,0,0, i);
- CreateTransparentObject(6959,1399.8,2217.1001,14.7,90,0,0, i);
- CreateTransparentObject(6959,1418,2196.5,14.7,90,0,270, i);
- CreateTransparentObject(6959,1418,2155.2,14.7,90,0,270, i);
- CreateTransparentObject(6959,1418,2113.8999,14.7,90,0,270, i);
- CreateTransparentObject(6959,1405.1,2191,-5.4,90,0,270, i);
- CreateTransparentObject(6959,1405.1,2158,-5.4,90,0,270, i);
- CreateTransparentObject(6959,1405.1,2128.2,-5.4,90,0,270, i);
- CreateTransparentObject(6959,1356.8,2206.6001,-5.4,90,0,180, i);
- CreateTransparentObject(6959,1328.5,2206.6001,-5.4,90,0,179.995, i);
- CreateTransparentObject(6959,1304.9,2206.6001,-5.4,90,0,179.995, i);
- }
- SpawnObjects[0] = CreateDynamicObject(994,1301.2000000,-1385.0000000,12.8000000,0.0000000,0.0000000,0.0000000);
- SpawnObjects[1] = CreateDynamicObject(994,1312.9000000,-1385.0000000,12.8000000,0.0000000,0.0000000,0.0000000);
- SpawnObjects[2] = CreateDynamicObject(3335,1305.7000000,-1383.6000000,12.7000000,0.0000000,0.0000000,180.0000000);
- new objecttext[100];
- format(objecttext, sizeof(objecttext), "{33CCFF}Welcome To\n\n{FFFFFF}"#SERVER_NAME"");
- SetDynamicObjectMaterialText(SpawnObjects[2], 2, objecttext, OBJECT_MATERIAL_SIZE_256x128, "Arial", 28, 1, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
- SpawnObjects[3] = CreateDynamicObject(870,1321.3000000,-1383.3000000,13.9000000,0.0000000,0.0000000,0.0000000);
- SpawnObjects[4] = CreateDynamicObject(869,1298.9000000,-1383.0000000,13.8000000,0.0000000,0.0000000,80.0000000);
- SpawnObjects[5] = CreateDynamicObject(869,1299.0000000,-1379.4000000,13.8000000,0.0000000,0.0000000,79.9970000);
- SpawnObjects[6] = CreateDynamicObject(869,1299.0000000,-1373.9000000,13.8000000,0.0000000,0.0000000,79.9970000);
- SpawnObjects[7] = CreateDynamicObject(869,1299.0000000,-1376.3000000,13.8000000,0.0000000,0.0000000,79.9970000);
- SpawnObjects[8] = CreateDynamicObject(870,1321.4000000,-1380.4000000,13.8000000,0.0000000,0.0000000,288.5000000);
- SpawnObjects[9] = CreateDynamicObject(870,1321.3000000,-1378.0000000,13.8000000,0.0000000,0.0000000,148.4950000);
- SpawnObjects[10] = CreateDynamicObject(870,1321.4000000,-1375.3000000,13.8000000,0.0000000,0.0000000,318.4910000);
- SpawnObjects[11] = CreateDynamicObject(870,1321.4000000,-1372.8000000,13.8000000,0.0000000,0.0000000,318.4880000);
- SpawnObjects[12] = CreateDynamicObject(9131,1310.4000000,-1362.9000000,27.6000000,0.0000000,0.0000000,219.9960000);
- SpawnObjects[13] = CreateDynamicObject(9131,1310.4000000,-1362.9000000,25.4000000,0.0000000,0.0000000,219.9960000);
- SpawnObjects[14] = CreateDynamicObject(9131,1310.4000000,-1362.9000000,23.2000000,0.0000000,0.0000000,219.9960000);
- SpawnObjects[15] = CreateDynamicObject(9131,1310.4000000,-1362.9000000,22.0000000,140.0040000,90.0000000,180.0000000);
- SpawnObjects[16] = CreateDynamicObject(9131,1310.4000000,-1362.9000000,28.7000000,40.0010000,270.0000000,359.9950000);
- SpawnObjects[17] = CreateDynamicObject(8879,1315.7000000,-1363.3000000,23.9000000,0.0000000,0.0000000,130.0000000);
- SpawnObjects[18] = CreateDynamicObject(8880,1311.8000000,-1366.6000000,24.7000000,0.0000000,0.0000000,130.0000000);
- SpawnObjects[19] = CreateDynamicObject(8879,1305.5000000,-1363.3000000,23.9000000,0.0000000,0.0000000,230.0040000);
- SpawnObjects[20] = CreateDynamicObject(8880,1309.4000000,-1366.6000000,24.7000000,0.0000000,0.0000000,230.0040000);
- for(new mapid = 0; mapid != MAX_MAPS; mapid++)
- {
- LoadObjects(LoadMaps[mapid][MapName]);
- }
- return 1;
- }
- public OnGameModeExit()
- {
- for(new l=0; l<40; l++) {
- SA:(COLOR_WHITE," "); }
- SA:(COLOR_LIGHTBLUE, "The server is restarting, please wait...");
- return 1;
- }
- PUBLIC: HappyHourEnd()
- {
- HappyHour = 0;
- TextDrawHideForAll(HHTD);
- SA:(COLOR_ORANGE, "[ HAPPYHOUR END ]");
- return 1;
- }
- PUBLIC: MainTimer()
- {
- TextDrawSetText(DateTimeTextDraw[2], "~w~%s ~y~-~w~ %s", GetDate(), GetTime());
- for(new i=0; i<GetMaxPlayers(); i++)
- {
- if(SpeedoState[i] == 1 && IsPlayerConnected(i))
- {
- new zone[MAX_ZONE_NAME];
- GetPlayer2DZone(i, zone, MAX_ZONE_NAME);
- TextDrawSetText(Speedo[i][2], "~r~Speed: ~w~%d km/h", GetVehicleSpeed(i));
- new Float:health;
- GetVehicleHealth(GetPlayerVehicleID(i), health);
- TextDrawSetText(Speedo[i][1], "~r~Health: ~w~%d%", floatround(health)/10);
- TextDrawSetText(Speedo[i][3], "~w~%s", zone);
- }
- }
- HelpVar++;
- TDChangeVar++;
- switch(TDChangeVar)
- {
- case 30:{ TextDrawSetString(TextDrawForum, ""#SERVER_UCP""); }
- case 60:{ TextDrawSetString(TextDrawForum, ""#SERVER_WEBSITE""); TDChangeVar = 0; }
- }
- if(HelpVar == 420)
- {
- ForEachPlayer(i)
- {
- if(IsPlayerConnected(i))
- {
- SavePlayer(i);
- }
- }
- HelpVar = 0;
- SA:(COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL"/HELP /COMMANDS /TELE");
- SA:(COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL"Use {ffffff}/report "#HEX_DIALOG_COL"to report rulebreakers to admins");
- SA:(COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL"Website: {ffffff}"#SERVER_WEBSITE"");
- }
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerCameraPos(playerid, 1420.6412,-975.1619,57.5156);
- SetPlayerCameraLookAt(playerid, 1413.7268,-810.4615,75.2100);
- if(mysql_GetInt("accounts", "Banned", "Name", GetName(playerid)) == 1)
- {
- new BanInfo[5][200];
- BanInfo[0] = mysql_GetString("bans", "Grund", "Name", GetName(playerid));
- BanInfo[1] = mysql_GetString("bans", "IP", "Name", GetName(playerid));
- BanInfo[2] = mysql_GetString("bans", "Admin", "Name", GetName(playerid));
- BanInfo[3] = mysql_GetString("bans", "Datum", "Name", GetName(playerid));
- BanInfo[4] = mysql_GetString("bans", "Zeit", "Name", GetName(playerid));
- SendFormat(playerid, COLOR_LIGHTRED, "This account has been banned by %s for %s",BanInfo[2], BanInfo[0]);
- SendFormat(playerid, COLOR_LIGHTRED, "IP: %s | Date: %s | Time: %s", BanInfo[1], BanInfo[3], BanInfo[4]);
- Ban(playerid);
- return 0;
- }
- TextDrawShowForPlayer(playerid, BottomBox[0]);
- TextDrawShowForPlayer(playerid, BottomBox[1]);
- TextDrawShowForPlayer(playerid, InformationBox[0]);
- TextDrawShowForPlayer(playerid, InformationBox[1]);
- for(new i = 0; i < sizeof(InfoBoxText); i++) {
- TextDrawShowForPlayer(playerid, InfoBoxText[i]); }
- for(new i = 0; i < sizeof(MoneyTextDraw); i++) {
- TextDrawShowForPlayer(playerid, MoneyTextDraw[i]); }
- TextDrawShowForPlayer(playerid, DateTimeTextDraw[0]);
- TextDrawShowForPlayer(playerid, DateTimeTextDraw[1]);
- TextDrawShowForPlayer(playerid, DateTimeTextDraw[2]);
- TextDrawShowForPlayer(playerid, TextDrawForum);
- TextDrawShowForPlayer(playerid, MoneyText[playerid]);
- TextDrawShowForPlayer(playerid, PlayerFPSTD[playerid]);
- if(mysql_CheckAccount(playerid) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"» Register","«|-------------------------------------------------------------|»\n\n"#HEX_ORANGE"» Welcome!\n\n"#HEX_WHITE"Insert a password to create an account!\n\n"#HEX_DIALOG_COL"«|-------------------------------------------------------------|»","Register","");
- }
- else if(mysql_CheckAccount(playerid) == 1)
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"» Login","«|-------------------------------------------------------------|»\n\n"#HEX_ORANGE"» Welcome back!\n\n"#HEX_WHITE"Insert your password to login!\n\n"#HEX_DIALOG_COL"«|-------------------------------------------------------------|»","Login","");
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- IsPlayerSpectating[playerid] = false;
- ClearChat(playerid, 40);
- S:(playerid, COLOR_LIGHTBLUE, "Please wait, connecting to the server...");
- SetPlayerColor(playerid, PlayerColors[playerid]);
- if(!IsPlayerNPC(playerid))
- {
- AddFormatToInfoBox("%s has ~g~joined~w~ the server.", GetName(playerid));
- }
- I_SetPlayerMoney(playerid, 0);
- SpielerInfo[playerid][pLoggedIn] = 0;
- SpielerInfo[playerid][pPaused] = 0;
- PlayerVehicle[playerid] = 0;
- PlayerMode[playerid] = 0;
- GetARInfo[playerid][aOnFootAirbrake] = 0;
- GetARInfo[playerid][aFakeKillCount] = 0;
- shotTime[playerid] = 0;
- shot[playerid] = 0;
- PlayerHasBeenSlain[playerid] = 0;
- SpeedoState[playerid] = 0;
- PlayerKillingSpree[playerid] = 0;
- if(HappyHour == 1) { TextDrawShowForPlayer(playerid, HHTD); }
- if(IsPlayerNPC(playerid))
- {
- SpielerInfo[playerid][pLoggedIn] = 1;
- SpawnPlayer(playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid)
- {
- SpectatedPlayer[i]++;
- if(SpectatedPlayer[i] == i || SpectatedPlayer[i] == INVALID_PLAYER_ID) SpectatedPlayer[i]++;
- if(!IsPlayerConnected(SpectatedPlayer[i])) SpectatedPlayer[i]++;
- for(new a=SpectatedPlayer[playerid]; a<MAX_PLAYERS; a++)
- {
- if(a > GetMaxPlayers()) i = 0; SpectatedPlayer[i] = 0;
- if(IsPlayerConnected(a) && !IsPlayerSpectating[a])
- {
- if(IsPlayerInAnyVehicle(a))PlayerSpectateVehicle(i, GetPlayerVehicleID(a));
- else PlayerSpectatePlayer(i, a);
- SpectatedPlayer[i] = a;
- SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(a));
- SetPlayerInterior(i, GetPlayerInterior(a));
- TextDrawSetText(SpectateTD[2][i], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[i]), SpectatedPlayer[i]);
- break;
- }
- else continue;
- }
- }
- }
- new disconnectReason[3][] =
- {
- "Timeout/Crash",
- "Quit",
- "Kick/Ban"
- };
- AddFormatToInfoBox("%s has ~r~left~w~ the server. ~y~(%s)", GetName(playerid), disconnectReason[reason]);
- SavePlayer(playerid);
- SpielerInfo[playerid][pLoggedIn] = 0;
- DeletePVar(playerid,"Eingeloggt");
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(PlayerMode[playerid] > 0 && PlayerMode[playerid] != 1337)
- {
- new rand = randomEx(0,1), Float: SpawnPosX, Float: SpawnPosY, Float: SpawnPosZ;
- if(rand == 0) SpawnPosX = RandomSpawns[0][rsX]; SpawnPosY = RandomSpawns[0][rsY]; SpawnPosZ = RandomSpawns[0][rsZ];
- if(rand == 1) SpawnPosX = ModeData[PlayerMode[playerid]][mX]; SpawnPosY = ModeData[PlayerMode[playerid]][mY]; SpawnPosZ = ModeData[PlayerMode[playerid]][mZ];
- SetPlayerPos(playerid, SpawnPosX, SpawnPosY, SpawnPosZ);
- }
- SetPlayerSkin(playerid, SpielerInfo[playerid][pSkin]);
- TextDrawShowForPlayer(playerid, PlayerModeTD[playerid]);
- TextDrawShowForPlayer(playerid, HealBarText[playerid]);
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid)
- {
- PlayerSpectatePlayer(i, SpectatedPlayer[i]);
- SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(i));
- }
- }
- return 1;
- }
- public OnPlayerInteriorChange(playerid,newinteriorid,oldinteriorid)
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid)
- {
- SetPlayerInterior(i, newinteriorid);
- }
- }
- return 1;
- }
- public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
- {
- if(issuerid != INVALID_PLAYER_ID && issuerid != playerid) {
- PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
- }
- return 1;
- }
- public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart)
- {
- if(bodypart == WEAPON_BODY_PART_HEAD) {
- GivePlayerHealth(damagedid, -70.0);
- amount = 70;
- GameTextForPlayer(playerid, "~r~Headshot!", 2000, 4);
- }
- if(damagedid != INVALID_PLAYER_ID)
- {
- new damagepart[20];
- switch(bodypart) {
- case 3: { damagepart = "Chest"; }
- case 4: { damagepart = "Crotch"; }
- case 5: { damagepart = "Left Arm"; }
- case 6: { damagepart = "Right Arm"; }
- case 7: { damagepart = "Left Leg"; }
- case 8: { damagepart = "Right Leg"; }
- case 9: { damagepart = "Head"; }
- default: { damagepart = "ERROR"; }
- }
- TextDrawShowForPlayer(playerid, DamageTD[playerid]);
- TextDrawSetText(DamageTD[playerid], "~y~%s~n~~r~Bodypart: ~w~%s~n~~r~Damage: ~w~- %.0f", GetName(damagedid), damagepart, amount);
- SetTimerEx("HideDamageText", 5000, false, "i", playerid);
- }
- return 1;
- }
- PUBLIC: HideDamageText(playerid)
- {
- TextDrawHideForPlayer(playerid, DamageTD[playerid]);
- return 1;
- }
- stock randomEx(minnum = cellmin, maxnum = cellmax) { return random(maxnum - minnum + 1) + minnum; }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- PlayerKillingSpree[playerid] = 0;
- PlayerKillingSpree[killerid]++;
- if(PlayerKillingSpree[killerid] == 3) {
- AddFormatToInfoBox("%s is on a killing spree - 3 Kills", GetName(killerid));
- SetPlayerArmour(killerid, 10);
- }
- if(PlayerKillingSpree[killerid] == 6) {
- AddFormatToInfoBox("%s is on a killing spree - 6 Kills", GetName(killerid));
- SetPlayerArmour(killerid, 30);
- }
- TextDrawSetString(HealBarText[playerid], "0");
- if(killerid != INVALID_PLAYER_ID) {
- new Float: score = 1, Float:money = randomEx(300,700);
- switch(SpielerInfo[killerid][pPremium])
- {
- case 0:{ } // No Premium
- case 1:{ score = score*2; money = money*1.50; } //Premium LVL 1
- case 2:{ score = score*3; money = money*2; } //Premium LVL 2
- case 3:{ score = score*4; money = money*2.50; } //Premium LVL 3
- case 4:{ score = score*5; money = money*3; } //Premium LVL 4
- }
- if(HappyHour == 0) {
- if(SpielerInfo[playerid][pPremium] > 0) I_GivePlayerMoney(playerid, -250);
- else I_GivePlayerMoney(playerid, -500);
- }
- if(HappyHour == 1)
- {
- score = score*2;
- money = money*2;
- }
- SpielerInfo[killerid][pScore] = SpielerInfo[killerid][pScore]+floatround(score, floatround_ceil);
- SpielerInfo[killerid][pKills]++;
- SetPlayerScore(killerid, GetPlayerScore(killerid)+floatround(score, floatround_ceil));
- I_GivePlayerMoney(killerid, floatround(money, floatround_ceil));
- GivePlayerHealth(killerid, 20.0);
- UpdatePlayerLevel(killerid);
- new str[128];
- format(str, sizeof(str), "%s killed %s with %s", GetName(killerid), GetName(playerid), WeaponName(reason));
- LogEvent("kill_log", str);
- AddFormatToInfoBox("%s ~r~killed~w~ %s ~y~(%s).", GetName(killerid), GetName(playerid), WeaponName(reason));
- }
- else { if(PlayerHasBeenSlain[playerid] == 0) { AddFormatToInfoBox("%s ~r~died~w~.", GetName(playerid)); } }
- GetARInfo[playerid][aFakeKillCount]++;
- SpielerInfo[playerid][pDeaths]++;
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid)
- {
- SpectatedPlayer[i]++;
- if(SpectatedPlayer[i] == i || SpectatedPlayer[i] == INVALID_PLAYER_ID) SpectatedPlayer[i]++;
- if(!IsPlayerConnected(SpectatedPlayer[i])) SpectatedPlayer[i]++;
- for(new a=SpectatedPlayer[playerid]; a<MAX_PLAYERS; a++)
- {
- if(a > GetMaxPlayers()) i = 0; SpectatedPlayer[i] = 0;
- if(IsPlayerConnected(a) && !IsPlayerSpectating[a])
- {
- if(IsPlayerInAnyVehicle(a))PlayerSpectateVehicle(i, GetPlayerVehicleID(a));
- else PlayerSpectatePlayer(i, a);
- SpectatedPlayer[i] = a;
- SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(a));
- SetPlayerInterior(i, GetPlayerInterior(a));
- TextDrawSetText(SpectateTD[2][i], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[i]), SpectatedPlayer[i]);
- break;
- }
- else continue;
- }
- }
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(SpielerInfo[playerid][pLoggedIn] == 0) return 0;
- new text_string[257];
- format(text_string, sizeof(text_string), "{FFFFFF}(%d) {%06x}%s: {FFFFFF}%s", playerid, GetPlayerColor(playerid) >>> 8, GetName(playerid),text);
- SA:(COLOR_WHITE, text_string);
- LogEvent("chat_log", text_string);
- return 0;
- }
- PUBLIC: RestartGameMode()
- {
- GameModeExit();
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(SpielerInfo[playerid][pLoggedIn] == 0) return 0;
- new cmd[300],tmp[300], idx, id, str[128];
- cmd = strtok(cmdtext, idx);
- format(str, sizeof(str), "%s used %s", GetName(playerid), cmd);
- LogEvent("command_log", str);
- dcmd(v, 1, cmdtext);
- if(strcmp(cmd, "/spec", true) == 0)
- {
- if(SpielerInfo[playerid][pAdmin] >= 1)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- new spectateable;
- for(new i=0; i<MAX_PLAYERS; i++){
- if(IsPlayerConnected(i) && !IsPlayerSpectating[i] && i != playerid) spectateable++; }
- if(!IsPlayerSpectating[playerid]) {
- if(spectateable >= 1) {
- TogglePlayerSpectating(playerid, 1);
- SpectatedPlayer[playerid] = 0;
- if(SpectatedPlayer[playerid] == playerid || SpectatedPlayer[playerid] == INVALID_PLAYER_ID) SpectatedPlayer[playerid]++;
- if(!IsPlayerConnected(SpectatedPlayer[playerid])) SpectatedPlayer[playerid]++;
- for(new i=SpectatedPlayer[playerid]; i<MAX_PLAYERS; i++) {
- if(i > GetMaxPlayers()) i = 0; SpectatedPlayer[playerid] = 0;
- if(IsPlayerConnected(i) && !IsPlayerSpectating[i]) {
- if(IsPlayerInAnyVehicle(i))PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
- else PlayerSpectatePlayer(playerid, i);
- SpectatedPlayer[playerid] = i;
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(i));
- SetPlayerInterior(playerid, GetPlayerInterior(i));
- TextDrawSetText(SpectateTD[2][playerid], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- break;
- }
- else continue;
- }
- IsPlayerSpectating[playerid] = true;
- for(new i = 0; i < sizeof(SpectateTD); i++) {
- TextDrawShowForPlayer(playerid, SpectateTD[i][playerid]); }
- TextDrawSetText(SpectateTD[2][playerid], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- OnPlayerModeChange(playerid, 1337);
- S:(playerid, COLOR_ORANGE, "[ SPECTATE ] Use LMB / RMB to switch between the players");
- S:(playerid, COLOR_ORANGE, "[ SPECTATE ] You can also use /spec [id]");
- }
- else S:(playerid, COLOR_LIGHTRED, "There is no player to spectate");
- }
- else {
- TogglePlayerSpectating(playerid, 0);
- SpectatedPlayer[playerid] = 0;
- IsPlayerSpectating[playerid] = false;
- for(new i = 0; i < sizeof(SpectateTD); i++) {
- TextDrawHideForPlayer(playerid, SpectateTD[i][playerid]); }
- OnPlayerModeChange(playerid, 0);
- }
- return 1;
- }
- id = ReturnUser(tmp);
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- if(!IsPlayerSpectating[id]) {
- if(IsPlayerSpectating[playerid]) {
- if(IsPlayerInAnyVehicle(id))PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
- else PlayerSpectatePlayer(playerid, id);
- SpectatedPlayer[playerid] = id;
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(id));
- SetPlayerInterior(playerid, GetPlayerInterior(id));
- TextDrawSetText(SpectateTD[2][playerid], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[playerid]),SpectatedPlayer[playerid]);
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not Spectating ( /spec )");
- }
- else S:(playerid, COLOR_LIGHTRED, "That player is spectating");
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- return 1;
- }
- if(strcmp(cmd, "/tele", true) == 0 || strcmp(cmd, "/teleport", true) == 0)
- {
- if(PlayerMode[playerid] != 0) {
- SendFormat(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL"Leave %s if you want to Teleport ( /leave )", GetModeName(playerid)); }
- else {
- ShowPlayerTextDialog(playerid, TEXT_TELEPORT);
- }
- return 1;
- }
- if(strcmp(cmd, "/unban", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- if(SpielerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) { S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /unban [Name]"); return 1; }
- new Query[128],count;
- format(Query, sizeof(Query), "SELECT * FROM `bans` WHERE `Name` = '%s'", tmp);
- mysql_query(Query);
- mysql_store_result();
- count = mysql_num_rows();
- mysql_free_result();
- if(count == 1) {
- new BannedIP[150];
- BannedIP = mysql_GetString("bans", "IP", "Name", tmp);
- format(Query, sizeof(Query), "DELETE FROM bans WHERE Name = '%s'", tmp); mysql_query(Query);
- mysql_SetInt("accounts", "Banned", 0, "Name", tmp);
- format(Query, sizeof(Query), "unbanip %s", BannedIP[0]);
- SendRconCommand(Query);
- SendRconCommand("reloadbans");
- SendFormat(playerid, COLOR_LIGHTRED, "You unbanned %s", tmp); }
- else S:(playerid, COLOR_LIGHTRED, "There is no ban with this name");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/leave", true) == 0 || strcmp(cmd, "/l", true) == 0)
- {
- if(PlayerMode[playerid] != 0)
- {
- OnPlayerModeChange(playerid, 0);
- SetPlayerVirtualWorld(playerid, ModeData[0][virtualworld]);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[0][mX],ModeData[0][mY],ModeData[0][mZ], ModeData[0][mA], ModeData[0][weapon1], ModeData[0][weapon_ammo1], ModeData[0][weapon2], ModeData[0][weapon_ammo2], ModeData[0][weapon3], ModeData[0][weapon_ammo3]);
- SpawnPlayer(playerid);
- }
- return 1;
- }
- if(strcmp(cmd, "/kill", true) == 0 || strcmp(cmd, "/suicide", true) == 0)
- {
- if(PlayerMode[playerid] != 0)
- {
- SendFormat(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL"You can't use this command in %s", GetModeName(playerid));
- }
- else
- {
- PlayerHasBeenSlain[playerid] = 1;
- SetPlayerHealth(playerid, 0.0);
- AddFormatToInfoBox("%s has committed ~r~suicide~w~.", GetName(playerid));
- }
- return 1;
- }
- if(strcmp(cmd, "/help", true) == 0)
- {
- S:(playerid, COLOR_LIGHTRED, "[ COMMANDS ] "#HEX_DIALOG_COL"Type /commands to see a list of all commands.");
- S:(playerid, COLOR_LIGHTRED, "[ VEHICLE ] "#HEX_DIALOG_COL"Use /v (part of name / name) to spawn a vehicle.");
- S:(playerid, COLOR_LIGHTRED, "[ GENERAL ] "#HEX_DIALOG_COL"If you have any question, use /ask !");
- S:(playerid, COLOR_LIGHTRED, "[ GENERAL ] "#HEX_DIALOG_COL"Use /report to report rulebreakers to admins.");
- return 1;
- }
- if(strcmp(cmd, "/commands", true) == 0)
- {
- if(SpielerInfo[playerid][pAdmin] >= 1) S:(playerid, COLOR_DIALOG, "Type /ahelp to see admin commands");
- S:(playerid,COLOR_LIGHTRED,"[ GENERAL ] "#HEX_DIALOG_COL"/teleport «|» /help «|» /report «|» /ask «|» /admins «|» /kill (/suicide)");
- S:(playerid,COLOR_LIGHTRED,"[ PLAYER ] "#HEX_DIALOG_COL"/stats «|» /skin");
- return 1;
- }
- if(strcmp(cmd, "/slay", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /slay [playerid]");
- return 1; }
- id = ReturnUser(tmp);
- if (SpielerInfo[playerid][pAdmin] >= 1) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- PlayerHasBeenSlain[id] = 1;
- SetPlayerHealth(id, 0.0);
- SendFormatToAll(COLOR_LIGHTRED, "%s has been slain by %s", GetName(id), GetName(playerid));
- AddFormatToInfoBox("%s has been ~r~slain~w~.", GetName(id));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/stats", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- new statsdiag[300];
- new Float:ratio=floatdiv(SpielerInfo[playerid][pKills], SpielerInfo[playerid][pDeaths]);
- format(statsdiag, sizeof(statsdiag), ""#HEX_LIGHTRED"» %s\n\n"#HEX_DIALOG_COL"Account Informations:\n"#HEX_WHITE"Premium Level: %d\n\n"#HEX_DIALOG_COL"Statistics:\n"#HEX_WHITE"Level: %d\n\nMoney: %d\n\nScore: %d\n\nKills: %d\n\nDeaths: %d\n\nK/D Ratio: %.2f", GetName(playerid),SpielerInfo[playerid][pPremium],SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pMoney],SpielerInfo[playerid][pScore],SpielerInfo[playerid][pKills], SpielerInfo[playerid][pDeaths], ratio);
- ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "» Stats", statsdiag, "Close","");
- return 1; }
- id = ReturnUser(tmp);
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- new statsdiag[300];
- new Float:ratio=floatdiv(SpielerInfo[id][pKills], SpielerInfo[id][pDeaths]);
- format(statsdiag, sizeof(statsdiag), ""#HEX_LIGHTRED"» %s\n\n"#HEX_DIALOG_COL"Account Informations:\n"#HEX_WHITE"Premium Level: %d\n\n"#HEX_DIALOG_COL"Statistics:\n"#HEX_WHITE"Level: %d\n\nMoney: %d\n\nScore: %d\n\nKills: %d\n\nDeaths: %d\n\nK/D Ratio: %.2f", GetName(id),SpielerInfo[id][pPremium],SpielerInfo[id][pLevel],SpielerInfo[id][pMoney],SpielerInfo[id][pScore],SpielerInfo[id][pKills], SpielerInfo[id][pDeaths], ratio);
- ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "» Stats", statsdiag, "Close","");
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- return 1;
- }
- if(strcmp(cmd, "/skin", true) == 0)
- {
- if(IsPlayerConnected(playerid) && SpielerInfo[playerid][pLoggedIn] == 1)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) { S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /skin [skin id]"); return 1; }
- new skinID = strval(tmp);
- if(skinID >= 0 && skinID < 300)
- {
- SetPlayerSkin(playerid, skinID);
- SpielerInfo[playerid][pSkin] = skinID;
- S:(playerid, COLOR_ORANGE, "Your skin has been changed.");
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid Skin ID");
- }
- return 1;
- }
- if(strcmp(cmd, "/report", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /report [playerid] [reason]");
- return 1; }
- id = ReturnUser(tmp);
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' ')) {
- idx++; }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
- result[idx - offset] = cmdtext[idx];
- idx++; }
- result[idx - offset] = EOS;
- if(!strlen(result)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /report [playerid] [reason]");
- return 1; }
- if(SpielerInfo[playerid][pLoggedIn] == 1) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- if(playerid != id) {
- SendAdminFormat(COLOR_LIGHTRED, "%s [%d] Reported %s [%d] (Reason: %s)", GetName(playerid), playerid, GetName(id), id, (result));
- SendFormat(playerid, COLOR_ORANGE, "You Reported %s [%d] for %s", GetName(id), id, (result));
- }
- else S:(playerid, COLOR_LIGHTRED, "You can't report yourself");
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/ask", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' ')) {
- idx++; }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
- result[idx - offset] = cmdtext[idx];
- idx++; }
- result[idx - offset] = EOS;
- if(!strlen(result)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /ask [question]");
- return 1; }
- if(SpielerInfo[playerid][pLoggedIn] == 1) {
- SendAdminFormat(COLOR_LIGHTBLUE, "[ ASK ] %s (%d): "#HEX_GREY"%s", GetName(playerid), playerid,(result));
- SendFormat(playerid, COLOR_LIGHTBLUE, "You asked: %s",(result));
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/a", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- if(SpielerInfo[playerid][pAdmin] >= 1)
- {
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' ')) {
- idx++; }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
- result[idx - offset] = cmdtext[idx];
- idx++; }
- result[idx - offset] = EOS;
- if(!strlen(result)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /a [text]");
- return 1; }
- SendAdminFormat(COLOR_ORANGE, "(%s) %s: "#HEX_WHITE"%s", GetRang(playerid), GetName(playerid),(result));
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/serial", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /serial [playerid]");
- return 1; }
- id = ReturnUser(tmp);
- if (SpielerInfo[playerid][pAdmin] >= 1) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- SendFormat(playerid,COLOR_ORANGE, "%s - %s", GetName(id), mysql_GetString("accounts", "Serial", "Name", GetName(id)));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/ip", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /ip [playerid]");
- return 1; }
- id = ReturnUser(tmp);
- if (SpielerInfo[playerid][pAdmin] >= 1) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- SendFormat(playerid,COLOR_ORANGE, "%s - %s", GetName(id), GetIP(id));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/clearchat", true) == 0 || strcmp(cmd, "/cc", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- if(SpielerInfo[playerid][pAdmin] >= 1) {
- ForEachPlayer(i) {
- if(IsPlayerConnected(i)) {
- ClearChat(i, 100);
- }
- }
- SendFormatToAll(COLOR_ORANGE, "The chat has been cleared by %s", GetName(playerid));
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/happyhour", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- if(SpielerInfo[playerid][pAdmin] >= 4) {
- if(HappyHour == 0)
- {
- HappyHour = 1;
- TextDrawShowForAll(HHTD);
- HHTimer = SetTimer("HappyHourEnd",3600000, 0);
- SA:(COLOR_ORANGE, "[ HAPPYHOUR ]");
- }
- else
- {
- HappyHour = 0;
- TextDrawHideForAll(HHTD);
- KillTimer(HHTimer);
- SA:(COLOR_ORANGE, "[ HAPPYHOUR END ]");
- }
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/id", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /id [name]");
- return 1; }
- id = ReturnUser(tmp);
- if (SpielerInfo[playerid][pAdmin] >= 1) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- if(SpielerInfo[id][pPaused] == 0) SendFormat(playerid,COLOR_WHITE, "» (%s) %s - ID %d", GetModeName(id), GetName(id), id);
- if(SpielerInfo[id][pPaused] == 1) SendFormat(playerid,COLOR_WHITE, "» (%s) %s - ID %d "#HEX_LIGHTRED"[PAUSED]", GetModeName(id),GetName(id), id);
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/admins", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- SendClientMessage(playerid, COLOR_LIGHTRED, "|_____|- Admin Online -|_____|");
- for(new i = 0; i < MAX_PLAYERS; i++) {
- if(IsPlayerConnected(i)) {
- if(SpielerInfo[i][pAdmin] >= 1) {
- if(SpielerInfo[i][pPaused] == 0) SendFormat(playerid, COLOR_WHITE, "» %s: %s - ID %d", GetRang(i), GetName(i), i);
- if(SpielerInfo[i][pPaused] == 1) SendFormat(playerid, COLOR_WHITE, "» %s: %s - ID %d "#HEX_LIGHTRED"[PAUSED]", GetRang(i), GetName(i), i);
- }
- }
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/ahelp", true) == 0)
- {
- if(SpielerInfo[playerid][pAdmin] == 0) S:(playerid, COLOR_LIGHTRED, "You are not an admin.");
- if(SpielerInfo[playerid][pAdmin] >= 1) { S:(playerid, COLOR_LIGHTRED, "[ Trial Admin ] "#HEX_WHITE"/slap «|» /slay «|» /kick «|» /ban «|» /ip «|» /serial «|» /cc (/clearchat) «|» /a «|» /spec"); }
- if(SpielerInfo[playerid][pAdmin] >= 2) { S:(playerid, COLOR_LIGHTRED, "[ Admin ] "#HEX_WHITE"/tp «|» /tphere «|» /unban"); }
- if(SpielerInfo[playerid][pAdmin] >= 3) { S:(playerid, COLOR_LIGHTRED, "[ Lead Admin ] "#HEX_WHITE"/setpremium"); }
- if(SpielerInfo[playerid][pAdmin] >= 4) { S:(playerid, COLOR_LIGHTRED, "[ Head Admin ] "#HEX_WHITE"/restart"); }
- if(SpielerInfo[playerid][pAdmin] == 5) { S:(playerid, COLOR_LIGHTRED, "[ Owner ] "#HEX_WHITE"/setadmin"); }
- return 1;
- }
- if(strcmp(cmd, "/restart", true) == 0)
- {
- if(IsPlayerConnected(playerid) && SpielerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid)) {
- SendFormatToAll(COLOR_ORANGE, "The server is restarting in 10 seconds ( %s )", GetName(playerid));
- printf("%s is restarting the Server (%s - %s)", GetName(playerid), GetDate(), GetTime());
- ForEachPlayer(i) {
- if(IsPlayerConnected(i)) {
- SavePlayer(i);
- }
- }
- AddToInfoBox("~r~Server is restarting in 10 seconds");
- SetTimer("RestartGameMode", 10000, 0);
- }
- return 1;
- }
- if(strcmp(cmd, "/setpremium", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /setpremium [playerid] [level]");
- return 1; }
- id = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- new level = strval(tmp);
- if(SpielerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid)) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- if(level > 4) S:(playerid, COLOR_LIGHTRED, "ERROR:"#HEX_WHITE" Highest premium level "#HEX_ORANGE"4");
- else {
- SpielerInfo[id][pPremium] = level;
- SendFormat(playerid, COLOR_ORANGE, "You have set the premium level from %s to %d", GetName(id), level);
- SendFormat(id, COLOR_ORANGE, "Your premium level has been set to %d", level);
- }
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/setadmin", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /setadmin [playerid] [level]");
- return 1; }
- id = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- new level = strval(tmp);
- if(SpielerInfo[playerid][pAdmin] == 5 || IsPlayerAdmin(playerid)) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- if(level > 5) S:(playerid, COLOR_LIGHTRED, "ERROR:"#HEX_WHITE" Highest admin level "#HEX_ORANGE"5");
- else {
- SpielerInfo[id][pAdmin] = level;
- SendFormat(playerid, COLOR_ORANGE, "You have set the admin level from %s to %d", GetName(id), level);
- SendFormat(id, COLOR_ORANGE, "Your admin level has been set to %d", level);
- }
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/slap", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /slap [playerid]");
- return 1; }
- new Float:slx, Float:sly, Float:slz;
- id = ReturnUser(tmp);
- if (SpielerInfo[playerid][pAdmin] >= 1) {
- if(IsPlayerConnected(id)) {
- if(id != INVALID_PLAYER_ID) {
- GetPlayerPos(id, slx, sly, slz);
- SetPlayerPos(id, slx, sly, slz+5);
- PlayerPlaySound(id, 1130, slx, sly, slz+5);
- SendFormat(id,COLOR_ORANGE, "You have been slapped by %s", GetName(playerid));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/ban", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /ban [playerid] [reason]");
- return 1; }
- id = ReturnUser(tmp);
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' ')) {
- idx++; }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
- result[idx - offset] = cmdtext[idx];
- idx++; }
- result[idx - offset] = EOS;
- if(!strlen(result)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /ban [playerid] [reason]");
- return 1; }
- if(SpielerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid)) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- BanPlayer(id, GetName(playerid), (result));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/kick", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /kick [playerid] [reason]");
- return 1; }
- id = ReturnUser(tmp);
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' ')) {
- idx++; }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
- result[idx - offset] = cmdtext[idx];
- idx++; }
- result[idx - offset] = EOS;
- if(!strlen(result)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /kick [playerid] [reason]");
- return 1; }
- if(SpielerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid)) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) {
- KickPlayer(id, GetName(playerid), (result));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/tphere", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /tphere [playerid]");
- return 1; }
- id = ReturnUser(tmp);
- if (SpielerInfo[playerid][pAdmin] >= 2) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) {
- new Float:x,Float:y,Float:z, Float:a;
- GetPlayerPos(playerid, x, y, z);
- GetXYInFrontOfPlayer(playerid, x, y, 5.0);
- GetPlayerFacingAngle(playerid, a);
- TeleportPlayer(id, x, y, z+1.0, a+180,GetPlayerVirtualWorld(playerid));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- if(strcmp(cmd, "/tp", true) == 0)
- {
- if(IsPlayerConnected(playerid)) {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /tp [playerid]");
- return 1; }
- id = ReturnUser(tmp);
- if (SpielerInfo[playerid][pAdmin] >= 2) {
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) {
- new Float:x,Float:y,Float:z, Float:a;
- GetPlayerPos(id, x, y, z);
- GetXYInFrontOfPlayer(id, x, y, 5.0);
- GetPlayerFacingAngle(id, a);
- TeleportPlayer(playerid, x, y, z+1.0, a+180,GetPlayerVirtualWorld(id));
- }
- else S:(playerid, COLOR_LIGHTRED, "Invalid player ID");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not allowed to use this command");
- }
- return 1;
- }
- SendFormat(playerid, COLOR_LIGHTRED, "[ CMD ] "#HEX_WHITE"There is no command called "#HEX_DIALOG_COL"%s"#HEX_WHITE", use /commands to see a list of commands", cmd);
- return 1;
- }
- dcmd_v(playerid, params[])
- {
- if(PlayerMode[playerid] != 0)
- {
- SendFormat(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL"You can't use this command in %s", GetModeName(playerid));
- }
- else
- {
- new idx,iString[ 128 ];
- if ( params[ 0 ] == '\0' )
- return S:(playerid, COLOR_LIGHTRED, "SYNTAX:"#HEX_WHITE" /v [Vehicle Name]");
- idx = GetVehicleModelIDFromName( params );
- if( idx == -1 )
- {
- idx = strval(iString);
- if ( idx < 400 || idx > 611 )
- return S:(playerid, COLOR_LIGHTRED, "Invalid Vehicle Name");
- }
- new Float:x,Float:y,Float:z,Float:a;
- GetPlayerPos(playerid, x, y, z);
- GetXYInFrontOfPlayer(playerid, x, y, 5.0);
- GetPlayerFacingAngle(playerid, a);
- new string[128];
- format(string,sizeof(string),"[ INFO ] "#HEX_DIALOG_COL"Spawned vehicle %s", VehicleNames[idx - 400]);
- S:(playerid,COLOR_LIGHTRED,string);
- if(PlayerVehicle[playerid] == 0)
- {
- PlayerVehicle[playerid] = CreateVehicle(idx, x, y, z + 2.0, a + 90.0, -1, -1, 5000);
- }
- else
- {
- DestroyVehicle(PlayerVehicle[playerid]);
- PlayerVehicle[playerid] = CreateVehicle(idx, x, y, z + 2.0, a + 90.0, -1, -1, 5000);
- }
- SetVehicleNumberPlate(PlayerVehicle[playerid], GetName(playerid));
- }
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- InCar[playerid] = 0;
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
- {
- new Float:health;
- GetVehicleHealth(GetPlayerVehicleID(playerid), health);
- TextDrawShowForPlayer(playerid, Speedo[playerid][0]);
- TextDrawShowForPlayer(playerid, Speedo[playerid][1]);
- TextDrawShowForPlayer(playerid, Speedo[playerid][2]);
- TextDrawShowForPlayer(playerid, Speedo[playerid][3]);
- TextDrawSetText(Speedo[playerid][0], "~r~Vehicle: ~w~%s", GetVehicleName(GetPlayerVehicleID(playerid)));
- TextDrawSetText(Speedo[playerid][1], "~r~Health: ~w~%d%", floatround(health)/10);
- SpeedoState[playerid] = 1;
- }
- if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER && newstate == PLAYER_STATE_ONFOOT)
- {
- TextDrawHideForPlayer(playerid, Speedo[playerid][0]);
- TextDrawHideForPlayer(playerid, Speedo[playerid][1]);
- TextDrawHideForPlayer(playerid, Speedo[playerid][2]);
- TextDrawHideForPlayer(playerid, Speedo[playerid][3]);
- SpeedoState[playerid] = 0;
- }
- if(oldstate == PLAYER_STATE_ONFOOT)
- {
- if(newstate == PLAYER_STATE_DRIVER || PLAYER_STATE_PASSENGER)
- {
- InCar[playerid] = 1;
- WhatCar[playerid] = GetPlayerVehicleID(playerid);
- }
- }
- if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid)
- {
- PlayerSpectateVehicle(i, GetPlayerVehicleID(SpectatedPlayer[i]));
- }
- }
- }
- if(newstate == PLAYER_STATE_ONFOOT)
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid)
- {
- PlayerSpectatePlayer(i, SpectatedPlayer[i]);
- }
- }
- }
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- #define PRESSED(%0) \
- (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (PRESSED(KEY_FIRE))
- {
- if (IsPlayerInAnyVehicle(playerid))
- {
- AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
- }
- }
- if(IsPlayerSpectating[playerid])
- {
- if(PRESSED(KEY_HANDBRAKE)) //Right
- {
- SpectatedPlayer[playerid]++;
- if(SpectatedPlayer[playerid] == playerid || SpectatedPlayer[playerid] == INVALID_PLAYER_ID) SpectatedPlayer[playerid]++;
- if(!IsPlayerConnected(SpectatedPlayer[playerid])) SpectatedPlayer[playerid]++;
- for(new i=SpectatedPlayer[playerid]; i<MAX_PLAYERS; i++)
- {
- if(i > GetMaxPlayers()) i = 0; SpectatedPlayer[playerid] = 0;
- if(IsPlayerConnected(i) && !IsPlayerSpectating[i])
- {
- if(IsPlayerInAnyVehicle(i))PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
- else PlayerSpectatePlayer(playerid, i);
- SpectatedPlayer[playerid] = i;
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(i));
- SetPlayerInterior(playerid, GetPlayerInterior(i));
- TextDrawSetText(SpectateTD[2][playerid], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- break;
- }
- else continue;
- }
- }
- if(PRESSED(KEY_FIRE)) //Left
- {
- SpectatedPlayer[playerid]--;
- if(SpectatedPlayer[playerid] == -1)
- {
- SpectatedPlayer[playerid] = 0;
- if(SpectatedPlayer[playerid] == playerid || SpectatedPlayer[playerid] == INVALID_PLAYER_ID || !IsPlayerConnected(SpectatedPlayer[playerid]))
- {
- SpectatedPlayer[playerid]++;
- }
- }
- for(new i=SpectatedPlayer[playerid]; i>-1; i--)
- {
- if(IsPlayerConnected(i) && !IsPlayerSpectating[i])
- {
- if(IsPlayerInAnyVehicle(i)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
- else PlayerSpectatePlayer(playerid, i);
- SpectatedPlayer[playerid] = i;
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(i));
- SetPlayerInterior(playerid, GetPlayerInterior(i));
- TextDrawSetText(SpectateTD[2][playerid], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- break;
- }
- else continue;
- }
- }
- if(IsPlayerInAnyVehicle(SpectatedPlayer[playerid]))
- {
- TextDrawShowForPlayer(playerid, Speedo[playerid][0]);
- TextDrawShowForPlayer(playerid, Speedo[playerid][1]);
- TextDrawShowForPlayer(playerid, Speedo[playerid][2]);
- TextDrawShowForPlayer(playerid, Speedo[playerid][3]);
- TextDrawSetText(Speedo[playerid][0], "~r~Vehicle: ~w~%s", GetVehicleName(GetPlayerVehicleID(SpectatedPlayer[playerid])));
- SpeedoState[playerid] = 1;
- }
- else
- {
- TextDrawHideForPlayer(playerid, Speedo[playerid][0]);
- TextDrawHideForPlayer(playerid, Speedo[playerid][1]);
- TextDrawHideForPlayer(playerid, Speedo[playerid][2]);
- TextDrawHideForPlayer(playerid, Speedo[playerid][3]);
- SpeedoState[playerid] = 0;
- }
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
- {
- if(weaponid != 38)
- {
- if((gettime() - shotTime[playerid]) < 1)
- {
- shot[playerid]+=1;
- }
- else
- {
- shot[playerid]=0;
- }
- if(shot[playerid] > 10)
- {
- BanPlayer(playerid, "Anti-Retard", "Rapid Fire");
- }
- shotTime[playerid] = gettime();
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(!IsPlayerNPC(playerid))
- {
- new Float:health, str[5];
- GetPlayerHealth(playerid, health);
- format(str, sizeof(str), "%.0f", health);
- TextDrawSetString(HealBarText[playerid], str);
- GetARInfo[playerid][aFakeKillCount]--;
- new Float:armour;
- GetPlayerArmour(playerid, armour);
- if(armour == 100.0) {
- BanPlayer(playerid, "Anti-Retard", "Armour Hack"); }
- if(GetPlayerMoney(playerid) > 0) {
- BanPlayer(playerid, "Anti-Retard", "Money Hack"); }
- if(GetARInfo[playerid][aFakeKillCount] >= 3) {
- BanPlayer(playerid, "Anti-Retard", "Fakekill"); }
- new Float: x, Float: y, Float: z, var;
- GetPlayerPos(playerid, x, y, z);
- var = GetPlayerAnimationIndex (playerid);
- if (z > 8.0 && (var == 1543 || var == 1538 || var == 1539) && !IsPlayerInWater(playerid)) {
- BanPlayer(playerid, "Anti-Retard", "Fly Hack"); }
- if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) {
- BanPlayer(playerid, "Anti-Retard", "Jetpack"); }
- if(IsPlayerSpectating[playerid] && SpectatedPlayer[playerid] != INVALID_PLAYER_ID)
- {
- GetPlayerHealth(SpectatedPlayer[playerid], health);
- TextDrawSetText(SpectateTD[3][playerid], "~g~HEALTH: ~w~%.0f", health);
- TextDrawSetText(SpectateTD[4][playerid], "~y~WEAPON: ~w~%s", WeaponName(GetPlayerWeapon(SpectatedPlayer[playerid])));
- TextDrawSetText(SpectateTD[5][playerid], "~y~AMMO: ~w~%d", GetPlayerAmmo(SpectatedPlayer[playerid]));
- }
- }
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnPlayerClickTextDraw(playerid, Text:clickedid)
- {
- if(clickedid == TextDialog[7][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], -1, 0); }
- if(clickedid == TextDialog[9][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], 0, 1); }
- if(clickedid == TextDialog[10][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], 1, 1); }
- if(clickedid == TextDialog[11][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], 2, 1); }
- if(clickedid == TextDialog[12][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], 3, 1); }
- if(clickedid == TextDialog[13][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], 4, 1); }
- if(clickedid == TextDialog[14][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], 5, 1); }
- if(clickedid == TextDialog[15][playerid]) { OnTextResponse(playerid, CurrentTextDialog[playerid], 6, 1); }
- return 1;
- }
- PUBLIC: ShowPlayerTextDialog(playerid, textid)
- {
- HidePlayerTextDialog(playerid);
- for(new i = 0; i < sizeof(TextDialog); i++) {
- TextDrawShowForPlayer(playerid, TextDialog[i][playerid]); }
- PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
- switch(textid) {
- case TEXT_TELEPORT: {
- TextDrawSetString(TextDialog[4][playerid], "~y~Teleports");
- TextDrawSetString(TextDialog[9][playerid], "Spawn");
- TextDrawSetString(TextDialog[10][playerid], "Locations");
- TextDrawSetString(TextDialog[11][playerid], "Deatmatch");
- TextDrawSetString(TextDialog[12][playerid], "");
- TextDrawSetString(TextDialog[13][playerid], "");
- TextDrawSetString(TextDialog[14][playerid], "");
- TextDrawSetString(TextDialog[15][playerid], "");
- }
- case TEXT_TELEPORT_LOCATIONS: {
- TextDrawSetString(TextDialog[4][playerid], "~y~Teleports ~>~ Locations");
- TextDrawSetString(TextDialog[9][playerid], "Los Santos Airport");
- TextDrawSetString(TextDialog[10][playerid], "San Fierro Airport");
- TextDrawSetString(TextDialog[11][playerid], "Las Venturas Airport");
- TextDrawSetString(TextDialog[12][playerid], "Mount Chilliad");
- TextDrawSetString(TextDialog[13][playerid], "");
- TextDrawSetString(TextDialog[14][playerid], "");
- TextDrawSetString(TextDialog[15][playerid], "");
- }
- case TEXT_TELEPORT_DM: {
- TextDrawSetString(TextDialog[4][playerid], "~y~Teleports ~>~ Deathmatch");
- new dm_text[128];
- format(dm_text, sizeof(dm_text), "%d Players: \tDeathMatch (1) - %s, %s",CountPlayersInMode(1),WeaponName(ModeData[1][weapon1]),WeaponName(ModeData[1][weapon2]));
- TextDrawSetString(TextDialog[9][playerid], dm_text);
- format(dm_text, sizeof(dm_text), "%d Players: \tDeathMatch (2) - %s, %s",CountPlayersInMode(2),WeaponName(ModeData[2][weapon1]),WeaponName(ModeData[2][weapon2]));
- TextDrawSetString(TextDialog[10][playerid], dm_text);
- format(dm_text, sizeof(dm_text), "%d Players: \tDeathMatch (3) - %s, %s",CountPlayersInMode(3),WeaponName(ModeData[3][weapon1]),WeaponName(ModeData[3][weapon2]));
- TextDrawSetString(TextDialog[11][playerid], dm_text);
- TextDrawSetString(TextDialog[12][playerid], "");
- TextDrawSetString(TextDialog[13][playerid], "");
- TextDrawSetString(TextDialog[14][playerid], "");
- TextDrawSetString(TextDialog[15][playerid], "");
- }
- }
- SelectTextDraw(playerid, COLOR_WHITE);
- CurrentTextDialog[playerid] = textid;
- return 1;
- }
- PUBLIC: HidePlayerTextDialog(playerid)
- {
- for(new i = 0; i < sizeof(TextDialog); i++) {
- TextDrawHideForPlayer(playerid, TextDialog[i][playerid]); }
- PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
- CancelSelectTextDraw(playerid);
- CurrentTextDialog[playerid] = -1;
- return 1;
- }
- PUBLIC: OnTextResponse(playerid, textid, listitem, response)
- {
- switch(textid) {
- case TEXT_TELEPORT: {
- if(response) {
- if(listitem == 0){
- SetPlayerVirtualWorld(playerid, 0);
- SpawnPlayer(playerid);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"Spawn", GetName(playerid));
- HidePlayerTextDialog(playerid);
- }
- if(listitem == 1) ShowPlayerTextDialog(playerid, TEXT_TELEPORT_LOCATIONS);
- if(listitem == 2) ShowPlayerTextDialog(playerid, TEXT_TELEPORT_DM);
- }
- else HidePlayerTextDialog(playerid);
- }
- case TEXT_TELEPORT_DM: {
- if(response)
- {
- if(listitem == 0) //DM 1
- {
- OnPlayerModeChange(playerid, 1);
- ResetPlayerWeapons(playerid);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[1][mX],ModeData[1][mY],ModeData[1][mZ], ModeData[1][mA], ModeData[1][weapon1], ModeData[1][weapon_ammo1], ModeData[1][weapon2], ModeData[1][weapon_ammo2], ModeData[1][weapon3], ModeData[1][weapon_ammo3]);
- SpawnPlayer(playerid);
- SetPlayerVirtualWorld(playerid, ModeData[1][virtualworld]);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s joined "#HEX_LIGHTRED"DeathMatch (1)", GetName(playerid));
- S:(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL" Type /leave to leave DeathMatch (1)");
- HidePlayerTextDialog(playerid);
- SetPlayerHealth(playerid, 100.0);
- }
- if(listitem == 1) //DM 2
- {
- OnPlayerModeChange(playerid, 2);
- ResetPlayerWeapons(playerid);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[2][mX],ModeData[2][mY],ModeData[2][mZ], ModeData[2][mA], ModeData[2][weapon1], ModeData[2][weapon_ammo1], ModeData[2][weapon2], ModeData[2][weapon_ammo2], ModeData[2][weapon3], ModeData[2][weapon_ammo3]);
- SpawnPlayer(playerid);
- SetPlayerVirtualWorld(playerid, ModeData[2][virtualworld]);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s joined "#HEX_LIGHTRED"DeathMatch (2)", GetName(playerid));
- S:(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL" Type /leave to leave DeathMatch (2)");
- HidePlayerTextDialog(playerid);
- SetPlayerHealth(playerid, 100.0);
- }
- if(listitem == 2) //DM 3
- {
- OnPlayerModeChange(playerid, 3);
- ResetPlayerWeapons(playerid);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[3][mX],ModeData[3][mY],ModeData[3][mZ], ModeData[3][mA], ModeData[3][weapon1], ModeData[3][weapon_ammo1], ModeData[3][weapon2], ModeData[3][weapon_ammo2], ModeData[3][weapon3], ModeData[3][weapon_ammo3]);
- SpawnPlayer(playerid);
- SetPlayerVirtualWorld(playerid, ModeData[3][virtualworld]);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s joined "#HEX_LIGHTRED"DeathMatch (3)", GetName(playerid));
- S:(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL" Type /leave to leave DeathMatch (3)");
- HidePlayerTextDialog(playerid);
- SetPlayerHealth(playerid, 100.0);
- }
- }
- else HidePlayerTextDialog(playerid);
- }
- case TEXT_TELEPORT_LOCATIONS: {
- if(response)
- {
- if(listitem == 0) //LS Air
- {
- TeleportPlayer(playerid, 1980.6716,-2195.1440,13.5469,180.0,0);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"Los Santos Airport", GetName(playerid));
- HidePlayerTextDialog(playerid);
- }
- if(listitem == 1) //SF Air
- {
- TeleportPlayer(playerid,-1268.4443,18.7235,14.1484,135.9304,0);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"San Fierro Airport", GetName(playerid));
- HidePlayerTextDialog(playerid);
- }
- if(listitem == 2) //LV Air
- {
- TeleportPlayer(playerid, 1611.2842,1284.3335,10.8103,90.0,0);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"Las Venturas Airport", GetName(playerid));
- HidePlayerTextDialog(playerid);
- }
- if(listitem == 3) //Mount Chilliad
- {
- TeleportPlayer(playerid, -2324.5269,-1630.0385,483.7020,212.2532,0);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"Mount Chilliad", GetName(playerid));
- HidePlayerTextDialog(playerid);
- }
- }
- else HidePlayerTextDialog(playerid);
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid) {
- case DIALOG_REGISTER: {
- if(response) {
- if(strlen(inputtext) <= 3) {
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"» Register","«|-------------------------------------------------------------|»\n\n"#HEX_ORANGE"» Welcome!\n\n"#HEX_WHITE"The password was too short!\n\n"#HEX_DIALOG_COL"«|-------------------------------------------------------------|»","Register","");
- return 1; }
- else {
- CreateAccount(playerid, inputtext);
- SetPVarInt(playerid,"Eingeloggt",1);
- LoadPlayer(playerid);
- SpielerInfo[playerid][pSkin] = random(299);
- SpielerInfo[playerid][pLoggedIn] = 1;
- SetPlayerVirtualWorld(playerid, ModeData[0][virtualworld]);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[0][mX],ModeData[0][mY],ModeData[0][mZ], ModeData[0][mA], ModeData[0][weapon1], ModeData[0][weapon_ammo1], ModeData[0][weapon2], ModeData[0][weapon_ammo2], ModeData[0][weapon3], ModeData[0][weapon_ammo3]);
- SpawnPlayer(playerid);
- PlayerPlaySound(playerid, 1176, 0.0, 0.0, 10.0);
- return 1; }
- }
- else {
- Kick(playerid); }
- }
- case DIALOG_LOGIN: {
- if(response) {
- if(strlen(inputtext) == 0) {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"» Login","«|-------------------------------------------------------------|»\n\n"#HEX_ORANGE"» Welcome back!\n\n"#HEX_WHITE"Insert your password to login!\n\n"#HEX_DIALOG_COL"«|-------------------------------------------------------------|»","Login","");
- return 1; }
- else {
- new SpielerName[MAX_PLAYER_NAME], Hash[256];
- GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
- WP_Hash(Hash, sizeof (Hash), inputtext);
- if(!strcmp(Hash, mysql_ReturnPasswort(SpielerName), true)) {
- SetPVarInt(playerid,"Eingeloggt",1);
- SetPlayerVirtualWorld(playerid, ModeData[0][virtualworld]);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[0][mX],ModeData[0][mY],ModeData[0][mZ], ModeData[0][mA], ModeData[0][weapon1], ModeData[0][weapon_ammo1], ModeData[0][weapon2], ModeData[0][weapon_ammo2], ModeData[0][weapon3], ModeData[0][weapon_ammo3]);
- SpawnPlayer(playerid);
- PlayerPlaySound(playerid, 1176, 0.0, 0.0, 10.0);
- SpielerInfo[playerid][pLoggedIn] = 1;
- LoadPlayer(playerid);
- SendFormat(playerid, COLOR_ORANGE, "Welcome back, %s !",GetName(playerid));
- return 1; }
- else {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"» Login","«|-------------------------------------------------------------|»\n\n"#HEX_ORANGE"» Welcome back!\n\n"#HEX_WHITE"The password was not correct!\n\n"#HEX_DIALOG_COL"«|-------------------------------------------------------------|»","Login","");
- return 1; }
- }
- }
- else {
- Kick(playerid); }
- }
- case DIALOG_TELEPORT: {
- if(response) {
- if(listitem == 0)
- {
- SetPlayerVirtualWorld(playerid, 0);
- SpawnPlayer(playerid);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"Spawn", GetName(playerid));
- }
- if(listitem == 1)
- {
- ShowPlayerDialog(playerid, DIALOG_TELEPORT_LOCATIONS, DIALOG_STYLE_LIST, "» Locations","Los Santos Airport\nSan Fierro Airport\nLas Venturas Airport","Go","Cancel");
- }
- if(listitem == 2)
- {
- new dm_diag[500];
- format(dm_diag, sizeof(dm_diag), "%d Players: \tDeathMatch (1) - %s, %s\n%d Players: \tDeathMatch (2) - %s, %s\n%d Players: \tDeathMatch (3) - %s, %s",CountPlayersInMode(1),WeaponName(ModeData[1][weapon1]),WeaponName(ModeData[1][weapon2]),CountPlayersInMode(2),WeaponName(ModeData[2][weapon1]),WeaponName(ModeData[2][weapon2]),CountPlayersInMode(3),WeaponName(ModeData[3][weapon1]),WeaponName(ModeData[3][weapon2]));
- ShowPlayerDialog(playerid, DIALOG_TELEPORT_DM, DIALOG_STYLE_LIST, "» DeathMatch",dm_diag,"Go","Cancel");
- }
- }
- }
- case DIALOG_TELEPORT_DM: {
- if(response)
- {
- if(listitem == 0) //DM 1
- {
- OnPlayerModeChange(playerid, 1);
- ResetPlayerWeapons(playerid);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[1][mX],ModeData[1][mY],ModeData[1][mZ], ModeData[1][mA], ModeData[1][weapon1], ModeData[1][weapon_ammo1], ModeData[1][weapon2], ModeData[1][weapon_ammo2], ModeData[1][weapon3], ModeData[1][weapon_ammo3]);
- SpawnPlayer(playerid);
- SetPlayerVirtualWorld(playerid, ModeData[1][virtualworld]);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s joined "#HEX_LIGHTRED"DeathMatch (1)", GetName(playerid));
- S:(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL" Type /leave to leave DeathMatch (1)");
- }
- if(listitem == 1) //DM 2
- {
- OnPlayerModeChange(playerid, 2);
- ResetPlayerWeapons(playerid);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[2][mX],ModeData[2][mY],ModeData[2][mZ], ModeData[2][mA], ModeData[2][weapon1], ModeData[2][weapon_ammo1], ModeData[2][weapon2], ModeData[2][weapon_ammo2], ModeData[2][weapon3], ModeData[2][weapon_ammo3]);
- SpawnPlayer(playerid);
- SetPlayerVirtualWorld(playerid, ModeData[2][virtualworld]);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s joined "#HEX_LIGHTRED"DeathMatch (2)", GetName(playerid));
- S:(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL" Type /leave to leave DeathMatch (2)");
- }
- if(listitem == 2) //DM 3
- {
- OnPlayerModeChange(playerid, 3);
- ResetPlayerWeapons(playerid);
- SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin], ModeData[3][mX],ModeData[3][mY],ModeData[3][mZ], ModeData[3][mA], ModeData[3][weapon1], ModeData[3][weapon_ammo1], ModeData[3][weapon2], ModeData[3][weapon_ammo2], ModeData[3][weapon3], ModeData[3][weapon_ammo3]);
- SpawnPlayer(playerid);
- SetPlayerVirtualWorld(playerid, ModeData[3][virtualworld]);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s joined "#HEX_LIGHTRED"DeathMatch (3)", GetName(playerid));
- S:(playerid, COLOR_LIGHTRED, "[ INFO ] "#HEX_DIALOG_COL" Type /leave to leave DeathMatch (3)");
- }
- }
- }
- case DIALOG_TELEPORT_LOCATIONS: {
- if(response)
- {
- if(listitem == 0) //LS Air
- {
- TeleportPlayer(playerid, 1980.6716,-2195.1440,13.5469,180.0,0);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"Los Santos Airport", GetName(playerid));
- }
- if(listitem == 1) //SF Air
- {
- TeleportPlayer(playerid,-1268.4443,18.7235,14.1484,135.9304,0);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"San Fierro Airport", GetName(playerid));
- }
- if(listitem == 2) //LV Air
- {
- TeleportPlayer(playerid, 1611.2842,1284.3335,10.8103,90.0,0);
- SendFormatToAll(COLOR_LIGHTRED, "[ TELEPORT ] "#HEX_DIALOG_COL"%s teleported to "#HEX_LIGHTRED"Las Venturas Airport", GetName(playerid));
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- if(SpielerInfo[playerid][pAdmin] > 0)
- {
- if(IsPlayerSpectating[playerid]) {
- if(playerid == clickedplayerid) return S:(playerid, COLOR_LIGHTRED, "You can't spectate yourself");
- if(!IsPlayerSpectating[clickedplayerid])
- {
- if(IsPlayerInAnyVehicle(clickedplayerid))PlayerSpectateVehicle(playerid, GetPlayerVehicleID(clickedplayerid));
- else PlayerSpectatePlayer(playerid, clickedplayerid);
- SpectatedPlayer[playerid] = clickedplayerid;
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(clickedplayerid));
- SetPlayerInterior(playerid, GetPlayerInterior(clickedplayerid));
- TextDrawSetText(SpectateTD[2][playerid], "~g~PLAYER: ~w~%s (%d)", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- }
- else S:(playerid, COLOR_LIGHTRED, "That player is spectating");
- }
- else S:(playerid, COLOR_LIGHTRED, "You are not Spectating ( /spec )");
- }
- return 1;
- }
- PUBLIC: AddToInfoBox(Text[])
- {
- for(new i=MAX_LINES-1;i>0;i--)
- {
- Info_Message[i]=Info_Message[i-1];
- TextDrawSetString(InfoBoxText[i],Info_Message[i]);
- }
- format(Info_Message[0],MAX_LENGTH,Text);
- TextDrawSetString(InfoBoxText[0],Info_Message[0]);
- return 1;
- }
- PUBLIC: I_SetPlayerMoney(playerid, amount)
- {
- SpielerInfo[playerid][pMoney] = amount;
- TextDrawSetText(MoneyText[playerid], "%d",SpielerInfo[playerid][pMoney]);
- return 1;
- }
- PUBLIC: I_GivePlayerMoney(playerid, amount)
- {
- SpielerInfo[playerid][pMoney]+=amount;
- if(SpielerInfo[playerid][pMoney] < 0) SpielerInfo[playerid][pMoney] = 0;
- TextDrawSetText(MoneyText[playerid], "%d",SpielerInfo[playerid][pMoney]);
- return 1;
- }
- PUBLIC: I_ResetPlayerMoney(playerid)
- {
- SpielerInfo[playerid][pMoney] = 0;
- TextDrawSetString(MoneyText[playerid], "0");
- return 1;
- }
- PUBLIC: I_GetPlayerMoney(playerid)
- {
- return SpielerInfo[playerid][pMoney];
- }
- PUBLIC: BanPlayer(playerid, Admin[], Reason[])
- {
- mysql_SetInt("accounts", "Banned", 1, "Name", GetName(playerid));
- SendFormatToAll(COLOR_LIGHTRED, "%s has been banned by %s (Reason: %s)",GetName(playerid), Admin, Reason);
- ClearChat(playerid, 100);
- SendFormat(playerid, COLOR_LIGHTRED, "You have been banned by %s for %s",Admin, Reason);
- SendFormat(playerid, COLOR_LIGHTRED, "Account name: %s | IP: %s | Date: %s | Time: %s", GetName(playerid), GetIP(playerid), GetDate(), GetTime());
- new query[256];
- format(query, sizeof(query), "INSERT INTO `bans` (`Name`, `Grund`, `IP`, `Admin`,`Datum`,`Zeit`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s')", GetName(playerid), Reason, GetIP(playerid),Admin, GetDate(), GetTime());
- mysql_query(query);
- FreezePlayer(playerid);
- SetPlayerCameraPos(playerid, 1420.6412,-975.1619,57.5156);
- SetPlayerCameraLookAt(playerid, 1413.7268,-810.4615,75.2100);
- BanEx(playerid, Reason);
- return 1;
- }
- PUBLIC: KickPlayer(playerid, Admin[], Reason[])
- {
- SendFormatToAll(COLOR_LIGHTRED, "%s has been kicked by %s (Reason: %s)",GetName(playerid), Admin, Reason);
- ClearChat(playerid, 100);
- SendFormat(playerid, COLOR_LIGHTRED, "You have been kicked by %s for %s",Admin, Reason);
- FreezePlayer(playerid);
- SetPlayerCameraPos(playerid, 1420.6412,-975.1619,57.5156);
- SetPlayerCameraLookAt(playerid, 1413.7268,-810.4615,75.2100);
- return 1;
- }
- PUBLIC: TeleportPlayer(playerid, Float: PosX, Float: PosY, Float: PosZ, Float: RotZ, VirtualWorld)
- {
- FreezePlayer(playerid);
- if (GetPlayerState(playerid) == 2)
- {
- SetVehiclePos(WhatCar[playerid], PosX, PosY, PosZ+3);
- SetVehicleZAngle(WhatCar[playerid], 180);
- SetVehicleVirtualWorld(WhatCar[playerid], VirtualWorld);
- }
- else
- {
- SetPlayerPos(playerid, PosX, PosY, PosZ);
- SetPlayerFacingAngle(playerid, RotZ);
- }
- SetPlayerVirtualWorld(playerid, VirtualWorld);
- UnFreezePlayer(playerid);
- return 1;
- }
- PUBLIC: SendAdminMessage(color, string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(SpielerInfo[i][pAdmin] >= 1)
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- }
- stock GetVehicleName(vehicleid)
- {
- new String[100];
- format(String,sizeof(String),"%s",VehicleNames[GetVehicleModel(vehicleid) - 400]);
- return String;
- }
- stock IsBike(vehicle)
- {
- new vmodel = GetVehicleModel(vehicle);
- if(vmodel== 509 || vmodel == 481 || vmodel == 462 || vmodel == 522 || vmodel == 471 || vmodel == 586)
- return true;
- else
- return false;
- }
- stock GetVehicleSpeed(playerid)
- {
- new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
- new veh = GetPlayerVehicleID(playerid);
- GetVehicleVelocity(veh, speed_x, speed_y, speed_z);
- final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*100.0*1.6;
- final_speed_int = floatround(final_speed,floatround_round);
- return final_speed_int;
- }
- stock FreezePlayer(playerid) {
- TogglePlayerControllable(playerid,false); }
- stock UnFreezePlayer(playerid) {
- TogglePlayerControllable(playerid,true); }
- stock GetName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); return name; }
- stock GetIP(playerid) { new ip[24]; GetPlayerIp(playerid, ip,sizeof(ip)); return ip; }
- stock GetTime() { new Zeit[20],Stunde,Minute,Sekunde; gettime(Stunde,Minute,Sekunde); format(Zeit,sizeof(Zeit),"%02d:%02d:%02d",Stunde,Minute,Sekunde); return Zeit; }
- stock GetDate() { new Datum[30],Tag,Monat,Jahr; getdate(Jahr,Monat,Tag); format(Datum, sizeof(Datum),"%02d.%02d.%d",Tag , Monat, Jahr); return Datum; }
- stock WeaponName(weaponid) { new GunName[32]; GetWeaponName(weaponid,GunName,sizeof GunName); return GunName; }
- stock ClearChat(playerid,lines)
- {
- if(IsPlayerConnected(playerid) && lines > 0) {
- for(new l=0; l<lines; l++) {
- S:(playerid,COLOR_WHITE," "); }
- }
- }
- stock Connect_To_Database()
- {
- mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
- if(mysql_ping() == 1) {
- if(!mysql_query("SELECT * FROM `accounts` LIMIT 1") || !mysql_query("SELECT * FROM `bans` LIMIT 1")) {
- mysql_query("CREATE TABLE IF NOT EXISTS `bans` (`id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(24),`Grund` varchar(100),`IP` varchar(100),`Admin` varchar(24),`Datum` varchar(24),`Zeit` varchar(24),PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
- new Query[500];
- strcat(Query, "CREATE TABLE IF NOT EXISTS `accounts` (\
- `id` int(11) NOT NULL AUTO_INCREMENT,\
- `Name` varchar(24),\
- `Passwort` varchar(128),\
- `Money` int(11) default '0',\
- `Skin` int(11) default '0',\
- `Score` int(11) default '0',\
- `Kills` int(11) default '0',");
- strcat(Query, "`Deaths` int(11) default '0',\
- `Premium` int(11) default '0'\
- `Admin` int(11) default '0',\
- `Banned` int(11) default '0',\
- `Serial` mediumtext() default '0',\
- `Banned` int(15) NULL,\
- `LastIP` varchar(50) default '0',\
- PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
- mysql_query(Query);
- }
- else {
- print("<-| [MYSQL] Found database."); }
- print("<-| [MYSQL] Connection to the database is successful!");
- return true;
- }
- else {
- print("<-| [MYSQL] Could not connect to the database");
- print("<-| [MYSQL] There will be another attempt to connect to the database!");
- mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
- if(mysql_ping() == 1) {
- if(!mysql_query("SELECT * FROM `accounts` LIMIT 1") || !mysql_query("SELECT * FROM `bans` LIMIT 1")) {
- mysql_query("CREATE TABLE IF NOT EXISTS `bans` (`id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(24),`Grund` varchar(100),`IP` varchar(100),`Admin` varchar(24),`Datum` varchar(24),`Zeit` varchar(24),PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
- new Query[500];
- strcat(Query, "CREATE TABLE IF NOT EXISTS `accounts` (\
- `id` int(11) NOT NULL AUTO_INCREMENT,\
- `Name` varchar(24),\
- `Passwort` varchar(128),\
- `Money` int(11) default '0',\
- `Skin` int(11) default '0',\
- `Score` int(11) default '0',\
- `Kills` int(11) default '0',");
- strcat(Query, "`Deaths` int(11) default '0',\
- `Premium` int(11) default '0'\
- `Admin` int(11) default '0',\
- `Banned` int(11) default '0',\
- `Serial` mediumtext() default '0',\
- `Banned` int(15) NULL,\
- `LastIP` varchar(50) default '0',\
- PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
- mysql_query(Query);
- }
- print("<-| [MYSQL] Connection to the database is successful! [2nd attempt]");
- return true;
- }
- else {
- print("<-| [MYSQL] Could not connect to the database!");
- print("<-| [MYSQL] Shutting down the server..");
- SendRconCommand("exit");
- return true;
- }
- }
- }
- stock mysql_CheckAccount(playerid)
- {
- new Query[128],Name[MAX_PLAYER_NAME],count;
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name, Name);
- format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name);
- mysql_query(Query);
- mysql_store_result();
- count = mysql_num_rows();
- mysql_free_result();
- return count;
- }
- stock CheckPlayer(playerid)
- {
- new Query[128],Name[MAX_PLAYER_NAME],count,playerserial[128];
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name, Name);
- gpci(playerid,playerserial,sizeof(playerserial));
- format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Serial` = '%s' AND `Banned` = '1'", playerserial);
- mysql_query(Query);
- mysql_store_result();
- count = mysql_num_rows();
- mysql_free_result();
- return count;
- }
- stock CreateAccount(playerid, pass[])
- {
- new query[256],PlayerName[MAX_PLAYER_NAME],Hash[256];
- GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
- mysql_real_escape_string(PlayerName,PlayerName);
- mysql_real_escape_string(pass,pass);
- new playerserial[128];
- gpci(playerid,playerserial,sizeof(playerserial));
- WP_Hash(Hash, sizeof (Hash), pass);
- format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`, `Serial`) VALUES ('%s', '%s', '%s')", PlayerName, Hash, playerserial);
- mysql_query(query);
- return true;
- }
- stock mysql_ReturnPasswort(Name[])
- {
- new query[130], Get[130];
- mysql_real_escape_string(Name, Name);
- format(query, 128, "SELECT `Passwort` FROM `accounts` WHERE `Name` = '%s'", Name);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(Get);
- mysql_free_result();
- return Get;
- }
- stock LoadPlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) {
- GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
- SpielerInfo[playerid][pPremium] = mysql_GetInt("accounts", "Premium", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pAdmin] = mysql_GetInt("accounts", "Admin", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pMoney] = mysql_GetInt("accounts", "Money", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pDeaths] = mysql_GetInt("accounts", "Deaths", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pScore] = mysql_GetInt("accounts", "Score", "Name", SpielerInfo[playerid][pName]);
- SetPlayerSkin(playerid, SpielerInfo[playerid][pSkin]);
- SetPlayerScore(playerid, SpielerInfo[playerid][pScore]);
- TextDrawSetText(MoneyText[playerid], "%d",SpielerInfo[playerid][pMoney]);
- new PlayerIP[MAX_PLAYERS];
- GetPlayerIp(playerid, PlayerIP[playerid], 16);
- mysql_SetString("accounts", "LastIP", PlayerIP[playerid], "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pLevel] = ReturnPlayerLevel(playerid);
- if(CheckPlayer(playerid) > 0)
- {
- SendAdminMessage(COLOR_LIGHTRED, "[ POSSIBLE BAN EVADER ]");
- new string[128];
- format(string, sizeof(string), "%s «|» Serial matched with ' "#HEX_ORANGE"%d"#HEX_WHITE" ' banned player/s.",GetName(playerid), CheckPlayer(playerid));
- SendAdminMessage(COLOR_WHITE, string);
- LogEvent("possible_ban_evade_log", string);
- }
- }
- return 1;
- }
- stock SavePlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) {
- if(GetPVarInt(playerid,"Eingeloggt") == 1) {
- mysql_SetInt("accounts", "Premium", SpielerInfo[playerid][pPremium], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Money", SpielerInfo[playerid][pMoney], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][pSkin], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Score", SpielerInfo[playerid][pScore], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Deaths", SpielerInfo[playerid][pDeaths], "Name", SpielerInfo[playerid][pName]);
- }
- }
- return 1;
- }
- stock mysql_GetInt(Table[], Field[], Where[], Is[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- new sqlint = mysql_fetch_int();
- mysql_free_result();
- return sqlint;
- }
- stock mysql_GetString(Table[], Field[], Where[], Is[])
- {
- new query[128], Get[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(Get);
- mysql_free_result();
- return Get;
- }
- stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
- {
- new query[128], Float:sqlfloat;
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_float(sqlfloat);
- mysql_free_result();
- return sqlfloat;
- }
- stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(To, To);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock IsBanned(playerid)
- {
- new Query[128],Name[MAX_PLAYER_NAME],count;
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name, Name);
- format(Query, sizeof(Query), "SELECT * FROM `bans` WHERE `Name` = '%s'", Name);
- mysql_query(Query);
- mysql_store_result();
- count = mysql_num_rows();
- mysql_free_result();
- return count;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' ')) {
- index++; }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) {
- result[index - offset] = string[index];
- index++; }
- result[index - offset] = EOS;
- return result;
- }
- IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++) {
- if (string[i] > '9' || string[i] < '0') return 0; }
- return 1;
- }
- ReturnUser(text[], playerid = INVALID_PLAYER_ID)
- {
- new pos = 0;
- while (text[pos] < 0x21) {
- if (text[pos] == 0) return INVALID_PLAYER_ID;
- pos++; }
- new userid = INVALID_PLAYER_ID;
- if (IsNumeric(text[pos])) {
- userid = strval(text[pos]);
- if (userid >=0 && userid < MAX_PLAYERS) {
- if(!IsPlayerConnected(userid)) {
- userid = INVALID_PLAYER_ID;
- }
- else {
- return userid; }
- }
- }
- new len = strlen(text[pos]);
- new count = 0;
- new name[MAX_PLAYER_NAME];
- for (new i = 0; i < MAX_PLAYERS; i++) {
- if (IsPlayerConnected(i)) {
- GetPlayerName(i, name, sizeof (name));
- if (strcmp(name, text[pos], true, len) == 0) {
- if (len == strlen(name)) {
- return i; }
- else {
- count++;
- userid = i; }
- }
- }
- }
- if (count != 1) {
- if (playerid != INVALID_PLAYER_ID) {
- if (count) {
- S:(playerid, 0xFF0000AA, "Multiple users found, please narrow earch");
- }
- else {
- S:(playerid, 0xFF0000AA, "No matching user found");}
- }
- userid = INVALID_PLAYER_ID;
- }
- return userid;
- }
- stock GetRang(playerid)
- {
- new rang[50];
- switch(SpielerInfo[playerid][pAdmin]) {
- case 0:{rang="Player";}
- case 1:{rang="Trial Admin";}
- case 2:{rang="Admin";}
- case 3:{rang="Lead Admin";}
- case 4:{rang="Head of Administration";}
- case 5:{rang="Owner";}
- default:{rang="ERROR";} }
- return rang;
- }
- stock GetModeName(playerid)
- {
- new mode[50];
- switch(PlayerMode[playerid]) {
- case 0:{mode="Freeroam";}
- case 1:{mode="DeathMatch (1)";}
- case 2:{mode="DeathMatch (2)";}
- case 3:{mode="DeathMatch (3)";}
- case 1337:{mode="Spectating";}
- default:{mode="ERROR";} }
- return mode;
- }
- static const Float:WaterCords[][] = {
- { -1584.0, -1826.0, 0.00000, -1360.0, -1642.0, 0.00000 },
- { -3000.0, 354.0, 0.00000, -2832.0, 2942.0, 0.00000 },
- { -2832.0, 1296.0, 0.00000, -2704.0, 2192.0, 0.00000 },
- { -2704.0, 1360.0, 0.00000, -2240.0, 2224.0, 0.00000 },
- { -2240.0, 1432.0, 0.00000, -2000.0, 2224.0, 0.00000 },
- { -2064.0, 1312.0, 0.00000, -2000.0, 1432.0, 0.00000 },
- { -2000.0, 1392.0, 0.00000, -1712.0, 1792.0, 0.00000 },
- { -2000.0, 1792.0, 0.00000, -1724.0, 2016.0, 0.00000 },
- { -2000.0, 2016.0, 0.00000, -1836.0, 2176.0, 0.00000 },
- { -2000.0, 2176.0, 0.00000, -1920.0, 2224.0, 0.00000 },
- { -2208.0, 2224.0, 0.00000, -2000.0, 2432.0, 0.00000 },
- { -2208.0, 2432.0, 0.00000, -2000.0, 2576.0, 0.00000 },
- { -2352.0, 2448.0, 0.00000, -2208.0, 2576.0, 0.00000 },
- { -2312.0, 2344.0, 0.00000, -2208.0, 2448.0, 0.00000 },
- { -1712.0, 1360.0, 0.00000, -1600.0, 1792.0, 0.00000 },
- { -1664.0, 1280.0, 0.00000, -1600.0, 1360.0, 0.00000 },
- { -1600.0, 1280.0, 0.00000, -1440.0, 1696.0, 0.00000 },
- { -1600.0, 1696.0, 0.00000, -1488.0, 1744.0, 0.00000 },
- { -1440.0, 1440.0, 0.00000, -1232.0, 1696.0, 0.00000 },
- { -1232.0, 1440.0, 0.00000, -1136.0, 1616.0, 0.00000 },
- { -1440.0, 1280.0, 0.00000, -1136.0, 1440.0, 0.00000 },
- { -1136.0, 1248.0, 0.00000, -1104.0, 1424.0, 0.00000 },
- { -1520.0, 1104.0, 0.00000, -1104.0, 1248.0, 0.00000 },
- { -1520.0, 1248.0, 0.00000, -1136.0, 1280.0, 0.00000 },
- { -1600.0, 1200.0, 0.00000, -1520.0, 1280.0, 0.00000 },
- { -1104.0, 944.0, 0.00000, -932.0, 1136.0, 0.00000 },
- { -1424.0, 944.0, 0.00000, -1104.0, 1104.0, 0.00000 },
- { -1520.0, 1008.0, 0.00000, -1424.0, 1104.0, 0.00000 },
- { -1424.0, 784.0, 0.00000, -896.0, 944.0, 0.00000 },
- { -1488.0, 560.0, 0.00000, -896.0, 784.0, 0.00000 },
- { -1536.0, 560.0, 0.00000, -1488.0, 672.0, 0.00000 },
- { -896.0, 208.0, 0.0000, -768.0, 732.0, 0.0000 },
- { -1600.0, 208.0, 0.00000, -896.0, 560.0, 0.00000 },
- { -992.0, -144.0, 0.0000, -912.0, 208.0, 0.0000 },
- { -1748.0, -816.0, 0.00000, -1180.0, -592.0, 0.00000 },
- { -1458.0, -592.0, 0.00000, -1054.0, -432.0, 0.00000 },
- { -3000.0, -1186.0, 0.00000, -2880.0, -822.0, 0.00000 },
- { -2880.0, -1168.0, 0.00000, -2768.0, -896.0, 0.00000 },
- { -2768.0, -1106.0, 0.00000, -2656.0, -830.0, 0.00000 },
- { -2656.0, -1024.0, 0.00000, -2512.0, -816.0, 0.00000 },
- { -2512.0, -976.0, 0.00000, -2400.0, -816.0, 0.00000 },
- { -2400.0, -1056.0, 0.00000, -2256.0, -864.0, 0.00000 },
- { -2256.0, -1198.0, 0.00000, -2144.0, -950.0, 0.00000 },
- { -2144.0, -1408.0, 0.00000, -2000.0, -1072.0, 0.00000 },
- { -2000.0, -1536.0, 0.00000, -1856.0, -1280.0, 0.00000 },
- { -1856.0, -1648.0, 0.00000, -1728.0, -1440.0, 0.00000 },
- { -1728.0, -1728.0, 0.00000, -1584.0, -1520.0, 0.00000 },
- { -1360.0, -2052.0, 0.00000, -1216.0, -1696.0, 0.00000 },
- { -1440.0, -2110.0, 0.00000, -1360.0, -1950.0, 0.00000 },
- { -1484.0, -2180.0, 0.00000, -1440.0, -2036.0, 0.00000 },
- { -1572.0, -2352.0, 0.00000, -1484.0, -2096.0, 0.00000 },
- { -1216.0, -2208.0, 0.00000, -1104.0, -1864.0, 0.00000 },
- { -1232.0, -2304.0, 0.00000, -1120.0, -2208.0, 0.00000 },
- { -1270.0, -2480.0, 0.00000, -1178.0, -2304.0, 0.00000 },
- { -1260.0, -2560.0, 0.00000, -1188.0, -2480.0, 0.00000 },
- { -1262.0, -2640.0, 0.00000, -1146.0, -2560.0, 0.00000 },
- { -1216.0, -2752.0, 0.00000, -1080.0, -2640.0, 0.00000 },
- { -1200.0, -2896.0, 0.00000, -928.0, -2752.0, 0.00000 },
- { -2016.0, -3000.0, 0.00000, -1520.0, -2704.0, 0.00000 },
- { -1520.0, -3000.0, 0.00000, -1376.0, -2894.0, 0.00000 },
- { -2256.0, -3000.0, 0.00000, -2016.0, -2772.0, 0.00000 },
- { -2448.0, -3000.0, 0.00000, -2256.0, -2704.0, 0.00000 },
- { -3000.0, -3000.0, 0.00000, -2448.0, -2704.0, 0.00000 },
- { -3000.0, -2704.0, 0.00000, -2516.0, -2576.0, 0.00000 },
- { -3000.0, -2576.0, 0.00000, -2600.0, -2448.0, 0.00000 },
- { -3000.0, -2448.0, 0.00000, -2628.0, -2144.0, 0.00000 },
- { -3000.0, -2144.0, 0.00000, -2670.0, -2032.0, 0.00000 },
- { -3000.0, -2032.0, 0.00000, -2802.0, -1904.0, 0.00000 },
- { -3000.0, -1904.0, 0.00000, -2920.0, -1376.0, 0.00000 },
- { -3000.0, -1376.0, 0.00000, -2936.0, -1186.0, 0.00000 },
- { -768.0, 208.0, 0.0000, -720.0, 672.0, 0.0000 },
- { -720.0, 256.0, 0.0000, -656.0, 672.0, 0.0000 },
- { -656.0, 276.0, 0.0000, -496.0, 576.0, 0.0000 },
- { -496.0, 298.0, 0.0000, -384.0, 566.0, 0.0000 },
- { -384.0, 254.0, 0.0000, -224.0, 530.0, 0.0000 },
- { -224.0, 212.0, 0.0000, -64.0, 528.0, 0.0000 },
- { -64.0, 140.0, 0.000, 64.0, 544.0, 0.000 },
- { 64.0, 140.0, 0.00, 304.0, 544.0, 0.00 },
- { 120.0, 544.0, 0.000, 304.0, 648.0, 0.000 },
- { 304.0, 164.0, 0.000, 384.0, 608.0, 0.000 },
- { 384.0, 222.0, 0.000, 464.0, 630.0, 0.000 },
- { 464.0, 304.0, 0.000, 544.0, 656.0, 0.000 },
- { 544.0, 362.0, 0.000, 800.0, 646.0, 0.000 },
- { 800.0, 432.0, 0.000, 944.0, 704.0, 0.000 },
- { 944.0, 480.0, 0.000, 976.0, 720.0, 0.000 },
- { 976.0, 528.0, 0.000, 1040.0, 704.0, 0.000 },
- { 1040.0, 560.0, 0.0000, 1280.0, 672.0, 0.0000 },
- { 1280.0, 480.0, 0.0000, 1472.0, 640.0, 0.0000 },
- { 1472.0, 432.0, 0.0000, 1616.0, 640.0, 0.0000 },
- { 1616.0, 416.0, 0.0000, 1824.0, 608.0, 0.0000 },
- { 1824.0, 400.0, 0.0000, 2160.0, 576.0, 0.0000 },
- { 2160.0, 400.0, 0.0000, 2432.0, 512.0, 0.0000 },
- { 2432.0, 368.0, 0.0000, 2560.0, 544.0, 0.0000 },
- { 2560.0, 336.0, 0.0000, 2720.0, 576.0, 0.0000 },
- { 2720.0, 196.0, 0.0000, 2816.0, 560.0, 0.0000 },
- { 2816.0, 160.0, 0.0000, 3000.0, 576.0, 0.0000 },
- { 2860.0, -80.0, 0.0000, 3000.0, 160.0, 0.0000 },
- { -1376.0, -3000.0, 0.00000, -544.0, -2896.0, 0.00000 },
- { -928.0, -2896.0, 0.0000, -544.0, -2800.0, 0.0000 },
- { -544.0, -3000.0, 0.0000, -320.0, -2824.0, 0.0000 },
- { -320.0, -3000.0, 0.0000, -192.0, -2876.0, 0.0000 },
- { -192.0, -3000.0, 0.0000, 160.0, -2920.0, 0.0000 },
- { -128.0, -2920.0, 0.0000, 160.0, -2872.0, 0.0000 },
- { -60.0, -2872.0, 0.000, 160.0, -2816.0, 0.000 },
- { -4.0, -2816.0, 0.00, 160.0, -2672.0, 0.00 },
- { 40.0, -2672.0, 0.00, 160.0, -2256.0, 0.00 },
- { 16.0, -2560.0, 0.00, 40.0, -2256.0, 0.00 },
- { -32.0, -2440.0, 0.000, 16.0, -2256.0, 0.000 },
- { -32.0, -2488.0, 0.000, 16.0, -2440.0, 0.000 },
- { -96.0, -2440.0, 0.000, -32.0, -2256.0, 0.000 },
- { -168.0, -2384.0, 0.0000, -96.0, -2256.0, 0.0000 },
- { -224.0, -2256.0, 0.0000, 160.0, -2080.0, 0.0000 },
- { -248.0, -2080.0, 0.0000, 160.0, -1968.0, 0.0000 },
- { -280.0, -1968.0, 0.0000, -128.0, -1824.0, 0.0000 },
- { -264.0, -2016.0, 0.0000, -248.0, -1968.0, 0.0000 },
- { -264.0, -1824.0, 0.0000, -128.0, -1640.0, 0.0000 },
- { -128.0, -1768.0, 0.0000, 124.0, -1648.0, 0.0000 },
- { -128.0, -1792.0, 0.0000, 140.0, -1768.0, 0.0000 },
- { -128.0, -1968.0, 0.0000, 148.0, -1792.0, 0.0000 },
- { 160.0, -2128.0, 0.000, 592.0, -1976.0, 0.000 },
- { 480.0, -1976.0, 0.000, 592.0, -1896.0, 0.000 },
- { 352.0, -1976.0, 0.000, 480.0, -1896.0, 0.000 },
- { 232.0, -1976.0, 0.000, 352.0, -1880.0, 0.000 },
- { 160.0, -1976.0, 0.000, 232.0, -1872.0, 0.000 },
- { 160.0, -2784.0, 0.000, 592.0, -2128.0, 0.000 },
- { 160.0, -3000.0, 0.000, 592.0, -2784.0, 0.000 },
- { 352.0, -1896.0, 0.000, 544.0, -1864.0, 0.000 },
- { 592.0, -2112.0, 0.000, 976.0, -1896.0, 0.000 },
- { 736.0, -1896.0, 0.000, 904.0, -1864.0, 0.000 },
- { 704.0, -1896.0, 0.000, 736.0, -1728.0, 0.000 },
- { 736.0, -1864.0, 0.000, 752.0, -1728.0, 0.000 },
- { 688.0, -1728.0, 0.000, 752.0, -1480.0, 0.000 },
- { 592.0, -2192.0, 0.000, 976.0, -2112.0, 0.000 },
- { 592.0, -2328.0, 0.000, 1008.0, -2192.0, 0.000 },
- { 592.0, -3000.0, 0.000, 1008.0, -2328.0, 0.000 },
- { 1008.0, -3000.0, 0.0000, 1072.0, -2368.0, 0.0000 },
- { 1008.0, -2368.0, 0.0000, 1064.0, -2320.0, 0.0000 },
- { 1072.0, -2672.0, 0.0000, 1288.0, -2412.0, 0.0000 },
- { 1072.0, -2768.0, 0.0000, 1288.0, -2672.0, 0.0000 },
- { 1072.0, -3000.0, 0.0000, 1288.0, -2768.0, 0.0000 },
- { 1288.0, -3000.0, 0.0000, 1448.0, -2760.0, 0.0000 },
- { 1288.0, -2760.0, 0.0000, 1392.0, -2688.0, 0.0000 },
- { 1448.0, -3000.0, 0.0000, 1720.0, -2754.0, 0.0000 },
- { 1720.0, -3000.0, 0.0000, 2064.0, -2740.0, 0.0000 },
- { 2064.0, -3000.0, 0.0000, 2144.0, -2742.0, 0.0000 },
- { 2144.0, -3000.0, 0.0000, 2208.0, -2700.0, 0.0000 },
- { 2208.0, -3000.0, 0.0000, 2272.0, -2684.0, 0.0000 },
- { 2272.0, -3000.0, 0.0000, 2376.0, -2312.0, 0.0000 },
- { 2376.0, -2480.0, 0.0000, 2472.0, -2240.0, 0.0000 },
- { 2472.0, -2376.0, 0.0000, 2776.0, -2240.0, 0.0000 },
- { 2776.0, -2336.0, 0.0000, 2856.0, -2192.0, 0.0000 },
- { 2808.0, -2560.0, 0.0000, 3000.0, -2336.0, 0.0000 },
- { 2856.0, -2336.0, 0.0000, 3000.0, -2136.0, 0.0000 },
- { 2888.0, -2136.0, 0.0000, 3000.0, -1840.0, 0.0000 },
- { 2872.0, -1880.0, 0.0000, 2888.0, -1840.0, 0.0000 },
- { 2864.0, -1840.0, 0.0000, 3000.0, -1720.0, 0.0000 },
- { 2888.0, -1720.0, 0.0000, 3000.0, -1664.0, 0.0000 },
- { 2896.0, -1664.0, 0.0000, 3000.0, -1592.0, 0.0000 },
- { 2920.0, -1592.0, 0.0000, 3000.0, -1504.0, 0.0000 },
- { 2940.0, -1504.0, 0.0000, 3000.0, -1344.0, 0.0000 },
- { 2908.0, -1344.0, 0.0000, 3000.0, -1096.0, 0.0000 },
- { 2912.0, -1096.0, 0.0000, 3000.0, -800.0, 0.0000 },
- { 2918.0, -800.0, 0.0000, 3000.0, -472.0, 0.0000 },
- { 2872.0, -472.0, 0.0000, 3000.0, -376.0, 0.0000 },
- { 2912.0, -376.0, 0.0000, 3000.0, -80.0, 0.0000 },
- { 2864.0, -376.0, 0.0000, 2912.0, -80.0, 0.0000 },
- { 2560.0, -2560.0, 0.0000, 2680.0, -2456.0, 0.0000 },
- { -992.0, -422.0, 0.0000, -848.0, -238.0, 0.0000 },
- { -848.0, -384.0, 0.0000, -512.0, -256.0, 0.0000 },
- { -512.0, -400.0, 0.0000, -320.0, -272.0, 0.0000 },
- { -320.0, -400.0, 0.0000, -208.0, -304.0, 0.0000 },
- { -384.0, -528.0, 0.0000, -100.0, -460.0, 0.0000 },
- { -384.0, -704.0, 0.0000, -64.0, -528.0, 0.0000 },
- { -336.0, -816.0, 0.0000, -80.0, -704.0, 0.0000 },
- { -208.0, -936.0, 0.0000, -48.0, -816.0, 0.0000 },
- { -48.0, -936.0, 0.000, 144.0, -874.0, 0.000 },
- { 32.0, -1024.0, 0.00, 128.0, -936.0, 0.00 },
- { -16.0, -1104.0, 0.000, 96.0, -1024.0, 0.000 },
- { 0.0, -1200.0, 0.0, 144.0, -1104.0, 0.0 },
- { -16.0, -1296.0, 0.000, 128.0, -1200.0, 0.000 },
- { -16.0, -1440.0, 0.000, 112.0, -1296.0, 0.000 },
- { 0.0, -1552.0, 0.0, 96.0, -1440.0, 0.0 },
- { -128.0, -1648.0, 0.0000, 96.0, -1552.0, 0.0000 },
- { -64.0, -672.0, 0.000, 32.0, -576.0, 0.000 },
- { -64.0, -576.0, 0.000, 96.0, -496.0, 0.000 },
- { 16.0, -496.0, 0.00, 144.0, -392.0, 0.00 },
- { 144.0, -448.0, 0.000, 240.0, -384.0, 0.000 },
- { 240.0, -432.0, 0.000, 304.0, -320.0, 0.000 },
- { 304.0, -384.0, 0.000, 352.0, -288.0, 0.000 },
- { 352.0, -332.0, 0.000, 400.0, -252.0, 0.000 },
- { 400.0, -298.0, 0.000, 464.0, -234.0, 0.000 },
- { 464.0, -288.0, 0.000, 576.0, -208.0, 0.000 },
- { 576.0, -272.0, 0.000, 688.0, -192.0, 0.000 },
- { 688.0, -256.0, 0.000, 768.0, -144.0, 0.000 },
- { 768.0, -212.0, 0.000, 800.0, -124.0, 0.000 },
- { 800.0, -180.0, 0.000, 976.0, -92.0, 0.000 },
- { 976.0, -160.0, 0.000, 1200.0, -64.0, 0.000 },
- { 1200.0, -244.0, 0.0000, 1264.0, -108.0, 0.0000 },
- { 1264.0, -330.0, 0.0000, 1344.0, -158.0, 0.0000 },
- { 1344.0, -320.0, 0.0000, 1456.0, -208.0, 0.0000 },
- { 1456.0, -282.0, 0.0000, 1520.0, -198.0, 0.0000 },
- { 1520.0, -208.0, 0.0000, 1648.0, -80.0, 0.0000 },
- { 1568.0, -80.0, 0.0000, 1648.0, 16.0, 0.0000 },
- { 1648.0, -64.0, 0.0000, 1792.0, 16.0, 0.0000 },
- { 1792.0, -128.0, 0.0000, 1888.0, 0.0, 0.0000 },
- { 1888.0, -268.0, 0.0000, 2016.0, -20.0, 0.0000 },
- { 2016.0, -256.0, 0.0000, 2144.0, -16.0, 0.0000 },
- { 2144.0, -272.0, 0.0000, 2224.0, -96.0, 0.0000 },
- { 2224.0, -272.0, 0.0000, 2288.0, -144.0, 0.0000 },
- { 2048.0, -16.0, 0.0000, 2144.0, 112.0, 0.0000 },
- { 2096.0, 112.0, 0.0000, 2224.0, 240.0, 0.0000 },
- { 2098.0, 240.0, 0.0000, 2242.0, 400.0, 0.0000 },
- { 2160.0, 512.0, 0.0000, 2432.0, 576.0, 0.0000 },
- { 2432.0, 544.0, 0.0000, 2560.0, 592.0, 0.0000 },
- { 2560.0, 576.0, 0.0000, 2720.0, 608.0, 0.0000 },
- { 2720.0, 560.0, 0.0000, 2816.0, 608.0, 0.0000 },
- { 2816.0, 576.0, 0.0000, 3000.0, 752.0, 0.0000 },
- { -656.0, 576.0, 0.0000, -496.0, 672.0, 0.0000 },
- { -740.0, 672.0, 0.0000, -484.0, 784.0, 0.0000 },
- { -720.0, 784.0, 0.0000, -384.0, 1008.0, 0.0000 },
- { -640.0, 1008.0, 0.0000, -400.0, 1216.0, 0.0000 },
- { -880.0, 1296.0, 0.0000, -688.0, 1408.0, 0.0000 },
- { -688.0, 1216.0, 0.0000, -400.0, 1424.0, 0.0000 },
- { -672.0, 1424.0, 0.0000, -448.0, 1616.0, 0.0000 },
- { -832.0, 1616.0, 0.0000, -512.0, 1728.0, 0.0000 },
- { -984.0, 1632.0, 0.0000, -832.0, 1712.0, 0.0000 },
- { -832.0, 1728.0, 0.0000, -576.0, 2032.0, 0.0000 },
- { -1248.0, 2536.0, 40.6000, -1088.0, 2824.0, 40.6000 },
- { -1088.0, 2544.0, 40.5999, -1040.0, 2800.0, 40.6000 },
- { -1040.0, 2544.0, 40.5999, -832.0, 2760.0, 40.6000 },
- { -1088.0, 2416.0, 40.6000, -832.0, 2544.0, 40.6000 },
- { -1040.0, 2304.0, 40.6000, -864.0, 2416.0, 40.5999 },
- { -1024.0, 2144.0, 40.6000, -864.0, 2304.0, 40.6000 },
- { -1072.0, 2152.0, 40.5999, -1024.0, 2264.0, 40.5999 },
- { -1200.0, 2114.0, 40.6000, -1072.0, 2242.0, 40.5999 },
- { -976.0, 2016.0, 40.600, -848.0, 2144.0, 40.599 },
- { -864.0, 2144.0, 40.599, -448.0, 2272.0, 40.600 },
- { -700.0, 2272.0, 40.599, -484.0, 2320.0, 40.600 },
- { -608.0, 2320.0, 40.599, -528.0, 2352.0, 40.600 },
- { -848.0, 2044.0, 40.599, -816.0, 2144.0, 40.599 },
- { -816.0, 2060.0, 40.599, -496.0, 2144.0, 40.599 },
- { -604.0, 2036.0, 40.600, -484.0, 2060.0, 40.600 },
- { 2376.0, -3000.0, 0.0000, 3000.0, -2688.0, 0.0000 },
- { 2520.0, -2688.0, 0.0000, 3000.0, -2560.0, 0.0000 },
- { -1328.0, 2082.0, 40.5999, -1200.0, 2210.0, 40.6000 },
- { -1400.0, 2074.0, 40.6000, -1328.0, 2150.0, 40.5999 },
- { -1248.0, -144.0, 0.00000, -992.0, 208.0, 0.00000 },
- { -1176.0, -432.0, 0.00000, -992.0, -144.0, 0.00000 },
- { -1792.0, -592.0, 0.00000, -1728.0, -144.0, 0.00000 },
- { -1792.0, 170.0, 0.00000, -1600.0, 274.0, 0.00000 },
- { -1600.0, 168.0, 0.00000, -1256.0, 208.0, 0.00000 },
- { -1574.0, -44.0, 0.00000, -1550.0, 108.0, 0.00000 },
- { 1928.0, -1222.0, 18.000, 2012.0, -1178.0, 18.000 },
- { -464.0, -1908.0, 0.0000, -280.0, -1832.0, 0.0000 },
- { 2248.0, -1182.0, 23.337, 2260.0, -1170.0, 23.337 },
- { 2292.0, -1432.0, 22.165, 2328.0, -1400.0, 22.165 },
- { 1888.0, 1468.0, 8.5983, 2036.0, 1700.0, 8.5983 },
- { 2090.0, 1670.0, 9.6117, 2146.0, 1694.0, 9.6117 },
- { 2110.0, 1234.0, 7.8327, 2178.0, 1330.0, 7.8327 },
- { 2108.0, 1084.0, 7.5628, 2180.0, 1172.0, 7.5628 },
- { 2506.0, 1546.0, 8.9670, 2554.0, 1586.0, 8.9670 },
- { 1270.0, -812.0, 86.673, 1290.0, -800.0, 86.673 },
- { 1084.0, -684.0, 112.00, 1104.0, -660.0, 112.00 },
- { 502.0, -1114.0, 78.42, 522.0, -1098.0, 78.42 },
- { 214.0, -1208.0, 74.00, 246.0, -1180.0, 74.00 },
- { 218.0, -1180.0, 74.00, 238.0, -1172.0, 74.00 },
- { 178.0, -1244.0, 77.05, 206.0, -1216.0, 77.05 },
- { 1744.0, 2780.0, 8.4729, 1792.0, 2868.0, 8.4729 },
- { -2832.0, 2888.0, 0.00000, 3000.0, 3000.0, 0.00000 },
- { -2778.0, -522.0, 2.79256, -2662.0, -414.0, 2.79256 },
- { 1520.0, -252.0, 0.0000, 1572.0, -208.0, 0.0000 },
- { 2922.0, 752.0, 0.0000, 3000.0, 2888.0, 0.0000 },
- { -3000.0, -446.0, 0.00000, -2910.0, 354.0, 0.00000 },
- { -2434.0, 2224.0, 0.00000, -2294.0, 2340.0, 0.00000 },
- { -2294.0, 2224.0, 0.00000, -2208.0, 2312.0, 0.00000 },
- { 2058.0, 1868.0, 9.6291, 2110.0, 1964.0, 9.6291 },
- { -3000.0, 2942.0, 0.00000, -2832.0, 3000.0, 0.00000 },
- { -550.0, 2004.0, 40.600, -494.0, 2036.0, 40.599 },
- { -896.0, 842.0, 0.0000, -776.0, 954.0, 0.0000 },
- { -2240.0, 1336.0, 0.00000, -2088.0, 1432.0, 0.00000 },
- { -3000.0, -822.0, 0.00000, -2930.0, -446.0, 0.00000 },
- { -2660.0, 2224.0, 0.00000, -2520.0, 2264.0, 0.00000 },
- { -378.0, -460.0, 0.0000, -138.0, -400.0, 0.0000 },
- { 1836.0, 1468.0, 8.5983, 1888.0, 1568.0, 8.5983 },
- { 890.0, -1106.0, 22.41, 902.0, -1098.0, 22.41 },
- { 1202.0, -2414.0, 8.8644, 1278.0, -2334.0, 8.8644 },
- { 1072.0, -2412.0, 0.0000, 1128.0, -2372.0, 0.0000 },
- { -848.0, -2082.0, 5.2700, -664.0, -1866.0, 5.2700 },
- { -664.0, -1924.0, 5.2700, -464.0, -1864.0, 5.2700 },
- { -1484.0, 784.0, 0.00000, -1424.0, 840.0, 0.00000 },
- { -496.0, 566.0, 0.0000, -432.0, 642.0, 0.0000 },
- { 250.0, 2808.0, 0.000, 818.0, 2888.0, 0.000 },
- { 2502.0, -2240.0, 0.0000, 2670.0, -2120.0, -5.000 },
- { 1270.0, -780.0, 1082.7, 1290.0, -768.0, 1082.7 },
- { 88.0, 544.0, 0.00, 120.0, 572.0, 0.00 },
- { 1856.0, -202.0, 0.0000, 1888.0, -158.0, 0.0000 },
- { -2048.0, -962.0, 30.4000, -2004.0, -758.0, 30.4000 },
- { 2564.0, 2370.0, 16.400, 2604.0, 2398.0, 16.400 },
- { -2522.0, -310.0, 35.3820, -2382.0, -234.0, 35.3820 },
- { 2872.0, -2136.0, 0.0000, 2888.0, -2120.0, 0.0000 },
- { 2760.0, -2240.0, 0.0000, 2776.0, -2232.0, 0.0000 },
- { -2832.0, 1296.0, 0.00000, -2704.0, 2192.0, 0.00000 },
- { -2704.0, 1360.0, 0.00000, -2240.0, 2224.0, 0.00000 },
- { -2240.0, 1440.0, 0.00000, -2000.0, 2224.0, 0.00000 },
- { -2064.0, 1312.0, 0.00000, -2000.0, 1440.0, 0.00000 },
- { -2000.0, 1392.0, 0.00000, -1712.0, 1792.0, 0.00000 },
- { -2000.0, 1792.0, 0.00000, -1760.0, 2016.0, 0.00000 },
- { -2000.0, 2016.0, 0.00000, -1856.0, 2176.0, 0.00000 },
- { -2000.0, 2176.0, 0.00000, -1920.0, 2224.0, 0.00000 },
- { -2208.0, 2224.0, 0.00000, -2000.0, 2432.0, 0.00000 },
- { -2208.0, 2432.0, 0.00000, -2000.0, 2560.0, 0.00000 },
- { -2352.0, 2448.0, 0.00000, -2208.0, 2560.0, 0.00000 },
- { -2304.0, 2352.0, 0.00000, -2208.0, 2448.0, 0.00000 },
- { -1712.0, 1360.0, 0.00000, -1600.0, 1792.0, 0.00000 },
- { -1664.0, 1280.0, 0.00000, -1600.0, 1360.0, 0.00000 },
- { -1600.0, 1280.0, 0.00000, -1440.0, 1696.0, 0.00000 },
- { -1600.0, 1696.0, 0.00000, -1536.0, 1728.0, 0.00000 },
- { -1440.0, 1440.0, 0.00000, -1232.0, 1680.0, 0.00000 },
- { -1232.0, 1440.0, 0.00000, -1136.0, 1616.0, 0.00000 },
- { -1440.0, 1280.0, 0.00000, -1136.0, 1440.0, 0.00000 },
- { -1136.0, 1248.0, 0.00000, -1104.0, 1424.0, 0.00000 },
- { -1520.0, 1104.0, 0.00000, -1104.0, 1248.0, 0.00000 },
- { -1520.0, 1248.0, 0.00000, -1136.0, 1280.0, 0.00000 },
- { -1600.0, 1200.0, 0.00000, -1520.0, 1280.0, 0.00000 },
- { -1104.0, 944.0, 0.00000, -960.0, 1136.0, 0.00000 },
- { -1424.0, 944.0, 0.00000, -1104.0, 1104.0, 0.00000 },
- { -1520.0, 1008.0, 0.00000, -1424.0, 1104.0, 0.00000 },
- { -1424.0, 784.0, 0.00000, -896.0, 944.0, 0.00000 },
- { -1488.0, 560.0, 0.00000, -896.0, 784.0, 0.00000 },
- { -1536.0, 560.0, 0.00000, -1488.0, 672.0, 0.00000 },
- { -896.0, 208.0, 0.0000, -768.0, 720.0, 0.0000 },
- { -1600.0, 208.0, 0.00000, -896.0, 560.0, 0.00000 },
- { -992.0, -144.0, 0.0000, -912.0, 208.0, 0.0000 },
- { -1744.0, -816.0, 0.00000, -1184.0, -592.0, 0.00000 },
- { -1456.0, -592.0, 0.00000, -1056.0, -432.0, 0.00000 },
- { -3000.0, -1184.0, 0.00000, -2880.0, -816.0, 0.00000 },
- { -2880.0, -1168.0, 0.00000, -2768.0, -896.0, 0.00000 },
- { -2768.0, -1088.0, 0.00000, -2656.0, -848.0, 0.00000 },
- { -2656.0, -1024.0, 0.00000, -2512.0, -816.0, 0.00000 },
- { -2512.0, -976.0, 0.00000, -2400.0, -816.0, 0.00000 },
- { -2400.0, -1056.0, 0.00000, -2256.0, -864.0, 0.00000 },
- { -2256.0, -1184.0, 0.00000, -2144.0, -976.0, 0.00000 },
- { -2144.0, -1408.0, 0.00000, -2000.0, -1072.0, 0.00000 },
- { -2000.0, -1536.0, 0.00000, -1856.0, -1280.0, 0.00000 },
- { -1856.0, -1648.0, 0.00000, -1728.0, -1440.0, 0.00000 },
- { -1728.0, -1728.0, 0.00000, -1584.0, -1520.0, 0.00000 },
- { -1584.0, -1792.0, 0.00000, -1344.0, -1648.0, 0.00000 },
- { -1344.0, -2032.0, 0.00000, -1216.0, -1712.0, 0.00000 },
- { -1440.0, -2112.0, 0.00000, -1344.0, -1968.0, 0.00000 },
- { -1488.0, -2192.0, 0.00000, -1440.0, -2048.0, 0.00000 },
- { -1568.0, -2352.0, 0.00000, -1488.0, -2096.0, 0.00000 },
- { -1216.0, -2208.0, 0.00000, -1104.0, -1888.0, 0.00000 },
- { -1232.0, -2304.0, 0.00000, -1120.0, -2208.0, 0.00000 },
- { -1248.0, -2480.0, 0.00000, -1184.0, -2304.0, 0.00000 },
- { -1248.0, -2560.0, 0.00000, -1200.0, -2480.0, 0.00000 },
- { -1248.0, -2640.0, 0.00000, -1152.0, -2560.0, 0.00000 },
- { -1200.0, -2752.0, 0.00000, -1088.0, -2640.0, 0.00000 },
- { -1200.0, -2896.0, 0.00000, -928.0, -2752.0, 0.00000 },
- { -2016.0, -2976.0, 0.00000, -1520.0, -2704.0, 0.00000 },
- { -1520.0, -2976.0, 0.00000, -1376.0, -2896.0, 0.00000 },
- { -2256.0, -2992.0, 0.00000, -2016.0, -2768.0, 0.00000 },
- { -2448.0, -2992.0, 0.00000, -2256.0, -2704.0, 0.00000 },
- { -2912.0, -2992.0, 0.00000, -2448.0, -2704.0, 0.00000 },
- { -3000.0, -2704.0, 0.00000, -2516.0, -2576.0, 0.00000 },
- { -3000.0, -2576.0, 0.00000, -2600.0, -2448.0, 0.00000 },
- { -3000.0, -2448.0, 0.00000, -2628.0, -2144.0, 0.00000 },
- { -3000.0, -2144.0, 0.00000, -2670.0, -2032.0, 0.00000 },
- { -3000.0, -2032.0, 0.00000, -2836.0, -1904.0, 0.00000 },
- { -3000.0, -1904.0, 0.00000, -2924.0, -1376.0, 0.00000 },
- { -3000.0, -1376.0, 0.00000, -2960.0, -1184.0, 0.00000 },
- { -2960.0, -1244.0, 0.00000, -2936.0, -1184.0, 0.00000 },
- { -768.0, 224.0, 0.0000, -720.0, 656.0, 0.0000 },
- { -720.0, 256.0, 0.0000, -656.0, 672.0, 0.0000 },
- { -656.0, 288.0, 0.0000, -496.0, 576.0, 0.0000 },
- { -496.0, 304.0, 0.0000, -384.0, 560.0, 0.0000 },
- { -384.0, 272.0, 0.0000, -224.0, 512.0, 0.0000 },
- { -224.0, 224.0, 0.0000, -64.0, 480.0, 0.0000 },
- { -64.0, 160.0, 0.000, 64.0, 496.0, 0.000 },
- { 64.0, 144.0, 0.00, 304.0, 544.0, 0.00 },
- { 144.0, 544.0, 0.000, 304.0, 608.0, 0.000 },
- { 304.0, 176.0, 0.000, 384.0, 608.0, 0.000 },
- { 384.0, 240.0, 0.000, 464.0, 624.0, 0.000 },
- { 464.0, 304.0, 0.000, 544.0, 624.0, 0.000 },
- { 544.0, 368.0, 0.000, 800.0, 640.0, 0.000 },
- { 800.0, 432.0, 0.000, 944.0, 672.0, 0.000 },
- { 944.0, 480.0, 0.000, 976.0, 688.0, 0.000 },
- { 976.0, 528.0, 0.000, 1040.0, 688.0, 0.000 },
- { 1040.0, 560.0, 0.0000, 1280.0, 656.0, 0.0000 },
- { 1280.0, 480.0, 0.0000, 1472.0, 640.0, 0.0000 },
- { 1472.0, 432.0, 0.0000, 1616.0, 640.0, 0.0000 },
- { 1616.0, 416.0, 0.0000, 1824.0, 608.0, 0.0000 },
- { 1824.0, 400.0, 0.0000, 2160.0, 576.0, 0.0000 },
- { 2160.0, 400.0, 0.0000, 2432.0, 512.0, 0.0000 },
- { 2432.0, 368.0, 0.0000, 2560.0, 544.0, 0.0000 },
- { 2560.0, 336.0, 0.0000, 2720.0, 576.0, 0.0000 },
- { 2720.0, 304.0, 0.0000, 2816.0, 560.0, 0.0000 },
- { 2816.0, 160.0, 0.0000, 2992.0, 576.0, 0.0000 },
- { 2864.0, -80.0, 0.0000, 2992.0, 160.0, 0.0000 },
- { -1376.0, -2976.0, 0.00000, -544.0, -2896.0, 0.00000 },
- { -928.0, -2896.0, 0.0000, -544.0, -2800.0, 0.0000 },
- { -544.0, -2976.0, 0.0000, -320.0, -2840.0, 0.0000 },
- { -320.0, -2976.0, 0.0000, -192.0, -2880.0, 0.0000 },
- { -192.0, -2976.0, 0.0000, 160.0, -2920.0, 0.0000 },
- { -104.0, -2920.0, 0.0000, 160.0, -2872.0, 0.0000 },
- { -32.0, -2872.0, 0.000, 160.0, -2816.0, 0.000 },
- { 16.0, -2816.0, 0.00, 160.0, -2672.0, 0.00 },
- { 40.0, -2672.0, 0.00, 160.0, -2256.0, 0.00 },
- { 16.0, -2536.0, 0.00, 40.0, -2256.0, 0.00 },
- { -32.0, -2440.0, 0.000, 16.0, -2256.0, 0.000 },
- { -16.0, -2488.0, 0.000, 16.0, -2440.0, 0.000 },
- { -96.0, -2424.0, 0.000, -32.0, -2256.0, 0.000 },
- { -168.0, -2384.0, 0.0000, -96.0, -2256.0, 0.0000 },
- { -224.0, -2256.0, 0.0000, 160.0, -2080.0, 0.0000 },
- { -248.0, -2080.0, 0.0000, 160.0, -1968.0, 0.0000 },
- { -280.0, -1968.0, 0.0000, -128.0, -1824.0, 0.0000 },
- { -264.0, -2016.0, 0.0000, -248.0, -1968.0, 0.0000 },
- { -264.0, -1824.0, 0.0000, -128.0, -1648.0, 0.0000 },
- { -128.0, -1768.0, 0.0000, 112.0, -1648.0, 0.0000 },
- { -128.0, -1792.0, 0.0000, 120.0, -1768.0, 0.0000 },
- { -128.0, -1968.0, 0.0000, 136.0, -1792.0, 0.0000 },
- { 160.0, -2128.0, 0.000, 592.0, -1976.0, 0.000 },
- { 480.0, -1976.0, 0.000, 592.0, -1896.0, 0.000 },
- { 352.0, -1976.0, 0.000, 480.0, -1896.0, 0.000 },
- { 232.0, -1976.0, 0.000, 352.0, -1880.0, 0.000 },
- { 160.0, -1976.0, 0.000, 232.0, -1872.0, 0.000 },
- { 136.0, -1968.0, 0.000, 160.0, -1872.0, 0.000 },
- { 160.0, -2784.0, 0.000, 592.0, -2128.0, 0.000 },
- { 160.0, -2976.0, 0.000, 592.0, -2784.0, 0.000 },
- { 352.0, -1896.0, 0.000, 544.0, -1864.0, 0.000 },
- { 592.0, -2112.0, 0.000, 976.0, -1896.0, 0.000 },
- { 736.0, -1896.0, 0.000, 904.0, -1864.0, 0.000 },
- { 704.0, -1888.0, 0.000, 736.0, -1728.0, 0.000 },
- { 736.0, -1808.0, 0.000, 752.0, -1728.0, 0.000 },
- { 696.0, -1728.0, 0.000, 744.0, -1480.0, 0.000 },
- { 592.0, -2192.0, 0.000, 976.0, -2112.0, 0.000 },
- { 592.0, -2328.0, 0.000, 1008.0, -2192.0, 0.000 },
- { 592.0, -2976.0, 0.000, 1008.0, -2328.0, 0.000 },
- { 1008.0, -2976.0, 0.0000, 1072.0, -2368.0, 0.0000 },
- { 1008.0, -2368.0, 0.0000, 1064.0, -2328.0, 0.0000 },
- { 1072.0, -2672.0, 0.0000, 1288.0, -2376.0, 0.0000 },
- { 1072.0, -2768.0, 0.0000, 1288.0, -2672.0, 0.0000 },
- { 1072.0, -2976.0, 0.0000, 1288.0, -2768.0, 0.0000 },
- { 1288.0, -2976.0, 0.0000, 1448.0, -2760.0, 0.0000 },
- { 1288.0, -2760.0, 0.0000, 1392.0, -2688.0, 0.0000 },
- { 1448.0, -2976.0, 0.0000, 1720.0, -2760.0, 0.0000 },
- { 1720.0, -2976.0, 0.0000, 2064.0, -2760.0, 0.0000 },
- { 2064.0, -2976.0, 0.0000, 2144.0, -2744.0, 0.0000 },
- { 2144.0, -2976.0, 0.0000, 2208.0, -2704.0, 0.0000 },
- { 2208.0, -2976.0, 0.0000, 2272.0, -2696.0, 0.0000 },
- { 2272.0, -2976.0, 0.0000, 2376.0, -2312.0, 0.0000 },
- { 2376.0, -2464.0, 0.0000, 2472.0, -2240.0, 0.0000 },
- { 2472.0, -2376.0, 0.0000, 2776.0, -2240.0, 0.0000 },
- { 2776.0, -2336.0, 0.0000, 2856.0, -2192.0, 0.0000 },
- { 2808.0, -2560.0, 0.0000, 3000.0, -2336.0, 0.0000 },
- { 2856.0, -2336.0, 0.0000, 3000.0, -2136.0, 0.0000 },
- { 2888.0, -2136.0, 0.0000, 3000.0, -1840.0, 0.0000 },
- { 2872.0, -1880.0, 0.0000, 2888.0, -1840.0, 0.0000 },
- { 2864.0, -1840.0, 0.0000, 3000.0, -1720.0, 0.0000 },
- { 2888.0, -1720.0, 0.0000, 3000.0, -1664.0, 0.0000 },
- { 2896.0, -1664.0, 0.0000, 3000.0, -1592.0, 0.0000 },
- { 2920.0, -1592.0, 0.0000, 3000.0, -1504.0, 0.0000 },
- { 2944.0, -1504.0, 0.0000, 3000.0, -1344.0, 0.0000 },
- { 2944.0, -1344.0, 0.0000, 3000.0, -1096.0, 0.0000 },
- { 2936.0, -1280.0, 0.0000, 2944.0, -1096.0, 0.0000 },
- { 2928.0, -1224.0, 0.0000, 2936.0, -1096.0, 0.0000 },
- { 2920.0, -1160.0, 0.0000, 2928.0, -1096.0, 0.0000 },
- { 2912.0, -1128.0, 0.0000, 2920.0, -1096.0, 0.0000 },
- { 2912.0, -1096.0, 0.0000, 3000.0, -800.0, 0.0000 },
- { 2936.0, -800.0, 0.0000, 3000.0, -472.0, 0.0000 },
- { 2920.0, -472.0, 0.0000, 3000.0, -376.0, 0.0000 },
- { 2912.0, -376.0, 0.0000, 3000.0, -80.0, 0.0000 },
- { 2864.0, -344.0, 0.0000, 2912.0, -80.0, 0.0000 },
- { 2560.0, -2560.0, 0.0000, 2680.0, -2456.0, 0.0000 },
- { -992.0, -384.0, 0.0000, -848.0, -240.0, 0.0000 },
- { -848.0, -384.0, 0.0000, -512.0, -256.0, 0.0000 },
- { -512.0, -400.0, 0.0000, -320.0, -288.0, 0.0000 },
- { -320.0, -400.0, 0.0000, -208.0, -304.0, 0.0000 },
- { -384.0, -528.0, 0.0000, -112.0, -400.0, 0.0000 },
- { -384.0, -704.0, 0.0000, -64.0, -528.0, 0.0000 },
- { -336.0, -816.0, 0.0000, -80.0, -704.0, 0.0000 },
- { -208.0, -928.0, 0.0000, -48.0, -816.0, 0.0000 },
- { -48.0, -928.0, 0.000, 144.0, -880.0, 0.000 },
- { 32.0, -1024.0, 0.00, 128.0, -928.0, 0.00 },
- { -16.0, -1104.0, 0.000, 96.0, -1024.0, 0.000 },
- { 0.0, -1200.0, 0.0, 144.0, -1104.0, 0.0 },
- { -16.0, -1296.0, 0.000, 128.0, -1200.0, 0.000 },
- { -16.0, -1440.0, 0.000, 96.0, -1296.0, 0.000 },
- { 0.0, -1552.0, 0.0, 80.0, -1440.0, 0.0 },
- { -128.0, -1648.0, 0.0000, 96.0, -1552.0, 0.0000 },
- { -64.0, -672.0, 0.000, 32.0, -576.0, 0.000 },
- { -48.0, -576.0, 0.000, 80.0, -496.0, 0.000 },
- { 16.0, -496.0, 0.00, 144.0, -400.0, 0.00 },
- { 144.0, -448.0, 0.000, 240.0, -384.0, 0.000 },
- { 240.0, -432.0, 0.000, 304.0, -320.0, 0.000 },
- { 304.0, -384.0, 0.000, 352.0, -288.0, 0.000 },
- { 352.0, -336.0, 0.000, 400.0, -272.0, 0.000 },
- { 400.0, -304.0, 0.000, 464.0, -240.0, 0.000 },
- { 464.0, -288.0, 0.000, 576.0, -208.0, 0.000 },
- { 576.0, -272.0, 0.000, 688.0, -192.0, 0.000 },
- { 688.0, -256.0, 0.000, 768.0, -144.0, 0.000 },
- { 768.0, -208.0, 0.000, 800.0, -128.0, 0.000 },
- { 800.0, -176.0, 0.000, 976.0, -96.0, 0.000 },
- { 976.0, -160.0, 0.000, 1200.0, -64.0, 0.000 },
- { 1200.0, -240.0, 0.0000, 1264.0, -112.0, 0.0000 },
- { 1264.0, -320.0, 0.0000, 1344.0, -176.0, 0.0000 },
- { 1344.0, -320.0, 0.0000, 1456.0, -208.0, 0.0000 },
- { 1456.0, -256.0, 0.0000, 1520.0, -192.0, 0.0000 },
- { 1520.0, -208.0, 0.0000, 1648.0, -80.0, 0.0000 },
- { 1568.0, -80.0, 0.0000, 1648.0, 16.0, 0.0000 },
- { 1648.0, -64.0, 0.0000, 1792.0, 16.0, 0.0000 },
- { 1792.0, -128.0, 0.0000, 1888.0, 0.0, 0.0000 },
- { 1888.0, -256.0, 0.0000, 2016.0, -32.0, 0.0000 },
- { 2016.0, -256.0, 0.0000, 2144.0, -16.0, 0.0000 },
- { 2144.0, -272.0, 0.0000, 2224.0, -96.0, 0.0000 },
- { 2224.0, -272.0, 0.0000, 2288.0, -144.0, 0.0000 },
- { 2288.0, -272.0, 0.0000, 2528.0, -192.0, 0.0000 },
- { 2528.0, -272.0, 0.0000, 2640.0, -224.0, 0.0000 },
- { 2048.0, -16.0, 0.0000, 2144.0, 112.0, 0.0000 },
- { 2096.0, 112.0, 0.0000, 2224.0, 240.0, 0.0000 },
- { 2080.0, 240.0, 0.0000, 2224.0, 400.0, 0.0000 },
- { 2224.0, 320.0, 0.0000, 2256.0, 400.0, 0.0000 },
- { 2160.0, 512.0, 0.0000, 2432.0, 576.0, 0.0000 },
- { 2432.0, 544.0, 0.0000, 2560.0, 592.0, 0.0000 },
- { 2560.0, 576.0, 0.0000, 2720.0, 608.0, 0.0000 },
- { 2720.0, 560.0, 0.0000, 2816.0, 608.0, 0.0000 },
- { 2816.0, 576.0, 0.0000, 2992.0, 752.0, 0.0000 },
- { -656.0, 576.0, 0.0000, -496.0, 672.0, 0.0000 },
- { -736.0, 672.0, 0.0000, -496.0, 784.0, 0.0000 },
- { -720.0, 784.0, 0.0000, -384.0, 1008.0, 0.0000 },
- { -640.0, 1008.0, 0.0000, -400.0, 1216.0, 0.0000 },
- { -880.0, 1296.0, 0.0000, -688.0, 1408.0, 0.0000 },
- { -688.0, 1216.0, 0.0000, -432.0, 1424.0, 0.0000 },
- { -672.0, 1424.0, 0.0000, -448.0, 1616.0, 0.0000 },
- { -832.0, 1616.0, 0.0000, -512.0, 1728.0, 0.0000 },
- { -976.0, 1632.0, 0.0000, -832.0, 1712.0, 0.0000 },
- { -832.0, 1728.0, 0.0000, -576.0, 2032.0, 0.0000 },
- { -1248.0, 2544.0, 40.6000, -1088.0, 2832.0, 40.6000 },
- { -1088.0, 2544.0, 40.6000, -1040.0, 2784.0, 40.6000 },
- { -1040.0, 2544.0, 40.5999, -832.0, 2736.0, 40.6000 },
- { -1088.0, 2416.0, 40.6000, -832.0, 2544.0, 40.6000 },
- { -1040.0, 2304.0, 40.6000, -864.0, 2416.0, 40.5999 },
- { -1024.0, 2144.0, 40.6000, -864.0, 2304.0, 40.6000 },
- { -1072.0, 2160.0, 40.5999, -1024.0, 2256.0, 40.5999 },
- { -1200.0, 2114.0, 40.6000, -1072.0, 2242.0, 40.5999 },
- { -976.0, 2016.0, 40.600, -848.0, 2144.0, 40.599 },
- { -864.0, 2144.0, 40.599, -480.0, 2272.0, 40.600 },
- { -688.0, 2272.0, 40.599, -496.0, 2320.0, 40.600 },
- { -608.0, 2320.0, 40.599, -528.0, 2352.0, 40.600 },
- { -848.0, 2048.0, 40.599, -816.0, 2144.0, 40.599 },
- { -816.0, 2064.0, 40.599, -496.0, 2144.0, 40.599 },
- { -576.0, 2032.0, 0.0000, -512.0, 2064.0, 40.599 },
- { 2376.0, -3000.0, 0.0000, 3000.0, -2696.0, 0.0000 },
- { 2520.0, -2696.0, 0.0000, 3000.0, -2560.0, 0.0000 },
- { -1328.0, 2082.0, 40.5999, -1200.0, 2210.0, 40.6000 },
- { -1456.0, 2048.0, 40.6000, -1328.0, 2176.0, 40.5999 },
- { -1248.0, -144.0, 0.00000, -992.0, 208.0, 0.00000 },
- { -1176.0, -432.0, 0.00000, -992.0, -144.0, 0.00000 },
- { -1792.0, -592.0, 0.00000, -1728.0, -144.0, 0.00000 },
- { -1792.0, 170.0, 0.00000, -1600.0, 274.0, 0.00000 },
- { -1600.0, 168.0, 0.00000, -1256.0, 208.0, 0.00000 },
- { -1574.0, -50.0, 0.00000, -1550.0, 102.0, 0.00000 }
- };
- stock IsVehicleInWater(vehicleid)
- {
- new Float:x, Float:y, Float:z;
- GetVehiclePos(vehicleid, x, y, z);
- for(new i, size = sizeof(WaterCords); i != size; i++)
- {
- if(x >= WaterCords[i][0] && x <= WaterCords[i][3] && y >= WaterCords[i][1] && y <= WaterCords[i][4])
- {
- if(z < WaterCords[i][2] || z < WaterCords[i][5])
- {
- return 1;
- }
- }
- }
- return 0;
- }
- stock IsPlayerInWater(playerid)
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- new idx = GetPlayerAnimationIndex(playerid);
- new lib[32], name[32];
- GetAnimationName(idx,lib,32,name,32);
- for(new i = 0; i != sizeof(WaterCords); i++)
- {
- if(x >= WaterCords[i][0] && x <= WaterCords[i][3] && y >= WaterCords[i][1] && y <= WaterCords[i][4])
- {
- if(z < WaterCords[i][2] || z < WaterCords[i][5])
- {
- if(idx)
- {
- if(!strcmp(lib, "SWIM", true))
- {
- return 1;
- }
- return 2;
- }
- return -1;
- }
- }
- }
- if(!strcmp(lib, "SWIM", true) && idx)
- {
- return 3;
- }
- return 0;
- }
- PUBLIC: OnPlayerPause(playerid) { SpielerInfo[playerid][pPaused] = 1; return 1; }
- PUBLIC: OnPlayerResume(playerid, time) { SpielerInfo[playerid][pPaused] = 0; return 1; }
- PUBLIC: OnPlayerFPSChange(playerid, oldfps, newfps)
- {
- if(newfps > 49) TextDrawSetText(PlayerFPSTD[playerid], "~g~FPS: ~w~%d",newfps);
- if(newfps > 30 && newfps < 49) TextDrawSetText(PlayerFPSTD[playerid], "~g~FPS: ~y~%d",newfps);
- if(newfps < 29) TextDrawSetText(PlayerFPSTD[playerid], "~g~FPS: ~r~%d",newfps);
- return 1;
- }
- stock GetPlayer2DZone (playerid, zone [], len = sizeof (zone)) //Credits to Cueball, Betamaster, Mabako, and Simon (for finetuning).
- {
- new
- Float: x,
- Float: y,
- Float: z;
- GetPlayerPos (playerid, x, y, z);
- for (new i = 0; i != sizeof (SAZones); ++i)
- {
- if (x >= SAZones [i][SAZONE_AREA][0] && x <= SAZones [i][SAZONE_AREA][3] && y >= SAZones [i][SAZONE_AREA][1] && y <= SAZones [i][SAZONE_AREA][4])
- {
- strunpack (zone, SAZones [i][SAZONE_NAME], len);
- return i;
- }
- }
- return -1;
- }
- GetVehicleModelIDFromName(vname[])
- {
- for(new i = 0; i < 211; i++)
- {
- if ( strfind(VehicleNames[i], vname, true) != -1 )
- return i + 400;
- }
- return -1;
- }
- GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
- {
- new Float:a;
- GetPlayerPos(playerid, x, y, a);
- GetPlayerFacingAngle(playerid, a);
- if (GetPlayerVehicleID(playerid)) {
- GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
- }
- x += (distance * floatsin(-a, degrees));
- y += (distance * floatcos(-a, degrees));
- }
- stock GivePlayerHealth(playerid,Float:Health) {
- new Float:health; GetPlayerHealth(playerid,health); SetPlayerHealth(playerid,health+Health);
- if (health > 100.0) { SetPlayerHealth(playerid, 100.0); } }
- PUBLIC: OnPlayerModeChange(playerid, newmode)
- {
- PlayerMode[playerid] = newmode;
- TextDrawSetText(PlayerModeTD[playerid], "~y~%s", GetModeName(playerid));
- return 1;
- }
- stock HexToInt(string[])
- {
- if (string[0] == 0)
- {
- return 0;
- }
- new i;
- new cur = 1;
- new res = 0;
- for (i = strlen(string); i > 0; i--)
- {
- if (string[i-1] < 58)
- {
- res = res + cur * (string[i - 1] - 48);
- }
- else
- {
- res = res + cur * (string[i-1] - 65 + 10);
- cur = cur * 16;
- }
- }
- return res;
- }
- stock CreateTransparentObject(modelid, Float:X, Float:Y, Float:Z, Float:rX=0.0, Float:rY=0.0, Float:rZ=0.0, worldid) {
- new obj_ID = CreateDynamicObject(modelid, X, Y, Z, rX, rY, rZ, worldid, 0, -1, 300.0);
- for(new i; i< 10; i++)
- SetDynamicObjectMaterial(obj_ID, i, 0, "none", "none", HexToInt("RRGGBB00"));
- return obj_ID;
- }
- stock CountPlayersInMode(mode)
- {
- new PlayerCount = 0;
- for(new i=0; i<GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerMode[i] == mode) PlayerCount++;
- }
- }
- return PlayerCount;
- }
- PUBLIC: OnPlayerCrashVehicle(playerid, vehicleid, Float:damage)
- {
- SetVehicleHealth(vehicleid, 1000);
- RepairVehicle(vehicleid);
- return 1;
- }
- LoadObjects(FileName[])
- {
- new XML:file = xml_open(FileName);
- #define STRING_LENG 256
- new string[STRING_LENG];
- for(new i = 1;i <= xml_get_int(file, "count(map/object)");i++)
- {
- new model, Float:MapDataString[7];
- format(string, STRING_LENG, "map/object[%d]/@model", i);
- model = xml_get_int(file, string);
- format(string, STRING_LENG, "map/object[%d]/@posX", i);
- MapDataString[0] = xml_get_float(file, string);
- format(string, STRING_LENG, "map/object[%d]/@posY", i);
- MapDataString[1] = xml_get_float(file, string);
- format(string, STRING_LENG, "map/object[%d]/@posZ", i);
- MapDataString[2] = xml_get_float(file, string);
- format(string, STRING_LENG, "map/object[%d]/@rotX", i);
- MapDataString[3] = xml_get_float(file, string);
- format(string, STRING_LENG, "map/object[%d]/@rotY", i);
- MapDataString[4] = xml_get_float(file, string);
- format(string, STRING_LENG, "map/object[%d]/@rotZ", i);
- MapDataString[5] = xml_get_float(file, string);
- format(string, STRING_LENG, "map/object[%d]/@scale", i);
- MapDataString[6] = xml_get_float(file,string);
- if(MapDataString[6] == 1) CreateObject(model, MapDataString[0], MapDataString[1], MapDataString[2], MapDataString[3], MapDataString[4], MapDataString[5],300.0);
- if(MapDataString[6] == 0) CreateTransparentObject(model,MapDataString[0], MapDataString[1], MapDataString[2], MapDataString[3], MapDataString[4], MapDataString[5],0);
- }
- }
- PUBLIC: fcreate(filename[])
- {
- if (fexist(filename)){return false;}
- new File:fhandle = fopen(filename,io_write);
- fclose(fhandle);
- return true;
- }
- stock LogEvent(fileName[], event[])
- {
- new path[100];
- format(path, sizeof(path), "Logs/%s.log", fileName);
- if(!fexist(path))
- {
- fcreate(path);
- }
- new File:log = fopen(path, io_append);
- new str[150];
- format(str, sizeof(str), "[%s - %s] %s\n",GetDate(), GetTime(), event);
- fwrite(log, str);
- fclose(log);
- }
- PUBLIC: UpdatePlayerLevel(playerid)
- {
- new exp[128], playerlevel;
- for(new i = 0; i < 100; i++)
- {
- exp[i] = 50*i*i;
- }
- for(new i = 0; i < 100; i++) { if(SpielerInfo[playerid][pScore] >= exp[i]) { playerlevel = i + 1; } }
- if(playerlevel > SpielerInfo[playerid][pLevel])
- {
- SpielerInfo[playerid][pLevel] = playerlevel;
- GameTextForPlayer(playerid, "LEVEL UP", 3000, 4);
- I_GivePlayerMoney(playerid, randomEx(300,700));
- }
- return 1;
- }
- PUBLIC: ReturnPlayerLevel(playerid)
- {
- new exp[128], playerlevel;
- for(new i = 0; i < 100; i++)
- {
- exp[i] = 50*i*i;
- }
- for(new i = 0; i < 100; i++) { if(SpielerInfo[playerid][pScore] >= exp[i]) { playerlevel = i + 1; } }
- return playerlevel;
- }
Add Comment
Please, Sign In to add comment