Advertisement
Guest User

Deathmeatch v0.2 by Tochnas

a guest
Oct 31st, 2010
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 54.57 KB | None | 0 0
  1. /*
  2. ************************
  3. ** Deathmeatch Server **
  4. ** by Tochnas **
  5. ** **
  6. ** Version 0.2 **
  7. ************************
  8.  
  9. Letzte Änderung: 31.10.2010 um 14:39 Uhr
  10. */
  11.  
  12. 12.#include <a_samp>
  13. 13.#include <dini>
  14. 14.
  15. 15.//--- define
  16. 16.#define TEAM_TERROR 1
  17. 17.#define TEAM_POLIZIST 2
  18. 18.#define COLOR_TERROR 0xAF0000FF
  19. 19.#define COLOR_POLIZIST 0x0073FFFF
  20. 20.#define COLOR_GRAU 0xAAAAAAFF
  21. 21.#define COLOR_WEIS 0xF0F0F0FF
  22. 22.#define COLOR_ORANGE 0xFFB400FF
  23. 23.#define COLOR_BLAU 0x1400FFFF
  24. 24.#define COLOR_ROT 0xE10000FF
  25. 25.
  26. 26.#define DIALOG_WAFFEN 0
  27. 27.#define DIALOG_COMMANDS 1
  28. 28.#define DIALOG_LEVELS 2
  29. 29.#define DIALOG_CREDITS 3
  30. 30.#define DIALOG_LEVELUP 4
  31. 31.#define DIALOG_HANDWAFFEN 5
  32. 32.#define DIALOG_FLUGWAFFEN 6
  33. 33.#define DIALOG_PISTOLEN 7
  34. 34.#define DIALOG_GUNS 8
  35. 35.#define DIALOG_SCHNELLFEUERWAFFEN 9
  36. 36.#define DIALOG_ZWEIHANDWAFFEN 10
  37. 37.#define DIALOG_SNIPER 11
  38. 38.#define DIALOG_SONSTIGES 12
  39. 39.#define DIALOG_DMSEKTIONEN 13
  40. 40.#define DIALOG_VEH 14
  41. 41.#define DIALOG_AUTO 15
  42. 42.#define DIALOG_REGISTER1 16
  43. 43.#define DIALOG_REGISTER2 17
  44. 44.#define DIALOG_REGISTER3 18
  45. 45.#define DIALOG_REGISTER4 19
  46. 46.#define DIALOG_LOGIN 20
  47. 47.#define DIALOG_NOPW1 21
  48. 48.#define DIALOG_NOPW2 22
  49. 49.#define DIALOG_WRONGPW 23
  50. 50.#define DIALOG_LOGIN1 24
  51. 51.#define DIALOG_TEAMKILL 25
  52. 52.
  53. 53.
  54. 54.
  55. 55.
  56. 56.#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  57. 57.
  58. 58.//--- forward
  59. 59.forward LevelUp(playerid);
  60. 60.forward SetPlayerSpawn(playerid);
  61. 61.forward TeamKillTimer(playerid);
  62. 62.forward TeamKillTimer2(playerid);
  63. 63.forward OOCOff(color,const string[]);
  64. 64.forward ShowStats(playerid,targetid);
  65. 65.forward OnPlayerUpdate(playerid);
  66. 66.forward OnPlayerLogin(playerid,const string[]);
  67. 67.
  68. 68.//--- enum
  69. 69.enum pInfo
  70. 70.{
  71. 71. pPassword[128],
  72. 72. pScore,
  73. 73. pDeaths,
  74. 74. pCash,
  75. 75. pLevel
  76. 76.};
  77. 77.
  78. 78.//--- new
  79. 79.new gTeam[MAX_PLAYERS];
  80. 80.new LEVEL[MAX_PLAYERS];
  81. 81.new Text:Version;
  82. 82.new TeamKill[MAX_PLAYERS];
  83. 83.new TeamKill2[MAX_PLAYERS];
  84. 84.new TeamKill3[MAX_PLAYERS];
  85. 85.new PlayerInfo[MAX_PLAYERS][pInfo];
  86. 86.new gPlayerLogged[MAX_PLAYERS];
  87. 87.new gPlayerAccount[MAX_PLAYERS];
  88. 88.
  89. 89.new Float:TerroristenSpawn[][4] =
  90. 90. {
  91. 91. {-2658.7883, 376.3711, 4.1328, 264.4924},
  92. 92. {-2663.3560, 335.8965, 4.1814, 175.1916},
  93. 93. {-2663.0444, 413.0415, 4.1328, 1.3134}
  94. 94. };
  95. 95.
  96. 96.new Float:PolizistenSpawn[][4] =
  97. 97. {
  98. 98. {-2747.2754, 415.7663, 4.1328, 89.6742},
  99. 99. {-2750.4263, 379.5803, 4.1328, 179.9150},
  100. 100. {-2749.9294, 338.7323, 4.1797, 183.6751}
  101. 101. };
  102. 102.
  103. 103.public OnGameModeInit()
  104. 104.{
  105. 105. SetGameModeText("Deathmeatch v0.2 by Tochnas");
  106. 106.
  107. 107.//--- TERROR
  108. 108. AddPlayerClass(0,0,0,0,0,1,1,22,150,0,0);
  109. 109. AddPlayerClass(136,0,0,0,0,1,1,22,150,0,0);
  110. 110. AddPlayerClass(181,0,0,0,0,1,1,22,150,0,0);
  111. 111. AddPlayerClass(292,0,0,0,0,1,1,22,150,0,0);
  112. 112.//--- POLIZISTEN
  113. 113. AddPlayerClass(265,0,0,0,0,22,150,3,1,0,0);
  114. 114. AddPlayerClass(282,0,0,0,0,22,150,3,1,0,0);
  115. 115. AddPlayerClass(285,0,0,0,0,22,150,3,1,0,0);
  116. 116. AddPlayerClass(280,0,0,0,0,22,150,3,1,0,0);
  117. 117.
  118. 118. Version = TextDrawCreate(530.000000,8.000000, "~w~Version: ~g~0.2");
  119. 119. TextDrawFont(Version,1);
  120. 120. TextDrawSetShadow(Version,0);
  121. 121. TextDrawSetOutline(Version,1);
  122. 122. TextDrawBackgroundColor(Version,0x000000FF);
  123. 123. TextDrawColor(Version,0xFFFFFFFF);
  124. 124. return 1;
  125. 125.}
  126. 126.
  127. 127.public OnGameModeExit()
  128. 128.{
  129. 129. return 1;
  130. 130.}
  131. 131.
  132. 132.public OnPlayerRequestClass(playerid, classid)
  133. 133.{
  134. 134. if (classid == 0 || classid == 1 || classid == 2 || classid == 3)
  135. 135. {
  136. 136. GameTextForPlayer(playerid, "~g~Terrorist", 500, 3);
  137. 137. SetPlayerInterior(playerid,0);
  138. 138. SetPlayerPos(playerid,308.261749, 2528.727783, 16.816020);
  139. 139. SetPlayerFacingAngle(playerid, 179.004608);
  140. 140. SetPlayerCameraPos(playerid, 308.124847, 2523.134033, 16.750083);
  141. 141. SetPlayerCameraLookAt(playerid, 308.261749, 2528.727783, 16.816020);
  142. 142. gTeam[playerid] = TEAM_TERROR;
  143. 143. SetPlayerTeam(playerid,1);
  144. 144. }
  145. 145. else if (classid == 4 || classid == 5 || classid == 6 || classid == 7)
  146. 146. {
  147. 147. GameTextForPlayer(playerid, "~b~Polizist", 500, 3);
  148. 148. SetPlayerInterior(playerid,0);
  149. 149. SetPlayerPos(playerid,-540.319152, 2594.131347, 53.415424);
  150. 150. SetPlayerFacingAngle(playerid, 267.393981);
  151. 151. SetPlayerCameraPos(playerid, -533.715393, 2593.737548, 53.415424);
  152. 152. SetPlayerCameraLookAt(playerid, -540.319152, 2594.131347, 53.415424);
  153. 153. gTeam[playerid] = TEAM_POLIZIST;
  154. 154. SetPlayerTeam(playerid,1);
  155. 155. }
  156. 156. return 1;
  157. 157.}
  158. 158.
  159. 159.//--- TEAMFARBEN
  160. 160.SetPlayerToTeamColor(playerid)
  161. 161. {
  162. 162. if (gTeam[playerid] == TEAM_TERROR)
  163. 163. {
  164. 164. SetPlayerTeam(playerid,1);
  165. 165. SetPlayerColor(playerid, COLOR_TERROR);
  166. 166. }
  167. 167. else if (gTeam[playerid] == TEAM_POLIZIST)
  168. 168. {
  169. 169. SetPlayerTeam(playerid,2);
  170. 170. SetPlayerColor(playerid, COLOR_POLIZIST);
  171. 171. }
  172. 172.}
  173. 173.
  174. 174.public OnPlayerConnect(playerid)
  175. 175.{
  176. 176. new playrname[MAX_PLAYER_NAME];
  177. 177. new connect[128];
  178. 178. GetPlayerName(playerid, playrname, sizeof(playrname));
  179. 179. format(connect, sizeof(connect), "Benutzer/%s.ini", playrname);
  180. 180. if(fexist(connect))
  181. 181. {
  182. 182. gPlayerAccount[playerid] = 1;
  183. 183. SendClientMessage(playerid, COLOR_ORANGE, "|___________ Datenbank ___________|");
  184. 184. SendClientMessage(playerid, COLOR_WEIS, "Deine Daten wurden geladen.");
  185. 185. SendClientMessage(playerid, COLOR_WEIS, "Gebe nun das Passwort zur Erkennung ein.");
  186. 186. SendClientMessage(playerid, COLOR_WEIS, " ");
  187. 187. SendClientMessage(playerid, COLOR_GRAU, "/login <password>");
  188. 188. return 1;
  189. 189. }
  190. 190. else
  191. 191. {
  192. 192. gPlayerAccount[playerid] = 0;
  193. 193. SendClientMessage(playerid, COLOR_ORANGE, "|___________ Datenbank ___________|");
  194. 194. SendClientMessage(playerid, COLOR_WEIS, "Deine Daten wurden nicht gefunden.");
  195. 195. SendClientMessage(playerid, COLOR_WEIS, "Bitte erstelle dir eine Datei in der Datenbank");
  196. 196. SendClientMessage(playerid, COLOR_WEIS, " ");
  197. 197. SendClientMessage(playerid, COLOR_GRAU, "/register <password>");
  198. 198. }
  199. 199. return 1;
  200. 200.}
  201. 201.
  202. 202.public OnPlayerDisconnect(playerid, reason)
  203. 203.{
  204. 204. TextDrawHideForPlayer(playerid, Version);
  205. 205. return 1;
  206. 206.}
  207. 207.
  208. 208.public OnPlayerSpawn(playerid)
  209. 209.{
  210. 210.//--- ZUSATZFUNKTIONEN
  211. 211. SetPlayerToTeamColor(playerid);
  212. 212. SetPlayerHealth(playerid,25);
  213. 213.
  214. 214.//--- VersionBEZEICHNUNG
  215. 215. TextDrawShowForPlayer(playerid,Version);
  216. 216.
  217. 217.//--- SPAWNNACHRICHT
  218. 218. SendClientMessage(playerid, COLOR_BLAU,"|========== Deathmeatch v0.2 ==========|");
  219. 219. SendClientMessage(playerid, COLOR_BLAU,"|============= by Tochnas ============|");
  220. 220.
  221. 221.//--- LEVELS
  222. 222. if(GetPlayerScore(playerid) >= 100)
  223. 223. {
  224. 224. LEVEL[playerid] = 1;
  225. 225. }
  226. 226.
  227. 227. if(GetPlayerScore(playerid) >= 200)
  228. 228. {
  229. 229. LEVEL[playerid] = 2;
  230. 230. }
  231. 231.
  232. 232. if(GetPlayerScore(playerid) >= 300)
  233. 233. {
  234. 234. LEVEL[playerid] = 3;
  235. 235. }
  236. 236.
  237. 237. if(GetPlayerScore(playerid) >= 400)
  238. 238. {
  239. 239. LEVEL[playerid] = 4;
  240. 240. }
  241. 241.
  242. 242. if(GetPlayerScore(playerid) >= 500)
  243. 243. {
  244. 244. LEVEL[playerid] = 5;
  245. 245. }
  246. 246.
  247. 247.//--- TEAM SPAWNS
  248. 248. if (gTeam[playerid] == TEAM_TERROR)
  249. 249. {
  250. 250. new iRandom = random(3);
  251. 251. SetPlayerPos(playerid, TerroristenSpawn[iRandom][0], TerroristenSpawn[iRandom][1],
  252. 252. TerroristenSpawn[iRandom][2]);
  253. 253. SetPlayerFacingAngle(playerid, TerroristenSpawn[iRandom][3]);
  254. 254. }
  255. 255.
  256. 256. if (gTeam[playerid] == TEAM_POLIZIST)
  257. 257. {
  258. 258. new iRandom = random(3);
  259. 259. SetPlayerPos(playerid, PolizistenSpawn[iRandom][0], PolizistenSpawn[iRandom][1],
  260. 260. PolizistenSpawn[iRandom][2]);
  261. 261. SetPlayerFacingAngle(playerid, PolizistenSpawn[iRandom][3]);
  262. 262. }
  263. 263.
  264. 264.//--- WAFFEN 1
  265. 265. if (LEVEL[playerid]==1 && gTeam[playerid] == TEAM_TERROR)
  266. 266. {
  267. 267. GivePlayerWeapon(playerid,4,1);
  268. 268. GivePlayerWeapon(playerid,24,60);
  269. 269. SetPlayerHealth(playerid,50);
  270. 270. }
  271. 271.
  272. 272. if (LEVEL[playerid]==1 && gTeam[playerid] == TEAM_POLIZIST)
  273. 273. {
  274. 274. GivePlayerWeapon(playerid,4,1);
  275. 275. GivePlayerWeapon(playerid,24,60);
  276. 276. SetPlayerHealth(playerid,50);
  277. 277. }
  278. 278.
  279. 279.//--- WAFFEN 2
  280. 280. if (LEVEL[playerid]==2 && gTeam[playerid] == TEAM_TERROR)
  281. 281. {
  282. 282. GivePlayerWeapon(playerid,8,1);
  283. 283. GivePlayerWeapon(playerid,24,120);
  284. 284. SetPlayerHealth(playerid,75);
  285. 285. }
  286. 286.
  287. 287. if (LEVEL[playerid]==2 && gTeam[playerid] == TEAM_POLIZIST)
  288. 288. {
  289. 289. GivePlayerWeapon(playerid,8,1);
  290. 290. GivePlayerWeapon(playerid,24,120);
  291. 291. SetPlayerHealth(playerid,75);
  292. 292. }
  293. 293.
  294. 294.//--- WAFFEN 3
  295. 295. if (LEVEL[playerid]==3 && gTeam[playerid] == TEAM_TERROR)
  296. 296. {
  297. 297. GivePlayerWeapon(playerid,8,1);
  298. 298. GivePlayerWeapon(playerid,26,50);
  299. 299. SetPlayerHealth(playerid,100);
  300. 300. }
  301. 301.
  302. 302. if (LEVEL[playerid]==3 && gTeam[playerid] == TEAM_POLIZIST)
  303. 303. {
  304. 304. GivePlayerWeapon(playerid,8,1);
  305. 305. GivePlayerWeapon(playerid,26,50);
  306. 306. SetPlayerHealth(playerid,100);
  307. 307. }
  308. 308.
  309. 309.//--- WAFFEN 4
  310. 310. if (LEVEL[playerid]==4 && gTeam[playerid] == TEAM_TERROR)
  311. 311. {
  312. 312. GivePlayerWeapon(playerid,23,60);
  313. 313. GivePlayerWeapon(playerid,26,100);
  314. 314. SetPlayerHealth(playerid,50);
  315. 315. }
  316. 316.
  317. 317. if (LEVEL[playerid]==4 && gTeam[playerid] == TEAM_POLIZIST)
  318. 318. {
  319. 319. GivePlayerWeapon(playerid,27,120);
  320. 320. GivePlayerWeapon(playerid,34,60);
  321. 321. SetPlayerHealth(playerid,100);
  322. 322. SetPlayerArmour(playerid,50);
  323. 323. }
  324. 324.
  325. 325.//--- WAFFEN 5
  326. 326. if (LEVEL[playerid]==5 && gTeam[playerid] == TEAM_TERROR)
  327. 327. {
  328. 328. GivePlayerWeapon(playerid,30,999);
  329. 329. GivePlayerWeapon(playerid,24,999);
  330. 330. GivePlayerWeapon(playerid,33,999);
  331. 331. GivePlayerWeapon(playerid,28,999);
  332. 332. SetPlayerHealth(playerid,100);
  333. 333. SetPlayerArmour(playerid,100);
  334. 334. }
  335. 335.
  336. 336. if (LEVEL[playerid]==5 && gTeam[playerid] == TEAM_POLIZIST)
  337. 337. {
  338. 338. GivePlayerWeapon(playerid,31,999);
  339. 339. GivePlayerWeapon(playerid,34,999);
  340. 340. GivePlayerWeapon(playerid,24,999);
  341. 341. GivePlayerWeapon(playerid,29,999);
  342. 342. SetPlayerHealth(playerid,100);
  343. 343. SetPlayerArmour(playerid,100);
  344. 344. }
  345. 345. return 1;
  346. 346.}
  347. 347.
  348. 348.public OnPlayerDeath(playerid, killerid, reason)
  349. 349.{
  350. 350. TextDrawHideForPlayer(playerid, Version);
  351. 351.
  352. 352. new kills = PlayerInfo[playerid][pScore];
  353. 353. SetPlayerScore(playerid, kills);
  354. 354. new Float:Health;
  355. 355. GetPlayerHealth(playerid, Health);
  356. 356. if(Health == 0.0)
  357. 357. {
  358. 358. PlayerInfo[playerid][pDeaths] += 1;
  359. 359. }
  360. 360. GivePlayerMoney(killerid,2000);
  361. 361. PlayerInfo[killerid][pScore] = PlayerInfo[killerid][pScore] + 1;
  362. 362.
  363. 363. if(gTeam[playerid] == gTeam[killerid])
  364. 364. {
  365. 365. SetTimer("TeamKillTimer", 6000, 0);
  366. 366. GameTextForPlayer(playerid, "~r~Teamkill ~w~(1 Minute)", 6000, 3);
  367. 367. SendClientMessage(playerid, COLOR_ROT, "|______________ Teamkill ______________|");
  368. 368. SendClientMessage(playerid, COLOR_WEIS, "Teamkill ist strengstens untersagt und wird auch Hart bestraft.");
  369. 369. SendClientMessage(playerid, COLOR_WEIS, "Tippe /teamkill um die Straffolgen zu sehen,");
  370. 370. SendClientMessage(playerid, COLOR_WEIS, "denn dies ist kein Spaß mehr seine eigene Leute zu Töten.");
  371. 371. TogglePlayerControllable(playerid, false);
  372. 372. }
  373. 373.
  374. 374. if(gTeam[playerid] == gTeam[killerid] && TeamKill[playerid] == 1)
  375. 375. {
  376. 376. SetTimer("TeamKillTimer2", 12000, 0);
  377. 377. GameTextForPlayer(playerid, "~r~Teamkill ~w~(2 Minuten)", 12000, 3);
  378. 378. SendClientMessage(playerid, COLOR_ROT, "|______________ Teamkill ______________|");
  379. 379. SendClientMessage(playerid, COLOR_WEIS, "Teamkill ist strengstens untersagt und wird auch Hart bestraft.");
  380. 380. SendClientMessage(playerid, COLOR_WEIS, "Tippe /teamkill um die Straffolgen zu sehen,");
  381. 381. SendClientMessage(playerid, COLOR_WEIS, "denn dies ist kein Spaß mehr seine eigene Leute zu Töten.");
  382. 382. TogglePlayerControllable(playerid, false);
  383. 383. }
  384. 384.
  385. 385. if(gTeam[playerid] == gTeam[killerid] && TeamKill2[playerid] == 1)
  386. 386. {
  387. 387. SendClientMessage(playerid, COLOR_ROT, "|______________ Teamkill ______________|");
  388. 388. SendClientMessage(playerid, COLOR_WEIS, "Du willst es woll niemals Lernen ? TEAMKILL ist hier verboten.");
  389. 389. SendClientMessage(playerid, COLOR_WEIS, "Du wirst jetzt mit einem Kick bestraft.");
  390. 390. SendClientMessage(playerid, COLOR_WEIS, "Beim nächsten mal folgt ein Bann.");
  391. 391. TogglePlayerControllable(playerid, false);
  392. 392. new Member[MAX_PLAYER_NAME], msg[56];
  393. 393. format(msg, sizeof(msg),"%s wurde wegen Teamkill gekickt", Member, msg);
  394. 394. SendClientMessageToAll(COLOR_ROT,msg);
  395. 395. Kick(playerid);
  396. 396. TeamKill3[playerid] = 1;
  397. 397. }
  398. 398.
  399. 399. if(gTeam[playerid] == gTeam[killerid] && TeamKill3[playerid] == 1)
  400. 400. {
  401. 401. SendClientMessage(playerid, COLOR_ROT, "|______________ Teamkill ______________|");
  402. 402. SendClientMessage(playerid, COLOR_WEIS, "Du wurdest soeben gebannt, dah du schon 3. Verwarnungen hattest.");
  403. 403. TogglePlayerControllable(playerid, false);
  404. 404. new Member[MAX_PLAYER_NAME], msg[56];
  405. 405. format(msg, sizeof(msg),"%s wurde wegen Teamkill gebannt", Member, msg);
  406. 406. SendClientMessageToAll(COLOR_ROT,msg);
  407. 407. Ban(playerid);
  408. 408. }
  409. 409. return 1;
  410. 410.}
  411. 411.
  412. 412.public OnPlayerText(playerid, text[])
  413. 413.{
  414. 414. return 1;
  415. 415.}
  416. 416.
  417. 417.public OnPlayerCommandText(playerid, cmdtext[])
  418. 418.{
  419. 419. new cmd[256];
  420. 420. new idx;
  421. 421. cmd = strtok(cmdtext, idx);
  422. 422. new tmp[256];
  423. 423. new playername[MAX_PLAYER_NAME];
  424. 424. if (strcmp(cmd, "/login", true) ==0 )
  425. 425. {
  426. 426. if(IsPlayerConnected(playerid))
  427. 427. {
  428. 428. new tmppass[64];
  429. 429. if(gPlayerLogged[playerid] == 1)
  430. 430. {
  431. 431. SendClientMessage(playerid, COLOR_GRAU, " Du bist bereits eingeloggt.");
  432. 432. return 1;
  433. 433. }
  434. 434. tmp = strtok(cmdtext, idx);
  435. 435. if(!strlen(tmp))
  436. 436. {
  437. 437. SendClientMessage(playerid, COLOR_GRAU, " Benutze: /login [password]");
  438. 438. return 1;
  439. 439. }
  440. 440. strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  441. 441. OnPlayerLogin(playerid,tmppass);
  442. 442. }
  443. 443. return 1;
  444. 444. }
  445. 445. if (strcmp(cmd, "/register", true)==0)
  446. 446. {
  447. 447. new string[265];
  448. 448. tmp = strtok(cmdtext, idx);
  449. 449. if(!strlen(tmp))
  450. 450. {
  451. 451. SendClientMessage(playerid, COLOR_GRAU, "Benutze: /register [password]");
  452. 452. return 1;
  453. 453. }
  454. 454. if (gPlayerAccount[playerid] == 1)
  455. 455. {
  456. 456. SendClientMessage(playerid, COLOR_GRAU, " Der Name ist bereits registriert");
  457. 457. return 1;
  458. 458. }
  459. 459.
  460. 460. strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
  461. 461. GetPlayerName(playerid, playername, sizeof(playername));
  462. 462. format(string, sizeof(string), "Benutzer/%s.ini", playername);
  463. 463. new File: file = fopen(string, io_read);
  464. 464. if (file)
  465. 465. {
  466. 466. SendClientMessage(playerid, COLOR_GRAU, " Der Name ist bereits registriert");
  467. 467. fclose(file);
  468. 468. return 1;
  469. 469. }
  470. 470. new File:hFile;
  471. 471. hFile = fopen(string, io_append);
  472. 472. new var[32];//
  473. 473. format(var, 32, "Passwort=%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
  474. 474. format(var, 32, "Score=%d\n",PlayerInfo[playerid][pScore]);fwrite(hFile, var);
  475. 475. format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
  476. 476. PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
  477. 477. format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
  478. 478. fclose(hFile);
  479. 479. SendClientMessage(playerid, COLOR_WEIS, "Erfolgreich registriert!");
  480. 480. SendClientMessage(playerid, COLOR_WEIS, "Gebe nächstes mal /login <password> zum einloggen ein.");
  481. 481. OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
  482. 482. return 1;
  483. 483. }
  484. 484.
  485. 485. if(strcmp(cmdtext,"/Commands",true)==0)
  486. 486. {
  487. 487. if(IsPlayerConnected(playerid))
  488. 488. {
  489. 489. ShowPlayerDialog(playerid,DIALOG_COMMANDS,DIALOG_STYLE_MSGBOX,"Member Commands","/Level [ID] - Sehen des gewünschtem Level\n/Levels - Levelliste einsehen\n/Credits - Um Informationen über den Server aufzurufen\n/Kill - Selbstmord\n/Waffen - Waffenshop\n/Teamkill - Zeigt die Teamkillbestrafung an","OK","Abbrechen");
  490. 490. }
  491. 491. return 1;
  492. 492. }
  493. 493.
  494. 494. if(strcmp(cmdtext,"/ACommands",true)==0)
  495. 495. {
  496. 496. if(IsPlayerAdmin(playerid))
  497. 497. {
  498. 498. ShowPlayerDialog(playerid,DIALOG_COMMANDS,DIALOG_STYLE_MSGBOX,"Admin Commands","/LevelSet [ID] - Level eines Member Changen\n/Admin - Anfordern des Adminpackets\n/TakeScore [ID] - Score abziehen\n/GiveScore [ID] - Score hinzufügen\n/SetScore [ID] - Score umstellen","OK","Abbrechen");
  499. 499. }
  500. 500. return 1;
  501. 501.}
  502. 502.
  503. 503. if(strcmp(cmdtext,"/Levels",true)==0)
  504. 504. {
  505. 505. if(IsPlayerConnected(playerid))
  506. 506. {
  507. 507. ShowPlayerDialog(playerid,DIALOG_LEVELS,DIALOG_STYLE_MSGBOX,"Levelliste","Level 1: 100 Punkte\nLevel 2: 200 Punkte\nLevel 3: 300 Punkte\nLevel 4: 400 Punkte\nLevel 5: 500 Punkte","OK","Abbrechen");
  508. 508. }
  509. 509. return 1;
  510. 510. }
  511. 511.
  512. 512. if(strcmp(cmdtext,"/Credits",true)==0)
  513. 513. {
  514. 514. if(IsPlayerConnected(playerid))
  515. 515. {
  516. 516. ShowPlayerDialog(playerid,DIALOG_CREDITS,DIALOG_STYLE_MSGBOX,"Gamemode by Tochnas","Serverowner: -\nScripter: -\nAdmin: -\n\n\nForum: -","OK","Abbrechen");
  517. 517. }
  518. 518. return 1;
  519. 519. }
  520. 520.
  521. 521. if(strcmp(cmdtext,"/TeamKill",true)==0)
  522. 522. {
  523. 523. if(IsPlayerConnected(playerid))
  524. 524. {
  525. 525. ShowPlayerDialog(playerid,DIALOG_TEAMKILL,DIALOG_STYLE_MSGBOX,"Teamkill Bestrafung","Wir empfehlen es Ihnen nicht ein Teamkill zu begehen, denn dies hat folgende Konsequenzen:\n\n1. Verwarnung - 1 Minute gefreezt\n2. Verwarnung - 2 Minuten gefreezt\n3. Verwarnung - Kick vom Server\n4. Verwarnung - Ban vom Server","OK","Abbrechen");
  526. 526. }
  527. 527. return 1;
  528. 528. }
  529. 529.
  530. 530. if (strcmp("/waffen", cmdtext, true) == 0)
  531. 531. {
  532. 532. ShowPlayerDialog(playerid,DIALOG_WAFFEN,DIALOG_STYLE_LIST, "Waffenshop", "Handwaffen\nFlugwaffen\nPistolen\nGuns\nSchnellfeuerwaffen\nZweihandwaffen\nSniper\nSonstiges", "Auswählen", "Abbrechen");
  533. 533. return 1;
  534. 534. }
  535. 535.
  536. 536. if (strcmp("/kill", cmdtext, true, 10) == 0)
  537. 537. {
  538. 538. new Member[MAX_PLAYER_NAME], msg[56];
  539. 539. SetPlayerHealth(playerid,0);
  540. 540. format(msg, sizeof(msg),"%s hat Selbstmord begangen", Member, msg);
  541. 541. SendClientMessageToAll(COLOR_BLAU,msg);
  542. 542. return 1;
  543. 543. }
  544. 544.
  545. 545. if(strcmp(cmdtext,"/destroyveh", true) == 0 && strcmp(cmdtext, "/dveh", true) == 0)
  546. 546. if(IsPlayerAdmin(playerid))
  547. 547. {
  548. 548. new currentveh;
  549. 549. currentveh = GetPlayerVehicleID(playerid);
  550. 550. DestroyVehicle(currentveh);
  551. 551. return 1;
  552. 552. }
  553. 553.
  554. 554. if(strcmp(cmdtext,"/admin",true)==0)
  555. 555. {
  556. 556. if(IsPlayerAdmin(playerid))
  557. 557. {
  558. 558. SetPlayerHealth(playerid, 100);
  559. 559. SetPlayerArmour(playerid, 100);
  560. 560. GivePlayerWeapon(playerid, 31, 9999);
  561. 561. GivePlayerWeapon(playerid, 38, 9999);
  562. 562. GivePlayerWeapon(playerid, 35, 9999);
  563. 563. GivePlayerWeapon(playerid, 34, 9999);
  564. 564. GivePlayerWeapon(playerid, 40, 1);
  565. 565. GivePlayerWeapon(playerid, 39, 9999);
  566. 566. GivePlayerWeapon(playerid, 24, 9999);
  567. 567. GivePlayerWeapon(playerid, 16, 9999);
  568. 568. GivePlayerWeapon(playerid, 9, 1);
  569. 569. SendClientMessage(playerid, COLOR_GRAU, "Das Adminpacket wurde erstellst.");
  570. 570. }
  571. 571. return 1;
  572. 572. }
  573. 573.
  574. 574.//--- DCMD
  575. 575. dcmd(level, 5, cmdtext);
  576. 576. dcmd(LevelSet, 8, cmdtext);
  577. 577. dcmd(TakeScore, 9, cmdtext);
  578. 578. dcmd(GiveScore, 9, cmdtext);
  579. 579. dcmd(SetScore, 8, cmdtext);
  580. 580. return 1;
  581. 581.}
  582. 582.
  583. 583.dcmd_level(playerid, params[])
  584. 584.{
  585. 585. new ID, Member[24] , string[256];
  586. 586. if (sscanf(params, "d", ID))
  587. 587. return SendClientMessage(playerid, COLOR_WEIS, "/Level <Playerid>");
  588. 588. else if (!IsPlayerConnected(ID))
  589. 589. return SendClientMessage(playerid, COLOR_WEIS, "Spieler ist Offline");
  590. 590. else
  591. 591. {
  592. 592. GetPlayerName(ID, Member , 24);
  593. 593. format(string, sizeof (string), "%s hat das Level %d",Member,LEVEL[ID]);
  594. 594. SendClientMessage(playerid, COLOR_WEIS ,string);
  595. 595. }
  596. 596. return 1;
  597. 597.}
  598. 598.
  599. 599.dcmd_LevelSet(playerid, params[])
  600. 600.{
  601. 601. new ID, LEVELSET , string[256], Admin[24], Member[24];
  602. 602. GetPlayerName(playerid, Admin, 24);
  603. 603. GetPlayerName(ID, Member, 24);
  604. 604. if (sscanf(params, "d,i", ID, LEVELSET))
  605. 605. return SendClientMessage(playerid, COLOR_GRAU, "/LevelSet <Playerid> <Level>");
  606. 606. else if (!IsPlayerConnected(ID))
  607. 607. return SendClientMessage(playerid, COLOR_GRAU, "Spieler Offline");
  608. 608. else if (!IsPlayerAdmin(playerid))
  609. 609. return SendClientMessage(playerid, COLOR_GRAU, "Du bist kein Admin");
  610. 610. else if (LEVELSET>5 && LEVELSET<0)
  611. 611. return SendClientMessage(playerid, COLOR_GRAU, "Level muss zwischen 1 und 10 sein.");
  612. 612. else if (LEVELSET == 0)
  613. 613. {
  614. 614. LEVEL[ID] =0;
  615. 615. format(string, sizeof (string), "Admin %s hat dein Level auf 0 gesetzt.", Admin);
  616. 616. SetPlayerScore(ID,0);
  617. 617. SendClientMessage(ID, COLOR_GRAU, string);
  618. 618. }
  619. 619. else if (LEVELSET==1)
  620. 620. {
  621. 621. LEVEL[ID] =1;
  622. 622. format(string, sizeof (string), "Admin %s hat dein Level auf 1 gesetzt.", Admin);
  623. 623. SendClientMessage(ID, COLOR_GRAU, string);
  624. 624. SetPlayerScore(ID,100);
  625. 625. }
  626. 626. else if (LEVELSET==2)
  627. 627. {
  628. 628. LEVEL[ID] =2;
  629. 629. format(string, sizeof (string), "Admin %s hat dein Level auf 2 gesetzt.", Admin);
  630. 630. SendClientMessage(ID, COLOR_GRAU, string);
  631. 631. SetPlayerScore(ID,200);
  632. 632. }
  633. 633. else if (LEVELSET==3){
  634. 634. LEVEL[ID] =3;
  635. 635. format(string, sizeof (string), "Admin %s hat dein Level auf 3 gesetzt.", Admin);
  636. 636. SendClientMessage(ID, COLOR_GRAU,string);
  637. 637. SetPlayerScore(ID,300);
  638. 638. }
  639. 639. else if (LEVELSET==4)
  640. 640. {
  641. 641. LEVEL[ID] =4;
  642. 642. format(string, sizeof (string), "Admin %s hat dein Level auf 4 gesetzt.", Admin);
  643. 643. SendClientMessage(ID, COLOR_GRAU, string);
  644. 644. SetPlayerScore(ID,400);
  645. 645. }
  646. 646. else if (LEVELSET==5)
  647. 647. {
  648. 648. LEVEL[ID] =5;
  649. 649. format(string, sizeof (string), "Admin %s hat dein Level auf 5 gesetzt.", Admin);
  650. 650. SendClientMessage(ID, COLOR_GRAU, string);
  651. 651. SetPlayerScore(ID,500);
  652. 652. }
  653. 653. return 1;
  654. 654.}
  655. 655.
  656. 656.dcmd_TakeScore(playerid, params[])
  657. 657.{
  658. 658. new Score, ID, string[256], Admin[24];
  659. 659. GetPlayerName(playerid, Admin, 24);
  660. 660. if (sscanf(params, "d,i", ID, Score))
  661. 661. return SendClientMessage(playerid, COLOR_GRAU, "/TakeScore <Playerid> <Anzahl>");
  662. 662. if (!IsPlayerAdmin(playerid))
  663. 663. return SendClientMessage(playerid, COLOR_GRAU, "Du bist kein Admin");
  664. 664. else if (!IsPlayerConnected(ID))
  665. 665. return SendClientMessage(playerid, COLOR_GRAU, "Spieler ist Offline");
  666. 666. else
  667. 667. {
  668. 668. SetPlayerScore(ID, GetPlayerScore(ID) - Score);
  669. 669. format(string, sizeof (string), "Admin %s hat dir %s Punkte abgezogen.", Admin, Score);
  670. 670. SendClientMessage(ID, COLOR_GRAU, string);
  671. 671. }
  672. 672. return 1;
  673. 673.}
  674. 674.
  675. 675.dcmd_GiveScore(playerid, params[])
  676. 676.{
  677. 677. new Score, ID, string[256], Admin[24];
  678. 678. GetPlayerName(playerid, Admin, 24);
  679. 679. if (sscanf(params, "d,i", ID, Score))
  680. 680. return SendClientMessage(playerid, COLOR_GRAU, "/GiveScore <Playerid> <Anzahl>");
  681. 681. else if (!IsPlayerConnected(ID))
  682. 682. return SendClientMessage(playerid, COLOR_GRAU, "Spieler ist Offline");
  683. 683. if (!IsPlayerAdmin(playerid))
  684. 684. return SendClientMessage(playerid, COLOR_GRAU, "Du bist kein Admin");
  685. 685. else
  686. 686. {
  687. 687. SetPlayerScore(ID, GetPlayerScore(ID) + Score);
  688. 688. format(string, sizeof (string), "Admin %s hat dir %i Punkte gegeben.", Admin, Score);
  689. 689. SendClientMessage(ID, COLOR_GRAU, string);
  690. 690. }
  691. 691. return 1;
  692. 692.}
  693. 693.
  694. 694.dcmd_SetScore(playerid, params[])
  695. 695.{
  696. 696. new Score, ID, string[256], Admin[24];
  697. 697. GetPlayerName(playerid, Admin, 24);
  698. 698. if (sscanf(params, "d,i", ID, Score))
  699. 699. return SendClientMessage(playerid, COLOR_GRAU, "/SetScore <Playerid> <Anzahl>");
  700. 700. if (!IsPlayerAdmin(playerid))
  701. 701. return SendClientMessage(playerid, COLOR_GRAU, "Du bist kein Admin");
  702. 702. else if (!IsPlayerConnected(ID))
  703. 703. return SendClientMessage(playerid, COLOR_GRAU, "Spieler ist Offline");
  704. 704. else
  705. 705. {
  706. 706. SetPlayerScore(ID, Score);
  707. 707. format(string, sizeof (string), "Admin %s hat deine Punkte auf %d gesetzt", Admin, Score);
  708. 708. SendClientMessage(ID, COLOR_GRAU, string);
  709. 709. }
  710. 710. return 1;
  711. 711.}
  712. 712.
  713. 713.public LevelUp(playerid)
  714. 714.{
  715. 715. for(new i=0; i < MAX_PLAYERS; i++)
  716. 716. {
  717. 717. if(GetPlayerScore(i) >= 100 && LEVEL[i] == 0)
  718. 718. {
  719. 719. GameTextForPlayer(i, "~b~Level 1", 3000, 3);
  720. 720. LEVEL[i] = 1;
  721. 721. }
  722. 722.
  723. 723. if(GetPlayerScore(i) >= 200 && LEVEL[i] == 1)
  724. 724. {
  725. 725. GameTextForPlayer(i, "~b~Level 2", 3000, 3);
  726. 726. LEVEL[i] = 2;
  727. 727. }
  728. 728.
  729. 729. if(GetPlayerScore(i) >= 300 && LEVEL[i] == 2)
  730. 730. {
  731. 731. GameTextForPlayer(i, "~b~Level 3", 3000, 3);
  732. 732. LEVEL[i] = 3;
  733. 733. }
  734. 734.
  735. 735. if(GetPlayerScore(i) >= 400 && LEVEL[i] == 3)
  736. 736. {
  737. 737. GameTextForPlayer(i, "~b~Level 4", 3000, 3);
  738. 738. LEVEL[i] = 4;
  739. 739. }
  740. 740.
  741. 741. if(GetPlayerScore(i) >= 500 && LEVEL[i] == 4)
  742. 742. {
  743. 743. GameTextForPlayer(i, "~b~Level 5", 3000, 3);
  744. 744. LEVEL[i] = 5;
  745. 745. }
  746. 746. }
  747. 747. return 1;
  748. 748.}
  749. 749.
  750. 750.stock sscanf(string[], format[], {Float,_}:...)
  751. 751.{
  752. 752. new
  753. 753. formatPos = 0,
  754. 754. stringPos = 0,
  755. 755. paramPos = 2,
  756. 756. paramCount = numargs();
  757. 757. while (paramPos < paramCount && string[stringPos])
  758. 758. {
  759. 759. switch (format[formatPos++])
  760. 760. {
  761. 761. case '\0':
  762. 762. {
  763. 763. return 0;
  764. 764. }
  765. 765. case 'i', 'd':
  766. 766. {
  767. 767. new
  768. 768. neg = 1,
  769. 769. num = 0,
  770. 770. ch = string[stringPos];
  771. 771. if (ch == '-')
  772. 772. {
  773. 773. neg = -1;
  774. 774. ch = string[++stringPos];
  775. 775. }
  776. 776. do
  777. 777. {
  778. 778. stringPos++;
  779. 779. if (ch >= '0' && ch <= '9')
  780. 780. {
  781. 781. num = (num * 10) + (ch - '0');
  782. 782. }
  783. 783. else
  784. 784. {
  785. 785. return 1;
  786. 786. }
  787. 787. }
  788. 788. while ((ch = string[stringPos]) && ch != ' ');
  789. 789. setarg(paramPos, 0, num * neg);
  790. 790. }
  791. 791. case 'h', 'x':
  792. 792. {
  793. 793. new
  794. 794. ch,
  795. 795. num = 0;
  796. 796. while ((ch = string[stringPos++]))
  797. 797. {
  798. 798. switch (ch)
  799. 799. {
  800. 800. case 'x', 'X':
  801. 801. {
  802. 802. num = 0;
  803. 803. continue;
  804. 804. }
  805. 805. case '0' .. '9':
  806. 806. {
  807. 807. num = (num << 4) | (ch - '0');
  808. 808. }
  809. 809. case 'a' .. 'f':
  810. 810. {
  811. 811. num = (num << 4) | (ch - ('a' - 10));
  812. 812. }
  813. 813. case 'A' .. 'F':
  814. 814. {
  815. 815. num = (num << 4) | (ch - ('A' - 10));
  816. 816. }
  817. 817. case ' ':
  818. 818. {
  819. 819. break;
  820. 820. }
  821. 821. default:
  822. 822. {
  823. 823. return 1;
  824. 824. }
  825. 825. }
  826. 826. }
  827. 827. setarg(paramPos, 0, num);
  828. 828. }
  829. 829. case 'c':
  830. 830. {
  831. 831. setarg(paramPos, 0, string[stringPos++]);
  832. 832. }
  833. 833. case 'f':
  834. 834. {
  835. 835. new tmp[25];
  836. 836. strmid(tmp, string, stringPos, stringPos+sizeof(tmp)-2);
  837. 837. setarg(paramPos, 0, _:floatstr(tmp));
  838. 838. }
  839. 839. case 's', 'z':
  840. 840. {
  841. 841. new
  842. 842. i = 0,
  843. 843. ch;
  844. 844. if (format[formatPos])
  845. 845. {
  846. 846. while ((ch = string[stringPos++]) && ch != ' ')
  847. 847. {
  848. 848. setarg(paramPos, i++, ch);
  849. 849. }
  850. 850. if (!i) return 1;
  851. 851. }
  852. 852. else
  853. 853. {
  854. 854. while ((ch = string[stringPos++]))
  855. 855. {
  856. 856. setarg(paramPos, i++, ch);
  857. 857. }
  858. 858. }
  859. 859. stringPos--;
  860. 860. setarg(paramPos, i, '\0');
  861. 861. }
  862. 862. default:
  863. 863. {
  864. 864. continue;
  865. 865. }
  866. 866. }
  867. 867. while (string[stringPos] && string[stringPos] != ' ')
  868. 868. {
  869. 869. stringPos++;
  870. 870. }
  871. 871. while (string[stringPos] == ' ')
  872. 872. {
  873. 873. stringPos++;
  874. 874. }
  875. 875. paramPos++;
  876. 876. }
  877. 877. while (format[formatPos] == 'z') formatPos++;
  878. 878. return format[formatPos];
  879. 879.}
  880. 880.
  881. 881.stock ini_GetKey( line[] )
  882. 882.{
  883. 883. new keyRes[128];
  884. 884. keyRes[0] = 0;
  885. 885. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  886. 886. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  887. 887. return keyRes;
  888. 888.}
  889. 889.
  890. 890.stock ini_GetValue( line[] )
  891. 891.{
  892. 892. new valRes[128];
  893. 893. valRes[0]=0;
  894. 894. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  895. 895. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  896. 896. return valRes;
  897. 897.}
  898. 898.
  899. 899.
  900. 900.strtok(const string[], &index)
  901. 901.{
  902. 902. new length = strlen(string);
  903. 903. while ((index < length) && (string[index] <= ' '))
  904. 904. {
  905. 905. index++;
  906. 906. }
  907. 907.
  908. 908. new offset = index;
  909. 909. new result[20];
  910. 910. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  911. 911. {
  912. 912. result[index - offset] = string[index];
  913. 913. index++;
  914. 914. }
  915. 915. result[index - offset] = EOS;
  916. 916. return result;
  917. 917.}
  918. 918.
  919. 919.public TeamKillTimer(playerid)
  920. 920.{
  921. 921. SendClientMessage(playerid, COLOR_ROT, " ");
  922. 922. SendClientMessage(playerid, COLOR_ROT, " ");
  923. 923. SendClientMessage(playerid, COLOR_ROT, " ");
  924. 924. SendClientMessage(playerid, COLOR_ROT, " ");
  925. 925. SendClientMessage(playerid, COLOR_ROT, " ");
  926. 926. SendClientMessage(playerid, COLOR_ROT, " ");
  927. 927. SendClientMessage(playerid, COLOR_ROT, " ");
  928. 928. SendClientMessage(playerid, COLOR_ROT, "|______________ 1. Verwarnung ______________|");
  929. 929. SendClientMessage(playerid, COLOR_WEIS, "Deine bestrafung ist vorbei. Du hast auch soeben deine 1. Verwarnung bekommen.");
  930. 930. SendClientMessage(playerid, COLOR_WEIS, "Tuhe soetwas nicht wieder, denn dies führt bis zu einem Bann auf dem Server");
  931. 931. SendClientMessage(playerid, COLOR_WEIS, "denn dies ist kein Spaß mehr seine eigene Leute zu Töten.");
  932. 932. TogglePlayerControllable(playerid, true);
  933. 933. TeamKill[playerid] = 1;
  934. 934. return 1;
  935. 935.}
  936. 936.
  937. 937.public TeamKillTimer2(playerid)
  938. 938.{
  939. 939. SendClientMessage(playerid, COLOR_ROT, " ");
  940. 940. SendClientMessage(playerid, COLOR_ROT, " ");
  941. 941. SendClientMessage(playerid, COLOR_ROT, " ");
  942. 942. SendClientMessage(playerid, COLOR_ROT, " ");
  943. 943. SendClientMessage(playerid, COLOR_ROT, " ");
  944. 944. SendClientMessage(playerid, COLOR_ROT, " ");
  945. 945. SendClientMessage(playerid, COLOR_ROT, " ");
  946. 946. SendClientMessage(playerid, COLOR_ROT, "|______________ 2. Verwarnung ______________|");
  947. 947. SendClientMessage(playerid, COLOR_WEIS, "Deine bestrafung ist vorbei. Du hast auch soeben deine 2. Verwarnung bekommen.");
  948. 948. SendClientMessage(playerid, COLOR_WEIS, "Tuhe soetwas nicht wieder, denn dies führt bis zu einem Bann auf dem Server");
  949. 949. SendClientMessage(playerid, COLOR_WEIS, "denn dies ist kein Spaß mehr seine eigene Leute zu Töten.");
  950. 950. TogglePlayerControllable(playerid, true);
  951. 951. TeamKill2[playerid] = 1;
  952. 952. return 1;
  953. 953.}
  954. 954.
  955. 955.public OnPlayerLogin(playerid,const string[])
  956. 956.{
  957. 957. new pname2[MAX_PLAYER_NAME];
  958. 958. new pname3[MAX_PLAYER_NAME];
  959. 959. new string2[64];
  960. 960. new string3[128];
  961. 961. GetPlayerName(playerid, pname2, sizeof(pname2));
  962. 962. format(string2, sizeof(string2), "Benutzer/%s.ini", pname2);
  963. 963. new File: UserFile = fopen(string2, io_read);
  964. 964.
  965. 965. if (UserFile)
  966. 966. {
  967. 967. new valtmp[128];
  968. 968. fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);
  969. 969.
  970. 970. if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0))
  971. 971. {
  972. 972. new key[128],val[128];
  973. 973. new Data[128];
  974. 974. while(fread(UserFile,Data,sizeof(Data)))
  975. 975. {
  976. 976. key = ini_GetKey(Data);
  977. 977. if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pScore] = strval( val ); }
  978. 978. if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
  979. 979. if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
  980. 980. GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
  981. 981. }
  982. 982. fclose(UserFile);
  983. 983. gPlayerLogged[playerid] = 1;
  984. 984. gPlayerAccount[playerid] = 1;
  985. 985. new kills = PlayerInfo[playerid][pScore];
  986. 986. SetPlayerScore(playerid, kills);
  987. 987. GetPlayerName(playerid, pname3, sizeof(pname3));
  988. 988. format(string3, sizeof(string3), "Willkommen %s, du bist nun eingeloggt!", pname3);
  989. 989. SendClientMessage(playerid, COLOR_WEIS,string3);
  990. 990. }
  991. 991. else
  992. 992. {
  993. 993. SendClientMessage(playerid, COLOR_GRAU, " Falsches Passwort");
  994. 994. fclose(UserFile);
  995. 995. }
  996. 996. }
  997. 997. return 1;
  998. 998.}
  999. 999.
  1000. 1000.public OnPlayerUpdate(playerid)
  1001. 1001.{
  1002. 1002. if(IsPlayerConnected(playerid))
  1003. 1003. {
  1004. 1004. if(gPlayerLogged[playerid])
  1005. 1005. {
  1006. 1006. new string3[32];
  1007. 1007. new pname3[MAX_PLAYER_NAME];
  1008. 1008. GetPlayerName(playerid, pname3, sizeof(pname3));
  1009. 1009. format(string3, sizeof(string3), "Benutzer/%s.ini", pname3);
  1010. 1010. new File: pFile = fopen(string3, io_write);
  1011. 1011. if (pFile)
  1012. 1012. {
  1013. 1013. new var[32];
  1014. 1014. format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
  1015. 1015. fclose(pFile);
  1016. 1016. new File: hFile = fopen(string3, io_append);
  1017. 1017. PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
  1018. 1018. format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pScore]);fwrite(hFile, var);
  1019. 1019. format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
  1020. 1020. format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
  1021. 1021. fclose(hFile);
  1022. 1022. }
  1023. 1023. }
  1024. 1024. }
  1025. 1025. return 1;
  1026. 1026.}
  1027. 1027.
  1028. 1028.public ShowStats(playerid,targetid)
  1029. 1029.{
  1030. 1030. if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  1031. 1031. {
  1032. 1032. new cash = GetPlayerMoney(targetid);
  1033. 1033. new deaths = PlayerInfo[targetid][pDeaths];
  1034. 1034. new kills = PlayerInfo[targetid][pScore];
  1035. 1035. new name[MAX_PLAYER_NAME];
  1036. 1036. GetPlayerName(targetid, name, sizeof(name));
  1037. 1037. new Float:px,Float:py,Float:pz;
  1038. 1038. GetPlayerPos(targetid, px, py, pz);
  1039. 1039. new coordsstring[256];
  1040. 1040. SendClientMessage(playerid, COLOR_ORANGE,"_______________________________________");
  1041. 1041. format(coordsstring, sizeof(coordsstring),"*** %s ***",name);
  1042. 1042. SendClientMessage(playerid, COLOR_WEIS,coordsstring);
  1043. 1043. format(coordsstring, sizeof(coordsstring), "Kills:[%d] Deaths:[%d] Cash:[$%d]",kills,deaths,cash);
  1044. 1044. SendClientMessage(playerid, COLOR_ROT,coordsstring);
  1045. 1045. SendClientMessage(playerid, COLOR_ORANGE,"_______________________________________");
  1046. 1046. }
  1047. 1047.}
  1048. 1048.
  1049. 1049.public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1050. 1050.{
  1051. 1051. if(dialogid == DIALOG_WAFFEN)
  1052. 1052. {
  1053. 1053. if(listitem == 0)
  1054. 1054. {
  1055. 1055. ShowPlayerDialog(playerid,DIALOG_HANDWAFFEN,DIALOG_STYLE_LIST, "Handwaffen", "Schlagring\nGolf Club\nKnübel\nMesser\nBaseballschläger\nSchaufel\nBillard Queue\nKantana\nDoppelten Dildo\nkleinen Vibrator\ngroßen Vibrator\nweißen Dildo\nBlumenstrauß\nStock", "Auswählen", "Abbrechen");
  1056. 1056. }
  1057. 1057. if(listitem == 1)
  1058. 1058. {
  1059. 1059. ShowPlayerDialog(playerid,DIALOG_FLUGWAFFEN,DIALOG_STYLE_LIST, "Flugwaffen", "Granaten\nTränengas\nMolotowcocktail", "Auswählen", "Abbrechen");
  1060. 1060. }
  1061. 1061. if(listitem == 2)
  1062. 1062. {
  1063. 1063. ShowPlayerDialog(playerid,DIALOG_PISTOLEN,DIALOG_STYLE_LIST, "Pistolen", "9mm Pistole\n9mm Pistole + Schalldämpfer\nDesert eagle", "Auswählen", "Abbrechen");
  1064. 1064. }
  1065. 1065. if(listitem == 3)
  1066. 1066. {
  1067. 1067. ShowPlayerDialog(playerid,DIALOG_GUNS,DIALOG_STYLE_LIST, "Guns", "Pumpgun\nAbgesägte Pumpgun\nAutomatike Pumpgun", "Auswählen", "Abbrechen");
  1068. 1068. }
  1069. 1069. if(listitem == 4)
  1070. 1070. {
  1071. 1071. ShowPlayerDialog(playerid,DIALOG_SCHNELLFEUERWAFFEN,DIALOG_STYLE_LIST, "Schnellfeuerwaffen", "Micro Uzi\nMp5\nTec 9", "Auswählen", "Abbrechen");
  1072. 1072. }
  1073. 1073. if(listitem == 5)
  1074. 1074. {
  1075. 1075. ShowPlayerDialog(playerid,DIALOG_ZWEIHANDWAFFEN,DIALOG_STYLE_LIST, "Zweihandwaffen", "M4\nAK47", "Auswählen", "Abbrechen");
  1076. 1076. }
  1077. 1077. if(listitem == 6)
  1078. 1078. {
  1079. 1079. ShowPlayerDialog(playerid,DIALOG_SNIPER,DIALOG_STYLE_LIST, "Sniper", "Country Rifle\nSniper Rifle", "Auswählen", "Abbrechen");
  1080. 1080. }
  1081. 1081. if(listitem == 7)
  1082. 1082. {
  1083. 1083. ShowPlayerDialog(playerid,DIALOG_SONSTIGES,DIALOG_STYLE_LIST, "Sonstiges", "Taschenbombe + Fernzünder\nSpraydose\nFeuerlöscher\nFlammenwerfer", "Auswählen", "Abbrechen");
  1084. 1084. }
  1085. 1085.}
  1086. 1086.
  1087. 1087. if(dialogid == DIALOG_HANDWAFFEN)
  1088. 1088. {
  1089. 1089. if(listitem == 0)
  1090. 1090. {
  1091. 1091. GivePlayerWeapon(playerid, 1,1);
  1092. 1092. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir ein Schlagring geholt.");
  1093. 1093. }
  1094. 1094. if(listitem == 1)
  1095. 1095. {
  1096. 1096. GivePlayerWeapon(playerid, 2,1);
  1097. 1097. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir ein Golf Schläger geholt.");
  1098. 1098. }
  1099. 1099. if(listitem == 2)
  1100. 1100. {
  1101. 1101. GivePlayerWeapon(playerid, 3,1);
  1102. 1102. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir ein Knübel geholt.");
  1103. 1103. }
  1104. 1104. if(listitem == 3)
  1105. 1105. {
  1106. 1106. GivePlayerWeapon(playerid, 4,1);
  1107. 1107. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir ein Messer geholt.");
  1108. 1108. }
  1109. 1109. if(listitem == 4)
  1110. 1110. {
  1111. 1111. GivePlayerWeapon(playerid, 5,1);
  1112. 1112. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir ein Baseballschläger geholt.");
  1113. 1113. }
  1114. 1114. if(listitem == 5)
  1115. 1115. {
  1116. 1116. GivePlayerWeapon(playerid, 6,1);
  1117. 1117. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir eine Schaufel geholt.");
  1118. 1118. }
  1119. 1119. if(listitem == 6)
  1120. 1120. {
  1121. 1121. GivePlayerWeapon(playerid, 7,1);
  1122. 1122. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir ein Billard Queue geholt.");
  1123. 1123. }
  1124. 1124. if(listitem == 7)
  1125. 1125. {
  1126. 1126. GivePlayerWeapon(playerid, 8,1);
  1127. 1127. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir eine Kantana geholt.");
  1128. 1128. }
  1129. 1129. if(listitem == 8)
  1130. 1130. {
  1131. 1131. GivePlayerWeapon(playerid, 10,1);
  1132. 1132. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir ein Doppelten Dildo geholt.");
  1133. 1133. }
  1134. 1134. if(listitem == 9)
  1135. 1135. {
  1136. 1136. GivePlayerWeapon(playerid, 11,1);
  1137. 1137. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir einen kleinen Vibrator geholt.");
  1138. 1138. }
  1139. 1139. if(listitem == 10)
  1140. 1140. {
  1141. 1141. GivePlayerWeapon(playerid, 12,1);
  1142. 1142. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir einen großen Vibrator geholt.");
  1143. 1143. }
  1144. 1144. if(listitem == 11)
  1145. 1145. {
  1146. 1146. GivePlayerWeapon(playerid, 13,1);
  1147. 1147. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir einen weißen Dildo geholt.");
  1148. 1148. }
  1149. 1149. if(listitem == 12)
  1150. 1150. {
  1151. 1151. GivePlayerWeapon(playerid, 14,1);
  1152. 1152. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir einen Blumenstrauß geholt.");
  1153. 1153. }
  1154. 1154. if(listitem == 13)
  1155. 1155. {
  1156. 1156. GivePlayerWeapon(playerid, 15,1);
  1157. 1157. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir einen Stock geholt.");
  1158. 1158. }
  1159. 1159.}
  1160. 1160.
  1161. 1161. if(dialogid == DIALOG_FLUGWAFFEN)
  1162. 1162. {
  1163. 1163. if(listitem == 0)
  1164. 1164. {
  1165. 1165. GivePlayerWeapon(playerid, 16,20);
  1166. 1166. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 20 Granaten geholt.");
  1167. 1167. }
  1168. 1168. if(listitem == 1)
  1169. 1169. {
  1170. 1170. GivePlayerWeapon(playerid, 17,20);
  1171. 1171. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 20 Tränengas geholt.");
  1172. 1172. }
  1173. 1173. if(listitem == 2)
  1174. 1174. {
  1175. 1175. GivePlayerWeapon(playerid, 18,20);
  1176. 1176. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 20 Molotowcocktails geholt.");
  1177. 1177. }
  1178. 1178.}
  1179. 1179.
  1180. 1180. if(dialogid == DIALOG_PISTOLEN)
  1181. 1181. {
  1182. 1182. if(listitem == 0)
  1183. 1183. {
  1184. 1184. GivePlayerWeapon(playerid, 22,50);
  1185. 1185. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 50 Schuss 9mm Pistole geholt.");
  1186. 1186. }
  1187. 1187. if(listitem == 1)
  1188. 1188. {
  1189. 1189. GivePlayerWeapon(playerid, 23,50);
  1190. 1190. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 50 Schuss 9mm Pistole (Schalldämpfer) geholt.");
  1191. 1191. }
  1192. 1192. if(listitem == 2)
  1193. 1193. {
  1194. 1194. GivePlayerWeapon(playerid, 23,50);
  1195. 1195. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 50 Schuss Desert eagle geholt.");
  1196. 1196. }
  1197. 1197.}
  1198. 1198.
  1199. 1199. if(dialogid == DIALOG_GUNS)
  1200. 1200. {
  1201. 1201. if(listitem == 0)
  1202. 1202. {
  1203. 1203. GivePlayerWeapon(playerid, 25,30);
  1204. 1204. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 30 Schuss Pumpgun* geholt.");
  1205. 1205. }
  1206. 1206. if(listitem == 1)
  1207. 1207. {
  1208. 1208. GivePlayerWeapon(playerid, 26,30);
  1209. 1209. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 30 Abgesägte Pumpgun* geholt.");
  1210. 1210. }
  1211. 1211. if(listitem == 2)
  1212. 1212. {
  1213. 1213. GivePlayerWeapon(playerid, 27,30);
  1214. 1214. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 30 Schuss Automatike Pumpgun* geholt.");
  1215. 1215. }
  1216. 1216.}
  1217. 1217.
  1218. 1218. if(dialogid == DIALOG_SCHNELLFEUERWAFFEN)
  1219. 1219. {
  1220. 1220. if(listitem == 0)
  1221. 1221. {
  1222. 1222. GivePlayerWeapon(playerid, 28,120);
  1223. 1223. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 120x Micro Uzi geholt.");
  1224. 1224. }
  1225. 1225. if(listitem == 1)
  1226. 1226. {
  1227. 1227. GivePlayerWeapon(playerid, 29,120);
  1228. 1228. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 120 Schuss Mp5 geholt.");
  1229. 1229. }
  1230. 1230. if(listitem == 2)
  1231. 1231. {
  1232. 1232. GivePlayerWeapon(playerid, 32,120);
  1233. 1233. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 120 Schuss Tec 9 geholt.");
  1234. 1234. }
  1235. 1235.}
  1236. 1236.
  1237. 1237. if(dialogid == DIALOG_ZWEIHANDWAFFEN)
  1238. 1238. {
  1239. 1239. if(listitem == 0)
  1240. 1240. {
  1241. 1241. GivePlayerWeapon(playerid, 31,120);
  1242. 1242. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 120 Schuss M4 geholt.");
  1243. 1243. }
  1244. 1244. if(listitem == 1)
  1245. 1245. {
  1246. 1246. GivePlayerWeapon(playerid, 30,120);
  1247. 1247. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 120 Schuss AK47 geholt.");
  1248. 1248. }
  1249. 1249.}
  1250. 1250.
  1251. 1251. if(dialogid == DIALOG_SNIPER)
  1252. 1252. {
  1253. 1253. if(listitem == 0)
  1254. 1254. {
  1255. 1255. GivePlayerWeapon(playerid, 33,25);
  1256. 1256. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 25 Schuss Country Rifle geholt.");
  1257. 1257. }
  1258. 1258. if(listitem == 1)
  1259. 1259. {
  1260. 1260. GivePlayerWeapon(playerid, 34,25);
  1261. 1261. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 25 Schuss Sniper rifle geholt.");
  1262. 1262. }
  1263. 1263.}
  1264. 1264.
  1265. 1265. if(dialogid == DIALOG_SONSTIGES)
  1266. 1266. {
  1267. 1267. if(listitem == 0)
  1268. 1268. {
  1269. 1269. GivePlayerWeapon(playerid, 39,10);
  1270. 1270. GivePlayerWeapon(playerid, 40,1);
  1271. 1271. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir 10 Taschenbomben und ein 1 Fernzünder geholt.");
  1272. 1272. }
  1273. 1273. if(listitem == 1)
  1274. 1274. {
  1275. 1275. GivePlayerWeapon(playerid, 41,500);
  1276. 1276. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir eine Spraydose (500) geholt.");
  1277. 1277. }
  1278. 1278. if(listitem == 2)
  1279. 1279. {
  1280. 1280. GivePlayerWeapon(playerid, 42,500);
  1281. 1281. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir einen Feuerlöscher (500) geholt.");
  1282. 1282. }
  1283. 1283. if(listitem == 3)
  1284. 1284. {
  1285. 1285. GivePlayerWeapon(playerid, 37,500);
  1286. 1286. SendClientMessage(playerid, COLOR_GRAU,"Du hast dir einen Flammenwerfer (500) geholt.");
  1287. 1287. }
  1288. 1288.}
  1289. 1289. return 1;
  1290. 1290.}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement