Advertisement
Guest User

Blank Gamemode v.1.0

a guest
Dec 21st, 2010
3,913
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 62.19 KB | None | 0 0
  1. /*
  2.          ____  _             _
  3.         | __ )| | __ _ _ __ | | __
  4.         |  _ \| |/ _` | '_ \| |/ /
  5.         | |_) | | (_| | | | |   <
  6.         |____/|_|\__,_|_| |_|_|\_\
  7.                       ____                                          _
  8.                      / ___| __ _ _ __ ___   ___ _ __ ___   ___   __| | ___
  9.                     | |  _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \
  10.                     | |_| | (_| | | | | | |  __/ | | | | | (_) | (_| |  __/
  11.                      \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___|
  12.                                                         by [NeS]AmoK
  13.                                                        
  14.  
  15.         -= CREDITS =-
  16.     Macher von SA-MP, Deutsche und
  17.     Englische SA-MP Comminity.
  18.      
  19.    
  20.         -= Changelog =-                             > 20/21.12.2010
  21.     ¢ Kegel Bug fixed
  22.     ¢ einiges Optimiert
  23.     ¢ Neue Uhr
  24.     ¢ Datum Hinzugefügt
  25.     ¢ Farben durch Include ersetzt
  26.     ¢ GMX verbessert
  27.     ¢ Anderes Skin-System
  28.     ¢ Teamchat verbessert
  29.     ¢ Stats verbessert (GUI)
  30.     ¢ /credits hinzugefügt
  31.     ¢ Anti-Spam System
  32.     ¢ 3D Supporterränge hinzugefügt
  33.    
  34.    
  35.    
  36.         -= ToDoList =-
  37.     ¢ Login/Register System in GUI
  38.     ¢ mehrere Admin Connands
  39.     ¢ Anti-High-Ping System
  40.     ¢ Anti-Beleidigung System
  41. */
  42. #include <a_samp>
  43. #include <Dini>
  44. #include <utils>
  45. #include <am_colors>
  46.  
  47. #pragma tabsize 0
  48.  
  49. // ---------------[ Team Colors ]-------------------- //
  50. #define GROVE 0x006600FF
  51. #define BALLAS 0x8100A9FF
  52. #define VAGOS 0xFFFF00FF
  53. #define GRAU 0x666666FF
  54. #define PD 0x0000BBAA
  55.  
  56. // ----------------[ Gamemode Options ]--------------- //
  57. #define GM_NAME "Blank Script v.1.0"                                            // GameModeText
  58. #define SV_NAME "San Andreas Multiplayer | Blank Script"                        // Server Name // Ausgrenzen wenn man es nicht braucht // Maximal 64 zeichen
  59. #define SV_PASS "asdf"                                                          // Server Passwort // Ausgrenzen wenn man es nicht braucht // Maximal 20 Zeichen
  60. #define ANTISPAM                                                                // Anti-Spam System | Ausgrenzen zum ausschalten
  61. #define UHRZEIT                                                                 // Uhrzeit Oben Rechts | Ausgrenzen zum ausschalten
  62. #define DATUM                                                                   // Datum über dem Radar | Ausgrenzen zum ausschalten
  63.  
  64.  
  65. static gTeam[MAX_PLAYERS];
  66. #define TEAM_GROVE 1
  67. #define TEAM_BALLAS 2
  68. #define TEAM_VAGOS 3
  69. #define TEAM_PD 4
  70.  
  71. #define CAR_AMOUNT 120
  72.  
  73. forward am_Kegel(playerid);
  74. forward am_PickUpCheck(playerid);
  75. forward am_DatumUhrUpdate();
  76. forward am_PayDay();
  77. forward am_GMX();
  78. forward am_ShowStats(playerid,targetid);
  79. forward OnPlayerLogin(playerid,const string[]);
  80. forward SaveAccounts(playerid);
  81. forward BroadCast(color,const string[]);
  82. forward SendTeamMessage(team, color, string[]);
  83. forward IsAnAdminCar(carid);
  84. forward IsAnGroveCar(carid);
  85. forward IsAnBallasCar(carid);
  86. forward IsAnVagosCar(carid);
  87. forward IsAnPdCar(carid);
  88.  
  89.  
  90. enum pInfo
  91. {
  92.     pPassword[128],
  93.     pAdmin,
  94.     pKills,
  95.     pDeaths,
  96.     pWarns,
  97.     pSkillPoints,
  98. };
  99.  
  100. new PlayerInfo[MAX_PLAYERS][pInfo],
  101.     gPlayerLogged[MAX_PLAYERS],
  102.     gPlayerAccount[MAX_PLAYERS],
  103.     Float:X, Float:Y, Float:Z,
  104.     Text:Uhr,
  105.     Text:Datum,
  106.     GMXStatus[MAX_PLAYERS],
  107.     Text3D:AdminLabel[MAX_PLAYERS],
  108.     FirstSpawn[MAX_PLAYERS];
  109.  
  110. new GroveCars[19],
  111.     BallasCars[19],
  112.     VagosCars[19],
  113.     PdCars[22],
  114.     AdminCars[14];
  115.  
  116. new ZONE_GROVE,
  117.     ZONE_BALLAS,
  118.     ZONE_VAGOS,
  119.     ZONE_ADMIN;
  120.    
  121. new Skins[12][1] = {
  122. {107},
  123. {106},
  124. {269},
  125. {102},
  126. {103},
  127. {104},
  128. {110},
  129. {109},
  130. {108},
  131. {280},
  132. {281},
  133. {288}
  134. };
  135.  
  136. main(){}
  137.  
  138. stock GetName(playerid)
  139. {
  140.     new PlayerName[MAX_PLAYER_NAME];
  141.     if(IsPlayerConnected(playerid)) GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  142.     return PlayerName;
  143. }
  144.  
  145. public OnGameModeInit()
  146. {
  147.     SetGameModeText(GM_NAME);
  148.     DisableInteriorEnterExits();
  149.     UsePlayerPedAnims();
  150.     ShowPlayerMarkers(1);
  151.    
  152.     #if defined SV_NAME
  153.     new namestring[64];
  154.     format(namestring, sizeof(namestring), "hostname %s", SV_NAME);
  155.     SendRconCommand(namestring);
  156.     #endif
  157.  
  158.     #if defined SV_PASS
  159.     new passstring[20];
  160.     format(passstring, sizeof(passstring), "password %s", SV_PASS);
  161.     SendRconCommand(passstring);
  162.     #endif
  163.  
  164.     SetTimer("am_GMX", 1000, 1);
  165.     SetTimer("am_Kegel", 1001, 1);
  166.     SetTimer("am_PickUpCheck", 1002, 1);
  167.     SetTimer("am_DatumUhrUpdate", 1003, 1);
  168.     SetTimer("am_PayDay", 1200000, 1);
  169.     SetTimer("SaveAccounts", 1500000, 1);
  170.    
  171.     #if defined UHRZEIT
  172.     Uhr = TextDrawCreate(550.000000,10.000000,"--:--");
  173.     TextDrawAlignment(Uhr,0);
  174.     TextDrawBackgroundColor(Uhr,0x000000ff);
  175.     TextDrawFont(Uhr,3);
  176.     TextDrawLetterSize(Uhr,0.399999,1.799999);
  177.     TextDrawColor(Uhr,0x0066CCFF);
  178.     TextDrawSetOutline(Uhr,1);
  179.     TextDrawSetProportional(Uhr,1);
  180.     TextDrawSetShadow(Uhr,1);
  181.     #endif
  182.  
  183.     #if defined DATUM
  184.     Datum = TextDrawCreate(47.000000,317.000000,"--/--/----");
  185.     TextDrawAlignment(Datum,0);
  186.     TextDrawBackgroundColor(Datum,0x000000ff);
  187.     TextDrawFont(Datum,3);
  188.     TextDrawLetterSize(Datum,0.399999,1.799999);
  189.     TextDrawColor(Datum,0x0066CCFF);
  190.     TextDrawSetOutline(Datum,1);
  191.     TextDrawSetProportional(Datum,1);
  192.     TextDrawSetShadow(Datum,1);
  193.     #endif
  194.    
  195.     ZONE_GROVE = GangZoneCreate(2227.615, -1784.503, 2535.645, -1618.698);
  196.     ZONE_BALLAS = GangZoneCreate(2018.459, -1425.259, 2277.052, -1200.237);
  197.     ZONE_VAGOS = GangZoneCreate(2322.686, -1488.423, 2512.828, -1212.081);
  198.     ZONE_ADMIN = GangZoneCreate(1079.159, -2104.27, 1349.16, -1993.733);
  199.    
  200.     for(new s = 0; s <= sizeof(Skins)-1; s++)
  201.     {
  202.         AddPlayerClass(Skins[s][0], 0.0,0.0,0.0, 0.0, 0, 0, 0, 0, 0, 0);
  203.     }
  204.  
  205.     CreatePickup(1559, 23, 2495.3691, -1691.0033, 14.7656);                     // GROVE Eingang // kleiner gelber Kegel
  206.     CreatePickup(1559, 23, 2495.9468, -1693.1537, 1014.7422);                   // GROVE Ausgang // kleiner gelber Kegel
  207.     CreatePickup(1559, 23, 2111.1553, -1279.8798, 25.6875);                     // BALLAS Eingang // kleiner gelber Kegel
  208.     CreatePickup(1559, 23, 318.6116, 1115.5206, 1083.8828);                     // BALLAS Ausgang // kleiner gelber Kegel
  209.     CreatePickup(1559, 23, 2470.1577, -1295.4858, 30.2332);                     // VAGOS Eingang // kleiner gelber Kegel
  210.     CreatePickup(1559, 23, 2467.5342, -1698.2711, 1013.5078);                   // VAGOS Ausgang // kleiner gelber Kegel
  211.     CreatePickup(1559, 23, 1568.4351, -1690.7179, 5.8906);                      // PD Eingang // kleiner gelber Kegel
  212.     CreatePickup(1559, 23, 246.1993, 62.3404, 1003.6406);                       // PD Ausgang // kleiner gelber Kegel
  213.    
  214.     CreatePickup(1274, 23, 2499.7769,-1706.8365,1014.7422);                     // GROVE // Weaponskill
  215.     CreatePickup(1274, 23, 333.4630,1119.5349,1083.8903);                       // BALLAS // Weaponskill
  216.     CreatePickup(1274, 23, 2451.9622,-1690.6805,1013.5078);                     // VAGOS // Weaponskill
  217.    
  218.     CreatePickup(1254, 23, 2324.2832, -1149.0988, 1050.7101);                   // ADMIN // ENTER
  219.     CreatePickup(1254, 23, 1122.7208, -2036.9316, 69.8942);                     // ADMIN // EXIT
  220.  
  221.     CreatePickup(1240, 2, 2327.3906,-1137.4265,1050.4922);                      // ADMIN // HEAL
  222.     CreatePickup(1242, 2, 2321.5776,-1137.5867,1050.4922);                      // ADMIN // ARMOR
  223.     CreatePickup(348, 2, 2332.9333,-1143.5286,1054.3047);                       // ADMIN // WAFFE DEAGLE
  224.     CreatePickup(350, 2, 2332.8716,-1140.9294,1054.2969);                       // ADMIN // WAFFE SHAWN-OFF
  225.     CreatePickup(351, 2, 2332.8062,-1137.9595,1054.3047);                       // ADMIN // WAFFE SPAZ-12
  226.     CreatePickup(355, 2, 2332.6492,-1135.7161,1054.2969);                       // ADMIN // WAFFE AK-47
  227.     CreatePickup(356, 2, 2315.6833,-1135.9753,1054.3047);                       // ADMIN // WAFFE M4
  228.     CreatePickup(358, 2, 2315.8018,-1137.7227,1054.3047);                       // ADMIN // WAFFE SNIPER
  229.     CreatePickup(361, 2, 2315.9895,-1140.6858,1054.3047);                       // ADMIN // WAFFE FLAMMENWERFER
  230.     CreatePickup(366, 2, 2316.1655,-1143.4725,1054.3047);                       // ADMIN // WAFFE FEUERLÖSCHER
  231.    
  232.     GroveCars[0] = AddStaticVehicleEx(560,2511.0354,-1688.1509,13.2605,46.9357,86,86,-1); // GROVE CAR 1
  233.     GroveCars[1] = AddStaticVehicleEx(560,2517.5947,-1673.1869,13.8371,80.7727,86,86,-1); // GROVE CAR 2
  234.     GroveCars[2] = AddStaticVehicleEx(560,2506.8271,-1650.7434,13.4285,136.5207,86,86,-1); // GROVE CAR 3
  235.     GroveCars[3] = AddStaticVehicleEx(567,2485.4565,-1654.0446,13.2658,88.1123,86,86,-1); // GROVE CAR 4
  236.     GroveCars[4] = AddStaticVehicleEx(567,2468.6958,-1670.0671,13.2651,188.6211,86,86,-1); // GROVE CAR 5
  237.     GroveCars[5] = AddStaticVehicleEx(567,2492.3557,-1684.1731,13.2871,274.0397,86,86,-1); // GROVE CAR 6
  238.     GroveCars[6] = AddStaticVehicleEx(522,2471.5811,-1679.1193,12.9887,221.4013,86,86,-1); // GROVE CAR 7
  239.     GroveCars[7] = AddStaticVehicleEx(522,2500.1523,-1682.9578,12.9503,289.6739,86,86,-1); // GROVE CAR 8
  240.     GroveCars[8] = AddStaticVehicleEx(522,2507.2686,-1660.0288,13.1580,31.4379,86,86,-1); // GROVE CAR 9
  241.     GroveCars[9] = AddStaticVehicleEx(487,2528.6152,-1677.4017,20.1075,88.4492,86,86,-1); // GROVE CAR 10
  242.     GroveCars[10] = AddStaticVehicleEx(560,2473.4729,-1703.9375,13.2302,0.3367,86,86,-1); // Grove Car 11
  243.     GroveCars[11] = AddStaticVehicleEx(560,2457.8369,-1653.9764,13.0675,271.7496,86,86,-1); // Grove Car 12
  244.     GroveCars[12] = AddStaticVehicleEx(560,2456.6506,-1674.8971,13.2077,1.9703,86,86,-1); // Grove Car 13
  245.     GroveCars[13] = AddStaticVehicleEx(567,2442.9602,-1642.0356,13.3261,180.7159,86,86,-1); // Grove Car 14
  246.     GroveCars[14] = AddStaticVehicleEx(567,2517.6033,-1664.4166,13.9334,91.5117,86,86,-1); // Grove Car 15
  247.     GroveCars[15] = AddStaticVehicleEx(567,2482.0496,-1692.4034,13.3832,353.7266,86,86,-1); // Grove Car 16
  248.     GroveCars[16] = AddStaticVehicleEx(522,2510.5601,-1668.8792,13.0723,3.2436,86,86,-1); // Grove Car 17
  249.     GroveCars[17] = AddStaticVehicleEx(522,2459.7053,-1647.6638,13.0413,180.7924,86,86,-1); // Grove Car 18
  250.     GroveCars[18] = AddStaticVehicleEx(522,2448.3452,-1664.5953,13.0390,267.8113,86,86,-1); // Grove Car 19
  251.    
  252.     BallasCars[0] = AddStaticVehicleEx(560,2102.0754,-1273.4204,25.1955,180.0378,85,85,-1); // BALLAS CAR 1
  253.     BallasCars[1] = AddStaticVehicleEx(560,2095.5903,-1279.3773,25.2030,181.0238,85,85,-1); // BALLAS CAR 2
  254.     BallasCars[2] = AddStaticVehicleEx(560,2096.1755,-1319.6305,24.7406,1.4383,85,85,-1); // BALLAS CAR 3
  255.     BallasCars[3] = AddStaticVehicleEx(567,2116.6206,-1295.7979,23.7658,88.4369,85,85,-1); // BALLAS CAR 4
  256.     BallasCars[4] = AddStaticVehicleEx(567,2109.2893,-1306.1224,23.7735,270.9703,85,85,-1); // BALLAS CAR 5
  257.     BallasCars[5] = AddStaticVehicleEx(567,2135.8545,-1321.9050,25.0669,359.5562,85,85,-1); // BALLAS CAR 6
  258.     BallasCars[6] = AddStaticVehicleEx(522,2090.7151,-1284.2350,25.0757,222.5389,85,85,-1); // BALLAS CAR 7
  259.     BallasCars[7] = AddStaticVehicleEx(522,2124.0996,-1312.9357,25.1027,36.0084,85,85,-1); // BALLAS CAR 8
  260.     BallasCars[8] = AddStaticVehicleEx(522,2137.9412,-1283.2643,24.4074,179.3080,85,85,-1); // BALLAS CAR 9
  261.     BallasCars[9] = AddStaticVehicleEx(487,2095.8928,-1329.3490,28.6691,359.5346,85,85,-1); // BALLAS CAR 10
  262.     BallasCars[10] = AddStaticVehicleEx(560,2087.2031,-1295.3842,23.5994,269.5494,85,85,-1); // BALLAS Car 11
  263.     BallasCars[11] = AddStaticVehicleEx(560,2151.4265,-1305.8655,23.6105,269.6009,85,85,-1); // BALLAS Car 12
  264.     BallasCars[12] = AddStaticVehicleEx(560,2147.0601,-1295.3037,23.6075,87.0678,85,85,-1); // BALLAS Car 13
  265.     BallasCars[13] = AddStaticVehicleEx(567,2130.1511,-1314.4983,25.4118,25.7257,85,85,-1); // BALLAS Car 14
  266.     BallasCars[14] = AddStaticVehicleEx(567,2128.3936,-1284.2308,25.3547,236.9272,85,85,-1); // BALLAS Car 15
  267.     BallasCars[15] = AddStaticVehicleEx(567,2090.5901,-1314.5558,23.8589,1.3764,85,85,-1); // BALLAS Car 16
  268.     BallasCars[16] = AddStaticVehicleEx(522,2123.7771,-1305.9448,23.5463,273.4351,85,85,-1); // BALLAS Car 17
  269.     BallasCars[17] = AddStaticVehicleEx(522,2130.9119,-1295.6042,23.5471,92.8814,85,85,-1); // BALLAS Car 18
  270.     BallasCars[18] = AddStaticVehicleEx(522,2141.9678,-1314.3060,23.9491,0.8709,85,85,-1); // BALLAS Car 19
  271.    
  272.     VagosCars[0] = AddStaticVehicleEx(560,2437.2512,-1303.4861,24.2640,273.0825,6,6,-1); // VAGOS CAR 1
  273.     VagosCars[1] = AddStaticVehicleEx(560,2455.7029,-1294.9456,23.6198,1.5295,6,6,-1); // VAGOS CAR 2
  274.     VagosCars[2] = AddStaticVehicleEx(560,2445.3223,-1269.0176,23.6158,177.8756,6,6,-1); // VAGOS CAR 3
  275.     VagosCars[3] = AddStaticVehicleEx(567,2464.7646,-1311.6277,24.8711,88.4675,6,6,-1); // VAGOS CAR 4
  276.     VagosCars[4] = AddStaticVehicleEx(567,2456.4824,-1278.4354,23.7886,177.9371,6,6,-1); // VAGOS CAR 5
  277.     VagosCars[5] = AddStaticVehicleEx(567,2445.7983,-1295.9788,23.7783,359.0702,6,6,-1); // VAGOS CAR 6
  278.     VagosCars[6] = AddStaticVehicleEx(522,2438.6968,-1287.4584,23.9635,266.2973,6,6,-1); // VAGOS CAR 7
  279.     VagosCars[7] = AddStaticVehicleEx(522,2435.9507,-1272.7620,23.8703,188.6909,6,6,-1); // VAGOS CAR 8
  280.     VagosCars[8] = AddStaticVehicleEx(522,2445.4644,-1311.1646,23.5657,0.3343,6,6,-1); // VAGOS CAR 9
  281.     VagosCars[9] = AddStaticVehicleEx(487,2493.7439,-1298.2626,33.1038,92.3533,6,6,-1); // VAGOS CAR 10
  282.     VagosCars[10] = AddStaticVehicleEx(560,2445.8438,-1324.2108,23.6134,178.3602,6,6,-1); // VAGOS Car 11
  283.     VagosCars[11] = AddStaticVehicleEx(560,2465.0713,-1350.7711,24.7083,88.3862,6,6,-1); // VAGOS Car 12
  284.     VagosCars[12] = AddStaticVehicleEx(560,2438.4116,-1370.8011,23.8425,269.9461,6,6,-1); // VAGOS Car 13
  285.     VagosCars[13] = AddStaticVehicleEx(567,2445.8882,-1360.3153,23.7773,0.5069,6,6,-1); // VAGOS Car 14
  286.     VagosCars[14] = AddStaticVehicleEx(567,2456.1357,-1333.7050,23.7777,0.7927,6,6,-1); // VAGOS Car 15
  287.     VagosCars[15] = AddStaticVehicleEx(567,2445.8530,-1338.8302,23.7775,180.2526,6,6,-1); // VAGOS Car 16
  288.     VagosCars[16] = AddStaticVehicleEx(522,2456.5476,-1322.4137,23.5653,0.4245,6,6,-1); // VAGOS Car 17
  289.     VagosCars[17] = AddStaticVehicleEx(522,2457.1223,-1361.2227,23.5678,179.7219,6,6,-1); // VAGOS Car 18
  290.     VagosCars[18] = AddStaticVehicleEx(522,2445.5925,-1380.4063,23.5701,1.6455,6,6,-1); // VAGOS Car 19
  291.  
  292.     PdCars[0] = AddStaticVehicleEx(596,1578.6959,-1711.3284,5.6124,359.4367,0,1,-1); // PD Car 1
  293.     PdCars[1] = AddStaticVehicleEx(596,1574.3488,-1711.4332,5.6108,359.3105,0,1,-1); // PD Car 2
  294.     PdCars[2] = AddStaticVehicleEx(596,1570.4666,-1711.3865,5.6108,359.3105,0,1,-1); // PD Car 3
  295.     PdCars[3] = AddStaticVehicleEx(596,1565.6281,-1711.0161,5.6091,359.3105,0,1,-1); // PD Car 4
  296.     PdCars[4] = AddStaticVehicleEx(596,1583.5885,-1711.2214,5.5801,359.3107,0,1,-1); // PD Car 5
  297.     PdCars[5] = AddStaticVehicleEx(596,1587.3092,-1711.2665,5.5801,359.3107,0,1,-1); // PD Car 6
  298.     PdCars[6] = AddStaticVehicleEx(427,1601.0635,-1700.3098,6.0225,90.3485,0,1,-1); // PD Car 7
  299.     PdCars[7] = AddStaticVehicleEx(427,1601.0377,-1696.0723,6.0224,90.3485,0,1,-1); // PD Car 8
  300.     PdCars[8] = AddStaticVehicleEx(427,1601.0125,-1691.9280,6.0223,90.3485,0,1,-1); // PD Car 9
  301.     PdCars[9] = AddStaticVehicleEx(523,1583.4220,-1667.6299,5.4064,272.7461,0,1,-1); // PD Car 10
  302.     PdCars[10] = AddStaticVehicleEx(523,1583.6188,-1671.7305,5.4062,272.7461,0,1,-1); // PD Car 11
  303.     PdCars[11] = AddStaticVehicleEx(523,1583.8132,-1675.7806,5.4061,272.7461,0,1,-1); // PD Car 12
  304.     PdCars[12] = AddStaticVehicleEx(523,1583.9960,-1679.5895,5.4059,272.7461,0,1,-1); // PD Car 13
  305.     PdCars[13] = AddStaticVehicleEx(497,1556.5013,-1611.9019,13.5586,180.9566,0,1,-1); // PD Car 14
  306.     PdCars[14] = AddStaticVehicleEx(497,1569.7150,-1611.6812,13.4897,180.9566,0,1,-1); // PD Car 15
  307.     PdCars[15] = AddStaticVehicleEx(601,1591.4680,-1711.2961,5.6142,359.5465,0,1,-1); // PD Car 16
  308.     PdCars[16] = AddStaticVehicleEx(601,1595.8319,-1711.3307,5.6142,359.5465,0,1,-1); // PD Car 17
  309.     PdCars[17] = AddStaticVehicleEx(596,1557.8691,-1694.0155,5.6185,180.5474,0,1,-1); // PD Car 18
  310.     PdCars[18] = AddStaticVehicleEx(596,1563.0365,-1693.9661,5.6101,180.5479,0,1,-1); // PD Car 19
  311.     PdCars[19] = AddStaticVehicleEx(427,1600.9642,-1688.2411,6.0497,90.9739,0,1,-1); // PD Car 20
  312.     PdCars[20] = AddStaticVehicleEx(427,1600.8896,-1683.8494,6.0496,90.9739,0,1,-1); // PD Car 21
  313.     PdCars[21] = AddStaticVehicleEx(427,1601.3995,-1679.6401,6.0220,90.1513,0,1,-1); // PD Car 22
  314.    
  315.     AdminCars[0] = AddStaticVehicleEx(487,1117.1455,-2053.0608,74.6064,0.9257,0,0,-1); // ADMIN CAR 1
  316.     AdminCars[1] = AddStaticVehicleEx(487,1116.7874,-2022.0355,74.6017,179.5954,0,0,-1); // ADMIN CAR 2
  317.     AdminCars[2] = AddStaticVehicleEx(468,1127.8973,-2044.9418,68.6768,270.2176,0,0,-1); // ADMIN CAR 3
  318.     AdminCars[3] = AddStaticVehicleEx(468,1127.8416,-2028.5573,68.6775,271.6829,0,0,-1); // ADMIN CAR 4
  319.     AdminCars[4] = AddStaticVehicleEx(522,1127.9119,-2047.8867,68.5769,271.4676,0,0,-1); // ADMIN CAR 5
  320.     AdminCars[5] = AddStaticVehicleEx(522,1128.1819,-2026.0825,68.5794,269.5689,0,0,-1); // ADMIN CAR 6
  321.     AdminCars[6] = AddStaticVehicleEx(451,1134.0929,-2064.0625,68.7150,359.6290,0,0,-1); // ADMIN CAR 7
  322.     AdminCars[7] = AddStaticVehicleEx(451,1133.3470,-2010.6639,68.7069,179.0442,0,0,-1); // ADMIN CAR 8
  323.     AdminCars[8] = AddStaticVehicleEx(560,1140.4364,-2032.0857,68.7079,270.6010,0,0,-1); // ADMIN CAR 9
  324.     AdminCars[9] = AddStaticVehicleEx(560,1140.5405,-2042.0111,68.6874,270.6010,0,0,-1); // ADMIN CAR 10
  325.     AdminCars[10] = AddStaticVehicleEx(415,1165.7246,-2029.7604,68.7727,141.8805,0,0,-1); // ADMIN CAR 11
  326.     AdminCars[11] = AddStaticVehicleEx(415,1165.7522,-2044.2169,68.7764,37.2814,0,0,-1); // ADMIN CAR 12
  327.     AdminCars[12] = AddStaticVehicleEx(409,1153.7200,-2006.4700,68.8078,269.5692,0,0,-1); // ADMIN CAR 13
  328.     AdminCars[13] = AddStaticVehicleEx(409,1153.2616,-2067.4055,68.8125,269.5692,0,0,-1); // ADMIN CAR 14
  329.     return 1;
  330. }
  331.  
  332. public OnGameModeExit()
  333. {
  334.     return 1;
  335. }
  336.  
  337. public OnPlayerRequestClass(playerid, classid)
  338. {
  339.     SetPlayerInterior(playerid,3);
  340.     SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516);
  341.     SetPlayerFacingAngle(playerid,181.0);
  342.     SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516);
  343.     SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);
  344.     if(classid == 0 || classid == 1 || classid == 2)
  345.     {
  346.     GameTextForPlayer(playerid, "~g~ Team Grove", 2000, 6);
  347.     gTeam[playerid] = TEAM_GROVE;
  348.     }
  349.     if(classid == 3 || classid == 4 || classid == 5)
  350.     {
  351.     GameTextForPlayer(playerid, "~g~ Team Ballas", 2000, 6);
  352.     gTeam[playerid] = TEAM_BALLAS;
  353.     }
  354.     if(classid == 6 || classid == 7 || classid == 8)
  355.     {
  356.     GameTextForPlayer(playerid, "~g~ Team Vagos", 2000, 6);
  357.     gTeam[playerid] = TEAM_VAGOS;
  358.     }
  359.     if(classid == 9 || classid == 10 || classid == 11)
  360.     {
  361.     GameTextForPlayer(playerid, "~g~ Team Police", 2000, 6);
  362.     gTeam[playerid] = TEAM_PD;
  363.     }
  364.     return 1;
  365. }
  366.  
  367. public OnPlayerConnect(playerid)
  368. {
  369.     FirstSpawn[playerid] = 1;
  370.     if(PlayerInfo[playerid][pWarns] >= 3)
  371.     {
  372.         SendClientMessage(playerid, COLOR_RED, "Du kannst derzeit nicht spielen da du soviele Warns hast!");
  373.         Kick(playerid);
  374.      }
  375.     GameTextForPlayer(playerid, GM_NAME,5000,1);
  376.     new playrname[MAX_PLAYER_NAME];
  377.     new connect[128];
  378.     GetPlayerName(playerid, playrname, sizeof(playrname));
  379.     format(connect, sizeof(connect), "/Accounts/%s.ini", playrname);
  380.     if(fexist(connect)) {
  381.         gPlayerAccount[playerid] = 1;
  382.         SendClientMessage(playerid, COLOR_LAWNGREEN, "|__________________ Logge dich ein  __________________|");
  383.         SendClientMessage(playerid, COLOR_WHITE, "Dein Account wurde wieder gefunden, logg dich ein!");
  384.         SendClientMessage(playerid, COLOR_WHITE, "Tippe: /login [passwort]");
  385.         return 1;
  386.     }
  387.     else {
  388.         gPlayerAccount[playerid] = 0;
  389.         SendClientMessage(playerid, COLOR_LAWNGREEN, "|____________________ Registration ____________________|");
  390.         SendClientMessage(playerid, COLOR_WHITE, "Dein Name wurde nicht gefunden, bitte registrier dich.");
  391.         SendClientMessage(playerid, COLOR_WHITE, "Tippe: /register [passwort]");
  392.     }
  393.     return 1;
  394. }
  395.  
  396. public OnPlayerDisconnect(playerid, reason)
  397. {
  398.     SaveAccounts(playerid);
  399.     PlayerInfo[playerid][pAdmin] = 0;
  400.     PlayerInfo[playerid][pDeaths] = 0;
  401.     PlayerInfo[playerid][pKills] = 0;
  402.     PlayerInfo[playerid][pWarns] = 0;
  403.     PlayerInfo[playerid][pSkillPoints] = 0;
  404.     gPlayerLogged[playerid] = 0;
  405.     FirstSpawn[playerid] = 0;
  406.     return 1;
  407. }
  408.  
  409. public OnPlayerSpawn(playerid)
  410. {
  411.     TextDrawShowForAll(Uhr);
  412.     TextDrawShowForAll(Datum);
  413.  
  414.     GangZoneShowForPlayer(playerid, ZONE_GROVE, 0x00800067);
  415.     GangZoneShowForPlayer(playerid, ZONE_BALLAS, 0x80008072);
  416.     GangZoneShowForPlayer(playerid, ZONE_VAGOS, 0xFFFF007E);
  417.     GangZoneShowForPlayer(playerid, ZONE_ADMIN, 0x00000074);
  418.     SetPlayerHealth(playerid, 100);
  419.     SetPlayerArmour(playerid, 100);
  420.     GivePlayerWeapon(playerid, 24, 250);
  421.     GivePlayerWeapon(playerid, 29, 600);
  422.     GivePlayerWeapon(playerid, 31, 500);
  423.     GivePlayerWeapon(playerid, 4, 1);
  424.     GivePlayerWeapon(playerid, 25, 200);
  425.     if(gTeam[playerid] == TEAM_GROVE)
  426.     {
  427.         SetPlayerColor(playerid,GROVE); // Grün
  428.         SetPlayerInterior(playerid,3);
  429.         SetPlayerPos(playerid,2495.9500,-1709.9470,1014.7422);
  430.     }
  431.     else if(gTeam[playerid] == TEAM_BALLAS)
  432.     {
  433.         SetPlayerColor(playerid,BALLAS); // LILA
  434.         SetPlayerInterior(playerid,5);
  435.         SetPlayerPos(playerid,317.8694,1118.0658,1083.8828);
  436.     }
  437.     else if(gTeam[playerid] == TEAM_VAGOS)
  438.     {
  439.         SetPlayerColor(playerid,VAGOS); // GELB
  440.         SetPlayerInterior(playerid,2);
  441.         SetPlayerPos(playerid,2451.0337,-1699.9764,1013.5078);
  442.     }
  443.     else if(gTeam[playerid] == TEAM_PD)
  444.     {
  445.         ResetPlayerWeapons(playerid);
  446.         GivePlayerWeapon(playerid, 24, 250);
  447.         GivePlayerWeapon(playerid, 29, 600);
  448.         GivePlayerWeapon(playerid, 31, 500);
  449.         GivePlayerWeapon(playerid, 3, 1);
  450.         GivePlayerWeapon(playerid, 25, 200);
  451.         SetPlayerColor(playerid,PD); // BLAU
  452.         SetPlayerInterior(playerid,6);
  453.         SetPlayerPos(playerid,219.4335,68.3524,1005.0391);
  454.     }
  455.     if (FirstSpawn[playerid] == 1)
  456.     {
  457.         new Label[64];
  458.         if(PlayerInfo[playerid][pAdmin] == 1) { Label = "Moderator"; }
  459.         else if(PlayerInfo[playerid][pAdmin] == 2) { Label = "Administrator"; }
  460.         else if(PlayerInfo[playerid][pAdmin] == 3) { Label = "Super Admin"; }
  461.         else if(PlayerInfo[playerid][pAdmin] == 4) { Label = "Server Manager"; }
  462.         else if(PlayerInfo[playerid][pAdmin] == 5) { Label = "Server Owner"; }
  463.         AdminLabel[playerid] = Create3DTextLabel(Label, COLOR_RED,0,0,0,30.0,-1,true);
  464.         Attach3DTextLabelToPlayer(AdminLabel[playerid], playerid, 0.0, 0.0, 0.35);
  465.         FirstSpawn[playerid] = 0;
  466.     }
  467.     return 1;
  468. }
  469.  
  470. public OnPlayerDeath(playerid, killerid, reason)
  471. {
  472.     GameTextForPlayer(playerid, "~r~ Ausser Gefecht!!", 3000, 6);
  473.     GameTextForPlayer(killerid, "~r~ Kill! ~w~+100 SP", 1000, 6);
  474.     PlayerInfo[killerid][pKills]++;
  475.     PlayerInfo[playerid][pDeaths]++;
  476.     PlayerInfo[killerid][pSkillPoints] += 100;
  477.     return 1;
  478. }
  479.  
  480. public OnVehicleSpawn(vehicleid)
  481. {
  482.     return 1;
  483. }
  484.  
  485. public OnVehicleDeath(vehicleid, killerid)
  486. {
  487.     return 1;
  488. }
  489.  
  490. public OnPlayerText(playerid, text[])
  491. {
  492.     #if defined ANTISPAM
  493.     new string[128];
  494.     SetPVarInt(playerid, "TextSpam", GetPVarInt(playerid, "TextSpam") + 1);
  495.     SetTimerEx("ClearTextSpam", 2000, false, "d", playerid);
  496.     if(GetPVarInt(playerid,"TextSpam") == 5)
  497.     {
  498.         format(string, sizeof(string), "AdmCmd: %s(%d) wurde wegen Spam von Server gekickt.", GetName(playerid), playerid);
  499.         SendClientMessageToAll(COLOR_LIGHTRED, string);
  500.         SendClientMessage(playerid, COLOR_LIGHTRED, "Anti-Spam: Du wurdest gekickt! {1B84E0}(Warnings: 3/3)");
  501.         Kick(playerid);
  502.     }
  503.     else if(GetPVarInt(playerid, "TextSpam") == 3)
  504.     {
  505.         SendClientMessage(playerid, COLOR_LIGHTRED, "Anti-Spam: Spam nicht, sonst wirst du gekickt! {1B84E0}(Warnings: 1/3)");
  506.         return 0;
  507.     }
  508.     else if(GetPVarInt(playerid, "TextSpam") == 4)
  509.     {
  510.         SendClientMessage(playerid, COLOR_LIGHTRED, "Anti-Spam: Spam nicht, sonst wirst du gekickt! {1B84E0}(Warnings: 2/3)");
  511.         return 0;
  512.     }
  513.     #endif
  514.     return 1;
  515. }
  516.  
  517. public OnPlayerCommandText(playerid, cmdtext[])
  518. {
  519.     new cmd[256];
  520.     new sendername[MAX_PLAYERS];
  521.     new string[MAX_PLAYERS];
  522.     new giveplayerid;
  523.     new giveplayer[24];
  524.     new idx;
  525.     cmd = strtok(cmdtext, idx);
  526.     new tmp[256];
  527.     new playername[MAX_PLAYER_NAME];
  528.     if (strcmp(cmd, "/login", true) ==0 ) {
  529.         if(IsPlayerConnected(playerid)) {
  530.             new tmppass[64];
  531.             if(gPlayerLogged[playerid] == 1) {
  532.                 SendClientMessage(playerid, COLOR_GREY, "   Du bist bereits eingeloggt.");
  533.                 return 1;
  534.             }
  535.             tmp = strtok(cmdtext, idx);
  536.             if(!strlen(tmp)) {
  537.                 SendClientMessage(playerid, COLOR_GREY, "   Benutze: /login [password]");
  538.                 return 1;
  539.             }
  540.             strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  541.             OnPlayerLogin(playerid,tmppass);
  542.         }
  543.         return 1;
  544.     }
  545.     if (strcmp(cmd, "/register", true)==0) {
  546.         tmp = strtok(cmdtext, idx);
  547.         if(!strlen(tmp)) {
  548.             SendClientMessage(playerid, COLOR_GREY, "Benutze: /register [password]");
  549.             return 1;
  550.         }
  551.         if (gPlayerAccount[playerid] == 1) {
  552.             SendClientMessage(playerid, COLOR_GREY, "   Der Name ist bereits registriert");
  553.             return 1;
  554.         }
  555.  
  556.         strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
  557.         GetPlayerName(playerid, playername, sizeof(playername));
  558.         format(string, sizeof(string), "/Accounts/%s.ini", playername);
  559.         new File: file = fopen(string, io_read);
  560.         if (file) {
  561.             SendClientMessage(playerid, COLOR_GREY, "   Der Name ist bereits registriert");
  562.             fclose(file);
  563.             return 1;
  564.         }
  565.         new File:hFile;
  566.         hFile = fopen(string, io_append);
  567.         new var[32];
  568.         format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
  569.         format(var, 32, "Admin=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  570.         format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
  571.         format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
  572.         format(var, 32, "Warns=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
  573.         format(var, 32, "SkillPoints=%d\n",PlayerInfo[playerid][pSkillPoints]);fwrite(hFile, var);
  574.         fclose(hFile);
  575.         SendClientMessage(playerid, COLOR_WHITE, "Erfolgreich registriert!");
  576.         SendClientMessage(playerid, COLOR_WHITE, "Gebe nächstes mal /login <password> zum einloggen ein.");
  577.         OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
  578.         ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Server Regeln:","1. Beleidigen ist Verboten!\n2. Bugusing ist Verboten!\n3. Cheaten ist Verboten!\n4. Serverwerbung ist Verboten\n\n\nJedlicher Missbrauch der Regeln wird mit\nKick/Warn/Ban bestraft!","Akzeptieren","Ablehnen");
  579.         return 1;
  580.     }
  581.     if(strcmp(cmd, "/t", true) == 0 || strcmp(cmd, "/team", true) == 0)
  582.     {
  583.         if(IsPlayerConnected(playerid))
  584.         {
  585.             GetPlayerName(playerid, sendername, sizeof(sendername));
  586.             new length = strlen(cmdtext);
  587.             while ((idx < length) && (cmdtext[idx] <= ' '))
  588.             {
  589.                 idx++;
  590.             }
  591.             new offset = idx;
  592.             new result[104];
  593.             while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  594.             {
  595.                 result[idx - offset] = cmdtext[idx];
  596.                 idx++;
  597.             }
  598.             result[idx - offset] = EOS;
  599.             if(!strlen(result))
  600.             {
  601.                 SendClientMessage(playerid, GRAU, "Benutze: (/t)eam [Nachricht]");
  602.                 return 1;
  603.             }
  604.             format(string, sizeof(string), "[TM] %s: %s.", sendername, result);
  605.             if(gTeam[playerid] == TEAM_GROVE)
  606.             {
  607.                 SendTeamMessage(gTeam[playerid] == TEAM_GROVE, TEAM_AZTECAS_COLOR, string);
  608.             }
  609.             if(gTeam[playerid] == TEAM_BALLAS)
  610.             {
  611.                 SendTeamMessage(gTeam[playerid] == TEAM_BALLAS, TEAM_AZTECAS_COLOR, string);
  612.             }
  613.             if(gTeam[playerid] == TEAM_VAGOS)
  614.             {
  615.                 SendTeamMessage(gTeam[playerid] == TEAM_VAGOS, TEAM_AZTECAS_COLOR, string);
  616.             }
  617.             if(gTeam[playerid] == TEAM_PD)
  618.             {
  619.                 SendTeamMessage(gTeam[playerid] == TEAM_PD, TEAM_AZTECAS_COLOR, string);
  620.             }
  621.         }
  622.         return 1;
  623.     }
  624.     if(strcmp(cmd, "/respawnallcars", true) == 0 || strcmp(cmd, "/rac", true) == 0) // by Ellis
  625.     {
  626.         if(IsPlayerConnected(playerid))
  627.         {
  628.             if(PlayerInfo[playerid][pAdmin] < 3)
  629.             {
  630.                 SendClientMessage(playerid, GRAU, " Du darfst diesen Befehl nicht nutzen!");
  631.                 return 1;
  632.             }
  633.             new bool:unwanted[CAR_AMOUNT];
  634.             for(new player=0; player<MAX_PLAYERS; player++)
  635.             {
  636.                 if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
  637.             }
  638.             for(new car = 1; car <= 120; car++)
  639.             {
  640.                 if(!unwanted[car]) SetVehicleToRespawn(car);
  641.             }
  642.  
  643.         }
  644.         return 1;
  645.     }
  646.     if (strcmp(cmd, "/admins", true) == 0)
  647.     {
  648.         if(IsPlayerConnected(playerid))
  649.         {
  650.             SendClientMessage(playerid, COLOR_LIGHTBLUE, "Admins Online:");
  651.             new i = 0;
  652.             for(; i < MAX_PLAYERS; i++)
  653.             {
  654.                 if(IsPlayerConnected(i))
  655.                 {
  656.                     if(PlayerInfo[i][pAdmin] == 1)
  657.                     {
  658.                         GetPlayerName(i, sendername, sizeof(sendername));
  659.                         format(string, 256, "Moderator: %s", sendername);
  660.                         SendClientMessage(playerid, GRAU, string);
  661.                      }
  662.                      else if(PlayerInfo[i][pAdmin] == 2)
  663.                      {
  664.                             GetPlayerName(i, sendername, sizeof(sendername));
  665.                             format(string, 256, "Administrator: %s", sendername);
  666.                             SendClientMessage(playerid, GRAU, string);
  667.                         }
  668.                         else if(PlayerInfo[i][pAdmin] == 3)
  669.                         {
  670.                                 GetPlayerName(i, sendername, sizeof(sendername));
  671.                                 format(string, 256, "SuperAdministrator: %s", sendername);
  672.                                 SendClientMessage(playerid, GRAU, string);
  673.                             }
  674.                             else if(PlayerInfo[i][pAdmin] == 4)
  675.                             {
  676.                                     GetPlayerName(i, sendername, sizeof(sendername));
  677.                                     format(string, 256, "ServerManager: %s", sendername);
  678.                                     SendClientMessage(playerid, GRAU, string);
  679.                                 }
  680.                                 else if(PlayerInfo[i][pAdmin] == 5)
  681.                                 {
  682.                                         GetPlayerName(i, sendername, sizeof(sendername));
  683.                                         format(string, 256, "MainAdmin: %s", sendername);
  684.                                         SendClientMessage(playerid, GRAU, string);
  685.                                 }
  686.                         }
  687.                 }
  688.         }
  689.         return 1;
  690.     }
  691.     if (strcmp("/kill", cmdtext, true, 10) == 0)
  692.     {
  693.         SetPlayerHealth(playerid, 0);
  694.         return 1;
  695.     }
  696.     if (strcmp("/credits", cmdtext, true, 10) == 0)
  697.     {
  698.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Credits:","        Credits an:\n{46E01B}Macher von SA-MP, [NeS]AmoK,\nDeutsche und Englische SA-MP Comminity.","OK","Cancel");
  699.         return 1;
  700.     }
  701.     if (strcmp("/home", cmdtext, true, 10) == 0)
  702.     {
  703.         if(PlayerInfo[playerid][pSkillPoints] >= 1000)
  704.         {
  705.             PlayerInfo[playerid][pSkillPoints] -= 1000;
  706.             SpawnPlayer(playerid);
  707.         }
  708.         else
  709.         {
  710.             SendClientMessage(playerid, GRAU, "Du hast keine 1000 SP!");
  711.         }
  712.         return 1;
  713.     }
  714.     if(strcmp(cmd, "/skillweapons", true, 10) == 0)
  715.     {
  716.         if (PlayerToPoint(1.0, playerid, 2499.7769,-1706.8365,1014.7422) ||
  717.         PlayerToPoint(1.0, playerid, 333.4630,1119.5349,1083.8903) ||
  718.         PlayerToPoint(1.0, playerid, 2451.9622,-1690.6805,1013.5078))
  719.         {
  720.         if(PlayerInfo[playerid][pKills] >= 40)
  721.         {
  722.             if(PlayerInfo[playerid][pSkillPoints] >= 5000)
  723.             {
  724.                     PlayerInfo[playerid][pSkillPoints] -= 5000;
  725.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,999);
  726.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,999);
  727.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,999);
  728.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,999);
  729.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,999);
  730.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,999);
  731.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,999);
  732.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,999);
  733.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,999);
  734.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,999);
  735.                     SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,999);
  736.                     SendClientMessage(playerid, COLOR_YELLOW, "Du hast deine Waffen Geskillt!");
  737.             }
  738.             else{
  739.                 SendClientMessage(playerid, GRAU, "Du bist nicht im Ganghaus!");
  740.             }
  741.         }
  742.         else{
  743.                 SendClientMessage(playerid, GRAU, "Du hast nich genug Skill Punkte(10000$)");
  744.             }
  745.         }
  746.         else{
  747.             SendClientMessage(playerid, GRAU, "Du hast nich genug Kills!(40)");
  748.         }
  749.         return 1;
  750.     }
  751.     if (strcmp(cmd, "/stats", true) == 0)
  752.     {
  753.         if(IsPlayerConnected(playerid))
  754.         {
  755.             if (gPlayerLogged[playerid] != 0)
  756.             {
  757.                 am_ShowStats(playerid,playerid);
  758.             }
  759.             else
  760.             {
  761.                 SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt !");
  762.             }
  763.         }
  764.         return 1;
  765.     }
  766.     if (strcmp("/gmx", cmdtext, true, 10) == 0)
  767.     {
  768.             if(PlayerInfo[playerid][pAdmin] >= 4)
  769.             {
  770.                 SendClientMessage(playerid, GRAU, " GMX CountDown wurde gestartet!");
  771.                 GMXStatus[playerid] = 1;
  772.                 am_GMX();
  773.             }
  774.             else
  775.             {
  776.                 SendClientMessage(playerid,GRAU, "Du bist kein ServerManager!");
  777.         }
  778.         return 1;
  779.     }
  780.     if (strcmp("/help", cmdtext, true, 10) == 0 || strcmp("/hilfe", cmdtext, true, 10) == 0)
  781.     {
  782.         SendClientMessage(playerid, COLOR_LIGHTBLUE, "|______ HILFE ______|");
  783.         SendClientMessage(playerid, COLOR_YELLOWGREEN, "   !!ALLGEMEINE BEFEHLE!!");
  784.         SendClientMessage(playerid, COLOR_ORANGE, "/kill um dich zu töten.");
  785.         SendClientMessage(playerid, COLOR_ORANGE, "/stats um deine Statistiken zu sehen.");
  786.         SendClientMessage(playerid, COLOR_ORANGE, "/info um die Informationen zu sehen.");
  787.         SendClientMessage(playerid, COLOR_ORANGE, "/admins um zu sehn welcher Admin On ist.");
  788.         SendClientMessage(playerid, COLOR_ORANGE, "/home Zum Spawnpoint Porten (-1000 SP)");
  789.         SendClientMessage(playerid, COLOR_YELLOWGREEN, "   !!TEAM BEFEHLE!!");
  790.         if(gTeam[playerid] == TEAM_GROVE){
  791.             SendClientMessage(playerid, COLOR_ORANGE, "/g um mit deinen gang Kollegen zu Chatten!");}
  792.         else if(gTeam[playerid] == TEAM_BALLAS){
  793.             SendClientMessage(playerid, COLOR_ORANGE, "/b um mit deinen gang Kollegen zu Chatten!");}
  794.         else if(gTeam[playerid] == TEAM_VAGOS){
  795.             SendClientMessage(playerid, COLOR_ORANGE, "/v um mit deinen gang Kollegen zu Chatten!");}
  796.         else if(gTeam[playerid] == TEAM_PD){
  797.             SendClientMessage(playerid, COLOR_ORANGE, "/p um mit deinen gang Kollegen zu Chatten!");}
  798.         return 1;
  799.     }
  800.     if (strcmp("/adminhelp", cmdtext, true, 10) == 0 || strcmp("/ah", cmdtext, true, 10) == 0)
  801.     {
  802.             if(PlayerInfo[playerid][pAdmin] >= 1)
  803.             {
  804.                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "|______ ADMIN HILFE ______|");
  805.                 if(PlayerInfo[playerid][pAdmin] == 1)
  806.                 {
  807.                 SendClientMessage(playerid, COLOR_ORANGE, "/kick /ban /adminarea");
  808.                 }
  809.                 else if(PlayerInfo[playerid][pAdmin] == 2)
  810.                 {
  811.                 SendClientMessage(playerid, COLOR_ORANGE, "/goto");
  812.                 }
  813.                 else if(PlayerInfo[playerid][pAdmin] == 3)
  814.                 {
  815.                 SendClientMessage(playerid, COLOR_ORANGE, "/explode");
  816.                 }
  817.                 else if(PlayerInfo[playerid][pAdmin] == 4)
  818.                 {
  819.                 SendClientMessage(playerid, COLOR_ORANGE, "/gmx ");
  820.                 }
  821.                 else if(PlayerInfo[playerid][pAdmin] == 5)
  822.                 {
  823.                 SendClientMessage(playerid, COLOR_ORANGE, "---");
  824.                 }
  825.             }
  826.             else
  827.             {
  828.                 SendClientMessage(playerid,GRAU, "Du bist kein Administrator!");
  829.         }
  830.         return 1;
  831.     }
  832.     if(strcmp(cmd, "/explode", true) == 0)
  833.         {
  834.         if(IsPlayerConnected(playerid))
  835.         {
  836.             tmp = strtok(cmdtext, idx);
  837.             if(!strlen(tmp))
  838.             {
  839.                 SendClientMessage(playerid, GRAU, "Benutze: /explode [playerid] [Grund]");
  840.                 return 1;
  841.             }
  842.             giveplayerid = ReturnUser(tmp);
  843.             if (PlayerInfo[playerid][pAdmin] >= 3)
  844.             {
  845.                 if(IsPlayerConnected(giveplayerid))
  846.                 {
  847.                     if(giveplayerid != INVALID_PLAYER_ID)
  848.                     {
  849.                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  850.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  851.                         new length = strlen(cmdtext);
  852.                         while ((idx < length) && (cmdtext[idx] <= ' '))
  853.                         {
  854.                             idx++;
  855.                         }
  856.                         new offset = idx;
  857.                         new result[64];
  858.                         while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  859.                         {
  860.                             result[idx - offset] = cmdtext[idx];
  861.                             idx++;
  862.                         }
  863.                         result[idx - offset] = EOS;
  864.                         if(!strlen(result))
  865.                         {
  866.                             SendClientMessage(playerid, GRAU, "Benutze: /explode [playerid] [Grund]");
  867.                             return 1;
  868.                         }
  869.  
  870.                         format(string, sizeof(string), "SERVER: %s wurde von %s Exploadet, Grund: %s", giveplayer, sendername, (result));
  871.                         SendClientMessageToAll(COLOR_RED, string);
  872.                         GetPlayerPos(playerid,X,Y,Z);
  873.                         CreateExplosion(X+1,Y,Z,7,200);
  874.                         CreateExplosion(X,Y,Z+1,7,200);
  875.                         CreateExplosion(X-1,Y,Z,7,200);
  876.                         CreateExplosion(X,Y-1,Z,7,200);
  877.                         CreateExplosion(X+1,Y+1,Z,7,200);
  878.                         CreateExplosion(X-1,Y-1,Z,7,200);
  879.                         CreateExplosion(X-1,Y+1,Z,7,200);
  880.                         CreateExplosion(X+1,Y-1,Z,7,200);
  881.                         CreateExplosion(X,Y+2,Z,7,200);
  882.                         CreateExplosion(X,Y-2,Z,7,200);
  883.                         CreateExplosion(X+2,Y,Z,7,200);
  884.                         CreateExplosion(X-2,Y,Z,7,200);
  885.                         CreateExplosion(X,Y,Z+1,7,200);
  886.                         CreateExplosion(X,Y,Z+2,7,200);
  887.                         return 1;
  888.                     }
  889.                 }
  890.             }
  891.             else
  892.             {
  893.                 format(string, sizeof(string), "   %d gibt es nicht.", giveplayerid);
  894.                 SendClientMessage(playerid, GRAU, string);
  895.             }
  896.         }
  897.         return 1;
  898.     }
  899.     if(strcmp(cmd, "/goto", true) == 0)
  900.     {
  901.         tmp = strtok(cmdtext, idx);
  902.         giveplayerid = ReturnUser(tmp);
  903.         if (PlayerInfo[playerid][pAdmin] >= 2)
  904.         {
  905.             if(IsPlayerConnected(giveplayerid))
  906.             {
  907.                 GetPlayerPos(giveplayerid, X, Y, Z);
  908.                 SetPlayerPos(playerid, X+10, Y, Z);
  909.             }
  910.         }
  911.         return 1;
  912.     }
  913.     if (strcmp("/adminarea", cmdtext, true, 10) == 0 || strcmp("/aa", cmdtext, true, 10) == 0)
  914.     {
  915.             if(PlayerInfo[playerid][pAdmin] >= 1)
  916.             {
  917.                 SetPlayerPos(playerid,1117.6783,-2037.0377,78.7500);
  918.             }
  919.             else
  920.             {
  921.                 SendClientMessage(playerid,GRAU, "Du bist kein Administrator =)");
  922.         }
  923.         return 1;
  924.     }
  925.     if(strcmp(cmd, "/kick", true) == 0)
  926.         {
  927.         if(IsPlayerConnected(playerid))
  928.         {
  929.             tmp = strtok(cmdtext, idx);
  930.             if(!strlen(tmp))
  931.             {
  932.                 SendClientMessage(playerid, GRAU, "Benutze: /kick [playerid] [Grund]");
  933.                 return 1;
  934.             }
  935.             giveplayerid = ReturnUser(tmp);
  936.             if (PlayerInfo[playerid][pAdmin] >= 1)
  937.             {
  938.                 if(IsPlayerConnected(giveplayerid))
  939.                 {
  940.                     if(giveplayerid != INVALID_PLAYER_ID)
  941.                     {
  942.                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  943.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  944.                         new length = strlen(cmdtext);
  945.                         while ((idx < length) && (cmdtext[idx] <= ' '))
  946.                         {
  947.                             idx++;
  948.                         }
  949.                         new offset = idx;
  950.                         new result[64];
  951.                         while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  952.                         {
  953.                             result[idx - offset] = cmdtext[idx];
  954.                             idx++;
  955.                         }
  956.                         result[idx - offset] = EOS;
  957.                         if(!strlen(result))
  958.                         {
  959.                             SendClientMessage(playerid, GRAU, "Benutze: /kick [playerid] [Grund]");
  960.                             return 1;
  961.                         }
  962.  
  963.                         format(string, sizeof(string), "SERVER: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
  964.                         SendClientMessageToAll(COLOR_RED, string);
  965.                         Kick(giveplayerid);
  966.  
  967.                         return 1;
  968.                     }
  969.                 }
  970.             }
  971.             else
  972.             {
  973.                 format(string, sizeof(string), "   %d gibt es nicht.", giveplayerid);
  974.                 SendClientMessage(playerid, GRAU, string);
  975.             }
  976.         }
  977.         return 1;
  978.     }
  979.     if(strcmp(cmd, "/ban", true) == 0)
  980.     {
  981.         if(IsPlayerConnected(playerid))
  982.         {
  983.             tmp = strtok(cmdtext, idx);
  984.             if(!strlen(tmp))
  985.             {
  986.                 SendClientMessage(playerid, GRAU, "Benutze: /ban [playerid] [Grund]");
  987.                 return 1;
  988.             }
  989.             giveplayerid = ReturnUser(tmp);
  990.             if (PlayerInfo[playerid][pAdmin] >= 1)
  991.             {
  992.                 if(IsPlayerConnected(giveplayerid))
  993.                 {
  994.                     if(giveplayerid != INVALID_PLAYER_ID)
  995.                     {
  996.                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  997.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  998.                         new length = strlen(cmdtext);
  999.                         while ((idx < length) && (cmdtext[idx] <= ' '))
  1000.                         {
  1001.                             idx++;
  1002.                         }
  1003.                         new offset = idx;
  1004.                         new result[64];
  1005.                         while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  1006.                         {
  1007.                             result[idx - offset] = cmdtext[idx];
  1008.                             idx++;
  1009.                         }
  1010.                         result[idx - offset] = EOS;
  1011.                         if(!strlen(result))
  1012.                         {
  1013.                             SendClientMessage(playerid, GRAU, "Benutze: /ban [playerid] [Grund]");
  1014.                             return 1;
  1015.                         }
  1016.  
  1017.                         format(string, sizeof(string), "SERVER: %s wurde von %s gebannt, Grund: %s", giveplayer, sendername, (result));
  1018.                         SendClientMessageToAll(COLOR_RED, string);
  1019.                         Ban(giveplayerid);
  1020.                         return 1;
  1021.                     }
  1022.                 }
  1023.             }
  1024.             else
  1025.             {
  1026.                 format(string, sizeof(string), "   %d gibt es nicht.", giveplayerid);
  1027.                 SendClientMessage(playerid, GRAU, string);
  1028.             }
  1029.         }
  1030.         return 1;
  1031.     }
  1032. // ---> ENTER & EXIT <----
  1033.     if (strcmp("/enter", cmdtext, true, 10) == 0)
  1034.     {
  1035.         if (PlayerToPoint(1.0, playerid, 1122.7208,-2036.9316,69.8942))
  1036.         {
  1037.             if(PlayerInfo[playerid][pAdmin] >= 1)
  1038.             {
  1039.                 SetPlayerInterior(playerid,12);
  1040.                 SetPlayerPos(playerid,2324.3657,-1147.5863,1050.7101);
  1041.             }
  1042.             else
  1043.             {
  1044.                 GetPlayerPos(playerid,X,Y,Z);
  1045.                 CreateExplosion(X+1,Y,Z,7,200);
  1046.                 CreateExplosion(X,Y,Z+1,7,200);
  1047.                 CreateExplosion(X-1,Y,Z,7,200);
  1048.                 CreateExplosion(X,Y-1,Z,7,200);
  1049.                 CreateExplosion(X+1,Y+1,Z,7,200);
  1050.                 CreateExplosion(X-1,Y-1,Z,7,200);
  1051.                 CreateExplosion(X-1,Y+1,Z,7,200);
  1052.                 CreateExplosion(X+1,Y-1,Z,7,200);
  1053.                 CreateExplosion(X,Y+2,Z,7,200);
  1054.                 CreateExplosion(X,Y-2,Z,7,200);
  1055.                 SendClientMessage(playerid,GRAU, "Du bist kein Administrator =)");
  1056.             }
  1057.         }
  1058.         return 1;
  1059.     }
  1060.     if (strcmp("/exit", cmdtext, true, 10) == 0)
  1061.     {
  1062.         if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1063.         {
  1064.             if(PlayerInfo[playerid][pAdmin] >= 1)
  1065.             {
  1066.                 SetPlayerInterior(playerid,0);
  1067.                 SetPlayerPos(playerid,1124.6172,-2037.0037,69.8942);
  1068.             }
  1069.             else
  1070.             {
  1071.                 GetPlayerPos(playerid,X,Y,Z);
  1072.                 CreateExplosion(X+1,Y,Z,7,200);
  1073.                 CreateExplosion(X,Y,Z+1,7,200);
  1074.                 CreateExplosion(X-1,Y,Z,7,200);
  1075.                 CreateExplosion(X,Y-1,Z,7,200);
  1076.                 CreateExplosion(X+1,Y+1,Z,7,200);
  1077.                 CreateExplosion(X-1,Y-1,Z,7,200);
  1078.                 CreateExplosion(X-1,Y+1,Z,7,200);
  1079.                 CreateExplosion(X+1,Y-1,Z,7,200);
  1080.                 CreateExplosion(X,Y+2,Z,7,200);
  1081.                 CreateExplosion(X,Y-2,Z,7,200);
  1082.                 SendClientMessage(playerid,GRAU, "Du bist kein Administrator =)");
  1083.             }
  1084.         }
  1085.         return 1;
  1086.     }
  1087.     return 0;
  1088. }
  1089. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1090. {
  1091.     return 1;
  1092. }
  1093.  
  1094. public OnPlayerExitVehicle(playerid, vehicleid)
  1095. {
  1096.     return 1;
  1097. }
  1098.  
  1099. public OnPlayerStateChange(playerid, newstate, oldstate)
  1100. {
  1101.     new newcar = GetPlayerVehicleID(playerid);
  1102.     if(IsAnAdminCar(newcar))
  1103.         {
  1104.             if(PlayerInfo[playerid][pAdmin] >= 1) { }
  1105.             else
  1106.             {
  1107.                 RemovePlayerFromVehicle(playerid);
  1108.                 SendClientMessage(playerid,GRAU, "Du bist kein Administrator =)");
  1109.             }
  1110.         }
  1111.         else if(IsAnGroveCar(newcar))
  1112.         {
  1113.             if(gTeam[playerid] == TEAM_GROVE) { }
  1114.             else
  1115.             {
  1116.                 RemovePlayerFromVehicle(playerid);
  1117.                 SendClientMessage(playerid,GRAU, "Du bist kein Grove Mitglied");
  1118.             }
  1119.         }
  1120.         else if(IsAnBallasCar(newcar))
  1121.         {
  1122.             if(gTeam[playerid] == TEAM_BALLAS) { }
  1123.             else
  1124.             {
  1125.                 RemovePlayerFromVehicle(playerid);
  1126.                 SendClientMessage(playerid,GRAU, "Du bist kein Ballas Mitglied");
  1127.             }
  1128.         }
  1129.         else if(IsAnVagosCar(newcar))
  1130.         {
  1131.             if(gTeam[playerid] == TEAM_VAGOS) { }
  1132.             else
  1133.             {
  1134.                 RemovePlayerFromVehicle(playerid);
  1135.                 SendClientMessage(playerid,GRAU, "Du bist kein Vagos Mitglied");
  1136.             }
  1137.         }
  1138.         else if(IsAnPdCar(newcar))
  1139.         {
  1140.             if(gTeam[playerid] == TEAM_PD) { }
  1141.             else
  1142.             {
  1143.                 RemovePlayerFromVehicle(playerid);
  1144.                 SendClientMessage(playerid,GRAU, "Du bist kein Polizei Mitglied");
  1145.             }
  1146.         }
  1147.         return 1;
  1148. }
  1149. public OnPlayerEnterCheckpoint(playerid)
  1150. {
  1151.     return 1;
  1152. }
  1153.  
  1154. public OnPlayerLeaveCheckpoint(playerid)
  1155. {
  1156.     return 1;
  1157. }
  1158.  
  1159. public OnPlayerEnterRaceCheckpoint(playerid)
  1160. {
  1161.     return 1;
  1162. }
  1163.  
  1164. public OnPlayerLeaveRaceCheckpoint(playerid)
  1165. {
  1166.     return 1;
  1167. }
  1168.  
  1169. public OnRconCommand(cmd[])
  1170. {
  1171.     return 1;
  1172. }
  1173.  
  1174. public OnPlayerRequestSpawn(playerid)
  1175. {
  1176.     return 1;
  1177. }
  1178.  
  1179. public OnObjectMoved(objectid)
  1180. {
  1181.     return 1;
  1182. }
  1183.  
  1184. public OnPlayerObjectMoved(playerid, objectid)
  1185. {
  1186.     return 1;
  1187. }
  1188.  
  1189. public OnPlayerPickUpPickup(playerid, pickupid)
  1190. {
  1191.     return 1;
  1192. }
  1193. public am_PickUpCheck(playerid)
  1194. {
  1195.     if (PlayerToPoint(1.0, playerid, 2499.7769,-1706.8365,1014.7422))
  1196.     {// GROVE
  1197.         GameTextForPlayer(playerid, "~w~Tippe~r~ /skillweapons~w~ Um deinen \n~w~Waffenskill zu Verbessern", 3000, 5);
  1198.     }
  1199.     else if (PlayerToPoint(1.0, playerid, 333.4630,1119.5349,1083.8903))
  1200.     {// BALLAS
  1201.         GameTextForPlayer(playerid, "~w~Tippe~r~ /skillweapons~w~ Um deinen \n~w~Waffenskill zu Verbessern", 3000, 5);
  1202.     }
  1203.     else if (PlayerToPoint(1.0, playerid, 2451.9622,-1690.6805,1013.5078))
  1204.     {// VAGOS
  1205.         GameTextForPlayer(playerid, "~w~Tippe~r~ /skillweapons~w~ Um deinen \n~w~Waffenskill zu Verbessern", 3000, 5);
  1206.     }
  1207.     else if (PlayerToPoint(1.0, playerid, 1122.7208,-2036.9316,69.8942))
  1208.     {// ADMIN // ENTER
  1209.         GameTextForPlayer(playerid, "~y~]]] ~w~No ~r~Risk ~w~No ~r~Fun ~y~]]]~n~~g~/enter", 3000, 5);
  1210.     }
  1211.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1212.     {// ADMIN // EXIT
  1213.         GameTextForPlayer(playerid, "~y~]]] ~w~No ~r~Risk ~w~No ~r~Fun ~y~]]]~n~~g~/exit", 3000, 5);
  1214.     }
  1215.     //---------------ADMIN WAFFEN----------------------
  1216.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1217.     {// DEAGLE
  1218.         GivePlayerWeapon(playerid, 24, 9999);
  1219.     }
  1220.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1221.     {// SHAWN-OFF
  1222.         GivePlayerWeapon(playerid, 26, 9999);
  1223.     }
  1224.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1225.     {// SPAZ-12
  1226.         GivePlayerWeapon(playerid, 27, 9999);
  1227.     }
  1228.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1229.     {// AK-47
  1230.         GivePlayerWeapon(playerid, 30, 9999);
  1231.     }
  1232.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1233.     {// M4
  1234.         GivePlayerWeapon(playerid, 31, 9999);
  1235.     }
  1236.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1237.     {// SNIPER
  1238.         GivePlayerWeapon(playerid, 34, 9999);
  1239.     }
  1240.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1241.     {// FLAMMENWERFER
  1242.         GivePlayerWeapon(playerid, 37, 9999);
  1243.     }
  1244.     else if (PlayerToPoint(1.0, playerid, 2324.2832,-1149.0988,1050.7101))
  1245.     {// FEUERLÖSCHER
  1246.         GivePlayerWeapon(playerid, 42, 9999);
  1247.     }
  1248.     return 1;
  1249. }
  1250. public OnVehicleMod(playerid, vehicleid, componentid)
  1251. {
  1252.     return 1;
  1253. }
  1254.  
  1255. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1256. {
  1257.     return 1;
  1258. }
  1259.  
  1260. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1261. {
  1262.     return 1;
  1263. }
  1264.  
  1265. public OnPlayerSelectedMenuRow(playerid, row)
  1266. {
  1267.     return 1;
  1268. }
  1269.  
  1270. public OnPlayerExitedMenu(playerid)
  1271. {
  1272.     return 1;
  1273. }
  1274.  
  1275. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1276. {
  1277.     return 1;
  1278. }
  1279.  
  1280. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1281. {
  1282.     return 1;
  1283. }
  1284.  
  1285. public OnRconLoginAttempt(ip[], password[], success)
  1286. {
  1287.     return 1;
  1288. }
  1289.  
  1290. public SaveAccounts(playerid)
  1291. {
  1292.     if(IsPlayerConnected(playerid)) {
  1293.         if(gPlayerLogged[playerid]) {
  1294.             new string3[32];
  1295.             new pname3[MAX_PLAYER_NAME];
  1296.             GetPlayerName(playerid, pname3, sizeof(pname3));
  1297.             format(string3, sizeof(string3), "/Accounts/%s.ini", pname3);
  1298.             new File: pFile = fopen(string3, io_write);
  1299.             if (pFile) {
  1300.                 new var[32];
  1301.                 format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
  1302.                 fclose(pFile);
  1303.                 new File: hFile = fopen(string3, io_append);
  1304.                 format(var, 32, "Admin=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  1305.                 format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
  1306.                 format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
  1307.                 format(var, 32, "Warns=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
  1308.                 format(var, 32, "SkillPoints=%d\n",PlayerInfo[playerid][pSkillPoints]);fwrite(hFile, var);
  1309.                 fclose(hFile);
  1310.             }
  1311.         }
  1312.     }
  1313.     return 1;
  1314. }
  1315. public am_ShowStats(playerid,targetid)
  1316. {
  1317.     if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  1318.     {
  1319.         new tode = PlayerInfo[targetid][pDeaths];
  1320.         new kills = PlayerInfo[targetid][pKills];
  1321.         new admin = PlayerInfo[targetid][pAdmin];
  1322.         new skill = PlayerInfo[targetid][pSkillPoints];
  1323.         new warns = PlayerInfo[targetid][pWarns];
  1324.         new statsmessage[256];
  1325.         format(statsmessage,sizeof(statsmessage),"{E0A21B}Benutzername: {FF2200}%s{E0A21B}\nKills: [{FF2200}%d{E0A21B}]\nTode:[{FF2200}%d{E0A21B}]\nAdmin:[{FF2200}%d{E0A21B}]\nSkill Punkte:[{FF2200}%d{E0A21B}]\nWarns:[{FF2200}%d{E0A21B}]" ,GetName(playerid),kills, tode, admin, skill,warns);
  1326.         ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Deine Stats",statsmessage,"<>","<>");
  1327.        
  1328.     }
  1329. }
  1330. public am_Kegel(playerid)
  1331. {
  1332.     for(new i = 0; i < MAX_PLAYERS; i++)
  1333.     {
  1334.         if (PlayerToPoint(1, i, 2495.3691,-1691.0033,14.7656))
  1335.         { // GROVE
  1336.             SetPlayerInterior(playerid, 3);
  1337.             SetPlayerPos(playerid, 2495.8684,-1694.5626,1014.7422); // Wo der Spieler hin kommen soll
  1338.             SetPlayerFacingAngle(playerid, 0.0);
  1339.         }
  1340.         else if (PlayerToPoint(1, i, 2495.9468,-1693.1537,1014.7422)) // GROVE Ausgang
  1341.         {
  1342.             SetPlayerInterior(playerid, 0);
  1343.             SetPlayerPos(playerid, 2495.2935,-1689.7031,14.5966);
  1344.             SetPlayerFacingAngle(playerid, 90.0);
  1345.         }
  1346.         if (PlayerToPoint(1, i, 2111.1553,-1279.8798,25.6875)) // BALLAS Eingang
  1347.         { // BALLAS
  1348.             SetPlayerInterior(playerid, 2);
  1349.             SetPlayerPos(playerid, 318.3772,1116.9031,1083.8828); // Wo der Spieler hin kommen soll
  1350.             SetPlayerFacingAngle(playerid, 0.0);
  1351.         }
  1352.         else if (PlayerToPoint(1, i, 318.6116,1115.5206,1083.8828)) // BALLAS Ausgang
  1353.         {
  1354.             SetPlayerInterior(playerid, 0);
  1355.             SetPlayerPos(playerid, 2111.0740,-1281.2615,25.6875);
  1356.             SetPlayerFacingAngle(playerid, 90.0);
  1357.         }
  1358.         if (PlayerToPoint(1, i, 2470.1577,-1295.4858,30.2332)) // VAGOS Eingang
  1359.         { // VAGOS
  1360.             SetPlayerInterior(playerid, 5);
  1361.             SetPlayerPos(playerid, 2466.0696,-1698.4060,1013.5078); // Wo der Spieler hin kommen soll
  1362.             SetPlayerFacingAngle(playerid, 0.0);
  1363.         }
  1364.         else if (PlayerToPoint(1, i, 2467.5342,-1698.2711,1013.5078)) // VAGOS Ausgang
  1365.         {
  1366.             SetPlayerInterior(playerid, 0);
  1367.             SetPlayerPos(playerid, 2468.7588,-1295.5162,29.9306);
  1368.             SetPlayerFacingAngle(playerid, 90.0);
  1369.         }
  1370.         if (PlayerToPoint(1, i, 1568.4351,-1690.7179,5.8906)) // PD Eingang
  1371.         { // PD
  1372.             SetPlayerInterior(playerid, 6);
  1373.             SetPlayerPos(playerid, 246.5898,64.0202,1003.6406); // Wo der Spieler hin kommen soll
  1374.             SetPlayerFacingAngle(playerid, 0.0);
  1375.         }
  1376.         else if (PlayerToPoint(1, i, 246.1993,62.3404,1003.6406)) // PD Ausgang
  1377.         {
  1378.             SetPlayerInterior(playerid, 0);
  1379.             SetPlayerPos(playerid, 1568.3560,-1692.9388,5.8906);
  1380.             SetPlayerFacingAngle(playerid, 90.0);
  1381.         }
  1382.     }
  1383.     return 1;
  1384. }
  1385. public OnPlayerStreamIn(playerid, forplayerid)
  1386. {
  1387.     return 1;
  1388. }
  1389.  
  1390. public OnPlayerStreamOut(playerid, forplayerid)
  1391. {
  1392.     return 1;
  1393. }
  1394.  
  1395. public OnVehicleStreamIn(vehicleid, forplayerid)
  1396. {
  1397.     return 1;
  1398. }
  1399.  
  1400. public OnVehicleStreamOut(vehicleid, forplayerid)
  1401. {
  1402.     return 1;
  1403. }
  1404.  
  1405. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1406. {
  1407.         if(dialogid == 0)
  1408.         {
  1409.         if(response)
  1410.         {
  1411.             SendClientMessage(playerid,COLOR_LIMEGREEN,"Du hast die Regeln Akzeptiert, Viel Spass beim Spielen");
  1412.         }
  1413.         else
  1414.         {
  1415.             SendClientMessage(playerid,COLOR_RED,"Du wurdest gekickt weil du die Regeln nicht Akzepiert hast!");
  1416.             Kick(playerid);
  1417.         }
  1418.         return 1;
  1419.     }
  1420.     return 0;
  1421. }
  1422.  
  1423. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1424. {
  1425.     if(!IsPlayerAdmin(playerid)) return 0;
  1426.     new message[256+1];
  1427.     format(message, 256, "Du hast %d vom Server Gekickt!", clickedplayerid);
  1428.     SendClientMessage(playerid, COLOR_RED, message);
  1429.     Kick(clickedplayerid);
  1430.     return 1;
  1431. }
  1432.  
  1433. public OnPlayerLogin(playerid,const string[])
  1434. {
  1435.     new pname2[MAX_PLAYER_NAME];
  1436.     new pname3[MAX_PLAYER_NAME];
  1437.     new string2[64];
  1438.     new string3[128];
  1439.     GetPlayerName(playerid, pname2, sizeof(pname2));
  1440.     format(string2, sizeof(string2), "/Accounts/%s.ini", pname2);
  1441.     new File: UserFile = fopen(string2, io_read);
  1442.  
  1443.     if (UserFile) {
  1444.         new valtmp[128],val[128];
  1445.         fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);
  1446.  
  1447.         if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0)) {
  1448.             new key[128];
  1449.             new Data[128];
  1450.             while(fread(UserFile,Data,sizeof(Data))) {
  1451.                 key = ini_GetKey(Data);
  1452.                 if( strcmp( key , "Admin" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdmin] = strval( val ); }
  1453.                 if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
  1454.                 if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
  1455.                 if( strcmp( key , "Warns" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pWarns] = strval( val ); }
  1456.                 if( strcmp( key , "SkillPoints" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSkillPoints] = strval( val ); }
  1457.             }
  1458.             fclose(UserFile);
  1459.             gPlayerLogged[playerid] = 1;
  1460.             gPlayerAccount[playerid] = 1;
  1461.             GetPlayerName(playerid, pname3, sizeof(pname3));
  1462.             SendClientMessage(playerid, COLOR_WHITE, "Erfolgreich eingeloggt.");
  1463.             format(string3, sizeof(string3), "Willkommen %s, du bist als Admin Level %d eingeloggt!", pname3, PlayerInfo[playerid][pAdmin]);
  1464.             SendClientMessage(playerid, COLOR_WHITE,string3);
  1465.             SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,100);
  1466.             SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,100);
  1467.             SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,100);
  1468.             SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,100);
  1469.             SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,100);
  1470.             SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,100);
  1471.             SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,100);
  1472.             SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,100);
  1473.             SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,100);
  1474.             SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,100);
  1475.             SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,100);
  1476.         }
  1477.         else {
  1478.             SendClientMessage(playerid, COLOR_GREY, "   Falsches Passwort");
  1479.             fclose(UserFile);
  1480.         }
  1481.     }
  1482.     return 1;
  1483. }
  1484.  
  1485. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  1486. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  1487. {
  1488.     if (IsPlayerConnected(playerid))
  1489.     {
  1490.         new Float:oldposx, Float:oldposy, Float:oldposz;
  1491.         new Float:tempposx, Float:tempposy, Float:tempposz;
  1492.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  1493.         tempposx = (oldposx -x);
  1494.         tempposy = (oldposy -y);
  1495.         tempposz = (oldposz -z);
  1496.         if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  1497.         {
  1498.             return 1;
  1499.         }
  1500.     }
  1501.     return 0;
  1502. }
  1503. public BroadCast(color,const string[])
  1504. {
  1505.     SendClientMessageToAll(color, string);
  1506.     return 1;
  1507. }
  1508.  
  1509. public SendTeamMessage(team, color, string[])
  1510. {
  1511.     for(new i = 0; i < MAX_PLAYERS; i++)
  1512.     {
  1513.         if(IsPlayerConnected(i))
  1514.         {
  1515.             if(gTeam[i] == team || gTeam[i] == team)
  1516.             {
  1517.                 SendClientMessage(i, color, string);
  1518.             }
  1519.         }
  1520.     }
  1521. }
  1522.  
  1523. public IsAnAdminCar(carid)
  1524. {
  1525.     for(new i = 0; i < sizeof(AdminCars); i++)
  1526.     {
  1527.         if(carid == AdminCars[i])
  1528.         {
  1529.             return 1;
  1530.         }
  1531.     }
  1532.     return 0;
  1533. }
  1534. public IsAnGroveCar(carid)
  1535. {
  1536.     for(new i = 0; i < sizeof(GroveCars); i++)
  1537.     {
  1538.         if(carid == GroveCars[i])
  1539.         {
  1540.             return 1;
  1541.         }
  1542.     }
  1543.     return 0;
  1544. }
  1545. public IsAnBallasCar(carid)
  1546. {
  1547.     for(new i = 0; i < sizeof(BallasCars); i++)
  1548.     {
  1549.         if(carid == BallasCars[i])
  1550.         {
  1551.             return 1;
  1552.         }
  1553.     }
  1554.     return 0;
  1555. }
  1556.  
  1557. public IsAnVagosCar(carid)
  1558. {
  1559.     for(new i = 0; i < sizeof(VagosCars); i++)
  1560.     {
  1561.         if(carid == VagosCars[i])
  1562.         {
  1563.             return 1;
  1564.         }
  1565.     }
  1566.     return 0;
  1567. }
  1568.  
  1569. public IsAnPdCar(carid)
  1570. {
  1571.     for(new i = 0; i < sizeof(PdCars); i++)
  1572.     {
  1573.         if(carid == PdCars[i])
  1574.         {
  1575.             return 1;
  1576.         }
  1577.     }
  1578.     return 0;
  1579. }
  1580.  
  1581. public am_DatumUhrUpdate()
  1582. {
  1583.     for(new i = 0; i < MAX_PLAYERS; i++)
  1584.     {
  1585.         #if defined UHRZEIT
  1586.         new timestr[32], hour, minute;
  1587.         gettime(hour, minute);
  1588.         format(timestr,32,"%02d:%02d",hour,minute);
  1589.         TextDrawSetString(Uhr,timestr);
  1590.         SetWorldTime(hour);
  1591.         #endif
  1592.        
  1593.         #if defined DATUM
  1594.         new datestr[128], Year, Month, Day;
  1595.         getdate(Year, Month, Day);
  1596.         format(datestr,sizeof(datestr),"%02d/%02d/%d", Day, Month, Year);
  1597.         TextDrawSetString(Datum,datestr);
  1598.         #endif
  1599.     }
  1600. }
  1601.  
  1602. public am_PayDay()
  1603. {
  1604.         new i = 0;
  1605.         for(; i < MAX_PLAYERS; i++)
  1606.         {
  1607.             GameTextForPlayer(i, "~r~]]] ~w~PayDay ~r~]]]", 3000, 6);
  1608.             SendClientMessage(i,COLOR_LIGHTBLUE,"|______ PayDay _______|");
  1609.             SendClientMessage(i,COLOR_GREY,"Dir wurden 200 Punkte gezahlt.");
  1610.             PlayerInfo[i][pSkillPoints] += 200;
  1611.     }
  1612. }
  1613.  
  1614. public am_GMX()
  1615. {
  1616.     for(new i = 0; i < MAX_PLAYERS; i++)
  1617.     {
  1618.         if(GMXStatus[i] >= 1)
  1619.         {
  1620.             GMXStatus[i] += 1;
  1621.             if(GMXStatus[i] == 2){
  1622.                 SendClientMessageToAll(COLOR_RED,"60 Sekunden noch bis zum GMX!");}
  1623.             if(GMXStatus[i] == 10){
  1624.                 SendClientMessageToAll(COLOR_RED,"50 Sekunden noch bis zum GMX!");}
  1625.             if(GMXStatus[i] == 20){
  1626.                 SendClientMessageToAll(COLOR_RED,"40 Sekunden noch bis zum GMX!");}
  1627.             if(GMXStatus[i] == 30){
  1628.                 SendClientMessageToAll(COLOR_RED,"30 Sekunden noch bis zum GMX!");}
  1629.             if(GMXStatus[i] == 40){
  1630.                 SendClientMessageToAll(COLOR_RED,"20 Sekunden noch bis zum GMX!");}
  1631.             if(GMXStatus[i] == 50){
  1632.                 SendClientMessageToAll(COLOR_RED,"10 Sekunden noch bis zum GMX!");}
  1633.             if(GMXStatus[i] == 55){
  1634.                 SendClientMessageToAll(COLOR_RED,"5 Sekunden noch bis zum GMX!");}
  1635.             if(GMXStatus[i] == 56){
  1636.                 SendClientMessageToAll(COLOR_RED,"4 Sekunden noch bis zum GMX!");}
  1637.             if(GMXStatus[i] == 57){
  1638.                 SendClientMessageToAll(COLOR_RED,"3 Sekunden noch bis zum GMX!");}
  1639.             if(GMXStatus[i] == 58){
  1640.                 SendClientMessageToAll(COLOR_RED,"2 Sekunden noch bis zum GMX!");}
  1641.             if(GMXStatus[i] == 59){
  1642.                 SendClientMessageToAll(COLOR_RED,"1 Sekunden noch bis zum GMX!");}
  1643.             if(GMXStatus[i] == 60){
  1644.                 GMXStatus[i] = 0;
  1645.                 GameTextForAll("~r~GMX~n~~w~Bitte Warten...", 12000, 3);
  1646.                 SaveAccounts(i);
  1647.                 SendRconCommand("gmx");
  1648.             }
  1649.         }
  1650.     }
  1651. }
  1652.  
  1653. stock ini_GetKey( line[] )
  1654. {
  1655.     new keyRes[128];
  1656.     keyRes[0] = 0;
  1657.     if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  1658.     strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  1659.     return keyRes;
  1660. }
  1661.  
  1662.  
  1663. stock ini_GetValue( line[] )
  1664. {
  1665.     new valRes[128];
  1666.     valRes[0]=0;
  1667.     if ( strfind( line , "=" , true ) == -1 ) return valRes;
  1668.     strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  1669.     return valRes;
  1670. }
  1671. stock strtok(const string[], &index)
  1672. {
  1673.     new length = strlen(string);
  1674.     while ((index < length) && (string[index] <= ' ')) {
  1675.         index++;
  1676.     }
  1677.  
  1678.     new offset = index;
  1679.     new result[20];
  1680.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) {
  1681.         result[index - offset] = string[index];
  1682.         index++;
  1683.     }
  1684.     result[index - offset] = EOS;
  1685.     return result;
  1686. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement