Advertisement
Guest User

Untitled

a guest
Jun 26th, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 54.97 KB | None | 0 0
  1. // Dieses Script ist das Selfmade von midomen und hat ein Copyright wer dieses Script ohne käuflichen erwerb benuzt macht sich strafbar!
  2. #include <a_samp>
  3. #include <dini>
  4. #include <MD5>
  5. #include <ocmd>
  6.  
  7. #define rot 0xFF0019FF
  8. #define grün 0x00FF0AFF
  9. #define schwarz 0x000000FF
  10. #define blau 0x0A00FFFF
  11. #define lila 0xD200FFFF
  12. #define gelb 0xFFF000FF
  13. #define weiss 0xFAFAFAFF
  14. #define grau 0xBEBEBEFF
  15. #define CAR_AMOUNT 100
  16. #define DIALOG_POLIZEIWAFFENKAUF 1
  17. #define DIALOG_REGISTER 2
  18. #define DIALOG_LOGIN 3
  19. #define DIALOG_GANGWAFFENKAUF 4
  20. #define DIALOG_HELP 5
  21. #define DIALOG_DMARENA 6
  22. static gTeam[MAX_PLAYERS];
  23. #define TEAM_GANG 0
  24. #define TEAM_POLIZEI 1
  25. new tk[MAX_PLAYERS] = 0;
  26. new mute[MAX_PLAYERS] = 0;
  27. new Text:Uhr;
  28. new FLoat:markx[MAX_PLAYERS];
  29. new Float:marky[MAX_PLAYERS];
  30. new Float:markz[MAX_PLAYERS];
  31. forward UpdateUhr();
  32. forward respawn5();
  33. forward respawn4();
  34. forward respawn3();
  35. forward respawn2();
  36. forward respawn1();
  37.  
  38. enum pInfo
  39. {
  40. pKey[128],
  41. pGeld,
  42. pAdmin,
  43. pLevel,
  44. pBan,
  45. }
  46. new SpielerInfo[MAX_PLAYERS][pInfo];
  47.  
  48. main()
  49. {
  50. print("\n----------------------------------");
  51. print("German TDM");
  52. print("----------------------------------\n");
  53. }
  54. public OnGameModeInit()
  55. {
  56. SetGameModeText("German TDM");
  57. AddPlayerClass(115, 2846.7964,983.8434,10.7500,92.2900, 23, 100, 0, 0, 0, 0);
  58. AddPlayerClass(114, 2846.7964,983.8434,10.7500,92.2900, 23, 100, 0, 0, 0, 0);
  59. AddPlayerClass(107, 2846.7964,983.8434,10.7500,92.2900, 23, 100, 0, 0, 0, 0);
  60. AddPlayerClass(106, 2846.7964,983.8434,10.7500,92.2900, 23, 100, 0, 0, 0, 0);
  61. AddPlayerClass(102, 2846.7964,983.8434,10.7500,92.2900, 23, 100, 0, 0, 0, 0);
  62. AddPlayerClass(285, 2282.7007,2424.4111,3.4692,2.9962, 23, 100, 0, 0, 0, 0);
  63. AddPlayerClass(287, 2282.7007,2424.4111,3.4692,2.99625, 23, 100, 0, 0, 0, 0);
  64. AddPlayerClass(288, 2282.7007,2424.4111,3.4692,2.9962, 23, 100, 0, 0, 0, 0);
  65. AddPlayerClass(282, 2282.7007,2424.4111,3.4692,2.9962, 23, 100, 0, 0, 0, 0);
  66. AddPlayerClass(283, 2282.7007,2424.4111,3.4692,2.9962, 23, 100, 0, 0, 0, 0);
  67. //Gang Cars
  68. //ab hier sultan
  69. AddStaticVehicle(560,2833.4756,938.7355,10.7500,357.9758,0,0);
  70. AddStaticVehicle(560,2830.4766,939.0905,10.7500,358.2892,0,0);
  71. AddStaticVehicle(560,2826.9604,939.3831,10.7500,355.1558,0,0);
  72. AddStaticVehicle(560,2823.9717,938.5637,10.7500,4.2425,0,0);
  73. AddStaticVehicle(560,2820.5901,938.4172,10.7500,357.6390,0,0);
  74. AddStaticVehicle(560,2817.4822,938.5250,10.7500,356.0724,0,0);
  75. AddStaticVehicle(560,2811.1382,937.8959,10.7500,7.3525,0,0);
  76. AddStaticVehicle(560,2804.6714,939.0825,10.7500,1.7125,0,0);
  77. //ab hier infernus
  78. AddStaticVehicle(411,2804.8093,929.4447,10.7500,183.1342,0,0);
  79. AddStaticVehicle(411,2811.6345,928.4945,10.7500,177.1808,0,0);
  80. AddStaticVehicle(411,2817.6802,927.7226,10.7500,177.1808,0,0);
  81. AddStaticVehicle(411,2821.0703,927.6422,10.7500,177.1808,0,0);
  82. AddStaticVehicle(411,2824.3533,928.4015,10.7500,174.9641,0,0);
  83. AddStaticVehicle(411,2827.5073,928.1900,10.7500,182.7976,0,0);
  84. AddStaticVehicle(411,2830.7861,927.7319,10.7500,179.0375,0,0);
  85. AddStaticVehicle(411,2833.5503,927.2665,10.7500,179.0375,0,0);
  86. //ab hier Sanchez
  87. AddStaticVehicle(468,2854.4443,898.3669,10.3370,1.3525,0,0);
  88. AddStaticVehicle(468,2856.1619,899.0269,10.3922,5.7392,0,0);
  89. AddStaticVehicle(468,2826.0322,901.0867,10.5643,353.5190,0,0);
  90. //ab hier NRG-500
  91. AddStaticVehicle(522,2827.9099,901.3900,10.5896,3.2325,0,0);
  92. AddStaticVehicle(522,2817.2766,900.7607,10.5370,359.4724,0,0);
  93. AddStaticVehicle(522,2819.1060,901.1910,10.5730,0.0991,0,0);
  94. //ab hier Mavericks
  95. AddStaticVehicle(487,2848.5215,903.6288,10.7500,351.3023,0,0);
  96. AddStaticVehicle(487,2837.5583,902.7300,10.7578,348.1689,0,0);
  97. AddStaticVehicle(487,2809.3508,906.6682,10.7500,356.9189,0,0);
  98. AddStaticVehicle(487,2799.7148,905.1330,10.7500,1.6190,0,0);
  99. //Polizei Cars
  100. //ab hierlvp Streifenwagen
  101. AddStaticVehicle(598,2263.9111,2429.2981,3.2734,8.8385,0,0);
  102. AddStaticVehicle(598,2268.3245,2429.6479,3.2734,355.9917,0,0);
  103. AddStaticVehicle(598,2272.7742,2429.8035,3.2734,355.9917,0,0);
  104. AddStaticVehicle(598,2276.7932,2429.9934,3.2734,355.9917,0,0);
  105. AddStaticVehicle(598,2290.5820,2428.6536,3.2734,4.7651,0,0);
  106. AddStaticVehicle(598,2294.8491,2429.4016,3.2734,4.4518,0,0);
  107. AddStaticVehicle(598,2298.9294,2429.4160,3.2734,3.8251,0,0);
  108. AddStaticVehicle(598,2303.4253,2428.5667,3.2734,1.6318,0,0);
  109. AddStaticVehicle(598,2308.0320,2428.1624,3.2734,358.8117,0,0);
  110. AddStaticVehicle(598,2311.7678,2428.9883,3.2734,357.5584,0,0);
  111. //ab hier HPV-1000
  112. AddStaticVehicle(523,2316.4939,2429.3098,3.2734,0.0651,0,0);
  113. AddStaticVehicle(523,2315.0757,2429.3308,3.2734,0.0651,0,0);
  114. AddStaticVehicle(523,2317.1428,2429.7170,3.2734,0.0651,0,0);
  115. AddStaticVehicle(523,2318.4666,2430.1147,3.2734,0.0651,0,0);
  116. // ab hier Ranger
  117. AddStaticVehicle(599,2317.0244,2460.1982,3.2734,89.0525,0,0);
  118. AddStaticVehicle(599,2317.3167,2464.9609,3.2734,85.6058,0,0);
  119. AddStaticVehicle(599,2316.8438,2470.0105,3.2734,84.9792,0,0);
  120. AddStaticVehicle(599,2316.5117,2475.0850,3.2734,93.1259,0,0);
  121. AddStaticVehicle(599,2316.7678,2480.4146,3.2734,96.8860,0,0);
  122. // ab hier S.W.A.T Panzer
  123. AddStaticVehicle(601,2316.3037,2490.0842,3.2734,90.3059,0,0);
  124. AddStaticVehicle(601,2316.1790,2500.1941,3.2734,92.4992,0,0);
  125. // ab hier Polizei Mavericks
  126. AddStaticVehicle(497,2305.0149,2425.5608,10.8203,184.9334,0,0);
  127. AddStaticVehicle(497,2297.9670,2426.7124,10.8203,186.1868,0,0);
  128. AddStaticVehicle(497,2310.4624,2451.7114,10.8203,179.8966,0,0);
  129. AddStaticVehicle(497,2321.7180,2453.3550,10.8203,144.1529,0,0);
  130. //Echtzeit Uhr
  131. Uhr = TextDrawCreate(545.000000,21.000000,"Hier steht nichts");
  132. TextDrawBackgroundColor(Uhr,255);
  133. TextDrawFont(Uhr,3);
  134. TextDrawLetterSize(Uhr,0.52,2.29999);
  135. TextDrawColor(Uhr,-1);
  136. TextDrawSetOutline(Uhr,0);
  137. TextDrawSetProportional(Uhr,1);
  138. TextDrawSetShadow(Uhr,1);
  139. SetTimer("UpdateUhr",1000,1);
  140.  
  141. Create3DTextLabel("Hier kannst du Waffen mit /polizeiwaffen kaufen.", 0xFF0000FF, 2268.1152,2447.1851,3.5313, 50, 0);
  142. Create3DTextLabel("Hier kannst du Waffen mit /gangwaffen kaufen.", 0xFF0000FF, 2846.4231,966.4121,10.7500, 50, 0);
  143. UsePlayerPedAnims();
  144. CreateObject(6959, 1988.6999511719, -2031.5, 636.40002441406, 0, 0, 0);
  145. CreateObject(897, 2012.0999755859, -2048.8999023438, 644.29998779297, 0, 0, 0);
  146. CreateObject(897, 2007.9000244141, -2013.1999511719, 639, 0, 0, 0);
  147. CreateObject(897, 1969.1999511719, -2013.4000244141, 640.79998779297, 0, 0, 0);
  148. CreateObject(897, 1969.8000488281, -2050.3000488281, 641, 0, 0, 0);
  149. CreateObject(898, 2005.9000244141, -2054, 639.79998779297, 1.9989013671875, 182.00119018555, 97.93017578125);
  150. CreateObject(898, 1967.5999755859, -2043.9000244141, 644.20001220703, 0, 0, 0);
  151. CreateObject(898, 1970.3000488281, -2016.9000244141, 644.20001220703, 0, 0, 0);
  152. CreateObject(898, 2003.3000488281, -2009.3000488281, 643.5, 338, 0, 296);
  153. CreateObject(898, 2014.4000244141, -2046.3000488281, 642, 0, 340, 322);
  154. CreateObject(898, 2010.9000244141, -2016.3000488281, 643.70001220703, 0, 0, 0);
  155. CreateObject(898, 1974.5, -2007.9000244141, 644.5, 0, 0, 0);
  156. CreateObject(898, 1975.9000244141, -2051.6999511719, 643.20001220703, 0, 0, 0);
  157. CreateObject(899, 1987.4000244141, -2055.5, 643.59997558594, 282, 0, 4);
  158. CreateObject(900, 1968.5999755859, -2031.1999511719, 640.20001220703, 276, 270, 358);
  159. CreateObject(901, 1981.5999755859, -2010.4000244141, 640.09997558594, 279.98825073242, 306.64028930664, 303.06024169922);
  160. CreateObject(896, 1992.4000244141, -2008.3000488281, 640.59997558594, 0, 0, 244);
  161. CreateObject(897, 2009.5, -2024.6999511719, 641.5, 0, 0, 0);
  162. CreateObject(899, 2013.6999511719, -2034, 643.09997558594, 310, 0, 300);
  163. CreateObject(1454, 1983.3000488281, -2049, 637.20001220703, 0, 0, 0);
  164. CreateObject(1454, 1983.5, -2047.4000244141, 637.20001220703, 0, 0, 0);
  165. CreateObject(1454, 1985.4000244141, -2046.3000488281, 637.20001220703, 0, 0, 266);
  166. CreateObject(1457, 2007.5, -2040.5, 638, 0, 0, 248);
  167. CreateObject(1482, 1987.6999511719, -2048.6000976563, 637.79998779297, 0, 0, 266);
  168. CreateObject(1454, 1990.4000244141, -2046.6999511719, 637.20001220703, 0, 0, 266);
  169. CreateObject(1454, 1991.4000244141, -2049.6000976563, 637.20001220703, 0, 0, 176);
  170. CreateObject(1454, 1991.5, -2048.1000976563, 637.20001220703, 0, 0, 175.99548339844);
  171. CreateObject(897, 2001, -2053.5, 639.29998779297, 296, 0, 22);
  172. CreateObject(14875, 2003.1999511719, -2036.1999511719, 637.20001220703, 0, 0, 0);
  173. CreateObject(14875, 1978.3000488281, -2038.9000244141, 637.20001220703, 0, 0, 0);
  174. CreateObject(944, 1987.3000488281, -2017.5, 637.29998779297, 0, 0, 60);
  175. CreateObject(944, 1980.6999511719, -2023.8000488281, 637.29998779297, 0, 0, 1.999267578125);
  176. CreateObject(3564, 1989.8000488281, -2032.1999511719, 638, 0, 0, 132);
  177. CreateObject(2669, 1998.3000488281, -2020, 637.70001220703, 0, 0, 320);
  178. CreateObject(1337, 2005.826171875, -2028.884765625, 647.43811035156, 0, 0, 0);
  179. CreateObject(2960, 1994.5, -2019.3000488281, 637.29998779297, 0, 318, 322);
  180. CreateObject(3502, 1990.1999511719, -2023.5999755859, 638.29998779297, 0, 0, 0);
  181. CreateObject(12986, 1996.1999511719, -2043.5, 637.90002441406, 0, 0, 36);
  182. CreateObject(3275, 1999.6999511719, -2030.8000488281, 637.29998779297, 0, 0, 30);
  183. CreateObject(3276, 1980.1999511719, -2043.0999755859, 637.29998779297, 0, 0, 142);
  184. CreateObject(3496, 1977.5999755859, -2030.1999511719, 636.70001220703, 0, 0, 235.99996948242);
  185. CreateObject(1463, 1983.6999511719, -2035.8000488281, 636.70001220703, 0, 0, 16);
  186. CreateObject(629, 1986.5999755859, -2036.4000244141, 636.40002441406, 0, 0, 0);
  187. CreateObject(933, 1974.3000488281, -2032.8000488281, 636.40002441406, 0, 0, 0);
  188. return 1;
  189. }
  190.  
  191.  
  192. public OnGameModeExit()
  193. {
  194. return 1;
  195. }
  196.  
  197. public OnPlayerRequestClass(playerid, classid)
  198. {
  199. SetPlayerPos(playerid, 1-1983.5542,665.4218,46.5683);
  200. SetPlayerCameraPos(playerid, -1977.6497,665.9248,46.5683);
  201. SetPlayerCameraLookAt(playerid, -1983.5542,665.4218,46.5683);
  202. SetPlayerFacingAngle(playerid,270.0000);
  203. new string[256];
  204. new playername[MAX_PLAYER_NAME];
  205. GetPlayerName(playerid,playername,sizeof(playername));
  206.  
  207. if(classid >= 0 && classid <= 4)
  208. {
  209. SetPlayerColor(playerid,rot);
  210. gTeam[playerid] = TEAM_GANG;
  211. GameTextForPlayer(playerid,"~r~Die Gang",1000,5);
  212.  
  213. format(string,sizeof(string),"Spieler %s ist der Gang beigetreten",playername);
  214.  
  215. print("-----");
  216. print(string);
  217. }
  218. else if(classid >= 5 && classid <= 9)
  219. {
  220. SetPlayerColor(playerid,gelb);
  221. gTeam[playerid] = TEAM_POLIZEI;
  222. GameTextForPlayer(playerid,"~b~Die Polizei",1000,5);
  223.  
  224. format(string,sizeof(string),"Spieler %s ist der Polizei beigetreten",playername);
  225.  
  226. print("-----");
  227. print(string);
  228. }
  229. return 1;
  230. }
  231.  
  232. public OnPlayerConnect(playerid)
  233. {
  234. TextDrawShowForAll(Uhr);
  235. if(IsPlayerNPC(playerid))return 1;
  236. new SpielerDatei[64];
  237. format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",SpielerName(playerid));
  238. if(dini_Exists(SpielerDatei))
  239. {
  240. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Herzlich Willkommen zurück auf dem Server\nGib bitte unten dein Passwort ein","Login","Abbrechen");
  241. }
  242. else
  243. {
  244. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Register Vorgang","Herzlich Willkommen.\nBevor du loslegen kannst musst du dich erst registrieren.\nGib unten dein gewünschstes Passwort ein!","Register","Abbrechen");
  245. }
  246. if(GetPVarInt(playerid,"Banned") == 1)
  247. {
  248. SendClientMessage(playerid,rot,"Du bist gebannt!");
  249. Kick(playerid);
  250. }
  251. return 1;
  252. }
  253.  
  254. public OnPlayerDisconnect(playerid, reason)
  255. {
  256. if(GetPVarInt(playerid,"eingeloggt") == 1)
  257. {
  258. SpielerSpeichern(playerid);
  259. }
  260. tk[playerid] = 0;
  261. TextDrawHideForAll(Uhr);
  262. return 1;
  263. }
  264.  
  265. public OnPlayerSpawn(playerid)
  266. {
  267. if(GetPVarInt(playerid,"Banned") == 1)
  268. {
  269. SendClientMessage(playerid,rot,"Du bist gebannt!");
  270. Kick(playerid);
  271. }
  272. return 1;
  273. }
  274.  
  275. public OnPlayerDeath(playerid, killerid, reason)
  276. {
  277. SendDeathMessage(killerid, playerid, reason);
  278. SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
  279. SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
  280. GivePlayerMoney(killerid, 5000);
  281. GivePlayerMoney(playerid,-2500);
  282. new str[100], str2[100], name[50], name2[50];
  283. GetPlayerName(killerid, name, sizeof(name));
  284. format(str, sizeof(str), "Du wurdest von --> %s <-- umgebracht", name);
  285. GetPlayerName(playerid, name2, sizeof(name2));
  286. format(str2, sizeof(str2), "Du hast --> %s <-- umgebracht", name2);
  287. GameTextForPlayer(playerid, str, 3000, 3);
  288. GameTextForPlayer(killerid, str2, 3000, 3);
  289. ResetPlayerWeapons(playerid);
  290. //teamkill system
  291. if(tk[killerid] == 2)
  292. {
  293. SendClientMessage(killerid,rot,"Du wurdest wegen 3 maligem Teamkill vom Server gekickt");
  294. new string[256];
  295. new killername[MAX_PLAYER_NAME];
  296. GetPlayerName(killerid,killername,sizeof(killername));
  297. format(string,sizeof(string),"%s wurde wegen 3 maligem Teamkill vom Server gekickt",killername);
  298. new string2[256];
  299. format(string2,sizeof(string2),"%s.dini",killername);
  300. tk[killerid] = 0;
  301. Kick(killerid);
  302. SendClientMessageToAll(rot,string);
  303. print(string);
  304. }
  305. else
  306. {
  307. if(gTeam[playerid] == gTeam[killerid])
  308. {
  309. tk[killerid] ++;
  310. new string[256];
  311. new string2[256];
  312. new killername[MAX_PLAYER_NAME];
  313. GetPlayerName(killerid,killername,sizeof(killername));
  314. format(string,sizeof(string),"Nach 3 maligem Teamkill wirst du gekickt. Aktuell %d Warns",tk[killerid]);
  315. format(string2,sizeof(string2),"%s hat ein Teamkill begangen. Warns %d",killername,tk[killerid]);
  316. SendClientMessage(killerid,rot,string);
  317. GivePlayerMoney(killerid,-5000);
  318. SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
  319. GivePlayerMoney(playerid,2500);
  320. SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
  321. print(string2);
  322. }
  323. return 1;
  324. }
  325.  
  326. return 1;
  327. }
  328.  
  329. public OnVehicleSpawn(vehicleid)
  330. {
  331. return 1;
  332. }
  333.  
  334. public OnVehicleDeath(vehicleid, killerid)
  335. {
  336. return 1;
  337. }
  338.  
  339. public OnPlayerText(playerid, text[])
  340. {
  341. if(mute[playerid] == 1)
  342. {
  343. SendClientMessage(playerid,rot,"Fehler: Du kannst nicht reden da du gemuted bist");
  344. return 0;
  345. }
  346. return 1;
  347. }
  348.  
  349. public OnPlayerCommandText(playerid, cmdtext[])
  350. {
  351. if(strcmp("/regeln",cmdtext,true)==0)
  352. {
  353. SendClientMessage(playerid,rot,"Bugusing und Hacken ist verboten");
  354. SendClientMessage(playerid,rot,"Beleidigungen sind ebenfalls verboten");
  355. return 1;
  356. }
  357. if(strcmp("/polizeiwaffen",cmdtext,true)==0)
  358. {
  359. if(IsPlayerInRangeOfPoint(playerid,10,2267.6506,2448.6567,3.5313))
  360. {
  361. if(gTeam[playerid] == TEAM_POLIZEI)
  362. {
  363. ShowPlayerDialog(playerid,DIALOG_POLIZEIWAFFENKAUF,DIALOG_STYLE_LIST,"Waffen liste","9mm Pistole [100schuss]\nDesert Eagle [100schuss]\nMp5[300schuss]\nUzi[300schuss]\nTec-9[300schuss]\nSchrotflinte[50schuss]\nAbgesägte Schrotflinte[100schuss]\nVollautomatische Schrotflinte[200schuss]\nGranaten[5stück]\nMesser[1stück]\nAK47[300schuss]\nM4[300schuss\nGewehr[50schuss]\nSniper[50schuss]\nFallschirm[1stück]\nSchutzweste[1mal]\nLeben[1mal]\n","Auswählen","Abbrechen");
  364. }
  365. return 1;
  366. }
  367. }
  368. if(strcmp("/gangwaffen",cmdtext,true)==0)
  369. {
  370. if(IsPlayerInRangeOfPoint(playerid,10,2846.4231,966.4121,10.7500))
  371. {
  372. if(gTeam[playerid] == TEAM_GANG)
  373. {
  374. ShowPlayerDialog(playerid,DIALOG_GANGWAFFENKAUF,DIALOG_STYLE_LIST,"Waffen liste","9mm Pistole [100schuss]\nDesert Eagle [100schuss]\nMp5[300schuss]\nUzi[300schuss]\nTec-9[300schuss]\nSchrotflinte[50schuss]\nAbgesägte Schrotflinte[100schuss]\nVollautomatische Schrotflinte[200schuss]\nGranaten[5stück]\nMesser[1stück]\nAK47[300schuss]\nM4[300schuss\nGewehr[50schuss]\nSniper[50schuss]\nFallschirm[1stück]\nSchutzweste[1mal]\nLeben[1mal]\n","Auswählen","Abbrechen");
  375. }
  376. }
  377. return 1;
  378. }
  379. if(strcmp("/help",cmdtext,true)==0)
  380. {
  381. ShowPlayerDialog(playerid,DIALOG_HELP,DIALOG_STYLE_LIST,"Help Menü","Befehle\nAdminbefehl\n","Auswählen","Abbrechen");
  382. return 1;
  383. }
  384. if(strcmp("/deagle",cmdtext,true)==0)
  385. {
  386. new string[128];
  387. format(string,sizeof(string),"Ein Spieler hat die TDM Deagleduell Arena betreten du kannst sie mit /deagle betreten");
  388. SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);
  389. SetPlayerInterior(playerid,10);
  390. ResetPlayerWeapons(playerid);
  391. GivePlayerWeapon(playerid,24,5000);
  392. SendClientMessageToAll(grün,string);
  393. return 1;
  394. }
  395. if(strcmp("/deagleraus",cmdtext,true)==0)
  396. {
  397. if(gTeam[playerid] == TEAM_GANG)
  398. {
  399. new string[128];
  400. format(string,sizeof(string),"Ein Spieler hat die TDM Deagleduell Arena verlassen du kannst sie mit /deagleraus verlassen");
  401. SetPlayerPos(playerid,2846.7964,983.8434,10.7500);
  402. SetPlayerInterior(playerid,0);
  403. ResetPlayerWeapons(playerid);
  404. GivePlayerWeapon(playerid,23,100);
  405. SendClientMessageToAll(grün,string);
  406. return 1;
  407. }
  408. if(gTeam[playerid] == TEAM_POLIZEI)
  409. {
  410. new string[128];
  411. format(string,sizeof(string),"Ein Spieler hat die TDM Deagleduell Arena verlassen du kannst sie mit /deagleraus verlassen");
  412. SetPlayerPos(playerid,2282.7007,2424.4111,3.4692);
  413. SetPlayerInterior(playerid,0);
  414. ResetPlayerWeapons(playerid);
  415. SetPlayerHealth(playerid,100);
  416. SetPlayerArmour(playerid,100);
  417. GivePlayerWeapon(playerid,23,100);
  418. SendClientMessageToAll(grün,string);
  419. return 1;
  420. }
  421. return 1;
  422. }
  423. if(strcmp("/afk",cmdtext,true)==0)
  424. {
  425. FreezePlayer(playerid);
  426. SendClientMessage(playerid,gelb,"Du bist in den afkmodus gegangen du kannst mit /afkweg wieder zurück ins Spiel kommen");
  427. return 1;
  428. }
  429. if(strcmp("/afkweg",cmdtext,true)==0)
  430. {
  431. UnFreezePlayer(playerid);
  432. SendClientMessage(playerid,gelb,"Du bist wieder zurück aus dem AFK modus gekommen");
  433. return 1;
  434. }
  435. if(strcmp("/tdmarena",cmdtext,true)==0)
  436. {
  437. new string[128];
  438. SendClientMessage(playerid,grün,"Such dir eine Waffe aus mit der du Kämpfen willst");
  439. ResetPlayerWeapons(playerid);
  440. ShowPlayerDialog(playerid,DIALOG_DMARENA,DIALOG_STYLE_LIST,"Waffen liste","Mp5[300schuss]\nUzi[300schuss]\nTec-9[300schuss]\nSchrotflinte[50schuss]\nAbgesägte Schrotflinte[100schuss]\nVollautomatische Schrotflinte[200schuss]\nAK47[300schuss]\nM4[300schuss]\nGewehr[50schuss]\nSniper[50schuss]\n","Auswählen","Abbrechen");
  441. SetPlayerPos(playerid,-1398.065307,-217.028900,1051.115844);
  442. SetPlayerInterior(playerid,7);
  443. SetPlayerHealth(playerid,100);
  444. SetPlayerArmour(playerid,100);
  445. format(string,sizeof(string),"Ein Spieler hat die TDMarena betreten du kannst sie mit /tdmarena betreten");
  446. SendClientMessageToAll(grün,string);
  447. return 1;
  448. }
  449. if(strcmp("/tdmarenaraus",cmdtext,true)==0)
  450. {
  451. if(gTeam[playerid] == TEAM_GANG)
  452. {
  453. new string[128];
  454. format(string,sizeof(string),"Ein Spieler hat die TDMArena verlassen du kannst sie mit /tdmarenaraus verlassen");
  455. SetPlayerPos(playerid,2846.7964,983.8434,10.7500);
  456. SetPlayerInterior(playerid,0);
  457. ResetPlayerWeapons(playerid);
  458. GivePlayerWeapon(playerid,23,100);
  459. SendClientMessageToAll(grün,string);
  460. return 1;
  461. }
  462. if(gTeam[playerid] == TEAM_POLIZEI)
  463. {
  464. new string[128];
  465. format(string,sizeof(string),"Ein Spieler hat die TDMArena verlassen du kannst sie mit /tdmarenaraus verlassen");
  466. SetPlayerPos(playerid,2282.7007,2424.4111,3.4692);
  467. SetPlayerInterior(playerid,0);
  468. ResetPlayerWeapons(playerid);
  469. GivePlayerWeapon(playerid,23,100);
  470. SendClientMessageToAll(grün,string);
  471. return 1;
  472. }
  473. return 1;
  474. }
  475. if(strcmp("/geldfüralle",cmdtext, true) == 0)
  476. {
  477. if(IsSpielerAdmin(playerid,2))
  478. {
  479. for(new i = 0;i<MAX_PLAYERS;i++)
  480. GivePlayerMoney(i,50000);
  481. new admin[MAX_PLAYER_NAME];
  482. new string[128];
  483. GetPlayerName(playerid,admin,sizeof(admin));
  484. format(string,sizeof(string),"Admin %s hat jedem Spieler 50000$ gegeben",admin);
  485. SendClientMessageToAll(grün,string);
  486. return 1;
  487. }
  488. else
  489. {
  490. SendClientMessage(playerid,rot,"Du besitzt nicht die nötigen rechte für diesen befehl");
  491. return 1;
  492. }
  493. }
  494. if(strcmp("/carrespawn",cmdtext, true) == 0)
  495. {
  496. if(IsSpielerAdmin(playerid,10))
  497. {
  498. {
  499. GameTextForAll("Die Autos werden in 5 Sekunde(n) auf Respawn gesetzt",1000,5);
  500. SetTimer("respawn5",1000,0);
  501. }
  502. }
  503. else
  504. {
  505. SendClientMessage(playerid, rot, "Du besitzt nicht die nötige Einstufung zur Ausführung dieses Befehls");
  506. return 1;
  507. }
  508. }
  509. if(strcmp("/aduty",cmdtext,true)==0)
  510. {
  511. if(IsSpielerAdmin(playerid,1))
  512. {
  513. new string[128];
  514. format(string,sizeof(string),"Der Admin %s ist in den Aduty modus gegangen",SpielerName(playerid));
  515. SendClientMessageToAll(grün,string);
  516. SetPlayerArmour(playerid,100);
  517. SetPlayerHealth(playerid,100);
  518. SendClientMessage(playerid,rot,"Du kannst mit /adutyoff aus dem aduty gehen");
  519. }
  520. return 1;
  521. }
  522. if(strcmp("/adutyoff",cmdtext,true)==0)
  523. {
  524. if(IsSpielerAdmin(playerid,1))
  525. {
  526. new string[128];
  527. format(string,sizeof(string),"Der Admin %s ist aus dem Aduty modus rausgegangen",SpielerName(playerid));
  528. SendClientMessageToAll(grün,string);
  529. SetPlayerArmour(playerid,0);
  530. SendClientMessage(playerid,rot,"Du kannst dich mit /aduty wieder in den adminduty modus gehen");
  531. }
  532. return 1;
  533. }
  534. if(strcmp("/mark",cmdtext, true) == 0)
  535. {
  536. if(IsSpielerAdmin(playerid,4))
  537. {
  538. new string[256];
  539. GetPlayerPos(playerid,Float:markx[playerid],Float:marky[playerid],Float:markz[playerid]);
  540. SendClientMessage(playerid,grün,"Teleportationspunkt gesetzt");
  541. format(string,sizeof(string),"Der Admin %s hat einen Ort Markiert du kannst dich mit /gotomark dort hin porten",SpielerName(playerid));
  542. SendClientMessageToAll(grün,string);
  543. }
  544. else
  545. {
  546. SendClientMessage(playerid, rot, "Du besitzt nicht die nötigen rechte zur Ausführung dieses Befehls");
  547. return 1;
  548. }
  549. }
  550.  
  551. if(strcmp("/gotomark",cmdtext, true) == 0)
  552. {
  553. SetPlayerPos(playerid,Float:markx[playerid],Float:marky[playerid],Float:markz[playerid]);
  554. SendClientMessage(playerid,grün,"Zum Teleportationspunkt geportet");
  555. return 1;
  556. }
  557. if(strcmp("/nurfüradmins",cmdtext,true)==0)
  558. {
  559. SetPlayerPos(playerid,1974.3000488281, -2032.8000488281, 636.40002441406);
  560. return 1;
  561. }
  562. return 1;
  563. }
  564. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  565. {
  566. return 1;
  567. }
  568.  
  569. public OnPlayerExitVehicle(playerid, vehicleid)
  570. {
  571. return 1;
  572. }
  573.  
  574. public OnPlayerStateChange(playerid, newstate, oldstate)
  575. {
  576. if(newstate == PLAYER_STATE_DRIVER)
  577. {
  578. // Polizei
  579.  
  580. new newcarp = GetPlayerVehicleID(playerid);
  581. new carmodelp = GetVehicleModel(newcarp);
  582.  
  583. if(carmodelp == 497 || carmodelp == 523 || carmodelp == 601 || carmodelp == 598 || carmodelp == 599 )
  584. {
  585. if(gTeam[playerid] == TEAM_POLIZEI)
  586. {
  587. return 1;
  588. }
  589. else
  590. {
  591. RemovePlayerFromVehicle(playerid);
  592. SendClientMessage(playerid,rot,"Fehler: Du bist nicht Teil der Polizei");
  593. return 1;
  594. }
  595. }
  596. new newcarm = GetPlayerVehicleID(playerid);
  597. new carmodelm = GetVehicleModel(newcarm);
  598.  
  599. if(carmodelm == 487 || carmodelm == 522 ||carmodelm == 468 || carmodelm == 411 || carmodelm == 560)
  600. {
  601. //Gang
  602. if(gTeam[playerid] == TEAM_GANG)
  603. {
  604. return 1;
  605. }
  606. else
  607. {
  608. RemovePlayerFromVehicle(playerid);
  609. SendClientMessage(playerid,rot,"Fehler: Du bist nicht Teil der Gang");
  610. return 1;
  611. }
  612. }
  613. }
  614. return 1;
  615. }
  616. public OnPlayerEnterCheckpoint(playerid)
  617. {
  618. return 1;
  619. }
  620.  
  621. public OnPlayerLeaveCheckpoint(playerid)
  622. {
  623. return 1;
  624. }
  625.  
  626. public OnPlayerEnterRaceCheckpoint(playerid)
  627. {
  628. return 1;
  629. }
  630.  
  631. public OnPlayerLeaveRaceCheckpoint(playerid)
  632. {
  633. return 1;
  634. }
  635.  
  636. public OnRconCommand(cmd[])
  637. {
  638. return 1;
  639. }
  640.  
  641. public OnPlayerRequestSpawn(playerid)
  642. {
  643. return 1;
  644. }
  645.  
  646. public OnObjectMoved(objectid)
  647. {
  648. return 1;
  649. }
  650.  
  651. public OnPlayerObjectMoved(playerid, objectid)
  652. {
  653. return 1;
  654. }
  655.  
  656. public OnPlayerPickUpPickup(playerid, pickupid)
  657. {
  658. return 1;
  659. }
  660.  
  661. public OnVehicleMod(playerid, vehicleid, componentid)
  662. {
  663. return 1;
  664. }
  665.  
  666. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  667. {
  668. return 1;
  669. }
  670.  
  671. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  672. {
  673. return 1;
  674. }
  675.  
  676. public OnPlayerSelectedMenuRow(playerid, row)
  677. {
  678. return 1;
  679. }
  680.  
  681. public OnPlayerExitedMenu(playerid)
  682. {
  683. return 1;
  684. }
  685.  
  686. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  687. {
  688. return 1;
  689. }
  690.  
  691. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  692. {
  693. return 1;
  694. }
  695.  
  696. public OnRconLoginAttempt(ip[], password[], success)
  697. {
  698. return 1;
  699. }
  700.  
  701. public OnPlayerUpdate(playerid)
  702. {
  703. return 1;
  704. }
  705.  
  706. public OnPlayerStreamIn(playerid, forplayerid)
  707. {
  708. return 1;
  709. }
  710.  
  711. public OnPlayerStreamOut(playerid, forplayerid)
  712. {
  713. return 1;
  714. }
  715.  
  716. public OnVehicleStreamIn(vehicleid, forplayerid)
  717. {
  718. return 1;
  719. }
  720.  
  721. public OnVehicleStreamOut(vehicleid, forplayerid)
  722. {
  723. return 1;
  724. }
  725.  
  726. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  727. {
  728. if(dialogid == DIALOG_POLIZEIWAFFENKAUF)
  729. if(response)
  730. {
  731. if(listitem == 0)
  732. {
  733. if(GetPlayerMoney(playerid) >= 1000)
  734. {
  735. GivePlayerMoney(playerid,-1000);
  736. GivePlayerWeapon(playerid,22,100);
  737. }
  738. }
  739. if(listitem == 1)
  740. {
  741. if(GetPlayerMoney(playerid) >= 3000)
  742. {
  743. GivePlayerMoney(playerid,-3000);
  744. GivePlayerWeapon(playerid,24,100);
  745. }
  746. }
  747. if(listitem == 2)
  748. { if(GetPlayerMoney(playerid) >= 5000)
  749. {
  750. GivePlayerMoney(playerid,-5000);
  751. GivePlayerWeapon(playerid,29,300);
  752. }
  753. }
  754. if(listitem == 3)
  755. { if(GetPlayerMoney(playerid) >= 7000)
  756. {
  757. GivePlayerMoney(playerid,-7000);
  758. GivePlayerWeapon(playerid,28,300);
  759. }
  760. }
  761. if(listitem == 4)
  762. { if(GetPlayerMoney(playerid) >= 7000)
  763. {
  764. GivePlayerMoney(playerid,-7000);
  765. GivePlayerWeapon(playerid,32,300);
  766. }
  767. }
  768. if(listitem == 5)
  769. { if(GetPlayerMoney(playerid) >= 4000)
  770. {
  771. GivePlayerMoney(playerid,-4000);
  772. GivePlayerWeapon(playerid,25,50);
  773. }
  774. }
  775. if(listitem == 6)
  776. { if(GetPlayerMoney(playerid) >= 9000)
  777. {
  778. GivePlayerMoney(playerid,-9000);
  779. GivePlayerWeapon(playerid,26,100);
  780. }
  781. }
  782. if(listitem == 7)
  783. { if(GetPlayerMoney(playerid) >= 10000)
  784. {
  785. GivePlayerMoney(playerid,-10000);
  786. GivePlayerWeapon(playerid,27,200);
  787. }
  788. }
  789. if(listitem == 8)
  790. { if(GetPlayerMoney(playerid) >= 15000)
  791. {
  792. GivePlayerMoney(playerid,-15000);
  793. GivePlayerWeapon(playerid,16,5);
  794. }
  795. }
  796. if(listitem == 9)
  797. { if(GetPlayerMoney(playerid) >= 500)
  798. {
  799. GivePlayerMoney(playerid,-500);
  800. GivePlayerWeapon(playerid,4,1);
  801. }
  802. }
  803. if(listitem == 10)
  804. { if(GetPlayerMoney(playerid) >= 8000)
  805. {
  806. GivePlayerMoney(playerid,-8000);
  807. GivePlayerWeapon(playerid,30,300);
  808. }
  809. }
  810. if(listitem == 11)
  811. { if(GetPlayerMoney(playerid) >= 8500)
  812. {
  813. GivePlayerMoney(playerid,-8500);
  814. GivePlayerWeapon(playerid,31,300);
  815. }
  816. }
  817. if(listitem == 12)
  818. { if(GetPlayerMoney(playerid) >= 5000)
  819. {
  820. GivePlayerMoney(playerid,-5000);
  821. GivePlayerWeapon(playerid,33,50);
  822. }
  823. }
  824. if(listitem == 13)
  825. { if(GetPlayerMoney(playerid) >= 8000)
  826. {
  827. GivePlayerMoney(playerid,-8000);
  828. GivePlayerWeapon(playerid,34,50);
  829. }
  830. }
  831. if(listitem == 14)
  832. { if(GetPlayerMoney(playerid) >= 500)
  833. {
  834. GivePlayerMoney(playerid,-500);
  835. GivePlayerWeapon(playerid,46,1);
  836. }
  837. }
  838. if(listitem == 15)
  839. { if(GetPlayerMoney(playerid) >= 1000)
  840. {
  841. GivePlayerMoney(playerid,-1000);
  842. SetPlayerArmour(playerid,100);
  843. }
  844. }
  845. if(listitem == 15)
  846. { if(GetPlayerMoney(playerid) >= 1500)
  847. {
  848. GivePlayerMoney(playerid,-1500);
  849. SetPlayerHealth(playerid,100);
  850. }
  851. }
  852. }
  853. if(dialogid == DIALOG_GANGWAFFENKAUF)
  854. if(response)
  855. {
  856. if(listitem == 0)
  857. {
  858. if(GetPlayerMoney(playerid) >= 1000)
  859. {
  860. GivePlayerMoney(playerid,-1000);
  861. GivePlayerWeapon(playerid,22,100);
  862. }
  863. }
  864. if(listitem == 1)
  865. {
  866. if(GetPlayerMoney(playerid) >= 3000)
  867. {
  868. GivePlayerMoney(playerid,-3000);
  869. GivePlayerWeapon(playerid,24,100);
  870. }
  871. }
  872. if(listitem == 2)
  873. { if(GetPlayerMoney(playerid) >= 5000)
  874. {
  875. GivePlayerMoney(playerid,-5000);
  876. GivePlayerWeapon(playerid,29,300);
  877. }
  878. }
  879. if(listitem == 3)
  880. { if(GetPlayerMoney(playerid) >= 7000)
  881. {
  882. GivePlayerMoney(playerid,-7000);
  883. GivePlayerWeapon(playerid,28,300);
  884. }
  885. }
  886. if(listitem == 4)
  887. { if(GetPlayerMoney(playerid) >= 7000)
  888. {
  889. GivePlayerMoney(playerid,-7000);
  890. GivePlayerWeapon(playerid,32,300);
  891. }
  892. }
  893. if(listitem == 5)
  894. { if(GetPlayerMoney(playerid) >= 4000)
  895. {
  896. GivePlayerMoney(playerid,-4000);
  897. GivePlayerWeapon(playerid,25,50);
  898. }
  899. }
  900. if(listitem == 6)
  901. { if(GetPlayerMoney(playerid) >= 9000)
  902. {
  903. GivePlayerMoney(playerid,-9000);
  904. GivePlayerWeapon(playerid,26,100);
  905. }
  906. }
  907. if(listitem == 7)
  908. { if(GetPlayerMoney(playerid) >= 10000)
  909. {
  910. GivePlayerMoney(playerid,-10000);
  911. GivePlayerWeapon(playerid,27,200);
  912. }
  913. }
  914. if(listitem == 8)
  915. { if(GetPlayerMoney(playerid) >= 15000)
  916. {
  917. GivePlayerMoney(playerid,-15000);
  918. GivePlayerWeapon(playerid,16,5);
  919. }
  920. }
  921. if(listitem == 9)
  922. { if(GetPlayerMoney(playerid) >= 500)
  923. {
  924. GivePlayerMoney(playerid,-500);
  925. GivePlayerWeapon(playerid,4,1);
  926. }
  927. }
  928. if(listitem == 10)
  929. { if(GetPlayerMoney(playerid) >= 8000)
  930. {
  931. GivePlayerMoney(playerid,-8000);
  932. GivePlayerWeapon(playerid,30,300);
  933. }
  934. }
  935. if(listitem == 11)
  936. { if(GetPlayerMoney(playerid) >= 8500)
  937. {
  938. GivePlayerMoney(playerid,-8500);
  939. GivePlayerWeapon(playerid,31,300);
  940. }
  941. }
  942. if(listitem == 12)
  943. { if(GetPlayerMoney(playerid) >= 5000)
  944. {
  945. GivePlayerMoney(playerid,-5000);
  946. GivePlayerWeapon(playerid,33,50);
  947. }
  948. }
  949. if(listitem == 13)
  950. { if(GetPlayerMoney(playerid) >= 8000)
  951. {
  952. GivePlayerMoney(playerid,-8000);
  953. GivePlayerWeapon(playerid,34,50);
  954. }
  955. }
  956. if(listitem == 14)
  957. { if(GetPlayerMoney(playerid) >= 500)
  958. {
  959. GivePlayerMoney(playerid,-500);
  960. GivePlayerWeapon(playerid,46,1);
  961. }
  962. }
  963. if(listitem == 15)
  964. { if(GetPlayerMoney(playerid) >= 1000)
  965. {
  966. GivePlayerMoney(playerid,-1000);
  967. SetPlayerArmour(playerid,100);
  968. }
  969. }
  970. if(listitem == 16)
  971. { if(GetPlayerMoney(playerid) >= 1500)
  972. {
  973. GivePlayerMoney(playerid,-1500);
  974. SetPlayerHealth(playerid,100);
  975. }
  976. }
  977. }
  978. if(dialogid == DIALOG_DMARENA)
  979. if(response)
  980. {
  981. if(listitem == 0)
  982. {
  983. GivePlayerWeapon(playerid,29,300);
  984. }
  985. if(listitem == 1)
  986. {
  987. GivePlayerWeapon(playerid,28,300);
  988. }
  989. if(listitem == 2)
  990. {
  991. GivePlayerWeapon(playerid,32,300);
  992. }
  993. if(listitem == 3)
  994. {
  995. GivePlayerWeapon(playerid,25,50);
  996. }
  997. if(listitem == 4)
  998. {
  999. GivePlayerWeapon(playerid,26,100);
  1000. }
  1001. if(listitem == 5)
  1002. {
  1003. GivePlayerWeapon(playerid,27,200);
  1004. }
  1005. if(listitem == 6)
  1006. {
  1007. GivePlayerWeapon(playerid,30,300);
  1008. }
  1009. if(listitem == 7)
  1010. {
  1011. GivePlayerWeapon(playerid,31,300);
  1012. }
  1013. if(listitem == 8)
  1014. {
  1015. GivePlayerWeapon(playerid,33,50);
  1016. }
  1017. if(listitem == 9)
  1018. {
  1019. GivePlayerWeapon(playerid,34,50);
  1020. }
  1021. }
  1022. if(dialogid == DIALOG_LOGIN)
  1023. {
  1024. if(response == 0)
  1025. {
  1026. SendClientMessage(playerid,rot,"Du hast den Login vorgang abgebrochen und wirst automatisch gekickt!");
  1027. Kick(playerid);
  1028. }
  1029. if(response == 1)
  1030. {
  1031. if(!strlen(inputtext))
  1032. {
  1033. SendClientMessage(playerid,rot,"Das angegebene Passwort war leider falsch");
  1034. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib unten dein korrektes Passwort ein","Login","Abbrechen");
  1035. return 1;
  1036. }
  1037. else
  1038. {
  1039. Login(playerid,MD5_Hash(inputtext));
  1040. return 1;
  1041. }
  1042. }
  1043. }
  1044. if(dialogid == DIALOG_REGISTER)
  1045. {
  1046. if(response == 0)
  1047. {
  1048. SendClientMessage(playerid,rot,"Du hast den vorgang abgebrochen und wirst gekickt!");
  1049. Kick(playerid);
  1050. return 1;
  1051. }
  1052. if(response == 1)
  1053. {
  1054. if(!strlen(inputtext))
  1055. {
  1056. SendClientMessage(playerid,rot,"Dein angegebenes Passwort war nicht lang genug!\n Bitte versuche es erneut");
  1057. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Register","Herzlich Willkommen.\n Da dies dein 1. Besuch bei uns ist, musst du dich zuerst registrieren.\nGib bitte unten dein gewünschtes passwort ein!","Registrieren","Abbrechen");
  1058. return 1;
  1059. }
  1060. else
  1061. {
  1062. Register(playerid,MD5_Hash(inputtext));
  1063. return 1;
  1064. }
  1065. }
  1066. }
  1067. if(dialogid == DIALOG_HELP)
  1068. {
  1069. if(response == 1)
  1070. {
  1071. switch (listitem)
  1072. {
  1073. case 0://befehl
  1074. {
  1075. SendClientMessage(playerid,grün,"Hier sind die Commands die für jeden User zugänglich sind");
  1076. SendClientMessage(playerid,grün,"/gangwaffen /polizeiwaffen /regeln /deagle /deagleraus /tdmarena /tdmarenaraus");
  1077. SendClientMessage(playerid,grün,"/report /gotomark /afk /afkweg");
  1078. }
  1079. case 1:
  1080. {
  1081. if(IsSpielerAdmin(playerid,1))
  1082. {
  1083. SendClientMessage(playerid,grün,"Hier sind die Commands die nur für Admins zugänglich sind");
  1084. SendClientMessage(playerid,grün,"***Admin Level 1***/kick /goto /a[adminchat] /freeze /unfreeze /aduty /adutyoff");
  1085. SendClientMessage(playerid,grün,"***Admin Level 2***/ban /geldfüralle /gethere");
  1086. SendClientMessage(playerid,grün,"***Admin Level 4***/wetter /mute /unmute /mark");
  1087. SendClientMessage(playerid,grün,"***Admin Level 2012***/setadmin /carrespawn");
  1088. }
  1089. }
  1090. }
  1091. }
  1092. return 1;
  1093. }
  1094. return 1;
  1095. }
  1096.  
  1097. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1098. {
  1099. return 1;
  1100. }
  1101. //Spielername Stock
  1102. stock SpielerName(playerid)
  1103. {
  1104. new GetName[MAX_PLAYER_NAME];
  1105. GetPlayerName(playerid,GetName,sizeof(GetName));
  1106. return GetName;
  1107. }
  1108.  
  1109. //Register stock
  1110. stock Register(playerid,key[])
  1111. {
  1112. new SpielerDatei[64];
  1113. format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",SpielerName(playerid));
  1114. dini_Create(SpielerDatei);
  1115. dini_Set(SpielerDatei,"Passwort",key);
  1116. dini_IntSet(SpielerDatei,"Banned",0);
  1117. dini_IntSet(SpielerDatei,"AdminLevel",0);
  1118. dini_IntSet(SpielerDatei,"Geld",50000);
  1119. dini_IntSet(SpielerDatei,"Level",0);
  1120. SetPVarInt(playerid,"eingeloggt",1);
  1121. return 1;
  1122. }
  1123.  
  1124. //Login stock
  1125. stock Login(playerid,key[])
  1126. {
  1127. new SpielerDatei[64];
  1128. format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",SpielerName(playerid));
  1129. new string[128];
  1130. if(!strcmp(key,dini_Get(SpielerDatei,"Passwort"),false))
  1131. {
  1132. SpielerLaden(playerid);
  1133. SendClientMessage(playerid,grün,"Du hast dich erfolgreich eingeloggt");
  1134. format(string,sizeof(string),"[JOIN] %s hat den German TDM Server betreten",SpielerName(playerid));
  1135. SendClientMessageToAll(grün,string);
  1136. }
  1137. else
  1138. {
  1139. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Du hast ein falsches passwort eingegeben!\nBitte versuche es erneut!","Login","Abbrechen");
  1140. }
  1141. return 1;
  1142. }
  1143.  
  1144. //Spieler Laden stock
  1145. stock SpielerLaden(playerid)
  1146. {
  1147. new Spielerdatei[64];
  1148. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
  1149. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  1150. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  1151. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  1152. SetPVarInt(playerid,"eingeloggt",1);
  1153. SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
  1154. if(GetPVarInt(playerid,"Banned") == 1)
  1155. {
  1156. SendClientMessage(playerid,rot,"Du kannst mit diesem Account nicht spielen, da er gebannt ist!\nBei Fragen oder Einwänden kontaktiere einen Admin!");
  1157. Kick(playerid);
  1158. }
  1159. return 1;
  1160. }
  1161. //SpielerSpeichern-stock
  1162. stock SpielerSpeichern(playerid)
  1163. {
  1164. if(GetPVarInt(playerid,"eingeloggt") == 1)
  1165. {
  1166. new SpielerDatei[64];
  1167. format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",SpielerName(playerid));
  1168. dini_IntSet(SpielerDatei,"Level",GetPlayerScore(playerid));
  1169. dini_IntSet(SpielerDatei, "AdminLevel",GetPVarInt(playerid,"AdminLevel"));
  1170. dini_IntSet(SpielerDatei,"Geld",GetPlayerMoney(playerid));
  1171. dini_IntSet(SpielerDatei,"Banned",GetPVarInt(playerid,"Banned"));
  1172. }
  1173. return 1;
  1174. }
  1175. public UpdateUhr()
  1176. {
  1177. new stunde,minute,sekunde,uhrstring[9];
  1178. gettime(stunde,minute,sekunde);
  1179. format(uhrstring,9,"%02d:%02d",stunde,minute);
  1180. TextDrawSetString(Uhr,uhrstring);
  1181. }
  1182. //Freeze stock
  1183. stock FreezePlayer(playerid)
  1184. {
  1185. TogglePlayerControllable(playerid,0);
  1186. return 1;
  1187. }
  1188. //unfreeze stock
  1189. stock UnFreezePlayer(playerid)
  1190. {
  1191. TogglePlayerControllable(playerid,1);
  1192. return 1;
  1193. }
  1194. //Admin Stock
  1195. stock IsSpielerAdmin(playerid,level)
  1196. {
  1197. if(GetPVarInt(playerid,"Adminlevel")>=level)return 1;
  1198. return 0;
  1199. }
  1200. //OCMD Commands
  1201. ocmd:setadmin(playerid,params[])
  1202. {
  1203. new pID,rang,string[128];
  1204. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,rot,"Der angegebene Spieler ist nicht online");
  1205. if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,rot,"Benutzung: /setadmin [ID] [Adminlevel]");
  1206. if( rang <0 || rang > 2012)return SendClientMessage(playerid,rot,"Das Adminlevel muss zwischen 1 und 2012 sein");
  1207. if(IsSpielerAdmin(playerid,2012))
  1208. {
  1209. SetPVarInt(pID,"Adminlevel",rang);
  1210. format(string,sizeof(string),"[AdmCmd] %s wurde von %s zu einem Administratoren Level %i gemacht",SpielerName(pID),SpielerName(playerid),rang);
  1211. SendClientMessageToAll(rot,string);
  1212. SpielerSpeichern(playerid);
  1213. }
  1214. else
  1215. {
  1216. SendClientMessage(playerid,rot,"Zugriff verweigert. Benötigter Rang : Server Leiter");
  1217. return 1;
  1218. }
  1219. return 1;
  1220. }
  1221. ocmd:ban(playerid,params[])
  1222. {
  1223. new pID,string[128],grund[128];
  1224. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,rot,"Der angegebene Spieler ist nicht connected!");
  1225. if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,rot,"Benutzung: /ban [ID] [Grund]");
  1226. if(IsSpielerAdmin(playerid,2))
  1227. {
  1228. SetPVarInt(playerid,"Banned",1);
  1229. format(string,sizeof(string),"[AdmCmd] %s hat %s vom Server gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
  1230. SendClientMessageToAll(rot,string);
  1231. FreezePlayer(pID);
  1232. Kick(pID);
  1233. SpielerSpeichern(playerid);
  1234. SpielerSpeichern(pID);
  1235. }
  1236. else
  1237. {
  1238. SendClientMessage(playerid,rot,"Dein Adminlevel ist zu niedrig");
  1239. return 1;
  1240. }
  1241. return 1;
  1242. }
  1243.  
  1244. ocmd:kick(playerid,params[])
  1245. {
  1246. new pID,string[128],grund[128];
  1247. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,rot,"Der angegebene Spieler ist nicht online!");
  1248. if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,rot,"Benutzung: /kick [ID] [Grund]");
  1249. if(IsSpielerAdmin(playerid,1))
  1250. {
  1251. format(string,sizeof(string),"[AdmCmd] %s hat %s vom Server gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
  1252. SendClientMessageToAll(rot,string);
  1253. Kick(pID);
  1254. FreezePlayer(pID);
  1255. SpielerSpeichern(playerid);
  1256. SpielerSpeichern(pID);
  1257. }
  1258. else
  1259. {
  1260. SendClientMessage(playerid,rot,"Dein Adminlevel ist zu niedrig");
  1261. return 1;
  1262. }
  1263. return 1;
  1264. }
  1265. ocmd:a(playerid,params[])
  1266. {
  1267. new text[256];
  1268.  
  1269. if(sscanf(params,"s",text))
  1270. {
  1271. return SendClientMessage(playerid,blau,"Benutzung: /a [Text]");
  1272. }
  1273.  
  1274. if(IsSpielerAdmin(playerid,1))
  1275. {
  1276. new string[256];
  1277. new playername[MAX_PLAYER_NAME];
  1278. GetPlayerName(playerid,playername,sizeof(playername));
  1279.  
  1280. format(string,sizeof(string),"(ADMINCHAT) Admin %s : %s",SpielerName(playerid),playername,text);
  1281.  
  1282. print("-----");
  1283. print(string);
  1284.  
  1285. for(new i = 0;i<MAX_PLAYERS;i++)
  1286. if(IsSpielerAdmin(playerid,1))
  1287. {
  1288. SendClientMessage(i,blau,string);
  1289. }
  1290. return 1;
  1291. }
  1292. else
  1293. {
  1294. SendClientMessage(playerid,rot,"Du besitzt nicht die nötigen Rechte zur Ausführung dieses Befehls");
  1295. return 1;
  1296. }
  1297. }
  1298. ocmd:goto(playerid,params[])
  1299. {
  1300. new pID,string[128],string2[128];
  1301. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,rot,"Der angegebene Spieler ist nicht online!");
  1302. if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot,"Benutzung: /goto [ID]");
  1303. if(IsSpielerAdmin(playerid,1))
  1304. {
  1305. new Float:x,Float:y,Float:z,Float:angle;
  1306. GetPlayerPos(pID,x,y,z);
  1307. GetPlayerFacingAngle(pID,angle);
  1308. SetPlayerPos(playerid,x+1,y,z);
  1309. SetPlayerFacingAngle(playerid,angle);
  1310. format(string,sizeof(string),"[AdmCmd] %s hat sich zu dir teleportiert",SpielerName(playerid));
  1311. format(string2,sizeof(string2),"[AdmCmd] Du hast dich erfolgreich zum Spieler %s teleportiert",SpielerName(pID));
  1312. SendClientMessage(pID,rot,string);
  1313. SendClientMessage(playerid,rot,string2);
  1314. return 1;
  1315. }
  1316. return 1;
  1317. }
  1318. ocmd:wetter(playerid,params[])
  1319. {
  1320. if(!strlen(params))
  1321. {
  1322. return SendClientMessage(playerid,rot,"Benutzung: /wetter [ID]");
  1323. }
  1324. new wetterid = strval(params);
  1325.  
  1326. if(IsSpielerAdmin(playerid,4))
  1327. {
  1328. if(wetterid <= 100 && wetterid >= 0)
  1329. {
  1330.  
  1331. new string[256];
  1332. new admin[MAX_PLAYER_NAME];
  1333. GetPlayerName(playerid,admin,sizeof(admin));
  1334. format(string,sizeof(string),"Admin %s hat das Wetter in %d geändert",admin,wetterid);
  1335.  
  1336. SendClientMessageToAll(grün,string);
  1337.  
  1338. print("-----");
  1339. print(string);
  1340.  
  1341. SetWeather(wetterid);
  1342. return 1;
  1343. }
  1344. else
  1345. {
  1346. SendClientMessage(playerid,rot,"Fehler: Mögliche Wetter 1-100");
  1347. return 1;
  1348. }
  1349. }
  1350. else
  1351. {
  1352. SendClientMessage(playerid,rot,"Du besitzt nicht die nötige Einstufung zur Ausführung dieses Befehls");
  1353. return 1;
  1354. }
  1355. }
  1356. ocmd:gethere(playerid,params[])
  1357. {
  1358. new zielid;
  1359.  
  1360. if(sscanf(params, "u",zielid))
  1361. {
  1362. return SendClientMessage(playerid,rot,"Benutzung: /gethere [ID]");
  1363. }
  1364.  
  1365. if(IsSpielerAdmin(playerid,2))
  1366. {
  1367. if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
  1368. {
  1369. SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
  1370. return 1;
  1371. }
  1372. else
  1373. {
  1374. if(playerid == zielid)
  1375. {
  1376. SendClientMessage(playerid,rot,"Fehler: Du kannst dich nicht zu dir selber porten");
  1377. return 1;
  1378. }
  1379. else
  1380. {
  1381. new Float:x,Float:y,Float:z;
  1382. new Float:angle;
  1383. new vworld;
  1384. new interior;
  1385. new admin[MAX_PLAYER_NAME];
  1386. new string[256];
  1387. GetPlayerName(playerid,admin,sizeof(admin));
  1388. format(string,sizeof(string),"Admin %s hat dich zu sich teleportiert",admin);
  1389. SendClientMessage(zielid,grün,string);
  1390. GetPlayerPos(playerid,x,y,z);
  1391. GetPlayerFacingAngle(playerid,angle);
  1392. vworld = GetPlayerVirtualWorld(playerid);
  1393. interior = GetPlayerInterior(playerid);
  1394.  
  1395. new zielname[MAX_PLAYER_NAME];
  1396. new string2[256];
  1397. GetPlayerName(zielid,zielname,sizeof(zielname));
  1398. format(string2,sizeof(string2),"Du hast %s zu dir teleportiert",zielname);
  1399. SendClientMessage(playerid,grün,string2);
  1400. SetPlayerPos(zielid,x,y,z);
  1401. SetPlayerFacingAngle(zielid,rot);
  1402. SetPlayerVirtualWorld(zielid,vworld);
  1403. SetPlayerInterior(zielid,interior);
  1404.  
  1405. new string3[256];
  1406. format(string3,sizeof(string3),"Admin: %s hat %s zu sich teleportiert",admin,zielname);
  1407. print("-----");
  1408. print(string3);
  1409.  
  1410. return 1;
  1411. }
  1412. }
  1413. }
  1414. else
  1415. {
  1416. SendClientMessage(playerid,rot,"Du besitzt nicht die nötigen rechte zur Ausführung dieses Befehls");
  1417. return 1;
  1418. }
  1419. }
  1420.  
  1421. ocmd:freeze(playerid,params[])
  1422. {
  1423. new zielid;
  1424.  
  1425. if(sscanf(params, "u",zielid))
  1426. {
  1427. return SendClientMessage(playerid,rot,"Benutzung: /freeze [ID]");
  1428. }
  1429.  
  1430. if(IsSpielerAdmin(playerid,1))
  1431. {
  1432. if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
  1433. {
  1434. SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
  1435. return 1;
  1436. }
  1437. else
  1438. {
  1439. if(playerid == zielid)
  1440. {
  1441. SendClientMessage(playerid,rot,"Fehler: Du kannst dich nicht selber freezen");
  1442. return 1;
  1443. }
  1444. else
  1445. {
  1446. new string[256];
  1447. new string2[256];
  1448. new admin[MAX_PLAYER_NAME];
  1449. new zielname[MAX_PLAYER_NAME];
  1450. GetPlayerName(playerid,admin,sizeof(admin));
  1451. GetPlayerName(zielid,zielname,sizeof(zielname));
  1452. format(string,sizeof(string),"Admin %s hat dich gefreezed",admin);
  1453. format(string2,sizeof(string2),"Du hast %s gefreezed",zielname);
  1454. SendClientMessage(playerid,grün,string2);
  1455. SendClientMessage(zielid,grün,string);
  1456.  
  1457. TogglePlayerControllable(zielid,0);
  1458.  
  1459. new string3[256];
  1460. format(string3,sizeof(string3),"Admin: %s hat %s gefreezed",admin,zielname);
  1461. print("-----");
  1462. print(string3);
  1463.  
  1464. return 1;
  1465. }
  1466. }
  1467. }
  1468. else
  1469. {
  1470. SendClientMessage(playerid,rot,"Du besitzt nicht die nötigen rechte zur Ausführung dieses Befehls");
  1471. return 1;
  1472. }
  1473. }
  1474.  
  1475. ocmd:unfreeze(playerid,params[])
  1476. {
  1477. new zielid;
  1478.  
  1479. if(sscanf(params, "u",zielid))
  1480. {
  1481. return SendClientMessage(playerid,rot,"Benutzung: /unfreeze [ID]");
  1482. }
  1483.  
  1484. if(IsSpielerAdmin(playerid,1))
  1485. {
  1486. if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
  1487. {
  1488. SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
  1489. return 1;
  1490. }
  1491. else
  1492. {
  1493. new string[256];
  1494. new string2[256];
  1495. new admin[MAX_PLAYER_NAME];
  1496. new zielname[MAX_PLAYER_NAME];
  1497. GetPlayerName(playerid,admin,sizeof(admin));
  1498. GetPlayerName(zielid,zielname,sizeof(zielname));
  1499. format(string,sizeof(string),"Admin %s hat dich unfreezed",admin);
  1500. format(string2,sizeof(string2),"Du hast %s ungefreezed",zielname);
  1501. SendClientMessage(playerid,grün,string2);
  1502. SendClientMessage(zielid,grün,string);
  1503.  
  1504. TogglePlayerControllable(zielid,1);
  1505.  
  1506. new string3[256];
  1507. format(string3,sizeof(string3),"Admin: %s hat %s unfreezed",admin,zielname);
  1508. print("-----");
  1509. print(string3);
  1510.  
  1511. return 1;
  1512. }
  1513. }
  1514. else
  1515. {
  1516. SendClientMessage(playerid,rot,"Du besitzt nicht die nötigen rechte zur Ausführung dieses Befehls");
  1517. return 1;
  1518. }
  1519. }
  1520. ocmd:mute(playerid,params[])
  1521. {
  1522. new zielid;
  1523.  
  1524. if(sscanf(params, "u",zielid))
  1525. {
  1526. return SendClientMessage(playerid,rot,"Benutzung: /mute [ID]");
  1527. }
  1528.  
  1529. if(IsSpielerAdmin(playerid,4))
  1530. {
  1531. if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
  1532. {
  1533. SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
  1534. return 1;
  1535. }
  1536. else
  1537. {
  1538. if(playerid == zielid)
  1539. {
  1540. SendClientMessage(playerid,rot,"Du kannst dich nicht selber muten");
  1541. return 1;
  1542. }
  1543. else
  1544. {
  1545. new admin[MAX_PLAYER_NAME];
  1546. new zielname[MAX_PLAYER_NAME];
  1547. new string[256];
  1548. new string2[256];
  1549. GetPlayerName(playerid,admin,sizeof(admin));
  1550. GetPlayerName(zielid,zielname,sizeof(zielname));
  1551. format(string,sizeof(string),"Du wurdest von Admin %s gemuted",admin);
  1552. format(string2,sizeof(string2),"Du hast %s gemuted",zielname);
  1553. SendClientMessage(zielid,grün,string);
  1554. SendClientMessage(playerid,grün,string2);
  1555.  
  1556. mute[zielid] = 1;
  1557.  
  1558. new string3[256];
  1559. format(string3,sizeof(string3),"Admin: %s hat %s gemuted",admin,zielname);
  1560. print("-----");
  1561. print(string3);
  1562.  
  1563. return 1;
  1564. }
  1565. }
  1566. }
  1567. else
  1568. {
  1569. SendClientMessage(playerid,rot,"Du besitzt nicht die nötigen rechte zur Ausführung dieses Befehls");
  1570. return 1;
  1571. }
  1572. }
  1573.  
  1574. ocmd:unmute(playerid,params[])
  1575. {
  1576. new zielid;
  1577.  
  1578. if(sscanf(params, "u",zielid))
  1579. {
  1580. return SendClientMessage(playerid,rot,"Benutzung: /unmute [ID]");
  1581. }
  1582.  
  1583. if(IsSpielerAdmin(playerid,4))
  1584. {
  1585. if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
  1586. {
  1587. SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
  1588. return 1;
  1589. }
  1590. else
  1591. {
  1592. new admin[MAX_PLAYER_NAME];
  1593. new zielname[MAX_PLAYER_NAME];
  1594. new string[256];
  1595. new string2[256];
  1596. GetPlayerName(playerid,admin,sizeof(admin));
  1597. GetPlayerName(zielid,zielname,sizeof(zielname));
  1598. format(string,sizeof(string),"Du wurdest von Admin %s unmuted",admin);
  1599. format(string2,sizeof(string2),"Du hast %s unmuted",zielname);
  1600. SendClientMessage(zielid,grün,string);
  1601. SendClientMessage(playerid,grün,string2);
  1602. print("-----");
  1603. mute[zielid] = 0;
  1604.  
  1605. new string3[256];
  1606. format(string3,sizeof(string3),"Admin: %s hat %s unmuted",admin,zielname);
  1607.  
  1608. print(string3);
  1609.  
  1610. return 1;
  1611. }
  1612. }
  1613. else
  1614. {
  1615. SendClientMessage(playerid,rot,"Du besitzt nicht die nötigen rechte zur Ausführung dieses Befehls");
  1616. return 1;
  1617. }
  1618. }
  1619. ocmd:report(playerid,params[])
  1620. {
  1621. new zielid;
  1622. new grund[256];
  1623.  
  1624. if(sscanf(params, "us",zielid,grund))
  1625. {
  1626. return SendClientMessage(playerid,rot,"Benutzung: /report [ID] [Grund]");
  1627. }
  1628.  
  1629. if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
  1630. {
  1631. SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
  1632. return 1;
  1633. }
  1634. else
  1635. {
  1636. new playername[MAX_PLAYER_NAME];
  1637. new zielname[MAX_PLAYER_NAME];
  1638.  
  1639. GetPlayerName(playerid,playername,sizeof(playername));
  1640. GetPlayerName(zielid,zielname,sizeof(zielname));
  1641.  
  1642. new string[256];
  1643. format(string,sizeof(string),"Spieler %s (ID:%d) hat Spieler %s (ID: %d) reportet. Grund: %s",playername,playerid,zielname,zielid,grund);
  1644.  
  1645. print("-----");
  1646. print(string);
  1647.  
  1648. for(new i = 0;i<MAX_PLAYERS;i++)
  1649. if(IsSpielerAdmin(i,1))
  1650. {
  1651. SendClientMessage(i,grün,string);
  1652. }
  1653. }
  1654. return 1;
  1655. }
  1656.  
  1657. //sscanf stock
  1658. stock sscanf(string[], format[], {Float,_}:...)
  1659. {
  1660. #if defined isnull
  1661. if (isnull(string))
  1662. #else
  1663. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1664. #endif
  1665. {
  1666. return format[0];
  1667. }
  1668. #pragma tabsize 4
  1669. new
  1670. formatPos = 0,
  1671. stringPos = 0,
  1672. paramPos = 2,
  1673. paramCount = numargs(),
  1674. delim = ' ';
  1675. while (string[stringPos] && string[stringPos] <= ' ')
  1676. {
  1677. stringPos++;
  1678. }
  1679. while (paramPos < paramCount && string[stringPos])
  1680. {
  1681. switch (format[formatPos++])
  1682. {
  1683. case '\0':
  1684. {
  1685. return 0;
  1686. }
  1687. case 'i', 'd':
  1688. {
  1689. new
  1690. neg = 1,
  1691. num = 0,
  1692. ch = string[stringPos];
  1693. if (ch == '-')
  1694. {
  1695. neg = -1;
  1696. ch = string[++stringPos];
  1697. }
  1698. do
  1699. {
  1700. stringPos++;
  1701. if ('0' <= ch <= '9')
  1702. {
  1703. num = (num * 10) + (ch - '0');
  1704. }
  1705. else
  1706. {
  1707. return -1;
  1708. }
  1709. }
  1710. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1711. setarg(paramPos, 0, num * neg);
  1712. }
  1713. case 'h', 'x':
  1714. {
  1715. new
  1716. num = 0,
  1717. ch = string[stringPos];
  1718. do
  1719. {
  1720. stringPos++;
  1721. switch (ch)
  1722. {
  1723. case 'x', 'X':
  1724. {
  1725. num = 0;
  1726. continue;
  1727. }
  1728. case '0' .. '9':
  1729. {
  1730. num = (num << 4) | (ch - '0');
  1731. }
  1732. case 'a' .. 'f':
  1733. {
  1734. num = (num << 4) | (ch - ('a' - 10));
  1735. }
  1736. case 'A' .. 'F':
  1737. {
  1738. num = (num << 4) | (ch - ('A' - 10));
  1739. }
  1740. default:
  1741. {
  1742. return -1;
  1743. }
  1744. }
  1745. }
  1746. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1747. setarg(paramPos, 0, num);
  1748. }
  1749. case 'c':
  1750. {
  1751. setarg(paramPos, 0, string[stringPos++]);
  1752. }
  1753. case 'f':
  1754. {
  1755.  
  1756. new changestr[16], changepos = 0, strpos = stringPos;
  1757. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1758. {
  1759. changestr[changepos++] = string[strpos++];
  1760. }
  1761. changestr[changepos] = '\0';
  1762. setarg(paramPos,0,_:floatstr(changestr));
  1763. }
  1764. case 'p':
  1765. {
  1766. delim = format[formatPos++];
  1767. continue;
  1768. }
  1769. case '\'':
  1770. {
  1771. new
  1772. end = formatPos - 1,
  1773. ch;
  1774. while ((ch = format[++end]) && ch != '\'') {}
  1775. if (!ch)
  1776. {
  1777. return -1;
  1778. }
  1779. format[end] = '\0';
  1780. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1781. {
  1782. if (format[end + 1])
  1783. {
  1784. return -1;
  1785. }
  1786. return 0;
  1787. }
  1788. format[end] = '\'';
  1789. stringPos = ch + (end - formatPos);
  1790. formatPos = end + 1;
  1791. }
  1792. case 'u':
  1793. {
  1794. new
  1795. end = stringPos - 1,
  1796. id = 0,
  1797. bool:num = true,
  1798. ch;
  1799. while ((ch = string[++end]) && ch != delim)
  1800. {
  1801. if (num)
  1802. {
  1803. if ('0' <= ch <= '9')
  1804. {
  1805. id = (id * 10) + (ch - '0');
  1806. }
  1807. else
  1808. {
  1809. num = false;
  1810. }
  1811. }
  1812. }
  1813. if (num && IsPlayerConnected(id))
  1814. {
  1815. setarg(paramPos, 0, id);
  1816. }
  1817. else
  1818. {
  1819. #if !defined foreach
  1820. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1821. #define __SSCANF_FOREACH__
  1822. #endif
  1823. string[end] = '\0';
  1824. num = false;
  1825. new
  1826. name[MAX_PLAYER_NAME];
  1827. id = end - stringPos;
  1828. foreach (Player, playerid)
  1829. {
  1830. GetPlayerName(playerid, name, sizeof (name));
  1831. if (!strcmp(name, string[stringPos], true, id))
  1832. {
  1833. setarg(paramPos, 0, playerid);
  1834. num = true;
  1835. break;
  1836. }
  1837. }
  1838. if (!num)
  1839. {
  1840. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1841. }
  1842. string[end] = ch;
  1843. #if defined __SSCANF_FOREACH__
  1844. #undef foreach
  1845. #undef __SSCANF_FOREACH__
  1846. #endif
  1847. }
  1848. stringPos = end;
  1849. }
  1850. case 's', 'z':
  1851. {
  1852. new
  1853. i = 0,
  1854. ch;
  1855. if (format[formatPos])
  1856. {
  1857. while ((ch = string[stringPos++]) && ch != delim)
  1858. {
  1859. setarg(paramPos, i++, ch);
  1860. }
  1861. if (!i)
  1862. {
  1863. return -1;
  1864. }
  1865. }
  1866. else
  1867. {
  1868. while ((ch = string[stringPos++]))
  1869. {
  1870. setarg(paramPos, i++, ch);
  1871. }
  1872. }
  1873. stringPos--;
  1874. setarg(paramPos, i, '\0');
  1875. }
  1876. default:
  1877. {
  1878. continue;
  1879. }
  1880. }
  1881. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1882. {
  1883. stringPos++;
  1884. }
  1885. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1886. {
  1887. stringPos++;
  1888. }
  1889. paramPos++;
  1890. }
  1891. do
  1892. {
  1893. if ((delim = format[formatPos++]) > ' ')
  1894. {
  1895. if (delim == '\'')
  1896. {
  1897. while ((delim = format[formatPos++]) && delim != '\'') {}
  1898. }
  1899. else if (delim != 'z')
  1900. {
  1901. return delim;
  1902. }
  1903. }
  1904. }
  1905. while (delim > ' ');
  1906. return 0;
  1907. }
  1908. public respawn5()
  1909. {
  1910. GameTextForAll("Die Autos werden in 4 Sekunde(n) Respawnt",1000,5);
  1911. SetTimer("respawn4",1000,0);
  1912. }
  1913.  
  1914. public respawn4()
  1915. {
  1916. GameTextForAll("Die Autos werden in 3 Sekunde(n) Respawnt",1000,5);
  1917. SetTimer("respawn3",1000,0);
  1918. }
  1919.  
  1920. public respawn3()
  1921. {
  1922. GameTextForAll("Die Autos werden in 2 Sekunde(n) Respawnt",1000,5);
  1923. SetTimer("respawn2",1000,0);
  1924. }
  1925.  
  1926. public respawn2()
  1927. {
  1928. GameTextForAll("Die Autos werden in 1 Sekunde(n) Respawnt",1000,5);
  1929. SetTimer("respawn1",1000,0);
  1930. }
  1931.  
  1932. public respawn1()
  1933. {
  1934. for(new v=0; v<MAX_VEHICLES; v++)
  1935. {
  1936. if(GetVehicleDriver(v) == -1)
  1937. {
  1938. SetVehicleToRespawn(v);
  1939. }
  1940. }
  1941. return 1;
  1942. }
  1943. stock GetVehicleDriver(vehicleid)
  1944. {
  1945. for(new i = 0; i < GetMaxPlayers(); i++)
  1946. {
  1947. if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetPlayerVehicleID(i) == vehicleid)
  1948. {
  1949. return i;
  1950. }
  1951. }
  1952. return -1;
  1953. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement