Guest User

AirWars 0.1

a guest
Mar 25th, 2012
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 49.38 KB | None | 0 0
  1. //== Includes ==//
  2.  
  3. #include <a_samp>
  4.  
  5. //== Konfiguration ==//
  6.  
  7. #define version 0.1
  8. #define englisch 0
  9. #define deutsch 1
  10.  
  11. //== Farben ==//
  12.  
  13. #define gelb 0xFFFF00FF
  14. #define gruen 0x00FF00FF
  15. #define blau 0x0000FFFF
  16. #define rot 0xFF0000FF
  17. #define weiss 0xFFFFFFFF
  18.  
  19. //== Funktionen ==//
  20.  
  21. #define SCMAll SendClientMessageToAll
  22. #define SCM SendClientMessage
  23.  
  24. //== Limits ==//
  25.  
  26. #undef MAX_PLAYERS
  27. #define MAX_PLAYERS 25
  28.  
  29. //== Dialoge ==//
  30.  
  31. #define chat 0
  32. #define guns 1
  33. #define guns2 2
  34.  
  35. //== Teams ==//
  36.  
  37. #define TEAM_AIRFORCE 0
  38. #define TEAM_TERROR 1
  39.  
  40. //== Timer Forwards ==//
  41.  
  42. forward ServerTimer();
  43. forward PlayerTimer();
  44. forward CatTimer(playerid);
  45.  
  46. //== Sonstige Forwards ==//
  47.  
  48. //== Strings & Names ==//
  49.  
  50. new str[256];
  51. new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
  52.  
  53. //== Servervariablen ==//
  54.  
  55. new PayDayTime = 180;
  56. new airforce;
  57. new terror;
  58. new TextDrawUpdate = 3;
  59. new ClockUpdateTime = 60;
  60. new Hour;
  61. new Minute;
  62. new time = 600;
  63. new minutes;
  64. new seconds;
  65.  
  66. //== Spielervariablen ==//
  67.  
  68. new channel[MAX_PLAYERS];
  69. new gTeam[MAX_PLAYERS];
  70. new CamTime[MAX_PLAYERS];
  71. new lang[MAX_PLAYERS];
  72. new bool:log[MAX_PLAYERS];
  73. new BombTime[MAX_PLAYERS];
  74. new cattimer[MAX_PLAYERS];
  75. new catframe[MAX_PLAYERS];
  76.  
  77. //== Fahrzeuge + Fahrzeugvariablen ==//
  78.  
  79. new Plane[MAX_PLAYERS];
  80. new ArmyCar[18];
  81. new TerrorCar[16];
  82.  
  83. //== Floats ==//
  84.  
  85. new Float:vxP[MAX_PLAYERS],Float:vyP[MAX_PLAYERS],Float:vzP[MAX_PLAYERS];
  86. new Float:v2xP[MAX_PLAYERS],Float:v2yP[MAX_PLAYERS],Float:v2zP[MAX_PLAYERS];
  87. new Float:bPos[MAX_PLAYERS][3];
  88.  
  89. //== Labels ==//
  90.  
  91. //== Textdraws ==//
  92.  
  93. new Text:InfoBox;
  94. new Text:InfoLogo;
  95. new Text:InfoAirForce;
  96. new Text:InfoTerrorists;
  97. new Text:SelBox;
  98. new Text:SelTeam[MAX_PLAYERS];
  99. new Text:SelPlayers[MAX_PLAYERS];
  100. new Text:SelDes[MAX_PLAYERS];
  101. new Text:SelStrich;
  102. new Text:Speed[MAX_PLAYERS];
  103. new Text:Health[MAX_PLAYERS];
  104. new Text:vName[MAX_PLAYERS];
  105. new Text:Clock;
  106. new Text:_Timer;
  107. new Text:_Time;
  108. new Text:Cat[MAX_PLAYERS];
  109.  
  110. //== Pickups ==//
  111.  
  112. new health[2];
  113. new armour[2];
  114. new gunshop[2];
  115. new para[2];
  116.  
  117. //== Objekte ==//
  118.  
  119. new Bomb[MAX_PLAYERS];
  120.  
  121. //== Enum-Strukturen & Arrays ==//
  122.  
  123. enum s_Info
  124. {
  125.     s_Adminlevel,
  126.     s_Ep,
  127.     s_Kills,
  128.     s_Deaths
  129. }
  130. new SpielerInfo[MAX_PLAYERS][s_Info];
  131. new FahrzeugNamen[][] =
  132. {
  133.     "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  134.     "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  135.     "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  136.     "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
  137.     "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  138.     "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  139.     "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  140.     "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  141.     "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
  142.     "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
  143.     "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  144.     "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  145.     "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
  146.     "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  147.     "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin",
  148.     "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
  149.     "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  150.     "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  151.     "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  152.     "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  153.     "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  154.     "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  155.     "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  156.     "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
  157.     "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  158.     "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
  159.     "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
  160.     "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  161.     "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
  162.     "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
  163.     "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
  164.     "Tiller", "Utility Trailer"
  165. };
  166.  
  167. //== Main ==//
  168.  
  169. main()
  170. {
  171.     print("\n----------------------------------");
  172.     print(" AirWars "#version" © 2012 by Honig");
  173.     print("----------------------------------\n");
  174. }
  175.  
  176. //== Callbacks ==//
  177.  
  178. public OnGameModeInit()
  179. {
  180.     //========================================================================//
  181.     SetGameModeText("AirWars "#version"");
  182.     DisableNameTagLOS();
  183.     SetNameTagDrawDistance(300.0);
  184.     ShowPlayerMarkers(1);
  185.     UsePlayerPedAnims();
  186.     //========================================================================//
  187.     SetTimer("ServerTimer",1000,true);
  188.     SetTimer("PlayerTimer",1000,true);
  189.     //========================================================================//
  190.     AddPlayerClass(163,1957.8859,-2183.6489,13.5469,273.6559,31,500,36,50,0,0); // ArmySpawn
  191.     AddPlayerClass(164,1957.8859,-2183.6489,13.5469,273.6559,31,500,36,50,0,0); // ArmySpawn
  192.     AddPlayerClass(166,1957.8859,-2183.6489,13.5469,273.6559,31,500,36,50,0,0);// ArmySpawn
  193.     AddPlayerClass(287,1957.8859,-2183.6489,13.5469,273.6559,31,500,36,50,0,0); // ArmySpawn
  194.     AddPlayerClass(220,413.6779,2535.7307,19.1484,178.2422,30,500,35,50,0,0); // Terror Spawn
  195.     AddPlayerClass(221,413.6779,2535.7307,19.1484,178.2422,30,500,35,50,0,0); // Terror Spawn
  196.     AddPlayerClass(222,413.6779,2535.7307,19.1484,178.2422,30,500,35,50,0,0); // Terror Spawn
  197.     AddPlayerClass(291,413.6779,2535.7307,19.1484,178.2422,30,500,35,50,0,0); // Terror Spawn
  198.     //========================================================================//
  199.     ArmyCar[0] = AddStaticVehicle(422,1976.5990,-2203.0024,13.5385,0.3040,13,13); // Army
  200.     ArmyCar[1] = AddStaticVehicle(422,1982.2441,-2203.0881,13.5396,358.9791,13,13); // Army
  201.     ArmyCar[2] = AddStaticVehicle(433,1964.3807,-2185.4451,13.9836,1.6315,13,13); // Army
  202.     ArmyCar[3] = AddStaticVehicle(433,1964.2698,-2175.4548,13.9220,359.3503,13,13); // Army
  203.     ArmyCar[4] = AddStaticVehicle(470,1947.8691,-2193.0674,13.5444,269.7666,13,13); // Army
  204.     ArmyCar[5] = AddStaticVehicle(470,1947.9285,-2196.9817,13.5429,271.3628,13,13); // Army
  205.     ArmyCar[6] = AddStaticVehicle(470,1947.8870,-2200.6348,13.5385,271.9132,13,13); // Army
  206.     ArmyCar[7] = AddStaticVehicle(470,1948.0656,-2204.5291,13.5418,271.1138,13,13); // Army
  207.     ArmyCar[8] = AddStaticVehicle(520,1987.3768,-2247.0586,14.4763,102.2001,1,1); // Hydra
  208.     ArmyCar[9] = AddStaticVehicle(520,1987.1523,-2263.5771,14.4897,102.8871,1,1); // Hydra
  209.     ArmyCar[10] = AddStaticVehicle(520,1986.3774,-2282.5601,14.6365,112.6722,1,1); // Hydra
  210.     ArmyCar[11] = AddStaticVehicle(520,1985.1484,-2293.3108,14.5133,112.8835,1,1); // Hydra
  211.     ArmyCar[12] =AddStaticVehicle(520,1910.0785,-2250.8979,14.5042,250.0242,1,1); // Hydra
  212.     ArmyCar[13] =AddStaticVehicle(520,1907.9454,-2260.3604,14.6531,264.9180,1,1); // Hydra
  213.     ArmyCar[14] =AddStaticVehicle(520,1906.9421,-2279.3811,14.4840,252.1178,1,1); // Hydra
  214.     ArmyCar[15] =AddStaticVehicle(520,1905.9247,-2287.6001,14.4932,248.3593,1,1); // Hydra
  215.     ArmyCar[16] =AddStaticVehicle(425,1951.4498,-2305.7607,14.4462,1.8955,1,1); // Hydra
  216.     ArmyCar[17] =AddStaticVehicle(425,1937.7367,-2307.7083,14.1031,2.7702,1,1); // Hydra
  217.     //========================================================================//
  218.     TerrorCar[0] = AddStaticVehicle(422,421.7681,2531.0759,16.5982,179.2435,61,61); // Terror
  219.     TerrorCar[1] = AddStaticVehicle(422,418.6729,2531.1057,16.5901,180.1538,61,61); // Terror
  220.     TerrorCar[2] = AddStaticVehicle(402,395.6753,2536.8718,16.3755,234.0518,61,61); // Terror
  221.     TerrorCar[3] = AddStaticVehicle(402,392.8872,2533.8992,16.3747,230.3874,61,61); // Terror
  222.     TerrorCar[4] = AddStaticVehicle(482,408.2073,2542.9460,16.6268,182.2669,61,61); // Terror
  223.     TerrorCar[5] = AddStaticVehicle(482,404.5605,2542.7034,16.6477,180.8206,61,61); // Terror
  224.     TerrorCar[6] = AddStaticVehicle(476,384.7789,2536.1340,17.2432,136.5189,61,61); // Rustler
  225.     TerrorCar[7] = AddStaticVehicle(476,375.5622,2537.5881,17.2876,138.4569,61,61); // Rustler
  226.     TerrorCar[8] = AddStaticVehicle(476,366.9002,2539.6919,17.3572,143.6856,61,61); // Rustler
  227.     TerrorCar[9] = AddStaticVehicle(476,358.5157,2540.8796,17.3810,141.3382,61,61); // Rustler
  228.     TerrorCar[10] = AddStaticVehicle(476,365.6450,2470.5618,17.1905,24.0282,61,61); // Rustler
  229.     TerrorCar[11] = AddStaticVehicle(476,357.8570,2469.1353,17.1878,25.1576,61,61); // Rustler
  230.     TerrorCar[12] = AddStaticVehicle(476,349.3321,2469.8855,17.2128,20.3597,61,61); // Rustler
  231.     TerrorCar[13] = AddStaticVehicle(476,341.2460,2471.3713,17.1856,15.5757,61,61); // Rustler
  232.     TerrorCar[14] = AddStaticVehicle(563,432.5134,2501.7827,17.3010,97.5619,61,61); // Rustler
  233.     TerrorCar[15] = AddStaticVehicle(563,434.8031,2485.6267,17.3949,99.4890,61,61); // Rustler
  234.     //========================================================================//
  235.     CreatePickup(1239,1,423.9782,2520.2180,17.1921); // terror pickup
  236.     CreatePickup(1239,1,1930.5796,-2248.7837,14.4770); // army pickup
  237.     CreatePickup(1239,1,-1126.5096,363.7221,15.1667); // repairpickup
  238.     health[0] = CreatePickup(1240,2,1955.4818,-2188.2197,13.5469); // armyhealth
  239.     health[1] = CreatePickup(1240,2,412.9403,2530.9778,19.1751); // terror health
  240.     armour[0] = CreatePickup(1242,2,1952.1774,-2188.2761,13.5469); // armyarmour
  241.     armour[1] = CreatePickup(1242,2,414.5191,2531.0105,19.1745); // terror armour
  242.     gunshop[0] = CreatePickup(1239,2,415.9608,2534.9194,19.1484); // terror gunshop
  243.     gunshop[1] = CreatePickup(1239,2,1955.4171,-2179.7644,13.5469); // army gunshop
  244.     para[0] = CreatePickup(1310,2,1952.8823,-2179.7671,13.5469); // army fallschirm
  245.     para[1] = CreatePickup(1310,2,416.3196,2537.9253,19.1484); // terror fallschirm
  246.     //========================================================================//
  247.     Create3DTextLabel("Terrorists Base",gruen,423.9782,2520.2180,17.1921,30.0,0,1);
  248.     Create3DTextLabel("AirForce Base",gruen,1930.5796,-2248.7837,14.4770,30.0,0,1);
  249.     Create3DTextLabel("Plane Repair\n/rep ($5000)",gruen,-1126.5096,363.7221,15.1667,30.0,0,1);
  250.     //========================================================================//
  251.     /*new Text:InfoBox;
  252.     new Text:InfoLogo;
  253.     new Text:InfoAirForce;
  254.     new Text:InfoTerrorists;
  255.     new Text:SelBox;
  256.     new Text:SelTeam[MAX_PLAYERS];
  257.     new Text:SelPlayers[MAX_PLAYERS];
  258.     new Text:SelDes[MAX_PLAYERS];
  259.     new Text:SelStrich;
  260.     new Text:Speed[MAX_PLAYERS];
  261.     new Text:Health[MAX_PLAYERS];
  262.     new Text:_Timer;
  263.     new Text:_Time;
  264.     new Text:Cat[MAX_PLAYERS];*/
  265.     //========================================================================//
  266.     InfoBox = TextDrawCreate(643.000000, 431.000000, "__");
  267.     TextDrawBackgroundColor(InfoBox, 255);
  268.     TextDrawFont(InfoBox, 1);
  269.     TextDrawLetterSize(InfoBox, 0.700000, 1.500000);
  270.     TextDrawColor(InfoBox, -1);
  271.     TextDrawSetOutline(InfoBox, 0);
  272.     TextDrawSetProportional(InfoBox, 1);
  273.     TextDrawSetShadow(InfoBox, 1);
  274.     TextDrawUseBox(InfoBox, 1);
  275.     TextDrawBoxColor(InfoBox, 84215190);
  276.     TextDrawTextSize(InfoBox, -4.000000, 0.000000);
  277.     //========================================================================//
  278.     InfoLogo = TextDrawCreate(5.000000, 431.000000, "SA-MP AirWars "#version"");
  279.     TextDrawBackgroundColor(InfoLogo, 65535);
  280.     TextDrawFont(InfoLogo, 2);
  281.     TextDrawLetterSize(InfoLogo, 0.360000, 1.400000);
  282.     TextDrawColor(InfoLogo, -1);
  283.     TextDrawSetOutline(InfoLogo, 0);
  284.     TextDrawSetProportional(InfoLogo, 1);
  285.     TextDrawSetShadow(InfoLogo, 0);
  286.     //========================================================================//
  287.     InfoAirForce = TextDrawCreate(202.000000, 431.000000, "AirForce: ---");
  288.     TextDrawBackgroundColor(InfoAirForce, 255);
  289.     TextDrawFont(InfoAirForce, 1);
  290.     TextDrawLetterSize(InfoAirForce, 0.440000, 1.500000);
  291.     TextDrawColor(InfoAirForce, -1);
  292.     TextDrawSetOutline(InfoAirForce, 1);
  293.     TextDrawSetProportional(InfoAirForce, 1);
  294.     //========================================================================//
  295.     InfoTerrorists = TextDrawCreate(322.000000, 431.000000, "Terrorists: ---");
  296.     TextDrawBackgroundColor(InfoTerrorists, 255);
  297.     TextDrawFont(InfoTerrorists, 1);
  298.     TextDrawLetterSize(InfoTerrorists, 0.440000, 1.500000);
  299.     TextDrawColor(InfoTerrorists, -1);
  300.     TextDrawSetOutline(InfoTerrorists, 1);
  301.     TextDrawSetProportional(InfoTerrorists, 1);
  302.     //========================================================================//
  303.     SelBox = TextDrawCreate(652.000000, 186.000000, "__");
  304.     TextDrawBackgroundColor(SelBox, 255);
  305.     TextDrawFont(SelBox, 0);
  306.     TextDrawLetterSize(SelBox, 0.500000, 26.600002);
  307.     TextDrawColor(SelBox, -1);
  308.     TextDrawSetOutline(SelBox, 0);
  309.     TextDrawSetProportional(SelBox, 1);
  310.     TextDrawSetShadow(SelBox, 1);
  311.     TextDrawUseBox(SelBox, 1);
  312.     TextDrawBoxColor(SelBox, 84215190);
  313.     TextDrawTextSize(SelBox, 439.000000, 20.000000);
  314.     //========================================================================//
  315.     SelStrich = TextDrawCreate(443.000000, 230.000000, "----------------------------------------------");
  316.     TextDrawBackgroundColor(SelStrich, 65535);
  317.     TextDrawFont(SelStrich, 0);
  318.     TextDrawLetterSize(SelStrich, 0.330000, 1.000000);
  319.     TextDrawColor(SelStrich, 65535);
  320.     TextDrawSetOutline(SelStrich, 1);
  321.     //========================================================================//
  322.     Clock = TextDrawCreate(546.000000, 18.000000, "00:00");
  323.     TextDrawBackgroundColor(Clock, 255);
  324.     TextDrawFont(Clock, 3);
  325.     TextDrawLetterSize(Clock, 0.619999, 2.799999);
  326.     TextDrawColor(Clock, -1);
  327.     TextDrawSetOutline(Clock, 0);
  328.     TextDrawSetProportional(Clock, 1);
  329.     TextDrawSetShadow(Clock, 1);
  330.     gettime(Hour,Minute);
  331.     format(str,12,"%02d:%02d",Hour,Minute);
  332.     TextDrawSetString(Clock,str);
  333.     //========================================================================//
  334.     _Timer = TextDrawCreate(537.000000, 430.000000, "ld_grav:Timer");
  335.     TextDrawBackgroundColor(_Timer, 255);
  336.     TextDrawFont(_Timer, 4);
  337.     TextDrawLetterSize(_Timer, 0.500000, 1.000000);
  338.     TextDrawColor(_Timer, -1);
  339.     TextDrawSetOutline(_Timer, 0);
  340.     TextDrawSetProportional(_Timer, 1);
  341.     TextDrawSetShadow(_Timer, 1);
  342.     TextDrawUseBox(_Timer, 1);
  343.     TextDrawBoxColor(_Timer, 255);
  344.     TextDrawTextSize(_Timer, 18.000000, 16.000000);
  345.     //========================================================================//
  346.     _Time = TextDrawCreate(560.000000, 431.000000, "0:00");
  347.     TextDrawBackgroundColor(_Time, 255);
  348.     TextDrawFont(_Time, 2);
  349.     TextDrawLetterSize(_Time, 0.410000, 1.600000);
  350.     TextDrawColor(_Time, -1);
  351.     TextDrawSetOutline(_Time, 1);
  352.     TextDrawSetProportional(_Time, 1);
  353.     //========================================================================//
  354.     for(new i=0;i<MAX_PLAYERS;i++)
  355.     {
  356.         //====================================================================//
  357.         SelTeam[i] = TextDrawCreate(460.000000, 190.000000, "Team: ---");
  358.         TextDrawBackgroundColor(SelTeam[i], 255);
  359.         TextDrawFont(SelTeam[i], 2);
  360.         TextDrawLetterSize(SelTeam[i], 0.430000, 1.499999);
  361.         TextDrawColor(SelTeam[i], -1);
  362.         TextDrawSetOutline(SelTeam[i], 0);
  363.         TextDrawSetProportional(SelTeam[i], 1);
  364.         TextDrawSetShadow(SelTeam[i], 1);
  365.         //====================================================================//
  366.         SelPlayers[i] = TextDrawCreate(460.000000, 201.000000, "Spieler: ---");
  367.         TextDrawBackgroundColor(SelPlayers[i], 255);
  368.         TextDrawFont(SelPlayers[i], 2);
  369.         TextDrawLetterSize(SelPlayers[i], 0.430000, 1.499999);
  370.         TextDrawColor(SelPlayers[i], -1);
  371.         TextDrawSetOutline(SelPlayers[i], 0);
  372.         TextDrawSetProportional(SelPlayers[i], 1);
  373.         TextDrawSetShadow(SelPlayers[i], 1);
  374.         //====================================================================//
  375.         SelDes[i] = TextDrawCreate(460.000000, 254.000000, "Beschreibung:");
  376.         TextDrawBackgroundColor(SelDes[i], 255);
  377.         TextDrawFont(SelDes[i], 2);
  378.         TextDrawLetterSize(SelDes[i], 0.430000, 1.499999);
  379.         TextDrawColor(SelDes[i], -1);
  380.         TextDrawSetOutline(SelDes[i], 0);
  381.         TextDrawSetProportional(SelDes[i], 1);
  382.         TextDrawSetShadow(SelDes[i], 1);
  383.         //====================================================================//
  384.         Speed[i] = TextDrawCreate(17.000000, 320.000000, "Speed:");
  385.         TextDrawBackgroundColor(Speed[i], 255);
  386.         TextDrawFont(Speed[i], 1);
  387.         TextDrawLetterSize(Speed[i], 0.490000, 1.400000);
  388.         TextDrawColor(Speed[i], -1);
  389.         TextDrawSetOutline(Speed[i], 0);
  390.         TextDrawSetProportional(Speed[i], 1);
  391.         TextDrawSetShadow(Speed[i], 1);
  392.         //====================================================================//
  393.         Health[i] = TextDrawCreate(17.000000, 307.000000, "Health:");
  394.         TextDrawBackgroundColor(Health[i], 255);
  395.         TextDrawFont(Health[i], 1);
  396.         TextDrawLetterSize(Health[i], 0.490000, 1.400000);
  397.         TextDrawColor(Health[i], -1);
  398.         TextDrawSetOutline(Health[i], 0);
  399.         TextDrawSetProportional(Health[i], 1);
  400.         TextDrawSetShadow(Health[i], 1);
  401.         //====================================================================//
  402.         vName[i] = TextDrawCreate(17.000000, 293.000000, "Fahrzeug");
  403.         TextDrawBackgroundColor(vName[i], 255);
  404.         TextDrawFont(vName[i], 1);
  405.         TextDrawLetterSize(vName[i], 0.490000, 1.400000);
  406.         TextDrawColor(vName[i], -1);
  407.         TextDrawSetOutline(vName[i], 0);
  408.         TextDrawSetProportional(vName[i], 1);
  409.         TextDrawSetShadow(vName[i], 1);
  410.         //====================================================================//
  411.         Cat[i] = TextDrawCreate(444.000000, 378.000000, "nyan:1");
  412.         TextDrawBackgroundColor(Cat[i], 255);
  413.         TextDrawFont(Cat[i], 4);
  414.         TextDrawLetterSize(Cat[i], 0.500000, 1.000000);
  415.         TextDrawColor(Cat[i], -1);
  416.         TextDrawSetOutline(Cat[i], 0);
  417.         TextDrawSetProportional(Cat[i], 1);
  418.         TextDrawSetShadow(Cat[i], 1);
  419.         TextDrawUseBox(Cat[i], 1);
  420.         TextDrawBoxColor(Cat[i], 255);
  421.         TextDrawTextSize(Cat[i], 100.000000, 100.000000);
  422.         //====================================================================//
  423.     }
  424.     //========================================================================//
  425.     return 1;
  426. }
  427.  
  428. public OnGameModeExit()
  429. {
  430.     return 1;
  431. }
  432.  
  433. public OnPlayerRequestClass(playerid, classid)
  434. {
  435.     SetPlayerPos(playerid,1664.6714,-1336.8005,158.4766);
  436.     SetPlayerFacingAngle(playerid,220.4713);
  437.     SetPlayerCameraPos(playerid,1667.6205,-1340.2574,158.4766);
  438.     SetPlayerCameraLookAt(playerid,1661.5865,-1333.1849,159.6641);
  439.     ApplyAnimation(playerid,"SHOTGUN","shotgun_fire",4.0,1,1,1,1,0);
  440.     //PlayerPlaySound(playerid,1062,0.0,0.0,0.0);
  441.     TextDrawShowForPlayer(playerid,SelBox);
  442.     TextDrawShowForPlayer(playerid,SelStrich);
  443.    
  444.     switch(classid)
  445.     {
  446.         case 0..3:
  447.         {
  448.             gTeam[playerid] = TEAM_AIRFORCE;
  449.             TextDrawSetString(SelTeam[playerid],"Team: AirForce");
  450.             TextDrawShowForPlayer(playerid,SelTeam[playerid]);
  451.             switch(lang[playerid])
  452.             {
  453.                 case englisch: format(str,256,"Players: %d",GetPlayersInTeam(TEAM_AIRFORCE));
  454.                 case deutsch: format(str,256,"Spieler: %d",GetPlayersInTeam(TEAM_AIRFORCE));
  455.             }
  456.             TextDrawSetString(SelPlayers[playerid],str);
  457.             TextDrawShowForPlayer(playerid,SelPlayers[playerid]);
  458.             switch(lang[playerid])
  459.             {
  460.                 case englisch: TextDrawSetString(SelDes[playerid],"Description:~n~You are an~n~AirForce~n~Member and~n~you have to kill~n~the terrorists.");
  461.                 case deutsch: TextDrawSetString(SelDes[playerid],"Beschreibung:~n~Du bist ein~n~AirForce~n~Mitglied und~n~musst versuchen,~n~die Terroristen~n~niederzuschlagen.");
  462.             }
  463.             TextDrawShowForPlayer(playerid,SelDes[playerid]);
  464.         }
  465.         case 4..7:
  466.         {
  467.             gTeam[playerid] = TEAM_TERROR;
  468.             TextDrawSetString(SelTeam[playerid],"Team: Terrorists");
  469.             TextDrawShowForPlayer(playerid,SelTeam[playerid]);
  470.             switch(lang[playerid])
  471.             {
  472.                 case englisch: format(str,256,"Players: %d",GetPlayersInTeam(TEAM_TERROR));
  473.                 case deutsch: format(str,256,"Spieler: %d",GetPlayersInTeam(TEAM_TERROR));
  474.             }
  475.             TextDrawSetString(SelPlayers[playerid],str);
  476.             TextDrawShowForPlayer(playerid,SelPlayers[playerid]);
  477.             switch(lang[playerid])
  478.             {
  479.                 case englisch: TextDrawSetString(SelDes[playerid],"Description:~n~You are a~n~terrorist~n~member and~n~you have to kill~n~the AirForce.");
  480.                 case deutsch: TextDrawSetString(SelDes[playerid],"Beschreibung:~n~Du bist ein~n~Terroristen~n~Mitglied und~n~musst versuchen,~n~die AirForce~n~zu besiegen.");
  481.             }
  482.             TextDrawShowForPlayer(playerid,SelDes[playerid]);
  483.         }
  484.     }
  485.     return 1;
  486. }
  487.  
  488. public OnPlayerConnect(playerid)
  489. {
  490.     GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);
  491.     format(str,144,"%s joined AirWars "#version"!",PlayerName[playerid]);
  492.     SCMAll(weiss,str);
  493.     SCM(playerid,weiss,"|____________________ Welcome on AirWars "#version"! ____________________|");
  494.     SCM(playerid,weiss,"Type /language to change your language! (German, English)");
  495.     SCM(playerid,weiss,"Write /rules for the rules and /help for the Commands.");
  496.     SCM(playerid,weiss,"Have fun!");
  497.     SCM(playerid,weiss,"|_________________________________________________________________________|");
  498.     TextDrawShowForPlayer(playerid,InfoBox);
  499.     TextDrawShowForPlayer(playerid,InfoLogo);
  500.     TextDrawShowForPlayer(playerid,InfoAirForce);
  501.     TextDrawShowForPlayer(playerid,InfoTerrorists);
  502.     TextDrawShowForPlayer(playerid,Clock);
  503.     TextDrawShowForPlayer(playerid,_Timer);
  504.     TextDrawShowForPlayer(playerid,_Time);
  505.     TextDrawShowForPlayer(playerid,Cat[playerid]);
  506.     lang[playerid] = englisch;
  507.     channel[playerid] = 1;
  508.     Plane[playerid] = -1;
  509.     CamTime[playerid] = 0;
  510.     Bomb[playerid] = -1;
  511.     BombTime[playerid] = 0;
  512.     cattimer[playerid] = SetTimerEx("CatTimer",70,true,"d",playerid);
  513.     catframe[playerid] = 1;
  514.     PlayAudioStreamForPlayer(playerid,"http://www.youtube-mp3.org/get?video_id=QH2-TGUlwu4&h=ae971e092f7a4cae9303f2051552dbb8&r=1332690699871");
  515.     SetPlayerMapIcon(playerid,1,423.9782,2520.2180,17.1921,42,0,MAPICON_GLOBAL); // terroricon
  516.     SetPlayerMapIcon(playerid,2,1930.5796,-2248.7837,14.4770,5,0,MAPICON_GLOBAL); // airforceicon
  517.     SetPlayerMapIcon(playerid,3,-1126.5096,363.7221,15.1667,27,0,MAPICON_GLOBAL); // repicon
  518.     return 1;
  519. }
  520.  
  521. public OnPlayerDisconnect(playerid, reason)
  522. {
  523.     switch(reason)
  524.     {
  525.         case 0: format(str,144,"%s lost connection",PlayerName[playerid]);
  526.         case 1: format(str,144,"%s left the server",PlayerName[playerid]);
  527.         case 2: format(str,144,"%s has been kicked from the server",PlayerName[playerid]);
  528.     }
  529.     SCMAll(weiss,str);
  530.     if(Plane[playerid] != -1)
  531.     {
  532.         DestroyVehicle(Plane[playerid]);
  533.     }
  534.     return 1;
  535. }
  536.  
  537. public OnPlayerSpawn(playerid)
  538. {
  539.     switch(gTeam[playerid])
  540.     {
  541.         case TEAM_AIRFORCE:
  542.         {
  543.             SetPlayerCheckpoint(playerid,423.9782,2520.2180,17.1921,30.0);
  544.             SetPlayerColor(playerid,blau);
  545.             SetPlayerArmour(playerid,50.0);
  546.             SLM(playerid,gelb,"[Du bist ein Mitglied der AirForce.]","[You are an AirForce member.]");
  547.             Plane[playerid] = CreateVehicle(520,1930.5796,-2248.7837,14.4770,183.1365,0,0,-1);
  548.             PutPlayerInVehicle(playerid,Plane[playerid],0);
  549.         }
  550.         case TEAM_TERROR:
  551.         {
  552.             SetPlayerCheckpoint(playerid,1930.5796,-2248.7837,14.4770,30.0);
  553.             SetPlayerColor(playerid,rot);
  554.             SetPlayerArmour(playerid,50.0);
  555.             SLM(playerid,gelb,"[Du bist ein Mitglied der Terroristen.]","[You are a terrorist member.]");
  556.             Plane[playerid] = CreateVehicle(476,423.9782,2520.2180,17.1921,89.1766,61,61,-1);
  557.             PutPlayerInVehicle(playerid,Plane[playerid],0);
  558.         }
  559.     }
  560.     SetPlayerTeam(playerid,gTeam[playerid]);
  561.     return 1;
  562. }
  563.  
  564. public OnPlayerDeath(playerid, killerid, reason)
  565. {
  566.     if(Plane[playerid] != -1)
  567.     {
  568.         DestroyVehicle(Plane[playerid]);
  569.         Plane[playerid] = -1;
  570.     }
  571.     if(killerid != INVALID_PLAYER_ID)
  572.     {
  573.         if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 476 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
  574.         {
  575.             SendDeathMessage(killerid, playerid, reason);
  576.  
  577.             if(gTeam[killerid] != gTeam[playerid])
  578.             {
  579.                 switch(gTeam[killerid])
  580.                 {
  581.                     case TEAM_AIRFORCE:
  582.                     {
  583.                         airforce ++;
  584.                         SLMAll(blau,"+++ Die AirForce macht einen Punkt +++","+++ The AirForce makes a point +++");
  585.                     }
  586.                     case TEAM_TERROR:
  587.                     {
  588.                         terror ++;
  589.                         SLMAll(rot,"+++ Die Terroristen machen einen Punkt +++","+++ The Terrorists make a point +++");
  590.                     }
  591.                 }
  592.                 if(airforce >= 50 && terror <= 49)
  593.                 {
  594.                     airforce = 0;
  595.                     terror = 0;
  596.                     SLMAll(blau,"+++ Die AirForce hat diesen Krieg mit 50 Punkten gewonnen! +++","+++ The AirForce won this war with 50 points! +++");
  597.  
  598.                     for(new i=0;i<MAX_PLAYERS;i++)
  599.                     {
  600.                         if(gTeam[i] == TEAM_AIRFORCE)
  601.                         {
  602.                             GivePlayerMoney(i,20000);
  603.                             GameTextForPlayer(i,"~g~Gewonnen~n~You won",1000,0);
  604.                         }
  605.                         else if(gTeam[i] == TEAM_TERROR)
  606.                         {
  607.                             GameTextForPlayer(i,"~r~Verloren~n~You lost",1000,0);
  608.                         }
  609.                     }
  610.                 }
  611.                 else if(terror >= 50 && airforce <= 49)
  612.                 {
  613.                     airforce = 0;
  614.                     terror = 0;
  615.                     SLMAll(rot,"+++ Die Terroristen haben diesen Krieg mit 50 Punkten gewonnen! +++","+++ The Terrorists won this war with 50 points! +++");
  616.  
  617.                     for(new i=0;i<MAX_PLAYERS;i++)
  618.                     {
  619.                         if(gTeam[i] == TEAM_TERROR)
  620.                         {
  621.                             GivePlayerMoney(i,20000);
  622.                             GameTextForPlayer(i,"~g~Gewonnen~n~You won",1000,0);
  623.                         }
  624.                         else if(gTeam[i] == TEAM_AIRFORCE)
  625.                         {
  626.                             GameTextForPlayer(i,"~r~Verloren~n~You lost",1000,0);
  627.                         }
  628.                     }
  629.                 }
  630.                 else if(airforce == terror || terror == airforce)
  631.                 {
  632.                     airforce = 0;
  633.                     terror = 0;
  634.                     SLMAll(rot,"+++ Niemand hat diesen Krieg gewonnen! +++","+++ No one won this war! +++");
  635.                     GameTextForAll("~r~Verloren~n~You lost",1000,0);
  636.                 }
  637.                 if(log[playerid] == true)
  638.                 {
  639.                     SpielerInfo[killerid][s_Ep] ++;
  640.                     SpielerInfo[killerid][s_Kills] ++;
  641.                     SpielerInfo[playerid][s_Deaths] ++;
  642.  
  643.                     if(SpielerInfo[killerid][s_Ep] == 5)
  644.                     {
  645.                         SpielerInfo[killerid][s_Ep] = 0;
  646.                         SetPlayerScore(killerid,GetPlayerScore(killerid)+100);
  647.                         SLM(playerid,gelb,"Du hast 10 Erfahrunspunkte gesammelt und bekommst +100 Score","You've had 10 EP, therefor you get +100 Score now!");
  648.                     }
  649.                 }
  650.                 GivePlayerMoney(playerid,-5000);
  651.                 GivePlayerMoney(killerid,5000);
  652.                 GameTextForPlayer(playerid,"~r~Owned!~n~-$5000",2000,3);
  653.                 GameTextForPlayer(killerid,"~g~Nice one~n~+$5000 and 10 EP!",2000,3);
  654.                 if(GetPlayerState(killerid) != PLAYER_STATE_WASTED)
  655.                 {
  656.                     TogglePlayerSpectating(playerid,1);
  657.                     PlayerSpectatePlayer(playerid,killerid);
  658.                     CamTime[playerid] = 5;
  659.                 }
  660.             }
  661.         }
  662.     }
  663.     return 1;
  664. }
  665.  
  666. public OnVehicleSpawn(vehicleid)
  667. {
  668.     return 1;
  669. }
  670.  
  671. public OnVehicleDeath(vehicleid, killerid)
  672. {
  673.     return 1;
  674. }
  675.  
  676. public OnPlayerText(playerid, text[])
  677. {
  678.     if(text[0] == '7')
  679.     {
  680.         switch(lang[playerid])
  681.         {
  682.                 case englisch: SCM(playerid,rot,"Commands begin with a / (Slash)!");
  683.                 case deutsch: SCM(playerid,rot,"Befehle beginnen mit einem / (Slash)!");
  684.         }
  685.         return 0;
  686.     }
  687.     else
  688.     {
  689.         switch(lang[playerid])
  690.         {
  691.             case englisch: ShowPlayerDialog(playerid,chat,DIALOG_STYLE_LIST,"CHAT","HELLO\nHOW ARE YOU?\nFINE\nTHANKS\nWELCOME\nCAN I PLAY?\nGOOD SHOT!\nENEMY DOWN\nYES\nNO\nSECTOR CLEARED\nGO GO GO!\nDAMN IT!\nGOOD LUCK\nROGER\nHOLD THIS POSITION!\nBYE","SEND","CLOSE");
  692.             case deutsch: ShowPlayerDialog(playerid,chat,DIALOG_STYLE_LIST,"CHAT","HALLO\nWIE GEHTS?\nGUT\nDANKE\nWILLKOMMEN\nKANN ICH SPIELEN?\nGUTER SCHUSS!\nFEIND TOT\nJA\nNEIN\nSEKTOR SAUBER\nLOS LOS LOS!\nVERDAMMT!\nVIEL GLÜCK\nALLES KLAR\nHALT DEINE POSITION!\nTSCHÜß","SENDEN","SCHLIEßEN");
  693.         }
  694.     }
  695.     return 0;
  696. }
  697.  
  698. public OnPlayerCommandText(playerid, cmdtext[])
  699. {
  700.     if(!strcmp(cmdtext,"/rep",true))
  701.     {
  702.         if(!IsPlayerInRangeOfPoint(playerid,8.0,-1126.5096,363.7221,15.1667))
  703.         {
  704.             switch(lang[playerid])
  705.             {
  706.                 case englisch: SCM(playerid,rot,"You cannot repair your plane here!");
  707.                 case deutsch: SCM(playerid,rot,"Du bist nicht an der Flugzeugwerkstatt!");
  708.             }
  709.             return 1;
  710.         }
  711.         if(!IsPlayerInAnyVehicle(playerid))
  712.         {
  713.             switch(lang[playerid])
  714.             {
  715.                 case englisch: SCM(playerid,rot,"You are not in a vehicle!");
  716.                 case deutsch: SCM(playerid,rot,"Du bist nicht in einem Fahrzeug!");
  717.             }
  718.             return 1;
  719.         }
  720.         if(GetPlayerMoney(playerid) < 5000)
  721.         {
  722.             switch(lang[playerid])
  723.             {
  724.                 case englisch: SCM(playerid,rot,"You need $5000!");
  725.                 case deutsch: SCM(playerid,rot,"Du brauchst $5000!");
  726.             }
  727.             return 1;
  728.         }
  729.  
  730.         GivePlayerMoney(playerid,-5000);
  731.         RepairVehicle(GetPlayerVehicleID(playerid));
  732.         switch(lang[playerid])
  733.         {
  734.             case englisch: SCM(playerid,gruen,"Vehicle repaired! (-$5000)");
  735.             case deutsch: SCM(playerid,gruen,"Erfolgreich repariert! (-$5000)");
  736.         }
  737.         return 1;
  738.     }
  739.  
  740.     if(!strcmp(cmdtext,"/language",true))
  741.     {
  742.         switch(lang[playerid])
  743.         {
  744.             case englisch:
  745.             {
  746.                 lang[playerid] = deutsch;
  747.                 SCM(playerid,gelb,"Sprache gewechselt: Deutsch");
  748.             }
  749.             case deutsch:
  750.             {
  751.                 lang[playerid] = englisch;
  752.                 SCM(playerid,gelb,"Language changed: english");
  753.             }
  754.         }
  755.         return 1;
  756.     }
  757.  
  758.     if(!strcmp(cmdtext,"/chat",true))
  759.     {
  760.         switch(lang[playerid])
  761.         {
  762.             case englisch: ShowPlayerDialog(playerid,chat,DIALOG_STYLE_LIST,"CHAT","HELLO\nHOW ARE YOU?\nFINE\nTHANKS\nWELCOME\nCAN I PLAY?\nGOOD SHOT!\nENEMY DOWN\nYES\nNO\nSECTOR CLEARED\nGO GO GO!\nDAMN IT!\nGOOD LUCK\nROGER\nHOLD THIS POSITION!\nBYE","SEND","CLOSE");
  763.             case deutsch: ShowPlayerDialog(playerid,chat,DIALOG_STYLE_LIST,"CHAT","HALLO\nWIE GEHTS?\nGUT\nDANKE\nWILLKOMMEN\nKANN ICH SPIELEN?\nGUTER SCHUSS!\nFEIND TOT\nJA\nNEIN\nSEKTOR SAUBER\nLOS LOS LOS!\nVERDAMMT!\nVIEL GLÜCK\nALLES KLAR\nHALT DEINE POSITION!\nTSCHÜß","SENDEN","SCHLIEßEN");
  764.         }
  765.         return 1;
  766.     }
  767.  
  768.     if(!strcmp(cmdtext,"/changeteam",true))
  769.     {
  770.         new str2[144];
  771.         ForceClassSelection(playerid);
  772.         SetPlayerHealth(playerid,0.0);
  773.         TextDrawShowForPlayer(playerid,Cat[playerid]);
  774.         cattimer[playerid] = SetTimerEx("CatTimer",70,true,"d",playerid);
  775.         catframe[playerid] = 1;
  776.         PlayAudioStreamForPlayer(playerid,"http://www.youtube-mp3.org/get?video_id=QH2-TGUlwu4&h=ae971e092f7a4cae9303f2051552dbb8&r=1332690699871");
  777.         format(str,144,"%s changed his team! [/changeteam]",PlayerName[playerid]);
  778.         format(str2,144,"%s wechselte sein Team! [/changeteam]",PlayerName[playerid]);
  779.         for(new i=0;i<MAX_PLAYERS;i++)
  780.         {
  781.             switch(lang[i])
  782.             {
  783.                 case englisch: SCM(i,gelb,str);
  784.                 case deutsch: SCM(i,gelb,str2);
  785.             }
  786.         }
  787.         return 1;
  788.     }
  789.  
  790.     if(!strcmp(cmdtext,"/killme",true))
  791.     {
  792.         new str2[144];
  793.         SetPlayerHealth(playerid,0.0);
  794.         format(str,144,"%s has commited suicide! [/killme]",PlayerName[playerid]);
  795.         format(str2,144,"%s hat sich selbst umgebracht! [/killme]",PlayerName[playerid]);
  796.         for(new i=0;i<MAX_PLAYERS;i++)
  797.         {
  798.             switch(lang[i])
  799.             {
  800.                 case englisch: SCM(i,gelb,str);
  801.                 case deutsch: SCM(i,gelb,str2);
  802.             }
  803.         }
  804.         return 1;
  805.     }
  806.  
  807.     if(!strcmp(cmdtext,"/stats",true))
  808.     {
  809.         SLM(playerid,weiss,"|__________ Statistiken __________|","|__________ Statistics __________|");
  810.         switch(lang[playerid])
  811.         {
  812.             case englisch: format(str,144,"Money: $%d | Score: %d | Admin: %d | EP: %d | Kills: %d | Deaths: %d",GetPlayerMoney(playerid),GetPlayerScore(playerid),SpielerInfo[playerid][s_Adminlevel],SpielerInfo[playerid][s_Ep],SpielerInfo[playerid][s_Kills],SpielerInfo[playerid][s_Deaths]);
  813.             case deutsch: format(str,144,"Geld: $%d | Level: %d | Adminlevel: %d | EP: %d | Morde: %d | Tode: %d",GetPlayerMoney(playerid),GetPlayerScore(playerid),SpielerInfo[playerid][s_Adminlevel],SpielerInfo[playerid][s_Ep],SpielerInfo[playerid][s_Kills],SpielerInfo[playerid][s_Deaths]);
  814.         }
  815.         SCM(playerid,weiss,str);
  816.         SCM(playerid,weiss,"|____________________________________|");
  817.         return 1;
  818.     }
  819.  
  820.     if(!strcmp(cmdtext,"/rules",true))
  821.     {
  822.         SLM(playerid,weiss,"|__________ Regeln __________|","|__________ Rules __________|");
  823.         SLM(playerid,weiss,"1. Keine Cheats/Hacks","1. No cheats/hacks");
  824.         SLM(playerid,weiss,"2. Keine Beleidigung","2. No insults");
  825.         SLM(playerid,weiss,"3. Kein Totparken / Rotorkill","3. No stay on players with vehicles / helicopter kill");
  826.         SLM(playerid,weiss,"4. Kein töten beim Spawnen","4. No spawnkill");
  827.         SLM(playerid,weiss,"5. Keine Werbung","5. No ads");
  828.         SLM(playerid,weiss,"6. Kein ausnutzen von Bugs","6. No bugusing");
  829.         SCM(playerid,weiss,"|____________________________________|");
  830.         return 1;
  831.     }
  832.  
  833.     if(!strcmp(cmdtext,"/help",true))
  834.     {
  835.         SLM(playerid,weiss,"|__________ Befehle __________|","|__________ Commands __________|");
  836.         SLM(playerid,weiss,"/help - dieser Befehl","/help - this command");
  837.         SLM(playerid,weiss,"/rules - Regeln anzeigen","/rules - show rules");
  838.         SLM(playerid,weiss,"/channel - Channel wechseln","/channel - switch channel");
  839.         SLM(playerid,weiss,"/language - Sprache wechseln","/language - change language");
  840.         SLM(playerid,weiss,"/chat - Chatdialog aufrufen","/chat - show chat gui");
  841.         SLM(playerid,weiss,"/changeteam - Team wechseln","/changeteam - change team");
  842.         SLM(playerid,weiss,"/killme - Selbstmord begehen","/killme - commit suicide");
  843.         SLM(playerid,weiss,"/stats - Statistiken anzeigen","/stats - show statistics");
  844.         SLM(playerid,weiss,"/backup - Hilfe rufen","/backup - request backup");
  845.         SLM(playerid,weiss,"/bomb - Bombe platzieren","/bomb - Place bomb");
  846.         SCM(playerid,weiss,"|____________________________________|");
  847.         return 1;
  848.     }
  849.  
  850.     if(!strcmp(cmdtext,"/backup",true))
  851.     {
  852.         new Float:Pos[3],str2[144];
  853.         GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  854.         format(str,144,"[team] %s benötigt Hilfe! {FF0000}[Roter Checkpoint]",PlayerName[playerid]);
  855.         format(str2,144,"[team] %s needs help! {FF0000}[red checkpoint]",PlayerName[playerid]);
  856.         for(new i=0;i<MAX_PLAYERS;i++)
  857.         {
  858.             if(gTeam[i] == gTeam[playerid])
  859.             {
  860.                 SetPlayerCheckpoint(i,Pos[0],Pos[1],Pos[2],30.0);
  861.                 SLM(i,weiss,str,str2);
  862.             }
  863.         }
  864.         return 1;
  865.     }
  866.  
  867.     if(!strcmp(cmdtext,"/bomb",true))
  868.     {
  869.         new Float:Pos[3];
  870.         if(gTeam[playerid] != TEAM_TERROR) return SLM(playerid,rot,"Du bist kein Mitglied der Terroristen!","You are not a member of the terrorists!");
  871.         if(IsPlayerInAnyVehicle(playerid)) return SLM(playerid,rot,"Du kannst keine Bombe in einem Fahrzeug legen!","You cannot place a bomb while you're in a vehicle!");
  872.         if(BombTime[playerid] >= 1) return SLM(playerid,rot,"Du musst noch warten bis deine aktuelle Bombe explodiert ist!","You have to wait until your old bomb explodes!");
  873.  
  874.         GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  875.         bPos[playerid][0] = Pos[0];
  876.         bPos[playerid][1] = Pos[1];
  877.         bPos[playerid][2] = Pos[2];
  878.         Bomb[playerid] = CreateObject(1654,Pos[0],Pos[1],Pos[2],-1.3,270.0,0.0,0.0);
  879.         BombTime[playerid] = 15;
  880.         ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 2000);
  881.         SLM(playerid,blau,"Bombe scharf. Sie explodiert in 15 Sekunden.","Bomb placed. It will explode in 15 seconds.");
  882.         return 1;
  883.     }
  884.     return 0;
  885. }
  886.  
  887. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  888. {
  889.     if(IsAnArmyCar(vehicleid))
  890.     {
  891.         if(gTeam[playerid] != TEAM_AIRFORCE)
  892.         {
  893.             TogglePlayerControllable(playerid,0);
  894.             TogglePlayerControllable(playerid,1);
  895.             SLM(playerid,rot,"Du bist kein Mitglied der AirForce!","You are not a member of the AirForce!");
  896.         }
  897.     }
  898.     else if(IsATerrorCar(vehicleid))
  899.     {
  900.         if(gTeam[playerid] != TEAM_TERROR)
  901.         {
  902.             TogglePlayerControllable(playerid,0);
  903.             TogglePlayerControllable(playerid,1);
  904.             SLM(playerid,rot,"Du bist kein Mitglied der Terroristen!","You are not a member of the terrorists!");
  905.         }
  906.     }
  907.     return 1;
  908. }
  909.  
  910. public OnPlayerExitVehicle(playerid, vehicleid)
  911. {
  912.     if(vehicleid == Plane[playerid])
  913.     {
  914.         DestroyVehicle(Plane[playerid]);
  915.         Plane[playerid] = -1;
  916.     }
  917.     return 1;
  918. }
  919.  
  920. public OnPlayerStateChange(playerid, newstate, oldstate)
  921. {
  922.     return 1;
  923. }
  924.  
  925. public OnPlayerEnterCheckpoint(playerid)
  926. {
  927.     return 1;
  928. }
  929.  
  930. public OnPlayerLeaveCheckpoint(playerid)
  931. {
  932.     return 1;
  933. }
  934.  
  935. public OnPlayerEnterRaceCheckpoint(playerid)
  936. {
  937.     return 1;
  938. }
  939.  
  940. public OnPlayerLeaveRaceCheckpoint(playerid)
  941. {
  942.     return 1;
  943. }
  944.  
  945. public OnRconCommand(cmd[])
  946. {
  947.     return 1;
  948. }
  949.  
  950. public OnPlayerRequestSpawn(playerid)
  951. {
  952.     ClearAnimations(playerid);
  953.     //PlayerPlaySound(playerid,1063,0.0,0.0,0.0);
  954.     StopAudioStreamForPlayer(playerid);
  955.     TextDrawHideForPlayer(playerid,SelBox);
  956.     TextDrawHideForPlayer(playerid,SelTeam[playerid]);
  957.     TextDrawHideForPlayer(playerid,SelPlayers[playerid]);
  958.     TextDrawHideForPlayer(playerid,SelDes[playerid]);
  959.     TextDrawHideForPlayer(playerid,SelStrich);
  960.     TextDrawHideForPlayer(playerid,Cat[playerid]);
  961.     KillTimer(cattimer[playerid]);
  962.     return 1;
  963. }
  964.  
  965. public OnObjectMoved(objectid)
  966. {
  967.     return 1;
  968. }
  969.  
  970. public OnPlayerObjectMoved(playerid, objectid)
  971. {
  972.     return 1;
  973. }
  974.  
  975. public OnPlayerPickUpPickup(playerid, pickupid)
  976. {
  977.     if(pickupid == health[0] || pickupid == health[1])
  978.     {
  979.         SetPlayerHealth(playerid,100.0);
  980.     }
  981.     else if(pickupid == armour[0] || pickupid == armour[1])
  982.     {
  983.         SetPlayerArmour(playerid,100.0);
  984.     }
  985.     else if(pickupid == gunshop[0])
  986.     {
  987.         if(gTeam[playerid] == TEAM_TERROR)
  988.         {
  989.             switch(lang[playerid])
  990.             {
  991.                 case deutsch: ShowPlayerDialog(playerid,guns,DIALOG_STYLE_LIST,"TERROR WAFFEN","AK47 MUNITION\nRAKETENWERFER MUNITION","NEHMEN","SCHLIEßEN");
  992.                 case englisch: ShowPlayerDialog(playerid,guns,DIALOG_STYLE_LIST,"TERRORIST GUNS","AK47 AMMO\nROCKETLAUNCHER AMMO","TAKE","CLOSE");
  993.             }
  994.         }
  995.     }
  996.     else if(pickupid == gunshop[1])
  997.     {
  998.         if(gTeam[playerid] == TEAM_AIRFORCE)
  999.         {
  1000.             switch(lang[playerid])
  1001.             {
  1002.                 case deutsch: ShowPlayerDialog(playerid,guns2,DIALOG_STYLE_LIST,"AIRFORCE WAFFEN","AK47 MUNITION\nHS RAKETENWERFER MUNITION","NEHMEN","SCHLIEßEN");
  1003.                 case englisch: ShowPlayerDialog(playerid,guns2,DIALOG_STYLE_LIST,"AIRFORCE GUNS","M4 AMMO\nHS ROCKETLAUNCHER AMMO","TAKE","CLOSE");
  1004.             }
  1005.         }
  1006.     }
  1007.     else if(pickupid == para[0] || pickupid == para[1])
  1008.     {
  1009.         GivePlayerWeapon(playerid,46,1);
  1010.     }
  1011.     return 1;
  1012. }
  1013.  
  1014. public OnVehicleMod(playerid, vehicleid, componentid)
  1015. {
  1016.     return 1;
  1017. }
  1018.  
  1019. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1020. {
  1021.     return 1;
  1022. }
  1023.  
  1024. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1025. {
  1026.     return 1;
  1027. }
  1028.  
  1029. public OnPlayerSelectedMenuRow(playerid, row)
  1030. {
  1031.     return 1;
  1032. }
  1033.  
  1034. public OnPlayerExitedMenu(playerid)
  1035. {
  1036.     return 1;
  1037. }
  1038.  
  1039. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1040. {
  1041.     return 1;
  1042. }
  1043.  
  1044. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1045. {
  1046.     return 1;
  1047. }
  1048.  
  1049. public OnRconLoginAttempt(ip[], password[], success)
  1050. {
  1051.     return 1;
  1052. }
  1053.  
  1054. public OnPlayerUpdate(playerid)
  1055. {
  1056.     return 1;
  1057. }
  1058.  
  1059. public OnPlayerStreamIn(playerid, forplayerid)
  1060. {
  1061.     return 1;
  1062. }
  1063.  
  1064. public OnPlayerStreamOut(playerid, forplayerid)
  1065. {
  1066.     return 1;
  1067. }
  1068.  
  1069. public OnVehicleStreamIn(vehicleid, forplayerid)
  1070. {
  1071.     return 1;
  1072. }
  1073.  
  1074. public OnVehicleStreamOut(vehicleid, forplayerid)
  1075. {
  1076.     return 1;
  1077. }
  1078.  
  1079. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1080. {
  1081.     if(response)
  1082.     {
  1083.         switch(dialogid)
  1084.         {
  1085.             case chat:
  1086.             {
  1087.                 switch(listitem)
  1088.                 {
  1089.                     case 0: SLMAllEx(weiss,"HALLO","HELLO",playerid);
  1090.                     case 1: SLMAllEx(weiss,"WIE GEHTS?","HOW ARE U?",playerid);
  1091.                     case 2: SLMAllEx(weiss,"GUT","FINE",playerid);
  1092.                     case 3: SLMAllEx(weiss,"DANKE","THANKS",playerid);
  1093.                     case 4: SLMAllEx(weiss,"WILLKOMMEN","WELCOME",playerid);
  1094.                     case 5: SLMAllEx(weiss,"KANN ICH SPIELEN?","CAN I PLAY?",playerid);
  1095.                     case 6: SLMAllEx(weiss,"GUTER SCHUSS!","GOOD SHOT!",playerid);
  1096.                     case 7: SLMAllEx(weiss,"FEIND TOT","ENEMY DOWN",playerid);
  1097.                     case 8: SLMAllEx(weiss,"JA","YES",playerid);
  1098.                     case 9: SLMAllEx(weiss,"NEIN","NO",playerid);
  1099.                     case 10: SLMAllEx(weiss,"SEKTOR SAUBER","SECTOR CLEARED",playerid);
  1100.                     case 11: SLMAllEx(weiss,"LOS LOS LOS!","GO GO GO!",playerid);
  1101.                     case 12: SLMAllEx(weiss,"VERDAMMT!","DAMN IT!",playerid);
  1102.                     case 13: SLMAllEx(weiss,"VIEL GLÜCK","GOOD LUCK",playerid);
  1103.                     case 14: SLMAllEx(weiss,"ALLES KLAR","ROGER",playerid);
  1104.                     case 15: SLMAllEx(weiss,"HALT DEINE POSITION!","HOLD THIS POSITION!",playerid);
  1105.                     case 16: SLMAllEx(weiss,"TSCHÜß","BYE",playerid);
  1106.                 }
  1107.             }
  1108.             case guns:
  1109.             {
  1110.                 switch(listitem)
  1111.                 {
  1112.                     case 0:
  1113.                     {
  1114.                         GivePlayerWeapon(playerid,30,100);
  1115.                         SLM(playerid,gelb,"Du hast dir AK47 Munition genommen!","You took some AK47 ammo.");
  1116.                     }
  1117.                     case 1:
  1118.                     {
  1119.                         GivePlayerWeapon(playerid,35,5);
  1120.                         SLM(playerid,gelb,"Du hast dir Raketenwerfer Munition genommen!","You took some rocketlauncher ammo.");
  1121.                     }
  1122.                 }
  1123.             }
  1124.             case guns2:
  1125.             {
  1126.                 switch(listitem)
  1127.                 {
  1128.                     case 0:
  1129.                     {
  1130.                         GivePlayerWeapon(playerid,31,100);
  1131.                         SLM(playerid,gelb,"Du hast dir M4 Munition genommen!","You took some M4 ammo.");
  1132.                     }
  1133.                     case 1:
  1134.                     {
  1135.                         GivePlayerWeapon(playerid,36,5);
  1136.                         SLM(playerid,gelb,"Du hast dir HS Raketenwerfer Munition genommen!","You took some HS Rocketlauncher ammo.");
  1137.                     }
  1138.                 }
  1139.             }
  1140.         }
  1141.     }
  1142.     return 1;
  1143. }
  1144.  
  1145. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1146. {
  1147.     format(str,144,"|__________ %s __________|",PlayerName[clickedplayerid]);
  1148.     SCM(playerid,weiss,str);
  1149.     switch(lang[playerid])
  1150.     {
  1151.         case englisch: format(str,144,"Money: $%d | Score: %d | Admin: %d | EP: %d | Kills: %d | Deaths: %d",GetPlayerMoney(clickedplayerid),GetPlayerScore(clickedplayerid),SpielerInfo[clickedplayerid][s_Adminlevel],SpielerInfo[clickedplayerid][s_Ep],SpielerInfo[clickedplayerid][s_Kills],SpielerInfo[clickedplayerid][s_Deaths]);
  1152.         case deutsch: format(str,144,"Geld: $%d | Level: %d | Adminlevel: %d | EP: %d | Morde: %d | Tode: %d",GetPlayerMoney(clickedplayerid),GetPlayerScore(clickedplayerid),SpielerInfo[clickedplayerid][s_Adminlevel],SpielerInfo[clickedplayerid][s_Ep],SpielerInfo[clickedplayerid][s_Kills],SpielerInfo[clickedplayerid][s_Deaths]);
  1153.     }
  1154.     SCM(playerid,weiss,str);
  1155.     SCM(playerid,weiss,"|____________________________________|");
  1156.     return 1;
  1157. }
  1158.  
  1159. //== Benutzerdefinierte Funktionen ==//
  1160.  
  1161. stock GetPlayersInTeam(team)
  1162. {
  1163.     new count;
  1164.     for(new i=0;i<MAX_PLAYERS;i++)
  1165.     {
  1166.         if(IsPlayerConnected(i))
  1167.         {
  1168.             if(gTeam[i] == team)
  1169.             {
  1170.                 count ++;
  1171.             }
  1172.         }
  1173.     }
  1174.     return count;
  1175. }
  1176.  
  1177. stock SLM(playerid,color,ger[],eng[])
  1178. {
  1179.     switch(lang[playerid])
  1180.     {
  1181.         case deutsch:
  1182.         {
  1183.             SCM(playerid,color,ger);
  1184.         }
  1185.         case englisch:
  1186.         {
  1187.             SCM(playerid,color,eng);
  1188.         }
  1189.     }
  1190.     return 1;
  1191. }
  1192.  
  1193. stock SLMAll(color,ger[],eng[])
  1194. {
  1195.     for(new i=0;i<MAX_PLAYERS;i++)
  1196.     {
  1197.         switch(lang[i])
  1198.         {
  1199.             case deutsch:
  1200.             {
  1201.                 SCM(i,color,ger);
  1202.             }
  1203.             case englisch:
  1204.             {
  1205.                 SCM(i,color,eng);
  1206.             }
  1207.         }
  1208.     }
  1209.     return 1;
  1210. }
  1211.  
  1212. stock SLMAllEx(color,ger[],eng[],from)
  1213. {
  1214.     new str2[144];
  1215.     format(str,144,"%s: %s",PlayerName[from],ger);
  1216.     format(str2,144,"%s: %s",PlayerName[from],eng);
  1217.     for(new i=0;i<MAX_PLAYERS;i++)
  1218.     {
  1219.         switch(lang[i])
  1220.         {
  1221.             case deutsch:
  1222.             {
  1223.                 SCM(i,color,str);
  1224.             }
  1225.             case englisch:
  1226.             {
  1227.                 SCM(i,color,str2);
  1228.             }
  1229.         }
  1230.     }
  1231.     return 1;
  1232. }
  1233.  
  1234. stock IsAPlane(vehicleid)
  1235. {
  1236.     for(new i=0;i<MAX_PLAYERS;i++)
  1237.     {
  1238.         if(vehicleid == Plane[i])
  1239.         {
  1240.             return 1;
  1241.         }
  1242.     }
  1243.     return 0;
  1244. }
  1245.  
  1246. stock IsAnArmyCar(vehicleid)
  1247. {
  1248.     for(new i=0;i<sizeof ArmyCar;i++)
  1249.     {
  1250.         if(vehicleid == ArmyCar[i])
  1251.         {
  1252.             return 1;
  1253.         }
  1254.     }
  1255.     return 0;
  1256. }
  1257.  
  1258. stock IsATerrorCar(vehicleid)
  1259. {
  1260.     for(new i=0;i<sizeof TerrorCar;i++)
  1261.     {
  1262.         if(vehicleid == TerrorCar[i])
  1263.         {
  1264.             return 1;
  1265.         }
  1266.     }
  1267.     return 0;
  1268. }
  1269.  
  1270. stock GetVehicleName(vehicleid)
  1271. {
  1272.     format(str,144,"%s",FahrzeugNamen[GetVehicleModel(vehicleid)-400]);
  1273.     return str;
  1274. }
  1275.  
  1276. stock str_replace(__str[],what[],newstr[],bool:ignorecase)
  1277. {
  1278.     new strpos;
  1279.     while((strpos = strfind(__str,what[0],ignorecase)) != -1)
  1280.     {
  1281.         strdel(__str,strpos,strpos+strlen(what));
  1282.         strins(__str,newstr,strpos,strlen(what));
  1283.     }
  1284.     return 1;
  1285. }
  1286.  
  1287. //== Benutzerdefinierte Callbacks ==//
  1288.  
  1289. public ServerTimer()
  1290. {
  1291.     if(PayDayTime > 1)
  1292.     {
  1293.         PayDayTime --;
  1294.     }
  1295.     else if(PayDayTime == 1)
  1296.     {
  1297.         PayDayTime = 180;
  1298.        
  1299.         for(new i=0;i<MAX_PLAYERS;i++)
  1300.         {
  1301.             GivePlayerMoney(i,1000);
  1302.             switch(lang[i])
  1303.             {
  1304.                 case englisch: SCM(i,gruen,"PayDay! You got $1000.");
  1305.                 case deutsch: SCM(i,gruen,"Zahltag! Du hast $1000 erhalten.");
  1306.             }
  1307.         }
  1308.     }
  1309.     if(TextDrawUpdate > 1)
  1310.     {
  1311.         TextDrawUpdate --;
  1312.     }
  1313.     else if(TextDrawUpdate == 1)
  1314.     {
  1315.         TextDrawUpdate = 3;
  1316.         format(str,sizeof(str),"AirForce: %d",airforce);
  1317.         TextDrawSetString(InfoAirForce,str);
  1318.         TextDrawShowForAll(InfoAirForce);
  1319.         format(str,sizeof(str),"Terrorists: %d",terror);
  1320.         TextDrawSetString(InfoTerrorists,str);
  1321.         TextDrawShowForAll(InfoTerrorists);
  1322.     }
  1323.     if(ClockUpdateTime > 1)
  1324.     {
  1325.         ClockUpdateTime --;
  1326.     }
  1327.     else if(ClockUpdateTime == 1)
  1328.     {
  1329.         ClockUpdateTime = 60;
  1330.         gettime(Hour,Minute);
  1331.         format(str,12,"%02d:%02d",Hour,Minute);
  1332.         TextDrawSetString(Clock,str);
  1333.         TextDrawShowForAll(Clock);
  1334.         SetWorldTime(Hour);
  1335.     }
  1336.     if(time > 1)
  1337.     {
  1338.         seconds = time % 60;
  1339.         minutes = (time - seconds) / 60;
  1340.         format(str,20,"%02d:%02d",minutes,seconds);
  1341.         TextDrawSetString(_Time,str);
  1342.         TextDrawShowForAll(_Time);
  1343.         time --;
  1344.     }
  1345.     else if(time == 1)
  1346.     {
  1347.         time = 300;
  1348.         if(airforce >= 50 && terror <= 49)
  1349.         {
  1350.             airforce = 0;
  1351.             terror = 0;
  1352.             SLMAll(blau,"+++ Die AirForce hat diesen Krieg mit 50 Punkten gewonnen! +++","+++ The AirForce won this war with 50 points! +++");
  1353.  
  1354.             for(new i=0;i<MAX_PLAYERS;i++)
  1355.             {
  1356.                 if(gTeam[i] == TEAM_AIRFORCE)
  1357.                 {
  1358.                     GivePlayerMoney(i,20000);
  1359.                     GameTextForPlayer(i,"~g~Gewonnen~n~You won",1000,0);
  1360.                 }
  1361.                 else if(gTeam[i] == TEAM_TERROR)
  1362.                 {
  1363.                     GameTextForPlayer(i,"~r~Verloren~n~You lost",1000,0);
  1364.                 }
  1365.             }
  1366.         }
  1367.         else if(terror >= 50 && airforce <= 49)
  1368.         {
  1369.             airforce = 0;
  1370.             terror = 0;
  1371.             SLMAll(rot,"+++ Die Terroristen haben diesen Krieg mit 50 Punkten gewonnen! +++","+++ The Terrorists won this war with 50 points! +++");
  1372.  
  1373.             for(new i=0;i<MAX_PLAYERS;i++)
  1374.             {
  1375.                 if(gTeam[i] == TEAM_TERROR)
  1376.                 {
  1377.                     GivePlayerMoney(i,20000);
  1378.                     GameTextForPlayer(i,"~g~Gewonnen~n~You won",1000,0);
  1379.                 }
  1380.                 else if(gTeam[i] == TEAM_AIRFORCE)
  1381.                 {
  1382.                     GameTextForPlayer(i,"~r~Verloren~n~You lost",1000,0);
  1383.                 }
  1384.             }
  1385.         }
  1386.         else if(airforce == terror || terror == airforce)
  1387.         {
  1388.             airforce = 0;
  1389.             terror = 0;
  1390.             SLMAll(rot,"+++ Niemand hat diesen Krieg gewonnen! +++","+++ No one won this war! +++");
  1391.             GameTextForAll("~r~Verloren~n~You lost",1000,0);
  1392.         }
  1393.     }
  1394.     return 1;
  1395. }
  1396.  
  1397. public PlayerTimer()
  1398. {
  1399.     for(new i=0;i<MAX_PLAYERS;i++)
  1400.     {
  1401.         if(IsPlayerConnected(i))
  1402.         {
  1403.             if(CamTime[i] > 1)
  1404.             {
  1405.                 CamTime[i] --;
  1406.             }
  1407.             else if(CamTime[i] == 1)
  1408.             {
  1409.                 CamTime[i] = 0;
  1410.                 TogglePlayerSpectating(i,0);
  1411.             }
  1412.             if(IsPlayerInAnyVehicle(i))
  1413.             {
  1414.                 new Float:dif, Float:speed, Float:hp;
  1415.                 GetVehiclePos(GetPlayerVehicleID(i),vxP[i],vyP[i],vzP[i]);
  1416.                 dif = floatsqroot(floatpower(floatabs(floatsub(vxP[i],v2xP[i])),2)+floatpower(floatabs(floatsub(vyP[i],v2yP[i])),2)+floatpower(floatabs(floatsub(vzP[i],v2zP[i])),2));
  1417.                 if(GetVehicleModel(GetPlayerVehicleID(i)) == 520 || GetVehicleModel(GetPlayerVehicleID(i)) == 476 || GetVehicleModel(GetPlayerVehicleID(i)) == 425 || GetVehicleModel(GetPlayerVehicleID(i)) == 563) speed = dif/1*10;
  1418.                 else speed = dif/1*5;
  1419.                 format(str,30,"Speed: %d",floatround(speed));
  1420.                 TextDrawSetString(Speed[i],str);
  1421.                 TextDrawShowForPlayer(i,Speed[i]);
  1422.                 GetVehiclePos(GetPlayerVehicleID(i),v2xP[i],v2yP[i],v2zP[i]);
  1423.                 GetVehicleHealth(GetPlayerVehicleID(i),hp);
  1424.                 format(str,20,"Health: %d%%",floatround(hp/1000*100));
  1425.                 TextDrawSetString(Health[i],str);
  1426.                 TextDrawShowForPlayer(i,Health[i]);
  1427.                 TextDrawSetString(vName[i],GetVehicleName(GetPlayerVehicleID(i)));
  1428.                 TextDrawShowForPlayer(i,vName[i]);
  1429.             }
  1430.             else
  1431.             {
  1432.                 TextDrawHideForPlayer(i,Speed[i]);
  1433.                 TextDrawHideForPlayer(i,Health[i]);
  1434.                 TextDrawHideForPlayer(i,vName[i]);
  1435.             }
  1436.             if(GetPlayerAnimationIndex(i) == 1250 || GetPlayerAnimationIndex(i) == 1538 || GetPlayerAnimationIndex(i) == 1539 || GetPlayerAnimationIndex(i) == 1541 || GetPlayerAnimationIndex(i) == 1544)
  1437.             {
  1438.                 SetPlayerHealth(i,0.0);
  1439.                 SLM(i,rot,"Du bist wegen dem eiskalten Wasser und der starken Strömung gestorben...","You died because of the ice cold water and the stream...");
  1440.             }
  1441.             if(BombTime[i] > 1)
  1442.             {
  1443.                 BombTime[i] --;
  1444.             }
  1445.             else if(BombTime[i] == 1)
  1446.             {
  1447.                 BombTime[i] = 0;
  1448.                 DestroyObject(Bomb[i]);
  1449.                 CreateExplosion(bPos[i][0],bPos[i][1],bPos[i][2],0,30.0);
  1450.             }
  1451.         }
  1452.     }
  1453.     return 1;
  1454. }
  1455.  
  1456. public CatTimer(playerid)
  1457. {
  1458.     format(str,20,"nyan:%d",catframe[playerid]);
  1459.     TextDrawSetString(Cat[playerid],str);
  1460.     catframe[playerid] ++;
  1461.     if(catframe[playerid] == 13) catframe[playerid] = 1;
  1462.     return 1;
  1463. }
  1464.  
  1465. /*
  1466.     © 2012 by Honig
  1467.     Viel spaß
  1468. */
Add Comment
Please, Sign In to add comment