Advertisement
Guest User

Untitled

a guest
Nov 7th, 2013
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.77 KB | None | 0 0
  1. #include <a_samp>
  2. #include <time>
  3. #include <sscanf2>
  4. #include <a_mysql>
  5. #include <zcmd>
  6. #include <streamer>
  7.  
  8.  
  9. //basejumps 1-16
  10. //befehle wie /spawn /kill usw
  11. //countdown
  12. //login Register Admin System Mysql + Timeban /unban usw usw
  13. ///ban (playerid) (minutes) (hours) (days) (reason - optional
  14. //baseJUmps mapps
  15.  
  16.  
  17. #define SERVER_NAME "Base Jump"
  18. #define BefehlFalsch "Diesen Befehl gibt es nicht."
  19. #define SERVER_MAP "German Map"
  20. #define SERVER_WEBSITE "www.google.de"
  21.  
  22. //Msql
  23. #define SQL_HOST "connect.free-db.de"
  24. #define SQL_USER "d01898bf"
  25. #define SQL_PASS "SrXL6b9QXnAuJBd9"
  26. #define SQL_DB "d01898bf"
  27. //
  28.  
  29. // Farben
  30. #define COLOR_GRAU 0xAFAFAFAA
  31. #define COLOR_GRUEN 0x33AA33AA
  32. #define COLOR_ROT 0xFF0000AA
  33. #define COLOR_GELB 0xFFFF00AA
  34. #define COLOR_PINK 0xFF66FFAA
  35. #define COLOR_BLAU 0x3A47DEFF
  36. #define COLOR_PURPLE 0x800080AA
  37. #define COLOR_WEISS 0xFFFFFFAA
  38. #define COLOR_HELLBLAU 0x33CCFFAA
  39. #define COLOR_ORANGE 0xFF9900AA
  40. #define COLOR_SCHWARZ 0x00000000
  41. #define COLOR_DGRAU 0x696969FF
  42. #define COLOR_GELB 0xFFFF00AA
  43.  
  44. #define WARNING (20) )
  45. #define WARNING_LIMIT (10000)
  46. #define Blue "{003DF5}"
  47. #define Red "{FF0000}"
  48. #define Green "{66FF00}"
  49. #define White "{FFFFFF}"
  50. #define DIALOG_REGISTER 100
  51. #define MAX_HOUSES 100
  52. #define DIALOG_LOGIN 101
  53. #define DIALOG_POS 102
  54.  
  55. new randommessages[][]=
  56. {
  57. "Nachricht1.",
  58. "hihahalllo.",
  59. "Werbung",
  60. "Test",
  61. "2.",
  62. "3",
  63. "4"
  64. };
  65.  
  66. enum pInfo
  67. {
  68. pScore,
  69. pMoney,
  70. pLevel,
  71. pVIP,
  72. pKMA,
  73. pRank,
  74. pKills,
  75. pDeaths,
  76. pMuted,
  77. pJailed,
  78. pFrozen,
  79. pMutedTimes,
  80. pJailedTimes,
  81. pFrozenTimes,
  82. pLogins,
  83. Float:pPosX,
  84. Float:pPosY,
  85. Float:pPosZ,
  86. Float:pPosA
  87. }
  88. new PlayerInfo[MAX_PLAYERS][pInfo];
  89. new MoneyGiven[MAX_PLAYERS];
  90. new IsRegistered[MAX_PLAYERS];
  91. new Logged[MAX_PLAYERS];
  92. new JustLogged[MAX_PLAYERS];
  93. new Otherid;
  94. new Text:Textdraw1;
  95.  
  96.  
  97. stock IsPlayerBanned(playerid)
  98. {
  99. new IP[16], String[128], Query[128], reason[64], admin[32], i[128], seconds;
  100. GetPlayerIp(playerid, IP, sizeof(IP));
  101. format(Query, sizeof(Query), "SELECT * FROM `Bans` WHERE (`Username` = '%s' OR `IP` = '%s') AND `Banned` = 1 LIMIT 1", GetName(playerid), IP);
  102. mysql_query(Query);
  103. mysql_store_result();
  104. if(mysql_num_rows() != 0)
  105. {
  106. while(mysql_fetch_row_format(Query, "|"))
  107. {
  108. mysql_fetch_field_row(i, "Reason"); format(reason, sizeof(reason), i);
  109. mysql_fetch_field_row(i, "Seconds"); seconds = strval(i);
  110. mysql_fetch_field_row(i, "Admin"); format(admin, sizeof(admin), i);
  111. }
  112. if(seconds > gettime())
  113. {
  114. format(String, sizeof(String), "Grund des Bans %s", reason);
  115. SendClientMessage(playerid, COLOR_ROT, String);
  116. SendClientMessage(playerid, COLOR_ROT, "Du bist noch Gebannt.");
  117. format(String, sizeof(String), "Du wirst Entbannt in %s", timec(gettime()-(gettime()-seconds)));
  118. SendClientMessage(playerid, COLOR_ROT, String);
  119. SendClientMessage(playerid, COLOR_ROT, "Wenn du es weiter versuchst wirst du gebannt!'");
  120. SendClientMessage(playerid, COLOR_ROT, "Wenn du zu Unrecht gebannt wurdest, besuch unser Forum.");
  121. Kick(playerid);
  122. }
  123. else
  124. {
  125. format(Query, sizeof(Query), "UPDATE `Bans` SET `Banned` = 0 WHERE `Username` = '%s'", GetName(playerid));
  126. mysql_query(Query);
  127. format(String, sizeof(String), "%s (%i) Wurde vom Server gebannt!!!", GetName(playerid), playerid);
  128. SendClientMessageToAll(COLOR_GRUEN, String);
  129. }
  130. }
  131. mysql_free_result();
  132. return 1;
  133. }
  134.  
  135. stock timec(timestamp, compare = -1)
  136. {
  137. if (compare == -1) {
  138. compare = gettime();
  139. }
  140. new
  141. n,
  142. Float:d = (timestamp > compare) ? timestamp - compare : compare - timestamp,
  143. returnstr[32];
  144. if (d < 60) {
  145. format(returnstr, sizeof(returnstr), "Weniger als 60 Sekunden. ");
  146. return returnstr;
  147. } else if (d < 3600) { // 3600 = 1 Stunde
  148. n = floatround(floatdiv(d, 60.5), floatround_floor);
  149. format(returnstr, sizeof(returnstr), "Eine Minute.");
  150. } else if (d < 86400) { // 86400 = 1 Tag
  151. n = floatround(floatdiv(d, 3600.5), floatround_floor);
  152. format(returnstr, sizeof(returnstr), "Eine Stunde.");
  153. } else if (d < 2592000) { // 2592000 = 1 Monat
  154. n = floatround(floatdiv(d, 86400.5), floatround_floor);
  155. format(returnstr, sizeof(returnstr), "Ein Tag.");
  156. } else if (d < 31536000) { // 31536000 = 1 Jahr
  157. n = floatround(floatdiv(d, 2592000.5), floatround_floor);
  158. format(returnstr, sizeof(returnstr), "Ein Monat.");
  159. } else {
  160. n = floatround(floatdiv(d, 31536000.5), floatround_floor);
  161. format(returnstr, sizeof(returnstr), "Ein Jahr, mach dir Urlaub.");
  162. }
  163. if (n == 1) {
  164. format(returnstr, sizeof(returnstr), "%s", returnstr);
  165. } else {
  166. format(returnstr, sizeof(returnstr), "%d %ss", n, returnstr);
  167. }
  168. return returnstr;
  169. }
  170.  
  171. stock GetIP(Playerid)
  172. {
  173. new IP[16];
  174. GetPlayerIp(Playerid, IP, sizeof(IP));
  175. return IP;
  176. }
  177.  
  178. stock MySQL_Register(playerid, passwordstring[])
  179. {
  180. new query1[350], pname[24];
  181. new Bannedby[20];
  182. format(Bannedby, 20, "Not Banned");
  183. GetPlayerName(playerid, pname, 24);
  184. format(query1, sizeof(query1), "INSERT INTO spielerdatei (user, password, score, money, level, vip, kma, rank, kills, deaths, muted, jailed, frozen, mutedtimes, jailedtimes, frozentimes, logins, posx, posy, posz, posa, IP) VALUES('%s', SHA1('%s'), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '%s')", pname, passwordstring, GetIP(playerid));
  185. mysql_query(query1);
  186. SendClientMessage(playerid,COLOR_PINK,"Du hast dich Erfolgreich Registriert Willkommen!!");
  187. Logged[playerid] = 1;
  188. new st[128];
  189. format(st,128,"%s Hat sich Registriert %s!",GetName(playerid),GetName(playerid));
  190. SendClientMessageToAll(COLOR_HELLBLAU,st);
  191. return 1;
  192. }
  193.  
  194. stock MySQL_Login(playerid)
  195. {
  196. new query2[300], pname[24], savingstring[20];
  197. GetPlayerName(playerid, pname, 24);
  198. format(query2, sizeof(query2), "SELECT score, money, level, vip, kma, rank, kills, deaths, muted, jailed, frozen, mutedtimes, jailedtimes, frozentimes, logins, posx, posy, posz, posa FROM spielerdatei WHERE user = '%s'", pname);
  199. mysql_query(query2);
  200. mysql_store_result();
  201. while(mysql_fetch_row_format(query2,"|"))
  202. {
  203. mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
  204. mysql_fetch_field_row(savingstring, "money"); MoneyGiven[playerid] = strval(savingstring);
  205. mysql_fetch_field_row(savingstring, "level"); PlayerInfo[playerid][pLevel] = strval(savingstring);
  206. mysql_fetch_field_row(savingstring, "vip"); PlayerInfo[playerid][pVIP] = strval(savingstring);
  207. mysql_fetch_field_row(savingstring, "kma"); PlayerInfo[playerid][pKMA] = strval(savingstring);
  208. mysql_fetch_field_row(savingstring, "rank"); PlayerInfo[playerid][pRank] = strval(savingstring);
  209. mysql_fetch_field_row(savingstring, "kills"); PlayerInfo[playerid][pKills] = strval(savingstring);
  210. mysql_fetch_field_row(savingstring, "deaths"); PlayerInfo[playerid][pDeaths] = strval(savingstring);
  211. mysql_fetch_field_row(savingstring, "muted"); PlayerInfo[playerid][pMuted] = strval(savingstring);
  212. mysql_fetch_field_row(savingstring, "jailed"); PlayerInfo[playerid][pJailed] = strval(savingstring);
  213. mysql_fetch_field_row(savingstring, "frozen"); PlayerInfo[playerid][pFrozen] = strval(savingstring);
  214. mysql_fetch_field_row(savingstring, "mutedtimes"); PlayerInfo[playerid][pMutedTimes] = strval(savingstring);
  215. mysql_fetch_field_row(savingstring, "jailedtimes"); PlayerInfo[playerid][pJailedTimes] = strval(savingstring);
  216. mysql_fetch_field_row(savingstring, "frozentimes"); PlayerInfo[playerid][pFrozenTimes] = strval(savingstring);
  217. mysql_fetch_field_row(savingstring, "logins"); PlayerInfo[playerid][pLogins] = strval(savingstring);
  218. mysql_fetch_field_row(savingstring, "posx"); PlayerInfo[playerid][pPosX] = strval(savingstring);
  219. mysql_fetch_field_row(savingstring, "posy"); PlayerInfo[playerid][pPosY] = strval(savingstring);
  220. mysql_fetch_field_row(savingstring, "posz"); PlayerInfo[playerid][pPosZ] = strval(savingstring);
  221. mysql_fetch_field_row(savingstring, "posa"); PlayerInfo[playerid][pPosA] = strval(savingstring);
  222. }
  223. mysql_free_result();
  224. JustLogged[playerid] = 1;
  225. Logged[playerid] = 1;
  226. PlayerInfo[playerid][pLogins]++;
  227. GameTextForPlayer(playerid,"~g~Du hast dich Erfolgreich Eingeloggt",5000,5);
  228. new st[128];
  229. format(st,128,"%s Hat den Server betretten %s!",GetName(playerid),GetName(playerid));
  230. SendClientMessageToAll(COLOR_HELLBLAU,st);
  231.  
  232.  
  233. return 1;
  234. }
  235.  
  236. stock GetName(playerid)
  237. {
  238. new pname[24];
  239. GetPlayerName(playerid, pname, 24);
  240. return pname;
  241. }
  242.  
  243. forward Eins();
  244. forward Zwei();
  245. forward Drei();
  246. forward Start();
  247.  
  248. main()
  249. {
  250. print("\n----------------------------------");
  251. print(" Base Jump by Weihnachtsferien ");
  252. print("----------------------------------\n");
  253. }
  254.  
  255. public OnGameModeInit()
  256. {
  257. SetTimer("randommsgs",25000,1);
  258. DisableInteriorEnterExits();
  259. mysql_debug(1);
  260. UsePlayerPedAnims();
  261. SetGameModeText("BaseJump");
  262. AddPlayerClass(1,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  263. AddPlayerClass(10,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  264. AddPlayerClass(33,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  265. AddPlayerClass(190,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  266. AddPlayerClass(55,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  267. AddPlayerClass(60,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  268. AddPlayerClass(292,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  269. AddPlayerClass(296,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  270. AddPlayerClass(140,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  271. AddPlayerClass(15,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  272. AddPlayerClass(18,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  273. AddPlayerClass(19,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  274. AddPlayerClass(29,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  275. AddPlayerClass(111,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  276. AddPlayerClass(144,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  277. AddPlayerClass(70,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  278. AddPlayerClass(71,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  279. AddPlayerClass(72,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  280. AddPlayerClass(73,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJump
  281. AddPlayerClass(74,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  282. AddPlayerClass(75,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  283. AddPlayerClass(76,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  284. AddPlayerClass(77,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  285. AddPlayerClass(78,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  286. AddPlayerClass(79,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  287. AddPlayerClass(90,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  288. AddPlayerClass(199,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  289. AddPlayerClass(290,-1638.8668,902.6663,139.9747,0.0000,0,0,0,0,0,0); // BaseJumpSpawn
  290.  
  291.  
  292. Textdraw1 = TextDrawCreate(139.000000, 428.000000, "Einzigartiger BaseJump Server ");
  293. TextDrawBackgroundColor(Textdraw1, -1);
  294. TextDrawFont(Textdraw1, 1);
  295. TextDrawLetterSize(Textdraw1, 0.620000, 1.900000);
  296. TextDrawColor(Textdraw1, 255);
  297. TextDrawSetOutline(Textdraw1, 1);
  298. TextDrawSetProportional(Textdraw1, 1);
  299.  
  300.  
  301. //================================================================//
  302. // MySQL //
  303. //================================================================//
  304.  
  305.  
  306. mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  307. mysql_query("CREATE TABLE IF NOT EXISTS spielerdatei(user VARCHAR(24), password VARCHAR(40), score INT(20), money INT(20), level INT(1), vip INT(20), kma INT(20), rank INT(20), kills INT(20), deaths INT(20), muted INT(20), jailed INT(20), frozen INT(20), mutedtimes INT(20), jailedtimes INT(20), frozentimes INT(20), logins INT(20), posx INT(20), posy INT(20), posz INT(20), posa INT(20), IP VARCHAR(16) )");
  308. mysql_query("CREATE TABLE IF NOT EXISTS Bans(Username VARCHAR(32), Admin VARCHAR(32), IP VARCHAR(16), Reason VARCHAR(64), Seconds INT(12), Banned INT(5) )");
  309. mysql_debug(1);
  310. if(mysql_ping()>2)
  311. print("Verbindung mit der Datenbank Fehlgeschlagen");
  312. else print("Verbindung mit der Datenbank Erfolgreich");
  313.  
  314. return 1;
  315. }
  316. public OnPlayerRequestSpawn(playerid)
  317. {
  318. if(!Logged[playerid])
  319. {
  320. if(!IsRegistered[playerid])
  321. {
  322. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Bitte Registrieren",""White"Willkommen auf "Red""SERVER_NAME""White"!\n"White"Um zu Spielen musst du dich Registrieren!\n\n"White"Bitte gebe ein Passwort ein:", "Register", "raus");
  323. return 0;
  324. }
  325. if(IsRegistered[playerid] == 1)
  326. {
  327. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Bitte Einloggen", ""White"Willkommen zurueck auf "Red""SERVER_NAME""White"!\n"White"Um zu Spielen musst du dich Einloggen!\n\n"White"Bitte gebe "Red"dein"White" passwort ein", "Login", "raus");
  328.  
  329. return 0;
  330. }
  331. }
  332. return 1;
  333. }
  334.  
  335. public OnPlayerConnect(playerid)
  336. {
  337. PlayAudioStreamForPlayer(playerid, "http://listen.technobase.fm/dsl.pls");
  338. IsPlayerBanned(playerid);
  339. EnableStuntBonusForPlayer(playerid, 0);
  340. new string[64], pName[MAX_PLAYER_NAME];
  341. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  342. SendClientMessageToAll(COLOR_HELLBLAU,string);
  343. MoneyGiven[playerid] = -1;
  344. JustLogged[playerid] = 0;
  345. new query[300], pname[24];
  346. GetPlayerName(playerid, pname, 24);
  347. format(query, sizeof(query), "SELECT IP FROM `spielerdatei` WHERE user = '%s' LIMIT 1", pname);
  348. mysql_query(query);
  349. mysql_store_result();
  350.  
  351.  
  352. new rows = mysql_num_rows();
  353. if(!rows)
  354. {
  355. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Bitte Registrieren",""White"Willkommen auf"Red""SERVER_NAME""White"!\n"White"Um zu Spielen musst du dich Registrieren\n\n"White"Bitte gebe ein Passwort ein", "Register", "Raus");
  356. }
  357. if(rows == 1)
  358. {
  359. new IP[2][15];
  360. mysql_fetch_field_row(IP[0],"IP");
  361. GetPlayerIp(playerid, IP[1], 15);
  362. if(strlen(IP[0]) != 0 && !strcmp(IP[0], IP[1], true))
  363. {
  364. MySQL_Login(playerid);
  365. }
  366. else if(!strlen(IP[0]) || strcmp(IP[0], IP[1], true))
  367. {
  368. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Bitte Einloggen", ""White"Willkommen zurueck bei "Red""SERVER_NAME""White"!\n"White"Um zu spielen Logge dich ein.\n\n"White"Bitte gebe "Red"dein"White" Passwort ein:", "Login", "Raus");
  369. IsRegistered[playerid] = 1;
  370. }
  371. }
  372. mysql_free_result();
  373. return 1;
  374. }
  375.  
  376. public OnPlayerDisconnect(playerid, reason)
  377. {
  378. new string[64],
  379. name[MAX_PLAYER_NAME];
  380. GetPlayerName(playerid,name,MAX_PLAYER_NAME);
  381. switch(reason)
  382. {
  383. case 0: format(string,sizeof string,"%s hat den Server verlassen. (Crash)",name);
  384. case 1: format(string,sizeof string,"%s hat den Server verlassen. (Left)",name);
  385. case 2: format(string,sizeof string,"%s hat den Server verlassen. (Kicked/Banned)",name);
  386. }
  387. SendClientMessageToAll(COLOR_GRUEN,string);
  388.  
  389. if(Logged[playerid] == 1)
  390. {
  391. new Float:x, Float:y, Float:z, Float:a;
  392. GetPlayerPos(playerid, x, y, z);
  393. GetPlayerFacingAngle(playerid, a);
  394. PlayerInfo[playerid][pPosX] = x;
  395. PlayerInfo[playerid][pPosY] = y;
  396. PlayerInfo[playerid][pPosZ] = z;
  397. PlayerInfo[playerid][pPosA] = a;
  398. new score = GetPlayerScore(playerid);
  399. new money = GetPlayerMoney(playerid);
  400. new query[300], pname[24]; new nquery[300];
  401. GetPlayerName(playerid, pname, 24);
  402. format(query, sizeof(query), "UPDATE `spielerdatei` SET score='%d', money='%d', level='%d', vip='%d', kma='%d', rank='%d', kills='%d', deaths='%d', muted='%d', jailed='%d', frozen='%d' WHERE user='%s'",
  403. score,
  404. money,
  405. PlayerInfo[playerid][pLevel],
  406. PlayerInfo[playerid][pVIP],
  407. PlayerInfo[playerid][pKMA],
  408. PlayerInfo[playerid][pRank],
  409. PlayerInfo[playerid][pKills],
  410. PlayerInfo[playerid][pDeaths],
  411. PlayerInfo[playerid][pMuted],
  412. PlayerInfo[playerid][pJailed],
  413. PlayerInfo[playerid][pFrozen],
  414. pname);
  415. format(nquery,300,"UPDATE `spielerdatei` SET mutedtimes='%d', jailedtimes='%d', frozentimes='%d', logins='%d', posx='%f', posy='%f', posz='%f', posa='%f' WHERE user='%s'",PlayerInfo[playerid][pMutedTimes],
  416. PlayerInfo[playerid][pJailedTimes],
  417. PlayerInfo[playerid][pFrozenTimes],
  418. PlayerInfo[playerid][pLogins],
  419. PlayerInfo[playerid][pPosX],
  420. PlayerInfo[playerid][pPosY],
  421. PlayerInfo[playerid][pPosZ],
  422. PlayerInfo[playerid][pPosA],
  423. pname);
  424. mysql_query(query);
  425. mysql_query(nquery);
  426. }
  427.  
  428. return 1;
  429. }
  430.  
  431.  
  432. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  433. {
  434. if(!success) return SendClientMessage(playerid, COLOR_ROT, BefehlFalsch);
  435. return 1;
  436. }
  437.  
  438.  
  439. forward SaveStats(playerid);
  440. public SaveStats(playerid)
  441. {
  442. if(Logged[playerid] == 1)
  443. {
  444. new Float:x, Float:y, Float:z, Float:a;
  445. GetPlayerPos(playerid, x, y, z);
  446. GetPlayerFacingAngle(playerid, a);
  447. PlayerInfo[playerid][pPosX] = x;
  448. PlayerInfo[playerid][pPosY] = y;
  449. PlayerInfo[playerid][pPosZ] = z;
  450. PlayerInfo[playerid][pPosA] = a;
  451. new score = GetPlayerScore(playerid);
  452. new money = GetPlayerMoney(playerid);
  453. new query[300], pname[24]; new nquery[300];
  454. GetPlayerName(playerid, pname, 24);
  455. format(query, sizeof(query), "UPDATE `spielerdatei` SET score='%d', money='%d', level='%d', vip='%d', kma='%d', rank='%d', kills='%d', deaths='%d', muted='%d', jailed='%d', frozen='%d WHERE user='%s'",
  456. score,
  457. money,
  458. PlayerInfo[playerid][pLevel],
  459. PlayerInfo[playerid][pVIP],
  460. PlayerInfo[playerid][pKMA],
  461. PlayerInfo[playerid][pRank],
  462. PlayerInfo[playerid][pKills],
  463. PlayerInfo[playerid][pDeaths],
  464. PlayerInfo[playerid][pMuted],
  465. PlayerInfo[playerid][pJailed],
  466. PlayerInfo[playerid][pFrozen],
  467. pname);
  468. format(nquery,300,"UPDATE `spielerdatei` SET mutedtimes='%d', jailedtimes='%d', frozentimes='%d', logins='%d', posx='%f', posy='%f', posz='%f', posa='%f', IP=%d WHERE user='%s'",PlayerInfo[playerid][pMutedTimes],
  469. PlayerInfo[playerid][pJailedTimes],
  470. PlayerInfo[playerid][pFrozenTimes],
  471. PlayerInfo[playerid][pLogins],
  472. PlayerInfo[playerid][pPosX],
  473. PlayerInfo[playerid][pPosY],
  474. PlayerInfo[playerid][pPosZ],
  475. PlayerInfo[playerid][pPosA],
  476. GetIP(playerid),
  477. pname
  478. );
  479. mysql_query(query);
  480. mysql_query(nquery);
  481. }
  482. return 1;
  483. }
  484.  
  485. public OnPlayerSpawn(playerid)
  486. {
  487. GivePlayerWeapon(playerid,46,1);
  488. TextDrawShowForPlayer(playerid, Textdraw1);
  489. SetPlayerPos(playerid,-2314.5305,-1660.8696,483.3223);
  490. StopAudioStreamForPlayer(playerid);
  491.  
  492. // SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
  493. // SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosA]);
  494. // SendClientMessage(playerid,COLOR_HELLBLAU,"Deine letzte Gespeicherte Position wurde geladen.");
  495. if(MoneyGiven[playerid] != -1)
  496. {
  497. GivePlayerMoney(playerid, MoneyGiven[playerid]);
  498. MoneyGiven[playerid] = -1;
  499. }
  500. if(JustLogged[playerid] == 1)
  501. {
  502. new s[64];
  503. format(s,64,"Willkommen zurueck.",GetName(playerid));
  504. SendClientMessage(playerid,COLOR_GRUEN,s);
  505. JustLogged[playerid] = 0;
  506. }
  507. return 1;
  508. }
  509.  
  510. public OnPlayerDeath(playerid, killerid, reason)
  511. {
  512. GameTextForPlayer(playerid, "~r~TOD!Versuche es nochmal",7000,6);
  513. SendDeathMessage(killerid,playerid,reason);
  514. if(killerid!=INVALID_PLAYER_ID)
  515. PlayerInfo[killerid][pKills]++;
  516. PlayerInfo[playerid][pDeaths]++;
  517. return 1;
  518. }
  519.  
  520. public OnPlayerUpdate(playerid)
  521. {
  522. if(GetPlayerPing(playerid)>400)
  523. {
  524. SendClientMessage(playerid,COLOR_ROT,"Dein Ping ist zu Hoch, sorry du kannst nicht Spielen.");
  525. Kick(playerid);
  526. }
  527. return 1;
  528. }
  529. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  530. {
  531. if(dialogid == DIALOG_POS)
  532. {
  533. if(response)
  534. {
  535.  
  536. }
  537. else if(response)
  538. {
  539. return 1;
  540. }
  541. }
  542. //================================================================//
  543. // MySQL //
  544. //================================================================//
  545. if(dialogid == DIALOG_REGISTER)
  546. {
  547. if(response)
  548. {
  549. if(!strlen(inputtext) || strlen(inputtext) > 100)
  550. {
  551. SendClientMessage(playerid,COLOR_ROT,"Bitte gebe ein Passwort ein zwischen 1-100 Zeichen");
  552. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Bitte Registrieren",""White"Willkommen auf "Red""SERVER_NAME""White"!\n""Um zu Spielen musst du dich Registrieren\n\n"White"Bitte gebe dein Passwort ein", "Register", "Raus");
  553. }
  554. else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
  555. {
  556. new escpass[100];
  557. mysql_real_escape_string(inputtext, escpass);
  558. MySQL_Register(playerid, escpass);
  559. }
  560. }
  561. if(!response)
  562. {
  563. SendClientMessage(playerid, COLOR_ROT, "Du musst dich Einloggen um zu Spielen");
  564. Kick(playerid);
  565. }
  566. }
  567. if(dialogid == DIALOG_LOGIN)
  568. {
  569. if(!response)
  570. {
  571. SendClientMessage(playerid, COLOR_ROT, "Du musst dich Einloggen um zu Spielen");
  572. Kick(playerid);
  573. }
  574. if(response)
  575. {
  576. new query[200], pname[24], escapepass[100];
  577. GetPlayerName(playerid, pname, 24);
  578. mysql_real_escape_string(inputtext, escapepass);
  579. format(query, sizeof(query), "SELECT `user` FROM spielerdatei WHERE user = '%s' AND password = SHA1('%s')", pname, escapepass);
  580. mysql_query(query);
  581. mysql_store_result();
  582. new numrows = mysql_num_rows();
  583. if(numrows == 1) MySQL_Login(playerid);
  584. if(!numrows)
  585. {
  586. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Bitte Einloggen", ""White"Willkommen zurueck auf "Red""SERVER_NAME""White"!\n"White"Um zu Spielen musst du Eingeloggt sein\n\n"White"Bitte gebe "Red"dein"White" Passwort ein:", "Login", "Raus");
  587. GameTextForPlayer(playerid,"~r~Falsches Passwort.",2000,6);
  588. }
  589. mysql_free_result();
  590. }
  591. }
  592. return 1;
  593. }
  594.  
  595. ///////////Admin Befehle Mysql ///////////////
  596.  
  597. CMD:ban(playerid,params[])
  598. {
  599. new reason[64], Reason[64], Mins, Hours, Days, Query[256], String[128];
  600. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  601. {
  602.  
  603. if(sscanf(params, "uiiis[64]", Otherid, Mins, Hours, Days, reason)) return SendClientMessage(playerid, COLOR_ROT, "Benutze: /ban (Spielerid) (Minuten) (Stunden) (Tage)");
  604. {
  605. if(!IsPlayerConnected(Otherid)) return SendClientMessage(playerid, COLOR_ROT, "Diesen Spieler gibt es nicht");
  606. {
  607. if(strlen(reason) > 64) return SendClientMessage(playerid, COLOR_ROT, "Tippe einen Bangrund [ Max ] 64 Zeichen");
  608. {
  609. new CTS = ((Mins*60) + (Hours*3600) + (Days*86400));
  610. mysql_real_escape_string(reason, Reason);
  611. format(Query, sizeof(Query), "INSERT INTO `Bans` (Username, Admin, IP, Reason, Seconds, Banned) VALUES ('%s', '%s', '%s', '%s', '%d', 1)", GetName(Otherid), GetName(playerid), GetIP(Otherid), Reason, (CTS+gettime()));
  612. mysql_query(Query);
  613. format(String, sizeof(String), "%s Wurde vom Server Gebannt Grund: %s.", GetName(Otherid), Reason);
  614. SendClientMessageToAll(COLOR_ORANGE, String);
  615. SetPlayerPos(Otherid,193.5177,176.2223,1003.0234);
  616. SetPlayerInterior(Otherid,3);
  617. GameTextForPlayer(Otherid,"~r~Du wurdest aus dem ~p~server gebannt.",5000,5);
  618. format(String,128,"Sie wurde gebannt, Melden sie sich im Forum um den Grund zu wissen.",Reason);
  619. SendClientMessage(Otherid,COLOR_ROT,String);
  620. Kick(Otherid);
  621. }
  622. }
  623. }
  624. }
  625. else SendClientMessage(playerid,COLOR_ROT,BefehlFalsch);
  626. return 1;
  627. }
  628.  
  629. CMD:checkban(playerid,params[])
  630. {
  631. new account[24], Query[128], String[128];
  632. new reason[64], user[32], admin[24], IP[16], i[128];
  633. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  634. {
  635. if(sscanf(params, "s", account)) return SendClientMessage(playerid, COLOR_ROT, "Benutze: /checkban [Spielername/id]");
  636. {
  637. if(strlen(account) > 24) return SendClientMessage(playerid, COLOR_ROT, "Spielername darf Max. 24 Zeichen haben.");
  638. {
  639. format(Query, sizeof(Query), "SELECT Username, Reason, Admin, IP FROM `Bans` WHERE `Username` = '%s' AND `Banned` = 1 LIMIT 1", account);
  640. mysql_query(Query);
  641. mysql_store_result();
  642. if(mysql_num_rows() == 0)
  643. {
  644. mysql_free_result();
  645. format(String, sizeof(String), "Diesen Spieler gibt es nicht!", account);
  646. SendClientMessage(playerid, COLOR_ROT, String);
  647. return 1;
  648. }
  649. else if(mysql_num_rows() != 0)
  650. {
  651. while(mysql_fetch_row_format(Query, "|"))
  652. {
  653. mysql_fetch_field_row(i, "Username"); format(user, sizeof(user), i);
  654. mysql_fetch_field_row(i, "Reason"); format(reason, sizeof(reason), i);
  655. mysql_fetch_field_row(i, "Admin"); format(admin, sizeof(admin), i);
  656. mysql_fetch_field_row(i, "IP"); format(IP, sizeof(IP), i);
  657. }
  658. format(String, sizeof(String), "%s (IP: %s) ist gebannt %s. Grund:: %s", user, IP, admin, reason);
  659. SendClientMessage(playerid, COLOR_HELLBLAU, String);
  660. }
  661. mysql_free_result();
  662. }
  663. }
  664. }
  665. else return SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  666. return 1;
  667. }
  668.  
  669. new isgod[MAX_PLAYERS];
  670. CMD:veh(playerid,params[])
  671. {
  672. new vehid; new color1; new color2;
  673. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
  674. {
  675. if(sscanf(params,"iii",vehid,color1,color2)) return SendClientMessage(playerid,COLOR_PINK,"Benutze: /veh [Fahrzeug ID] [Farbe 1] [Farbe 2].");
  676. {
  677. new Float:x, Float:y, Float:z;
  678. GetPlayerPos(playerid,x,y,z);
  679. CreateVehicle(vehid,x+2,y+2,z+2,0,color1,color2,0);
  680. PutPlayerInVehicle(playerid, vehid, 0);
  681. SendClientMessage(playerid,COLOR_PINK,"Fahrzeug gespawnt!");
  682. }
  683. }
  684. else SendClientMessage(playerid,COLOR_ROT,BefehlFalsch);
  685. return 1;
  686. }
  687.  
  688. CMD:aduty(playerid,params[])
  689. {
  690. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  691. {
  692. if(isgod[playerid]==0)
  693. {
  694. SetPlayerColor(playerid,COLOR_PINK);
  695. SetPlayerHealth(playerid,9999);
  696. SetPlayerArmour(playerid,9999);
  697. new Text3D:a = Create3DTextLabel("Admin - On duty! Bitte nicht stoeren!", COLOR_PINK, 30.0, 40.0, 50.0, 40.0, 0);
  698. Attach3DTextLabelToPlayer(a, playerid, 0.0, 0.0, 0.2);
  699. isgod[playerid] =1;
  700. }
  701. else if(isgod[playerid] == 1)
  702. {
  703. SetPlayerColor(playerid,COLOR_WEISS);
  704. SetPlayerHealth(playerid,100);
  705. SetPlayerArmour(playerid,100);
  706. }
  707.  
  708. }
  709. else return SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  710. return 1;
  711. }
  712.  
  713. CMD:slap(playerid,params[])
  714. {
  715. new targetid; new Float:x, Float:y, Float:z;
  716. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  717. {
  718. if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_PINK,"Benutze: /slap [Spieler id]");
  719. {
  720. GetPlayerPos(targetid,x,y,z);
  721. SetPlayerPos(targetid,x,y,z+20);
  722. new PlayerName[MAX_PLAYER_NAME];
  723. GetPlayerName(targetid,PlayerName,MAX_PLAYER_NAME);
  724. new string[128];
  725. format(string,sizeof(string),"Du hast geschlagen %s.",PlayerName);
  726. SendClientMessage(playerid,COLOR_PINK,string);
  727. SendClientMessage(targetid,COLOR_ROT,"Du wurdest von jemanden geschlagen");
  728. }
  729. }
  730. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  731. return 1;
  732. }
  733.  
  734. new isplayerspectating[MAX_PLAYERS] = 0;
  735. CMD:tv(playerid,params[])
  736. {
  737. new targetid;
  738. {
  739. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=1)
  740. {
  741. if(IsPlayerConnected(targetid))
  742. {
  743. if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_PINK,"Benutze: /tv [Spieler id]");
  744. {
  745. if(playerid==targetid) return SendClientMessage(playerid,COLOR_ROT,"Warum in Gottes Namen, möchtest du dir selbst zuschauen?");
  746. {
  747. new Float:x, Float:y, Float:z;
  748. isplayerspectating[playerid] =1;
  749. SetPVarFloat(playerid,"locx",x);
  750. SetPVarFloat(playerid,"locy",x);
  751. SetPVarFloat(playerid,"locz",x);
  752. GetPlayerPos(playerid,x,y,z);
  753.  
  754. new lol = GetPlayerState(targetid);
  755. if (lol == 1)
  756. {
  757. TogglePlayerSpectating(playerid,1);
  758. PlayerSpectatePlayer(playerid,targetid);
  759. }
  760. if(lol == 2 || lol == 3)
  761. {
  762. TogglePlayerSpectating(playerid,1);
  763. new vehid = GetPlayerVehicleID(targetid);
  764. PlayerSpectateVehicle(playerid,vehid);
  765. }
  766. if(lol == 7 || lol == 8 || lol == 9)
  767. {
  768. SendClientMessage(playerid,COLOR_ROT,"Der Spieler den du Beobachtest ist entwieder Tod oder nicht mehr auf dem Server.");
  769. }
  770. if(lol == 4)
  771. {
  772. TogglePlayerSpectating(playerid,1);
  773. PlayerSpectatePlayer(playerid,targetid);
  774. }
  775. if(lol == 5 || lol == 6)
  776. {
  777. TogglePlayerSpectating(playerid,1);
  778. new vehid = GetPlayerVehicleID(targetid);
  779. PlayerSpectateVehicle(playerid,vehid);
  780. }
  781. }
  782. }
  783. }
  784. else SendClientMessage(playerid,0xFF7800FF, "Spieler ist Offline");
  785. }
  786. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  787. }
  788. return 1;
  789. }
  790.  
  791. CMD:tvoff(playerid,params[])
  792. {
  793. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel] >=1)
  794. {
  795. if(isplayerspectating[playerid]==1)
  796. {
  797. TogglePlayerSpectating(playerid,0);
  798. SetPlayerPos(playerid,GetPVarFloat(playerid,"locx"),GetPVarFloat(playerid,"locy"),GetPVarFloat(playerid,"locz"));
  799. }
  800. else return SendClientMessage(playerid,COLOR_ROT,"Richtig du schaust niemanden zu.");
  801. }
  802. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  803. return 1;
  804. }
  805.  
  806. CMD:freeze(playerid,params[])
  807. {
  808. new targetid; new reason[128];new PlayerName[MAX_PLAYER_NAME];
  809. {
  810. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel] >=2)
  811. {
  812. if(IsPlayerConnected(targetid))
  813. {
  814. if(sscanf(params,"us",targetid,reason)) return SendClientMessage(playerid,COLOR_PINK,"Benutze: /freeze [Spieler id] [Grund]");
  815. {
  816. TogglePlayerControllable(targetid,0);
  817. GetPlayerName(targetid,PlayerName,MAX_PLAYER_NAME);
  818. new string[128];
  819.  
  820. format(string,sizeof(string),"Du Frierst %s.",PlayerName);
  821. SendClientMessage(playerid,COLOR_PINK,string);
  822. new string2[128];
  823. format(string2,sizeof(string2),"Du wurdest gefreezd Grund: %s",reason);
  824. SendClientMessage(targetid,COLOR_PINK,string2);
  825. new string3[128];
  826. format(string3,sizeof(string3),"%s wurdest von jemanden gefreezd Grund: %s",PlayerName,reason);
  827. SendClientMessageToAll(COLOR_PINK,string3);
  828. }
  829. }
  830. else SendClientMessage(playerid,0xFF7800FF, "Spieler Offline");
  831. }
  832. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  833. }
  834. return 1;
  835.  
  836. }
  837. CMD:unfreeze(playerid,params[])
  838. {
  839. new targetid;
  840. {
  841. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  842. {
  843. if(IsPlayerConnected(targetid))
  844. {
  845. if(sscanf(params,"u",targetid)) SendClientMessage(playerid,COLOR_PINK,"Usage: /unfreeze [Spieler id]");
  846. {
  847. TogglePlayerControllable(targetid,1);
  848. SendClientMessage(playerid,COLOR_PINK,"Du hast den Spieler unfreezd");
  849. SendClientMessage(targetid, COLOR_GRUEN,"Du wurdest unfreezd");
  850. }
  851. }
  852. else SendClientMessage(playerid,0xFF7800FF, "Spieler Offline!");
  853. }
  854. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  855. }
  856. return 1;
  857. }
  858.  
  859. CMD:jail(playerid,params[])
  860. {
  861. new targetid;
  862. {
  863. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>= 2)
  864. {
  865. if(IsPlayerConnected(targetid))
  866. {
  867. if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_PINK,"Benutze: /jail [Spieler id]");
  868. {
  869. new Float:x1, Float:y1, Float:z1;
  870. GetPlayerPos(targetid,x1,y1,z1);
  871. SetPVarFloat(targetid,"loc1",x1);
  872. SetPVarFloat(targetid,"loc2",y1);
  873. SetPVarFloat(targetid,"loc3",z1);
  874. SetPlayerInterior(targetid,6);
  875. SendClientMessage(targetid,COLOR_PINK,"Du wurdest verhaftet");
  876. SendClientMessage(playerid,COLOR_PINK,"Du hast eine Persion verhaftet");
  877. SetPlayerPos(targetid,264.2620,77.8714,1001.0391);
  878. }
  879. }
  880. else SendClientMessage(playerid,0xFF7800FF, "Spieler Offline");
  881. }
  882. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  883. }
  884. return 1;
  885. }
  886. CMD:unjail(playerid,params[])
  887. {
  888. new targetid;
  889. {
  890. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  891. {
  892. if(IsPlayerConnected(targetid))
  893. {
  894. if(sscanf(params,"u",targetid)) SendClientMessage(playerid,COLOR_PINK,"Benutze: /jail [Spieler id]");
  895. {
  896. SetPlayerInterior(targetid, 0);
  897. SetPlayerPos(targetid,GetPVarFloat(targetid,"loc1"),GetPVarFloat(targetid,"loc2"),GetPVarFloat(targetid,"loc3"));
  898. SendClientMessage(targetid,COLOR_PINK,"Sie sind draussen!");
  899. SendClientMessage(playerid,COLOR_PINK,"Du hast den Spieler befreit");
  900. }
  901. }
  902. else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
  903. }
  904. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  905. }
  906. return 1;
  907. }
  908.  
  909. CMD:dveh(playerid,params[])
  910. {
  911. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
  912. {
  913. new vehid;
  914. if(IsPlayerInAnyVehicle(playerid))
  915. {
  916. vehid = GetPlayerVehicleID(playerid);
  917. DestroyVehicle(vehid);
  918. SendClientMessage(playerid,COLOR_PINK,"Fahrzeug zerstoert!");
  919.  
  920. }
  921. }
  922. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  923. return 1;
  924. }
  925.  
  926. CMD:kill(playerid,params[])
  927. {
  928. new targetid;
  929. {
  930. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  931. {
  932. if(IsPlayerConnected(targetid))
  933. {
  934. if(sscanf(params,"u",targetid)) SendClientMessage(playerid,COLOR_PINK,"Benutze: /kill [Spieler id]");
  935. {
  936. SetPlayerHealth(targetid,0.0);
  937. GivePlayerMoney(targetid,-1000);
  938. SendClientMessage(playerid,COLOR_PINK,"Du hast die Person Gekillt");
  939. SendClientMessage(targetid,COLOR_PINK,"Sie wurden Getotet");
  940. }
  941. }
  942. else SendClientMessage(playerid,0xFF7800FF, "Spieler ist Offline");
  943. }
  944. SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  945. }
  946. return 1;
  947. }
  948.  
  949. CMD:ckill(playerid,params[])
  950. {
  951. new targetid;
  952. {
  953. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
  954. {
  955. if(IsPlayerConnected(targetid))
  956. {
  957. if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_PINK,"Benutze: /ckill [Spieler id]");
  958. else
  959. {
  960. ForceClassSelection(targetid);
  961. SendClientMessage(playerid,COLOR_PINK,"Du hast den Spieler in die Skinauswahl geschmissen");
  962. SendClientMessage(targetid,COLOR_PINK,"Du wurdest in die Skinauswahl geschmissen");
  963. }
  964. }
  965. else SendClientMessage(playerid,0xFF7800FF, "Spieler ist Offline");
  966. }
  967. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  968. }
  969. return 1;
  970. }
  971.  
  972. CMD:setweather(playerid,params[])
  973. {
  974. new weather;
  975. {
  976. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
  977. {
  978. if(weather<45 || weather>0)
  979. {
  980. if(sscanf(params,"i",weather)) SendClientMessage(playerid,COLOR_PINK,"Benutze: /setweather [Wetter ID (0-45)]");
  981. {
  982. SetWeather(weather);
  983. SendClientMessageToAll(COLOR_GRUEN,"Wetter wurde geandert");
  984. }
  985. }
  986. else SendClientMessage(playerid,COLOR_ROT,"Unbekannte Wetter ID");
  987. }
  988. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  989. }
  990. return 1;
  991. }
  992.  
  993. CMD:fixveh(playerid,params[])
  994. {
  995. new vehid;new targetid;
  996. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
  997. {
  998. if(IsPlayerInAnyVehicle(targetid))
  999. vehid = GetPlayerVehicleID(targetid);
  1000. {
  1001. RepairVehicle(vehid);
  1002. SendClientMessage(playerid,COLOR_PINK,"Fahrzeug wurde Repairt + Nitro eingebaut");
  1003. }
  1004. }
  1005. else SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  1006. return 1;
  1007. }
  1008. CMD:admins(playerid,params[])
  1009. {
  1010. SendClientMessage(playerid,COLOR_GRUEN,"Sie sind da keine sorge ;) Falls du ein Hacker bist hau Lieber ab.");
  1011. return 1;
  1012. }
  1013.  
  1014. CMD:setadmin(playerid,params[])
  1015. {
  1016. new targetid; new l;
  1017. if(PlayerInfo[playerid][pLevel] >= 4 || IsPlayerAdmin(playerid))
  1018. {
  1019. if(sscanf(params,"ui",targetid,l)) return SendClientMessage(playerid,COLOR_ROT,"Benutze: /setadmin (Spielerid) (Level)");
  1020. {
  1021. PlayerInfo[targetid][pLevel] = l;
  1022. new st[128];
  1023. format(st,128,"UPDATE `spielerdatei` SET level='%d' WHERE user='%s'",l,GetName(targetid));
  1024. mysql_query(st);
  1025. format(st,128,"SELECT level='%d' FROM `spielerdatei`",PlayerInfo[playerid][pLevel]);
  1026. mysql_query(st);
  1027. GameTextForPlayer(playerid,"Aufgestiegen auf ein ~g~Admin.",10000,5);
  1028. }
  1029. }
  1030. else return SendClientMessage(targetid,COLOR_ORANGE,BefehlFalsch);
  1031. return 1;
  1032. }
  1033. CMD:kick(playerid,params[])
  1034. {
  1035. new targetid; new reason[128];
  1036. if(PlayerInfo[playerid][pLevel] >= 1 || IsPlayerAdmin(playerid))
  1037. {
  1038. if(sscanf(params,"us",targetid,reason)) return SendClientMessage(playerid,COLOR_ROT,"Benutze: /kick (Spielerid) (Grund)");
  1039. {
  1040. new str[128];
  1041. format(str,128,"%s Wurde vom Server gekickt Grund: %s",GetName(targetid),reason);
  1042. SendClientMessageToAll(COLOR_HELLBLAU,str);
  1043. SetPlayerPos(targetid,193.5177,176.2223,1003.0234);
  1044. SetPlayerInterior(targetid,3);
  1045. GameTextForPlayer(targetid,"~r~Du wurdest gekickt vom ~p~server.",5000,5);
  1046. format(str,128,"Du wurdest vom Server gekickt Grund: %s. Lese die Regeln und komm wieder.",reason);
  1047. SendClientMessage(targetid,COLOR_ROT,str);
  1048. Kick(targetid);
  1049. }
  1050. }
  1051. else
  1052. return SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  1053. return 1;
  1054. }
  1055.  
  1056. CMD:unban(playerid,params[])
  1057. {
  1058. new account[24], Query[128], String[128];
  1059. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
  1060. {
  1061. if(sscanf(params, "s", account)) return SendClientMessage(playerid, COLOR_ROT, "Benutze: /unban (Spielerid/Name)");
  1062. {
  1063. if(strlen(account) > 24) return SendClientMessage(playerid, COLOR_ROT, "Der Spielername darf Max. 24 Zeichen haben.");
  1064. {
  1065. format(Query, sizeof(Query), "SELECT `Username` FROM `Bans` WHERE `Username` = '%s' AND `Banned` = 1 LIMIT 1", account);
  1066. mysql_query(Query);
  1067. mysql_store_result();
  1068. if(!mysql_num_rows())
  1069. {
  1070. mysql_free_result();
  1071. format(String, sizeof(String), "Diesen user gibt es nicht.", account);
  1072. return SendClientMessage(playerid, COLOR_ROT, String);
  1073. }
  1074. else if(mysql_num_rows() != 0)
  1075. {
  1076. format(Query, sizeof(Query), "UPDATE `Bans` SET `Banned` = 0 WHERE `Username` = '%s'", account);
  1077. mysql_query(Query);
  1078. format(String, sizeof(String), "Du hast %s! Entbannt ", account);
  1079. SendClientMessage(playerid, COLOR_GRUEN, String);
  1080. }
  1081. }
  1082. }
  1083. }
  1084. else
  1085.  
  1086. return SendClientMessage(playerid,COLOR_ORANGE,BefehlFalsch);
  1087. return 1;
  1088. }
  1089.  
  1090. ///////////Mysql Admin Befehle Ende///////////////////
  1091.  
  1092.  
  1093. public OnPlayerCommandText(playerid, cmdtext[])
  1094. {
  1095. if (strcmp(cmdtext, "/countdown", true, 10)==0)
  1096. {
  1097. SetTimer("Drei", 1000, 0);
  1098. SetTimer("Zwei", 2000, 0);
  1099. SetTimer("Eins", 3000, 0);
  1100. SetTimer("Start", 4000, 0);
  1101. return 1;
  1102. }
  1103. if(strcmp(cmdtext,"/pa",true) == 0)
  1104. {
  1105. SendClientMessage(playerid,COLOR_GRUEN,"Faltschirm erfolgreich gespawnt!");
  1106. GivePlayerWeapon(playerid,46,1);
  1107. return 1;
  1108. }
  1109.  
  1110. if(strcmp(cmdtext,"/killme",true) == 0)
  1111. {
  1112. SendClientMessage(playerid,0xFF0000AA,"Du bist Tod!");
  1113. SetPlayerHealth(playerid,0.00);
  1114. return 1;
  1115. }
  1116.  
  1117. if(strcmp(cmdtext,"/spawnme",true) == 0)
  1118. {
  1119. SpawnPlayer(playerid);
  1120. SendClientMessage(playerid,COLOR_GELB,"Du bist gespawnt!");
  1121. return 1;
  1122. }
  1123.  
  1124. if(strcmp(cmdtext,"/bj15",true) == 0)
  1125. {
  1126. SetPlayerPos(playerid,2067.9290,2437.1096,165.6172);
  1127. new string[64], pName[MAX_PLAYER_NAME];
  1128. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1129. SendClientMessage(playerid,COLOR_PINK, "Willkommen bei BaseJump 15");
  1130. GivePlayerWeapon(playerid,46,1);
  1131. format(string,sizeof string,"%s ging nach BaseJump 15.",pName);
  1132. return 1;
  1133. }
  1134.  
  1135. if(strcmp(cmdtext,"/bj14",true) == 0)
  1136. {
  1137. SetPlayerPos(playerid,1670.7603,-1343.0720,158.4766);
  1138. new string[64], pName[MAX_PLAYER_NAME];
  1139. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1140. SendClientMessage(playerid,COLOR_PINK, "Willkommen bei BaseJump 14");
  1141. GivePlayerWeapon(playerid,46,1);
  1142. format(string,sizeof string,"%s ging nach BaseJump 14.",pName);
  1143. return 1;
  1144. }
  1145.  
  1146. if(strcmp(cmdtext,"/bj13",true) == 0)
  1147. {
  1148. SetPlayerPos(playerid,-1280.4670,49.5875,70.5295);
  1149. new string[64], pName[MAX_PLAYER_NAME];
  1150. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1151. SendClientMessage(playerid,COLOR_PINK, "Willkommen bei BaseJump 13");
  1152. GivePlayerWeapon(playerid,46,1);
  1153. format(string,sizeof string,"%s ging nach BaseJump 13.",pName);
  1154. return 1;
  1155. }
  1156.  
  1157. if(strcmp(cmdtext,"/bj12",true) == 0)
  1158. {
  1159. SetPlayerPos(playerid,-1013.4426,-703.5352,136.3203);
  1160. new string[64], pName[MAX_PLAYER_NAME];
  1161. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1162. SendClientMessage(playerid,COLOR_PINK, "Willkommen bei BaseJump 12");
  1163. GivePlayerWeapon(playerid,46,1);
  1164. format(string,sizeof string,"%s ging nach BaseJump 12.",pName);
  1165. return 1;
  1166. }
  1167.  
  1168.  
  1169. if(strcmp(cmdtext,"/bj11",true) == 0)
  1170. {
  1171. SetPlayerPos(playerid,-2662.2515,1933.5365,225.7578);
  1172. new string[64], pName[MAX_PLAYER_NAME];
  1173. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1174. SendClientMessage(playerid,COLOR_GRUEN,"Willkommen bei BaseJump 11");
  1175. GivePlayerWeapon(playerid,46,1);
  1176. format(string,sizeof string,"%s ging nach BaseJump 11.",pName);
  1177. return 1;
  1178. }
  1179.  
  1180. if(strcmp(cmdtext,"/bj10",true) == 0)
  1181. {
  1182. SetPlayerPos(playerid,-1792.2056,569.6980,332.8047);
  1183. new string[64], pName[MAX_PLAYER_NAME];
  1184. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1185. SendClientMessage(playerid,COLOR_PINK, "Willkommen bei BaseJump 10");
  1186. GivePlayerWeapon(playerid,46,1);
  1187. format(string,sizeof string,"%s ging nach BaseJump 10.",pName);
  1188. return 1;
  1189. }
  1190.  
  1191. if(strcmp(cmdtext,"/bj9",true) == 0)
  1192. {
  1193. SetPlayerPos(playerid, 1666.7014,-1218.3112,233.3750);
  1194. new string[64], pName[MAX_PLAYER_NAME];
  1195. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1196. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 9");
  1197. format(string,sizeof string,"%s ging nach BaseJump 9,/BJ9.",pName);
  1198. SendClientMessageToAll(COLOR_BLAU,string);
  1199. GivePlayerWeapon(playerid, 46, 1);
  1200. return 1;
  1201. }
  1202.  
  1203. if(strcmp(cmdtext,"/bj8",true) == 0)
  1204. {
  1205. SetPlayerPos(playerid, -1812.7672,559.2889,273.1258);
  1206. new string[64], pName[MAX_PLAYER_NAME];
  1207. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1208. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 8");
  1209. format(string,sizeof string,"%s ging nach BaseJump 8,/BJ8.",pName);
  1210. SendClientMessageToAll(COLOR_BLAU,string);
  1211. GivePlayerWeapon(playerid, 46, 1);
  1212. return 1;
  1213. }
  1214.  
  1215. if(strcmp(cmdtext,"/bj7",true) == 0)
  1216. {
  1217. SetPlayerPos(playerid, -2336.2686,1531.8396,1416.5114);
  1218. new string[64], pName[MAX_PLAYER_NAME];
  1219. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1220. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 7");
  1221. format(string,sizeof string,"%s has joined the BaseJump 7,/BJ7.",pName);
  1222. SendClientMessageToAll(COLOR_BLAU,string);
  1223. GivePlayerWeapon(playerid, 46, 1);
  1224. return 1;
  1225. }
  1226.  
  1227. if(strcmp(cmdtext,"/bj6",true) == 0)
  1228. {
  1229. SetPlayerPos(playerid, -1753.7478,885.7360,295.8750);
  1230. new string[64], pName[MAX_PLAYER_NAME];
  1231. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1232. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei Base Jump 6");
  1233. format(string,sizeof string,"%s ging nach BaseJump 6, /BJ6 ",pName);
  1234. SendClientMessageToAll(COLOR_BLAU,string);
  1235. GivePlayerWeapon(playerid, 46, 1);
  1236. return 1;
  1237. }
  1238.  
  1239. if(strcmp(cmdtext,"/bj5",true) == 0)
  1240. {
  1241. SetPlayerPos(playerid, -1473.1982,861.9119,778.8239);
  1242. new string[64], pName[MAX_PLAYER_NAME];
  1243. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1244. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 5");
  1245. format(string,sizeof string,"%s ging nach BaseJump 5, /BJ5.",pName);
  1246. SendClientMessageToAll(COLOR_BLAU,string);
  1247. GivePlayerWeapon(playerid, 46, 1);
  1248. return 1;
  1249.  
  1250. }
  1251.  
  1252. if(strcmp(cmdtext,"/bj4",true) == 0)
  1253. {
  1254. SetPlayerPos(playerid, 1868.2814,2198.4353,795.6274);
  1255. new string[64], pName[MAX_PLAYER_NAME];
  1256. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1257. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 4");
  1258. format(string,sizeof string,"%s ging nach BaseJump 4,/BJ4.",pName);
  1259. SendClientMessageToAll(COLOR_BLAU,string);
  1260. GivePlayerWeapon(playerid, 46, 1);
  1261. return 1;
  1262. }
  1263.  
  1264. if(strcmp(cmdtext,"/bj3",true) == 0)
  1265. {
  1266. SetPlayerPos(playerid, 1376.8594,-1203.8457,202.4453);
  1267. new string[64], pName[MAX_PLAYER_NAME];
  1268. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1269. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 3");
  1270. format(string,sizeof string,"%s ging nach BaseJump 3,/BJ3.",pName);
  1271. SendClientMessageToAll(COLOR_BLAU,string);
  1272. GivePlayerWeapon(playerid, 46, 1);
  1273. return 1;
  1274. }
  1275.  
  1276. if(strcmp(cmdtext,"/bj2",true) == 0)
  1277. {
  1278. SetPlayerPos(playerid, 1509.0198,-1295.7421,352.0222);
  1279. new string[64], pName[MAX_PLAYER_NAME];
  1280. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1281. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 2");
  1282. format(string,sizeof string,"%s ging nach BaseJump 2,/BJ2.",pName);
  1283. SendClientMessageToAll(COLOR_BLAU,string);
  1284. GivePlayerWeapon(playerid, 46, 1);
  1285. return 1;
  1286. }
  1287.  
  1288. if(strcmp(cmdtext,"/bj1",true) == 0)
  1289. {
  1290. SetPlayerPos(playerid, -2081.0242,-1730.7247,427.3749);
  1291. new string[64], pName[MAX_PLAYER_NAME];
  1292. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1293. SendClientMessage(playerid, COLOR_GELB, "Willkommen bei BaseJump 1");
  1294. format(string,sizeof string,"%s ging nach BaseJump 1,/BJ1.",pName);
  1295. SendClientMessageToAll(COLOR_BLAU,string);
  1296. GivePlayerWeapon(playerid, 46, 1);
  1297. return 1;
  1298. }
  1299. return 1;
  1300. }
  1301.  
  1302.  
  1303. SoundForAll(sound)
  1304. {
  1305. for (new i = 0, j = GetMaxPlayers(); i < j; i ++)
  1306. if (IsPlayerConnected(i))
  1307. PlayerPlaySound(i,sound,0.0,0.0,0.0);
  1308. }
  1309. public Drei()
  1310. {
  1311. GameTextForAll("~b~3",3000,4);
  1312. SoundForAll(1056);
  1313. return true;
  1314. }
  1315.  
  1316. public Zwei()
  1317. {
  1318. GameTextForAll("~b~2",3000,4);
  1319. SoundForAll(1056);
  1320. return true;
  1321. }
  1322.  
  1323. public Eins()
  1324. {
  1325. GameTextForAll("~b~1",3000,4);
  1326. SoundForAll(1056);
  1327. return true;
  1328. }
  1329.  
  1330. public Start()
  1331. {
  1332. GameTextForAll("~r~Start!",3000,4);
  1333. SoundForAll(1057);
  1334. return 1;
  1335. }
  1336.  
  1337. forward randommsgs();
  1338. public randommsgs()
  1339. {
  1340. new rand=random(sizeof(randommessages));
  1341. SendClientMessageToAll(0xEFEFF7AA,randommessages[rand]);
  1342. return 1;
  1343. }
  1344.  
  1345. /*stock sscanf(sstring[], format[], {Float,_}:...)
  1346. {
  1347. #if defined isnull
  1348. if (isnull(sstring))
  1349. #else
  1350. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  1351. #endif
  1352. {
  1353. return format[0];
  1354. }
  1355. #pragma tabsize 4
  1356. new
  1357. formatPos = 0,
  1358. sstringPos = 0,
  1359. paramPos = 2,
  1360. paramCount = numargs(),
  1361. delim = ' ';
  1362. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  1363. {
  1364. sstringPos++;
  1365. }
  1366. while (paramPos < paramCount && sstring[sstringPos])
  1367. {
  1368. switch (format[formatPos++])
  1369. {
  1370. case '\0':
  1371. {
  1372. return 0;
  1373. }
  1374. case 'i', 'd':
  1375. {
  1376. new
  1377. neg = 1,
  1378. num = 0,
  1379. ch = sstring[sstringPos];
  1380. if (ch == '-')
  1381. {
  1382. neg = -1;
  1383. ch = sstring[++sstringPos];
  1384. }
  1385. do
  1386. {
  1387. sstringPos++;
  1388. if ('0' <= ch <= '9')
  1389. {
  1390. num = (num * 10) + (ch - '0');
  1391. }
  1392. else
  1393. {
  1394. return -1;
  1395. }
  1396. }
  1397. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1398. setarg(paramPos, 0, num * neg);
  1399. }
  1400. case 'h', 'x':
  1401. {
  1402. new
  1403. num = 0,
  1404. ch = sstring[sstringPos];
  1405. do
  1406. {
  1407. sstringPos++;
  1408. switch (ch)
  1409. {
  1410. case 'x', 'X':
  1411. {
  1412. num = 0;
  1413. continue;
  1414. }
  1415. case '0' .. '9':
  1416. {
  1417. num = (num << 4) | (ch - '0');
  1418. }
  1419. case 'a' .. 'f':
  1420. {
  1421. num = (num << 4) | (ch - ('a' - 10));
  1422. }
  1423. case 'A' .. 'F':
  1424. {
  1425. num = (num << 4) | (ch - ('A' - 10));
  1426. }
  1427. default:
  1428. {
  1429. return -1;
  1430. }
  1431. }
  1432. }
  1433. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1434. setarg(paramPos, 0, num);
  1435. }
  1436. case 'c':
  1437. {
  1438. setarg(paramPos, 0, sstring[sstringPos++]);
  1439. }
  1440. case 'f':
  1441. {
  1442.  
  1443. new changestr[16], changepos = 0, strpos = sstringPos;
  1444. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  1445. {
  1446. changestr[changepos++] = sstring[strpos++];
  1447. }
  1448. changestr[changepos] = '\0';
  1449. setarg(paramPos,0,_:floatstr(changestr));
  1450. }
  1451. case 'p':
  1452. {
  1453. delim = format[formatPos++];
  1454. continue;
  1455. }
  1456. case '\'':
  1457. {
  1458. new
  1459. end = formatPos - 1,
  1460. ch;
  1461. while ((ch = format[++end]) && ch != '\'') {}
  1462. if (!ch)
  1463. {
  1464. return -1;
  1465. }
  1466. format[end] = '\0';
  1467. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  1468. {
  1469. if (format[end + 1])
  1470. {
  1471. return -1;
  1472. }
  1473. return 0;
  1474. }
  1475. format[end] = '\'';
  1476. sstringPos = ch + (end - formatPos);
  1477. formatPos = end + 1;
  1478. }
  1479. case 'u':
  1480. {
  1481. new
  1482. end = sstringPos - 1,
  1483. id = 0,
  1484. bool:num = true,
  1485. ch;
  1486. while ((ch = sstring[++end]) && ch != delim)
  1487. {
  1488. if (num)
  1489. {
  1490. if ('0' <= ch <= '9')
  1491. {
  1492. id = (id * 10) + (ch - '0');
  1493. }
  1494. else
  1495. {
  1496. num = false;
  1497. }
  1498. }
  1499. }
  1500. if (num && IsPlayerConnected(id))
  1501. {
  1502. setarg(paramPos, 0, id);
  1503. }
  1504. else
  1505. {
  1506. #if !defined foreach
  1507. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1508. #define __SSCANF_FOREACH__
  1509. #endif
  1510. sstring[end] = '\0';
  1511. num = false;
  1512. new
  1513. name[MAX_PLAYER_NAME];
  1514. id = end - sstringPos;
  1515. foreach (Player, playerid)
  1516. {
  1517. GetPlayerName(playerid, name, sizeof (name));
  1518. if (!strcmp(name, sstring[sstringPos], true, id))
  1519. {
  1520. setarg(paramPos, 0, playerid);
  1521. num = true;
  1522. break;
  1523. }
  1524. }
  1525. if (!num)
  1526. {
  1527. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1528. }
  1529. sstring[end] = ch;
  1530. #if defined __SSCANF_FOREACH__
  1531. #undef foreach
  1532. #undef __SSCANF_FOREACH__
  1533. #endif
  1534. }
  1535. sstringPos = end;
  1536. }
  1537. case 's', 'z':
  1538. {
  1539. new
  1540. i = 0,
  1541. ch;
  1542. if (format[formatPos])
  1543. {
  1544. while ((ch = sstring[sstringPos++]) && ch != delim)
  1545. {
  1546. setarg(paramPos, i++, ch);
  1547. }
  1548. if (!i)
  1549. {
  1550. return -1;
  1551. }
  1552. }
  1553. else
  1554. {
  1555. while ((ch = sstring[sstringPos++]))
  1556. {
  1557. setarg(paramPos, i++, ch);
  1558. }
  1559. }
  1560. sstringPos--;
  1561. setarg(paramPos, i, '\0');
  1562. }
  1563. default:
  1564. {
  1565. continue;
  1566. }
  1567. }
  1568. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  1569. {
  1570. sstringPos++;
  1571. }
  1572. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  1573. {
  1574. sstringPos++;
  1575. }
  1576. paramPos++;
  1577. }
  1578. do
  1579. {
  1580. if ((delim = format[formatPos++]) > ' ')
  1581. {
  1582. if (delim == '\'')
  1583. {
  1584. while ((delim = format[formatPos++]) && delim != '\'') {}
  1585. }
  1586. else if (delim != 'z')
  1587. {
  1588. return delim;
  1589. }
  1590. }
  1591. }
  1592. while (delim > ' ');
  1593. return 0;
  1594. }
  1595. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement