Advertisement
Guest User

Untitled

a guest
Aug 13th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.14 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4. #define COLOR_GREY 0xAFAFAFAA
  5. #define COLOR_GREEN 0x33AA33AA
  6. #define COLOR_RED 0xAA3333AA
  7. #define COLOR_RED2 0xFF0000FF
  8. #define COLOR_LIGHTRED 0xFF6347AA
  9. #define COLOR_ORANGE 0xFF9900AA
  10. #define BLAU 0x0087FFFF
  11. #define ROT 0xE10000FF
  12. #define ORANGE 0xFFFF00AA
  13.  
  14. #define BLAU 0x0087FFFF
  15. forward HasAJetpack();
  16. new vEngine[MAX_VEHICLES];
  17. new Text:Tankanzeige[MAX_PLAYERS];
  18. new Text:tankdraw;
  19. #define TANK_ZEIT (5000)
  20. #define DIALOG_TUTORIAL 1
  21. #define DIALOG_REGISTER 2
  22. #define DIALOG_LOGIN 3
  23. #define COLOR_YELLOW 0xFFFF00AA
  24. #define COLOR_WHITE 0xFFFFFFAA
  25. new bool: motor[MAX_VEHICLES];
  26. //Und dann müssen wir noch zwei sachen definieren damit wir den Status nacher ändern können und zwar...
  27. #define VEHICLE_PARAMS_OFF 0 //Damit stellt man z.B. den Motor an
  28. #define VEHICLE_PARAMS_ON 1 //Und damit stellt man z.B. den Motor oder die Lichter aus.
  29. new engine,lights,alarm,doors,bonnet,boot,objective;
  30. new bsnenter;
  31. new bsnexit;
  32. new niceenter;
  33. new niceexit;
  34. new johnenter;
  35. new johnexit;
  36. forward tank();
  37. forward TankTimer();
  38.  
  39. new Float:Tankstellen[3][3] =
  40. {
  41. {-1678.1692,410.1258,7.1797},
  42. {1944.1157,-1770.4668,13.3906},
  43. {1005.5214,-940.4622,41.8699}
  44. };
  45.  
  46. new Tankmenge[MAX_VEHICLES];
  47.  
  48. main()
  49. {
  50. print("\n----------------------------------");
  51. print("German Gangwar");
  52. print("----------------------------------\n");
  53. }
  54.  
  55.  
  56. public OnGameModeInit()
  57. {
  58. UsePlayerPedAnims();
  59. SetTimer("HasAJetpack",10,1);
  60. SetTimer("TankTimer", TANK_ZEIT, 1);
  61.  
  62. ManualVehicleEngineAndLights();
  63. bsnenter=CreatePickup(1559,1,1199.2428,-918.1444,43.1233);
  64. bsnexit=CreatePickup(1559,1,362.8524,-75.1179,1001.5078);
  65. Create3DTextLabel("BSN\n Eingang",BLAU,1199.2235,-918.1543,43.1233,10,0);
  66. niceenter=CreatePickup(1559,1,1496.9954,-687.8948,95.5633);
  67. niceexit=CreatePickup(1559,1,2541.5408,-1303.6042,1025.0703);
  68. johnenter=CreatePickup(1559,1,1123.0044,-2036.9816,69.8938);
  69. johnexit=CreatePickup(1559,1,-2637.0120,1402.2413,906.4609);
  70.  
  71. for(new i=0;i<MAX_VEHICLES;i++)
  72. {
  73. Tankmenge[i] = 100;
  74. }
  75.  
  76. Create3DTextLabel("NO-DM ZONE",ROT,1246.1062,-928.4445,42.5484,80,0);
  77. Create3DTextLabel("NO-DM ZONE",ROT,1247.8765,-938.5422,42.5141,80,0);
  78. Create3DTextLabel("NO-DM ZONE",ROT,1178.4060,-951.1542,42.6764,80,0);
  79. Create3DTextLabel("NO-DM ZONE",ROT,1177.6722,-940.6513,42.7889,80,0);
  80. //<------------SKINS--------"new"
  81. DisableInteriorEnterExits();
  82. SetGameModeText("german Gangwar");
  83. //////////////////////////////////////////////
  84. tankdraw = TextDrawCreate(518, 431, "Tank: %d");
  85. TextDrawFont(tankdraw, 3);
  86. TextDrawLetterSize(tankdraw, 0.6, 1.8);
  87. TextDrawColor(tankdraw, 0xCCCCCCFF);
  88. TextDrawSetOutline(tankdraw, 2);
  89. //////////////////////////////////////
  90. AddPlayerClass(120,1215.1989,-904.8925,42.9192,190.9507,24,1000,34,500,31,700); // Server Owner SKIN
  91. AddPlayerClass(0,1215.1989,-904.8925,42.9192,190.9507,0,0,0,0,0,0); // Opa Skin waffen
  92. AddPlayerClass(270,1215.1989,-904.8925,42.9192,190.9507,24,420,30,700,4,1); // Rusische Mafia
  93. AddPlayerClass(111,1215.1989,-904.8925,42.9192,190.9507,24,420,30,700,4,1); // Rusische Mafia
  94. AddPlayerClass(127,1215.1989,-904.8925,42.9192,190.9507,24,420,30,700,4,1); // Rusische Mafia
  95. AddPlayerClass(126,1215.1989,-904.8925,42.9192,190.9507,24,420,30,700,4,1); // Rusische Mafia
  96. AddPlayerClass(125,1215.1989,-904.8925,42.9192,190.9507,24,420,30,700,4,1); // Rusische Mafia
  97. AddPlayerClass(124,1215.1989,-904.8925,42.9192,190.9507,24,420,30,700,4,1); // Rusische Mafia
  98. AddPlayerClass(112,1215.1989,-904.8925,42.9192,190.9507,24,420,30,700,4,1); // Rusische Mafia
  99. AddPlayerClass(102,1215.1989,-904.8925,42.9192,190.9507,24,120,28,400,5,1); // Ballas SKINS waffen
  100. AddPlayerClass(103,1215.1989,-904.8925,42.9192,190.9507,24,120,28,400,5,1); // Ballas SKINS waffen
  101. AddPlayerClass(104,1215.1989,-904.8925,42.9192,190.9507,24,120,28,400,5,1); // Ballas SKINS waffen
  102. AddPlayerClass(270,1215.1989,-904.8925,42.9192,190.9507,24,120,28,400,5,1); // Berkan skin
  103. AddPlayerClass(163,1215.1989,-904.8925,42.9192,190.9507,24,1000,31,800,34,500); // lspd
  104. AddPlayerClass(280,1215.1989,-904.8925,42.9192,190.9507,24,1000,31,800,34,500); // lspd
  105. AddPlayerClass(281,1215.1989,-904.8925,42.9192,190.9507,24,1000,31,800,34,500); // lspd
  106. AddPlayerClass(282,1215.1989,-904.8925,42.9192,190.9507,24,1000,31,800,34,500); // lspd
  107. AddPlayerClass(165,1215.1989,-904.8925,42.9192,190.9507,31,400,49,300,17,20); // FBI SKIN
  108. AddPlayerClass(166,1215.1989,-904.8925,42.9192,190.9507,31,400,24,300,17,20); // FBI SKIN
  109. AddPlayerClass(285,1215.1989,-904.8925,42.9192,190.9507,31,400,24,300,17,20); // FBI SKIN
  110.  
  111.  
  112. AddPlayerClass(1,1215.1989,-904.8925,42.9192,190.9507,0,0,0,0,0,0); // spawn punkt
  113. AddPlayerClass(1,1215.1989,-904.8925,42.9192,190.9507,0,0,0,0,0,0); // spawn punkt
  114. AddPlayerClass(1,1215.1989,-904.8925,42.9192,190.9507,0,0,0,0,0,0); // spawn punkt
  115.  
  116.  
  117. //------------AUTOS-----------new
  118. AddStaticVehicle(516,2134.5500,-1480.4330,23.7287,179.3929,186,1); // Ballasbase
  119. AddStaticVehicle(516,2134.6851,-1472.9579,23.7210,179.8360,186,1); // Ballasbase
  120. AddStaticVehicle(516,2134.3582,-1465.0785,23.7213,184.0078,186,1); // Ballasbase
  121. AddStaticVehicle(516,2127.9646,-1474.3867,23.7171,359.2956,186,1); // Ballasbase
  122. AddStaticVehicle(516,2127.8606,-1482.8104,23.7150,356.8786,186,1); // Ballasbase
  123. AddStaticVehicle(554,2127.9392,-1451.4547,23.9911,3.4454,146,32); // Ballasbase
  124. AddStaticVehicle(596,1602.5450,-1627.0680,13.1872,92.1359,0,1); // LSPD
  125. AddStaticVehicle(596,1602.4053,-1622.9178,13.1860,93.1832,0,1); // LSPD
  126. AddStaticVehicle(596,1602.0092,-1618.9026,13.1816,94.0103,0,1); // LSPD
  127. AddStaticVehicle(596,1601.6655,-1615.1818,13.1781,92.3688,0,1); // LSPD
  128. AddStaticVehicle(596,1601.3140,-1611.1045,13.1727,92.7568,0,1); // LSPD
  129. AddStaticVehicle(411,1227.3962,-918.6566,42.6294,99.9567,126,1); // bsn auto1 infernus
  130. AddStaticVehicle(424,1226.4712,-915.9927,42.6846,100.6179,3,2); // bsn auto 2
  131. AddStaticVehicle(415,1227.1259,-912.2269,42.6722,97.0364,36,1); // auto bsn cheetah1
  132. AddStaticVehicle(439,1226.8022,-909.1315,42.7969,95.8297,43,21); // auto bsn unbekannt 1
  133. AddStaticVehicle(580,2192.1602,-2245.9172,13.2950,226.8728,0,53); // Russ base
  134. AddStaticVehicle(580,2198.4504,-2243.2698,13.3430,221.1366,0,47); // Russ base
  135. AddStaticVehicle(580,2202.7151,-2239.8882,13.3430,220.7346,0,81); // Russ base
  136. AddStaticVehicle(580,2208.8140,-2235.7258,13.3430,221.3326,0,66); // Russ base
  137. AddStaticVehicle(580,2226.7454,-2241.8489,13.3508,45.7348,0,53); // Russ base
  138. AddStaticVehicle(580,2204.8792,-2264.5938,13.3509,47.6173,0,47); // Russ base
  139. AddStaticVehicle(411,1461.6464,-688.1581,94.4970,357.2306,12,1); // Pucals Haus
  140. AddStaticVehicle(411,1461.6464,-688.1581,94.4970,357.2306,12,1); // Pucals Haus
  141. AddStaticVehicle(411,1466.1066,-688.2553,94.4975,357.8630,123,1); // Pucals Haus
  142. AddStaticVehicle(406,1460.6676,-663.3848,96.2774,355.6368,1,1); // Pucals Haus
  143. AddStaticVehicle(522,1459.0923,-673.5086,94.2996,360.0000,8,82); // Pucals Haus
  144. AddStaticVehicle(522,1460.8794,-673.0958,94.3117,7.7326,39,106); // Pucals Haus
  145. AddStaticVehicle(520,1470.7820,-666.3351,95.9479,0.0935,0,0); // Pucals Haus
  146. AddStaticVehicle(520,1470.8948,-666.2855,95.6935,0.6454,0,0); // Pucals Haus
  147. AddStaticVehicle(513,1488.2826,-651.0701,92.3187,329.7220,55,20); // Pucals Haus
  148. AddStaticVehicle(510,1480.3025,-655.0734,91.4953,0.7939,5,5); // Pucals Haus
  149. AddStaticVehicle(432,1501.3762,-693.1971,95.0588,184.5882,43,0); // Pucals Haus
  150. AddStaticVehicle(425,1488.3290,-704.8081,95.3315,178.8457,43,0); // Pucals Haus
  151. AddStaticVehicle(426,1512.2832,-1460.5295,9.0175,179.7972,0,11); // FBI Base
  152. AddStaticVehicle(426,1516.3873,-1460.4905,9.2434,175.7788,0,37); // FBI Base
  153. AddStaticVehicle(426,1520.0723,-1461.4042,9.2434,176.4794,0,53); // FBI Base
  154. AddStaticVehicle(427,1516.8027,-1477.2211,9.6318,2.7504,0,1); // FBI Base
  155. AddStaticVehicle(490,1525.5730,-1461.3772,9.6272,183.5505,0,0); // FBI Base
  156. AddStaticVehicle(490,1520.8751,-1477.3962,9.6271,359.9999,0,0); // FBI Base
  157. AddStaticVehicle(490,1525.5618,-1478.1628,9.6272,4.7236,0,0); // FBI Base
  158. AddStaticVehicle(497,1508.0154,-1457.5011,64.0361,0.3058,0,1); // FBI Base
  159. AddStaticVehicle(497,1518.6965,-1458.0188,64.0362,0.1823,0,1); // FBI Base
  160. AddStaticVehicle(497,1530.2535,-1458.6638,64.0358,3.0704,0,1); // FBI Base
  161. AddStaticVehicle(523,1530.9656,-1478.1995,9.0716,0.3229,0,0); // FBI Base
  162. AddStaticVehicle(523,1532.6726,-1478.9628,9.0708,359.9399,0,0); // FBI Base
  163. AddStaticVehicle(523,1535.6372,-1478.6060,9.0737,356.9420,0,0); // FBI Base
  164. AddStaticVehicle(427,1516.2274,-1477.2402,9.6318,0.8770,0,1); // FBI Base
  165. AddStaticVehicle(528,1511.9155,-1478.1974,9.5413,358.2896,0,0); // FBI Base
  166. AddStaticVehicle(601,1537.4655,-1474.2954,9.2588,1.0624,0,1); // FBI Base
  167. AddStaticVehicle(462,1705.6614,-1607.5449,13.1502,46.5415,0,12); // FBI Base
  168.  
  169.  
  170. //------------gemapptes
  171.  
  172. CreateObject(4640, 1490.7396240234, -1601.1430664063, 14.243454933167, 0, 0, 302);
  173. CreateObject(1251, 1498.9644775391, -1600.6075439453, 12.651559829712, 0, 0, 2);
  174. CreateObject(1251, 1502.6314697266, -1600.6822509766, 12.651559829712, 0, 0, 4);
  175. CreateObject(1251, 1493.5028076172, -1600.6533203125, 12.651559829712, 0, 0, 0);
  176. CreateObject(1251, 1488.4624023438, -1600.5693359375, 12.651559829712, 0, 0, 6);
  177. CreateObject(1251, 1485.1877441406, -1600.7484130859, 12.651559829712, 0, 0, 4);
  178. CreateObject(1251, 1481.7601318359, -1600.7205810547, 12.651559829712, 0, 0, 2);
  179. CreateObject(1251, 1478.2413330078, -1600.7120361328, 12.651559829712, 0, 0, 0);
  180. CreateObject(1251, 1474.4093017578, -1600.7257080078, 12.651559829712, 0, 0, 0);
  181. CreateObject(983, 1495.0283203125, -1603.7298583984, 13.230429649353, 0, 0, 270);
  182. CreateObject(984, 1480.7668457031, -1603.7719726563, 13.183554649353, 0, 0, 270);
  183. CreateObject(983, 1474.3157958984, -1600.5886230469, 13.230429649353, 0, 0, 0);
  184. CreateObject(1251, 1497.0902099609, -1600.7342529297, 12.651559829712, 0, 0, 2);
  185. CreateObject(983, 1502.7231445313, -1600.4527587891, 13.230429649353, 0, 0, 4); //Parkplatz am LSPD
  186.  
  187.  
  188.  
  189.  
  190. return 1;
  191. }
  192.  
  193. public OnGameModeExit()
  194. {
  195. return 1;
  196. }
  197.  
  198. public OnPlayerRequestClass(playerid, classid)
  199. {
  200. SetPlayerPos(playerid,1214.5920,-902.7262,42.9203);
  201. SetPlayerFacingAngle(playerid,210.2354);
  202. SetPlayerCameraPos(playerid,1216.9020,-906.5964,42.9156);
  203. SetPlayerCameraLookAt(playerid,1214.5920,-902.7262,42.9203);
  204.  
  205. return 1;
  206. }
  207.  
  208. public OnPlayerConnect(playerid)
  209. {
  210. new Spielerdatei[64];
  211. new name[MAX_PLAYER_NAME];
  212. GetPlayerName(playerid,name,sizeof(name));
  213. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  214. if(dini_Exists(Spielerdatei))
  215. {
  216. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  217. }
  218. else
  219. {
  220. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  221. }
  222. return 1;
  223. }
  224.  
  225. public OnPlayerDisconnect(playerid, reason)
  226. {
  227. if(IsPlayerInAnyVehicle(playerid))
  228. {
  229. TextDrawDestroy(Tankanzeige[playerid]);
  230. }
  231. if(GetPVarInt(playerid,"loggedin")==1)
  232. {
  233. SpielerSpeichern(playerid);
  234. }
  235. return 1;
  236. }
  237.  
  238. public OnPlayerSpawn(playerid)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnPlayerDeath(playerid, killerid, reason)
  244. {
  245. SendClientMessage(killerid,0xFF0000FF,"Du hast ein Verbrechen begangen: Mord");
  246. return 1;
  247. }
  248.  
  249. public OnVehicleSpawn(vehicleid)
  250. {
  251. return 1;
  252. }
  253.  
  254. public OnVehicleDeath(vehicleid, killerid)
  255. {
  256. return 1;
  257. }
  258.  
  259. public OnPlayerText(playerid, text[])
  260. {
  261. return 1;
  262. }
  263. ocmd:setadmin(playerid,params[])
  264. {
  265. if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  266. new pID, rank;
  267. if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
  268. if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
  269. SetPVarInt(pID,"Adminlevel",rank);
  270. SpielerSpeichern(pID);
  271. SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
  272. return 1;
  273. }
  274.  
  275. ocmd:ban(playerid,params[])
  276. {
  277. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  278. new pID, reason[128],string[128];
  279. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/ban [id] [grund]");
  280. format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  281. SendClientMessageToAll(ROT,string);
  282. SetPVarInt(pID,"Baned",1);
  283. Kick(pID);
  284. return 1;
  285. }
  286.  
  287. ocmd:kick(playerid,params[])
  288. {
  289. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  290. new pID, reason[128],string[128];
  291. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
  292. format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  293. SendClientMessageToAll(ROT,string);
  294. Kick(pID);
  295. return 1;
  296. }
  297. ocmd:goto(playerid,params[])
  298. {
  299. if(isPlayerAnAdmin(playerid,1))
  300. {
  301. new pID;
  302. if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"Benutze: /goto [ID]");
  303. new Float:X,Float:Y,Float:Z;
  304. GetPlayerPos(pID,X,Y,Z);
  305. SetPlayerPos(playerid,X,Y,Z);
  306. }
  307. else
  308. {
  309. SendClientMessage(playerid,ROT,"Du bist kein Admin!");
  310. }
  311. return 1;
  312. }
  313.  
  314. public OnPlayerCommandText(playerid, cmdtext[])
  315. {
  316. if(strcmp(cmdtext,"/bsn",true)==0)
  317. {
  318. if(isPlayerAnAdmin(playerid,3))
  319. {
  320. ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"BSN","Möchten sie wirklich zum BSN?","JA","NEIN");
  321. return 1;
  322. }
  323. SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  324. return 1;
  325. }
  326.  
  327. if(strcmp(cmdtext, "/Motor", true) == 0)
  328. {
  329. if(!IsPlayerInAnyVehicle(playerid)) //Wenn er in keinem Auto ist oder ...
  330. {
  331. SendClientMessage(playerid,BLAU, "* Du must in einem Auto sein.");
  332. return 1;
  333. }
  334. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) //... wenn er nicht der Fahrer eines Fahrzeugs ist, wird der Befehl beendet.
  335. {
  336. SendClientMessage(playerid,ROT, "* Du musst der Fahrer des Fahrzeugs sein.");
  337. return 1;
  338. }
  339. new vid = GetPlayerVehicleID(playerid); //Das brauchen wir, damit wir im Script statt GetPlayerVehicleID(playerid); nur "vid" schreiben müssen.
  340. GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); //Als erstes lesen wir mal alles aus.
  341. if(motor[vid] == false) //Und schon brauchen wir die bool die wir oben definiert haben. Damit speichern wir den Status des Motors um zu erkennen ob er an oder aus ist.
  342. {
  343. SendClientMessage(playerid,BLAU, "Motor ausgeschaltet");
  344. SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); //Hier kommt dann VEHICLE_PARAMS_ON zum einsatz. Das haben wir oben auch definiert.
  345. motor[vid] = true; //Hier müssen wir die Variable (bool) wieder ändern, damit alles klappt.
  346. }
  347. else if(motor[vid] == true) //Und wenn der Motor aus ist, wird VEHICLE_PARAMS_OFF benutzt um den Motor wieder auszuschalten.
  348. {
  349. SendClientMessage(playerid,BLAU, " Motor wird gestartet");
  350. SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  351. motor[vid] = false;
  352. }
  353. return 1;
  354. }
  355.  
  356. if(strcmp(cmdtext,"/armor",true)==0)
  357. {
  358. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  359. SetPlayerArmour(playerid,100);
  360. SendClientMessage(playerid,BLAU,"Du hast eine Rüstung angezogen");
  361. return 1;
  362. }
  363.  
  364. if(strcmp(strget(cmdtext, 0), "/freeze", true) == 0)
  365. {
  366. if(isPlayerAnAdmin(playerid,2))
  367. {
  368. if(!strlen(strget(cmdtext, 1)))
  369. {
  370. SendClientMessage(playerid,COLOR_RED, "Benutzung: /freeze [Playerid/PartOfName]");
  371. return 1;
  372. }
  373. new id = strval(strget(cmdtext, 1));
  374. new name[MAX_PLAYER_NAME];
  375. GetPlayerName(id, name, sizeof(name));
  376. new string[126];
  377. format(string, sizeof(string), "Du hast %s gefreezt", name);
  378. SendClientMessage(playerid, COLOR_RED, string);
  379. SendClientMessage(id,COLOR_RED, "Du wurdest gefreezt!");
  380. TogglePlayerControllable(id,0);
  381. SetPlayerInterior(id,0);
  382. return 1;
  383. }
  384. else
  385. {
  386. SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
  387. }
  388. }
  389. if(strcmp(strget(cmdtext, 0), "/pay", true) == 0)
  390. {
  391. if(!strlen(strget(cmdtext, 1)))
  392. {
  393. SendClientMessage(playerid,COLOR_RED, "Benutzung: /pay [Playerid/PartOfName] [Betrag]");
  394. return 1;
  395. }
  396. new string[126];
  397. new id = strval(strget(cmdtext, 1));
  398. new amount = strval(strget(cmdtext, 2));
  399. new name[MAX_PLAYER_NAME];
  400. new pname[MAX_PLAYER_NAME];
  401. GetPlayerName(id, name, sizeof(name));
  402. new tmp[256];
  403. if(amount > GetPlayerMoney(playerid)) { SendClientMessage(playerid, COLOR_GREY, "So viel Geld hast du nicht bei dir!"); return 1; }
  404. {
  405. if(IsPlayerConnected(id))
  406. {
  407. format(tmp, sizeof(tmp), "Du hast %s %d $ gegeben", name,amount);
  408. SendClientMessage(playerid, COLOR_YELLOW, string);
  409. format(tmp, sizeof(tmp), "Du hast %d$ von %s bekommen",amount,pname);
  410. SendClientMessage(id,COLOR_YELLOW,tmp);
  411. GivePlayerMoney(playerid,-amount);
  412. GivePlayerMoney(id,amount);
  413. return 1;
  414. }
  415. SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht online!");
  416. return 1;
  417. }
  418. }
  419.  
  420.  
  421. if(strcmp(strget(cmdtext, 0), "/unfreeze", true) == 0)
  422. {
  423. if(isPlayerAnAdmin(playerid,1))
  424. {
  425. if(!strlen(strget(cmdtext, 1)))
  426. {
  427. SendClientMessage(playerid,COLOR_RED, "Benutzung: /unfreeze [Playerid/PartOfName]");
  428. return 1;
  429. }
  430. new id = strval(strget(cmdtext, 1));
  431. new name[MAX_PLAYER_NAME];
  432. GetPlayerName(id, name, sizeof(name));
  433. new string[126];
  434. format(string, sizeof(string), "Du hast %s entfreezt", name);
  435. SendClientMessage(playerid, COLOR_RED, string);
  436. SendClientMessage(id,COLOR_RED, "Du wurdest entfreezt!");
  437. TogglePlayerControllable(id,1);
  438. return 1;
  439. }
  440. else
  441. {
  442. SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
  443. }
  444. }
  445.  
  446. if(strcmp(cmdtext, "/veh", true) == 0)
  447. {
  448. if(isPlayerAnAdmin(playerid,5))
  449. {
  450. if(!strlen(strget(cmdtext, 1)) || !strlen(strget(cmdtext, 2)) || !strlen(strget(cmdtext, 3)))
  451. {
  452. SendClientMessage(playerid, COLOR_GREY, "Benutzung: /veh [Vehicleid] [Color1] [Color2]");
  453. return 1;
  454. }
  455. new vehname = strval(strget(cmdtext, 1));
  456. new color1 = strval(strget(cmdtext, 2));
  457. new color2 = strval(strget(cmdtext, 3));
  458. new Float: x, Float: y, Float: z, Float: r;
  459. GetPlayerPos(playerid, x, y, z);
  460. GetPlayerFacingAngle(playerid, r);
  461. CreateVehicle(vehname, x+2, y, z, r, color1, color2, 60000);
  462. return 1;
  463. }
  464. SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin, oder hast nicht den nötigen Rang dazu");
  465. }
  466.  
  467. if(strcmp(strget(cmdtext, 0), "/tanken", true) == 0)
  468. {
  469. new playerState = GetPlayerState(playerid);
  470. if (playerState == PLAYER_STATE_DRIVER)
  471. {
  472. for(new i=0;i<sizeof(Tankstellen);i++)
  473. {
  474. if(IsPlayerInRangeOfPoint(playerid,15.0,Tankstellen[i][0],Tankstellen[i][1],Tankstellen[i][2]))
  475. {
  476. new Wagen = GetPlayerVehicleID(playerid), msg[128];
  477. new Full = 100-Tankmenge[Wagen];
  478. new Kosten = Full*10;
  479. format(msg, sizeof msg,"Du hast %d Liter für %d$ getankt.",Full,Kosten);
  480. SendClientMessage(playerid,ORANGE,msg);
  481. GivePlayerMoney(playerid,-Kosten);
  482. Tankmenge[Wagen] = 100;
  483. return 1;
  484. }
  485. }
  486. SendClientMessage(playerid,ORANGE,"Du bist nicht an der Tankstelle!");
  487. return 1;
  488. }
  489. else
  490. {
  491. SendClientMessage(playerid,ORANGE,"Du bist in keinem Fahrzeug!");
  492. }
  493. return 1;
  494. }
  495.  
  496. if(strcmp(cmdtext,"/heal",true)==0)
  497. {
  498. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  499. SetPlayerHealth(playerid,100);
  500. SendClientMessage(playerid,BLAU,"Du hast dich Geheilt");
  501. return 1;
  502. }
  503.  
  504. if(strcmp(cmdtext,"/kill",true)==0)
  505. {
  506. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  507. SetPlayerHealth(playerid,0);
  508. return 1;
  509. }
  510. if(strcmp(cmdtext,"/restart",true)==0)
  511. {
  512. if(isPlayerAnAdmin(playerid,5))
  513. {
  514. SendRconCommand("gmx");
  515. return 1;
  516. }
  517. SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  518. return 1;
  519. }
  520. if(strcmp(cmdtext,"/stats",true)==0)
  521. {
  522. new string[128];
  523. new fraktname[64];
  524. switch(GetPVarInt(playerid,"Fraktion"))
  525. {
  526. case 0:{fraktname="Keine";}
  527. case 1:{fraktname="FRAKTII";}
  528. case 2:{fraktname="Fraktname 2";}
  529. case 3:{fraktname="Fraktname 3";}
  530. }
  531. //1 reihe
  532. format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s] [Geld: %i]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname,GetPlayerMoney(playerid));
  533. SendClientMessage(playerid,BLAU,string);
  534. //2 reihe
  535. return 1;
  536. }
  537. if(strcmp(cmdtext,"/pussys",true)==0)
  538. {
  539. if(IsPlayerInAnyVehicle(playerid))
  540. {
  541. new vehicleid;
  542. vehicleid=GetPlayerVehicleID(playerid);
  543. SetVehicleNumberPlate(vehicleid,"Test");
  544. SetVehicleToRespawn(vehicleid);
  545. PutPlayerInVehicle(playerid,vehicleid,0);
  546. }
  547. return 1;
  548. }
  549. return 0;
  550. }
  551.  
  552. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  553. {
  554. return 1;
  555. }
  556.  
  557. public OnPlayerExitVehicle(playerid, vehicleid)
  558. {
  559. return 1;
  560. }
  561.  
  562. public OnPlayerStateChange(playerid, newstate, oldstate)
  563. {
  564. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  565. {
  566. new tankstring[128];
  567. format(tankstring, sizeof(tankstring),"Tank: %d",Tankmenge[GetPlayerVehicleID(playerid)]);
  568. Tankanzeige[playerid] = TextDrawCreate(518, 431, tankstring);
  569. TextDrawFont(Tankanzeige[playerid], 3);
  570. TextDrawLetterSize(Tankanzeige[playerid], 0.6, 1.8);
  571. TextDrawColor(Tankanzeige[playerid], 0xCCCCCCFF);
  572. TextDrawSetOutline(Tankanzeige[playerid], 2);
  573. TextDrawShowForPlayer(playerid, Tankanzeige[playerid]);
  574. }
  575. if(newstate == PLAYER_STATE_ONFOOT)
  576. {
  577.  
  578. TextDrawDestroy(Tankanzeige[playerid]);
  579. }
  580. return 1;
  581. }
  582.  
  583. public OnPlayerEnterCheckpoint(playerid)
  584. {
  585. return 1;
  586. }
  587.  
  588. public OnPlayerLeaveCheckpoint(playerid)
  589. {
  590. return 1;
  591. }
  592.  
  593. public OnPlayerEnterRaceCheckpoint(playerid)
  594. {
  595. return 1;
  596. }
  597.  
  598. public OnPlayerLeaveRaceCheckpoint(playerid)
  599. {
  600. return 1;
  601. }
  602.  
  603. public OnRconCommand(cmd[])
  604. {
  605. return 1;
  606. }
  607.  
  608. public OnPlayerRequestSpawn(playerid)
  609. {
  610. return 1;
  611. }
  612.  
  613. public OnObjectMoved(objectid)
  614. {
  615. return 1;
  616. }
  617.  
  618. public OnPlayerObjectMoved(playerid, objectid)
  619. {
  620. return 1;
  621. }
  622.  
  623. public OnPlayerPickUpPickup(playerid, pickupid)
  624. {
  625. if(pickupid==bsnenter)
  626.  
  627. {
  628. SetPlayerPos(playerid,364.6858,-73.7740,1001.5078);
  629. SetPlayerInterior(playerid,10);
  630.  
  631. }
  632. if(pickupid==bsnexit)
  633. {
  634. SetPlayerPos(playerid,1199.4618,-920.8215,43.1059);
  635. SetPlayerFacingAngle(playerid,185.7090);
  636. SetCameraBehindPlayer(playerid);
  637. SetPlayerInterior(playerid,0);
  638. }
  639. if(pickupid==niceenter)
  640. {
  641. SetPlayerPos(playerid,1267.663208,-781.323242,1091.906250);
  642. SetPlayerInterior(playerid,5);
  643. }
  644. if(pickupid==niceexit)
  645. {
  646. SetPlayerPos(playerid,1496.7412,-690.3878,94.7500);
  647. SetPlayerFacingAngle(playerid,87.7242);
  648. SetCameraBehindPlayer(playerid);
  649. SetPlayerInterior(playerid,0);
  650. }
  651. if(pickupid==johnenter)
  652. {
  653. SetPlayerPos(playerid,1267.663208,-781.323242,1091.906250);
  654. SetPlayerInterior(playerid,5);
  655. }
  656. if(pickupid==johnexit)
  657. {
  658. SetPlayerPos(playerid,1128.1658,-2036.7390,69.6403);
  659. SetPlayerFacingAngle(playerid,190.7510);
  660. SetCameraBehindPlayer(playerid);
  661. SetPlayerInterior(playerid,0);
  662. }
  663. return 1;
  664. }
  665.  
  666.  
  667. public OnVehicleMod(playerid, vehicleid, componentid)
  668. {
  669. return 1;
  670. }
  671.  
  672. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  673. {
  674. return 1;
  675. }
  676.  
  677. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  678. {
  679. return 1;
  680. }
  681.  
  682. public OnPlayerSelectedMenuRow(playerid, row)
  683. {
  684. return 1;
  685. }
  686.  
  687. public OnPlayerExitedMenu(playerid)
  688. {
  689. return 1;
  690. }
  691.  
  692. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  693. {
  694. return 1;
  695. }
  696.  
  697. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  698. {
  699. return 1;
  700. }
  701.  
  702. public OnRconLoginAttempt(ip[], password[], success)
  703. {
  704. return 1;
  705. }
  706.  
  707. public OnPlayerUpdate(playerid)
  708. {
  709. return 1;
  710. }
  711.  
  712. public OnPlayerStreamIn(playerid, forplayerid)
  713. {
  714. return 1;
  715. }
  716.  
  717. public OnPlayerStreamOut(playerid, forplayerid)
  718. {
  719. return 1;
  720. }
  721.  
  722. public OnVehicleStreamIn(vehicleid, forplayerid)
  723. {
  724. return 1;
  725. }
  726.  
  727. public OnVehicleStreamOut(vehicleid, forplayerid)
  728. {
  729. return 1;
  730. }
  731.  
  732. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  733. {
  734. if(dialogid==DIALOG_LOGIN)
  735. {
  736. if(response==0)
  737. {
  738. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  739. Kick(playerid);
  740. return 1;
  741. }
  742. if(response==1)
  743. {
  744. if(!strlen(inputtext))
  745. {
  746. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  747. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  748. return 1;
  749. }
  750. else
  751. {
  752. Login(playerid,inputtext);
  753. return 1;
  754. }
  755. }
  756. }
  757. if(dialogid==DIALOG_REGISTER)
  758. {
  759. if(response==0)
  760. {
  761. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  762. Kick(playerid);
  763. return 1;
  764. }
  765. if(response==1)
  766. {
  767. if(!strlen(inputtext))
  768. {
  769. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  770. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  771. return 1;
  772. }
  773. else
  774. {
  775. Register(playerid,inputtext);
  776. return 1;
  777. }
  778. }
  779. }
  780. if(dialogid==DIALOG_TUTORIAL)
  781. {
  782. if(response==1)
  783. {
  784. SetPlayerPos(playerid,1227.1797,-914.0590,42.6812);
  785. SendClientMessage(playerid,0xFFFF00FF,"Du wurdest Teleportiert");
  786. }
  787. if(response==0)
  788. {
  789. SendClientMessage(playerid,BLAU,"Ok dann halt nicht...");
  790. }
  791. }
  792. return 1;
  793. }
  794.  
  795. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  796. {
  797. return 1;
  798. }
  799.  
  800. stock SpielerName(playerid)
  801. {
  802. new name[MAX_PLAYER_NAME];
  803. GetPlayerName(playerid,name,sizeof(name));
  804. return name;
  805. }
  806.  
  807. stock Register(playerid,key[])
  808. {
  809. new Spielerdatei[64];
  810. new name[MAX_PLAYER_NAME];
  811. GetPlayerName(playerid,name,sizeof(name));
  812. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  813. dini_Create(Spielerdatei);
  814. dini_Set(Spielerdatei,"Passwort",key);
  815. SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
  816. SetPlayerScore(playerid,0);
  817. SetPVarInt(playerid,"loggedin",1);
  818. return 1;
  819. }
  820.  
  821. stock Login(playerid,key[])
  822. {
  823. new Spielerdatei[64];
  824. new name[MAX_PLAYER_NAME];
  825. GetPlayerName(playerid,name,sizeof(name));
  826. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  827. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  828. {
  829. LoadAccount(playerid);
  830. SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
  831. return 1;
  832. }
  833. else
  834. {
  835. SendClientMessage(playerid,BLAU,"Falsches Passwort.");
  836. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  837. return 1;
  838. }
  839. }
  840.  
  841. stock LoadAccount(playerid)
  842. {
  843. new Spielerdatei[64];
  844. new name[MAX_PLAYER_NAME];
  845. GetPlayerName(playerid,name,sizeof(name));
  846. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  847. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  848. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  849. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  850. SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  851. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  852. if(GetPVarInt(playerid,"Baned")==1)
  853. {
  854. SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
  855. Kick(playerid);
  856. }
  857. SetPVarInt(playerid,"loggedin",1);
  858. return 1;
  859. }
  860.  
  861. stock SpielerSpeichern(playerid)
  862. {
  863. if(GetPVarInt(playerid,"loggedin")==1)
  864. {
  865. new Spielerdatei[64];
  866. new name[MAX_PLAYER_NAME];
  867. GetPlayerName(playerid,name,sizeof(name));
  868. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  869. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  870. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  871. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  872. dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  873. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  874. }
  875. return 1;
  876. }
  877.  
  878. stock isPlayerAnAdmin(playerid,rang)
  879. {
  880. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  881. return 0;
  882. }
  883.  
  884. stock sscanf(sstring[], format[], {Float,_}:...)
  885. {
  886. #if defined isnull
  887. if (isnull(sstring))
  888. #else
  889. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  890. #endif
  891. {
  892. return format[0];
  893. }
  894. #pragma tabsize 4
  895. new
  896. formatPos = 0,
  897. sstringPos = 0,
  898. paramPos = 2,
  899. paramCount = numargs(),
  900. delim = ' ';
  901. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  902. {
  903. sstringPos++;
  904. }
  905. while (paramPos < paramCount && sstring[sstringPos])
  906. {
  907. switch (format[formatPos++])
  908. {
  909. case '\0':
  910. {
  911. return 0;
  912. }
  913. case 'i', 'd':
  914. {
  915. new
  916. neg = 1,
  917. num = 0,
  918. ch = sstring[sstringPos];
  919. if (ch == '-')
  920. {
  921. neg = -1;
  922. ch = sstring[++sstringPos];
  923. }
  924. do
  925. {
  926. sstringPos++;
  927. if ('0' <= ch <= '9')
  928. {
  929. num = (num * 10) + (ch - '0');
  930. }
  931. else
  932. {
  933. return -1;
  934. }
  935. }
  936. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  937. setarg(paramPos, 0, num * neg);
  938. }
  939. case 'h', 'x':
  940. {
  941. new
  942. num = 0,
  943. ch = sstring[sstringPos];
  944. do
  945. {
  946. sstringPos++;
  947. switch (ch)
  948. {
  949. case 'x', 'X':
  950. {
  951. num = 0;
  952. continue;
  953. }
  954. case '0' .. '9':
  955. {
  956. num = (num << 4) | (ch - '0');
  957. }
  958. case 'a' .. 'f':
  959. {
  960. num = (num << 4) | (ch - ('a' - 10));
  961. }
  962. case 'A' .. 'F':
  963. {
  964. num = (num << 4) | (ch - ('A' - 10));
  965. }
  966. default:
  967. {
  968. return -1;
  969. }
  970. }
  971. }
  972. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  973. setarg(paramPos, 0, num);
  974. }
  975. case 'c':
  976. {
  977. setarg(paramPos, 0, sstring[sstringPos++]);
  978. }
  979. case 'f':
  980. {
  981.  
  982. new changestr[16], changepos = 0, strpos = sstringPos;
  983. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  984. {
  985. changestr[changepos++] = sstring[strpos++];
  986. }
  987. changestr[changepos] = '\0';
  988. setarg(paramPos,0,_:floatstr(changestr));
  989. }
  990. case 'p':
  991. {
  992. delim = format[formatPos++];
  993. continue;
  994. }
  995. case '\'':
  996. {
  997. new
  998. end = formatPos - 1,
  999. ch;
  1000. while ((ch = format[++end]) && ch != '\'') {}
  1001. if (!ch)
  1002. {
  1003. return -1;
  1004. }
  1005. format[end] = '\0';
  1006. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  1007. {
  1008. if (format[end + 1])
  1009. {
  1010. return -1;
  1011. }
  1012. return 0;
  1013. }
  1014. format[end] = '\'';
  1015. sstringPos = ch + (end - formatPos);
  1016. formatPos = end + 1;
  1017. }
  1018. case 'u':
  1019. {
  1020. new
  1021. end = sstringPos - 1,
  1022. id = 0,
  1023. bool:num = true,
  1024. ch;
  1025. while ((ch = sstring[++end]) && ch != delim)
  1026. {
  1027. if (num)
  1028. {
  1029. if ('0' <= ch <= '9')
  1030. {
  1031. id = (id * 10) + (ch - '0');
  1032. }
  1033. else
  1034. {
  1035. num = false;
  1036. }
  1037. }
  1038. }
  1039. if (num && IsPlayerConnected(id))
  1040. {
  1041. setarg(paramPos, 0, id);
  1042. }
  1043. else
  1044. {
  1045. #if !defined foreach
  1046. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1047. #define __SSCANF_FOREACH__
  1048. #endif
  1049. sstring[end] = '\0';
  1050. num = false;
  1051. new
  1052. name[MAX_PLAYER_NAME];
  1053. id = end - sstringPos;
  1054. foreach (Player, playerid)
  1055. {
  1056. GetPlayerName(playerid, name, sizeof (name));
  1057. if (!strcmp(name, sstring[sstringPos], true, id))
  1058. {
  1059. setarg(paramPos, 0, playerid);
  1060. num = true;
  1061. break;
  1062. }
  1063. }
  1064. if (!num)
  1065. {
  1066. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1067. }
  1068. sstring[end] = ch;
  1069. #if defined __SSCANF_FOREACH__
  1070. #undef foreach
  1071. #undef __SSCANF_FOREACH__
  1072. #endif
  1073. }
  1074. sstringPos = end;
  1075. }
  1076. case 's', 'z':
  1077. {
  1078. new
  1079. i = 0,
  1080. ch;
  1081. if (format[formatPos])
  1082. {
  1083. while ((ch = sstring[sstringPos++]) && ch != delim)
  1084. {
  1085. setarg(paramPos, i++, ch);
  1086. }
  1087. if (!i)
  1088. {
  1089. return -1;
  1090. }
  1091. }
  1092. else
  1093. {
  1094. while ((ch = sstring[sstringPos++]))
  1095. {
  1096. setarg(paramPos, i++, ch);
  1097. }
  1098. }
  1099. sstringPos--;
  1100. setarg(paramPos, i, '\0');
  1101. }
  1102. default:
  1103. {
  1104. continue;
  1105. }
  1106. }
  1107. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  1108. {
  1109. sstringPos++;
  1110. }
  1111. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  1112. {
  1113. sstringPos++;
  1114. }
  1115. paramPos++;
  1116. }
  1117. do
  1118. {
  1119. if ((delim = format[formatPos++]) > ' ')
  1120. {
  1121. if (delim == '\'')
  1122. {
  1123. while ((delim = format[formatPos++]) && delim != '\'') {}
  1124. }
  1125. else if (delim != 'z')
  1126. {
  1127. return delim;
  1128. }
  1129. }
  1130. }
  1131. while (delim > ' ');
  1132. return 0;
  1133. }
  1134.  
  1135. public HasAJetpack()
  1136. {
  1137. new sendername[256];
  1138. // (i,) Defnierung
  1139. for(new i; i < MAX_PLAYERS; i++)
  1140. {
  1141. // Ist Spieler Connected?
  1142. if(IsPlayerConnected(i))
  1143. {
  1144. // Jetpack
  1145. if(GetPlayerSpecialAction(i) == 2)
  1146. {
  1147. new string[128];
  1148. format(string, sizeof(string),".::AdmCmd: %s wurde wegen cheaten von Rucksackbomben gebannt::.",sendername);
  1149. SendClientMessageToAll(ROT, string);
  1150. SetPVarInt(i,"baned",1);
  1151. Kick(i);
  1152. }
  1153. }
  1154. }
  1155. return 1;
  1156. }
  1157.  
  1158. public TankTimer()
  1159. {
  1160. new string[128], i = 0;
  1161. for(; i < MAX_PLAYERS; i++)
  1162. {
  1163. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && vEngine[GetPlayerVehicleID(i)] == 1)
  1164. {
  1165. if(Tankmenge[GetPlayerVehicleID(i)] > 0)
  1166. {
  1167. format(string, sizeof(string), "Tank: %d",Tankmenge[GetPlayerVehicleID(i)]);
  1168. TextDrawSetString(Tankanzeige[i], string);
  1169. }
  1170. else
  1171. {
  1172. SendClientMessage(i,COLOR_RED,"Dein Tank ist leer.");
  1173. TogglePlayerControllable(i,0);
  1174. }
  1175. }
  1176. }
  1177. return true;
  1178. }
  1179. forward Tank();
  1180. public Tank()
  1181. {
  1182. for(new i = 0;i<MAX_VEHICLES;i++)
  1183. {
  1184. if(vEngine[i] == 1 && Tankmenge[i] >= 1) Tankmenge[i]--;
  1185. }
  1186. return 1;
  1187. }
  1188.  
  1189. stock strget(strx[], pos, search = ' ') {
  1190. new arg, ret[128], idxx;
  1191. for (new i = 0; i < strlen(strx); i++) {
  1192. if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
  1193. arg++;
  1194. if (arg == pos + 1){
  1195. ret[i-idxx] = EOS;
  1196. return ret;
  1197. } else if (arg == pos)
  1198. idxx= i+1;
  1199. }
  1200. else if (arg == pos)
  1201. ret[i - idxx] = strx[i];
  1202. }
  1203. return ret;
  1204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement