Advertisement
Guest User

0.3

a guest
Oct 7th, 2011
606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.01 KB | None | 0 0
  1. /* Miniselfmade | Teamdeathmatch*/ /*
  2.  
  3. Gemacht ist:
  4. - MessageOfTheDay (/setnews) || Kann noch jeder User benutzen!
  5. - Login und Register System || Nicht alle Systeme Online!
  6. - OnPlayerRequestClass
  7. - Fraktion Aussuchbar (/teamchange) || Per Dialog - LVPD,ItalienMafia,RussischeMafia,MS13,TheAmis - || Noch nicht alle Fraks (Nur LVPD)
  8. - /help System
  9. - Support System
  10. - Wer die Meistenkills hat
  11. - Fahrzeuge für alle Fraktionen
  12.  
  13. ----------------------------------------------------------------------------------------------------------------------
  14.  
  15. ToDO:
  16. - Spieler nach Login Spawnen
  17. - 4Fraktionen (LVPD,RussischeMafia,MS13,Swat) || Standard ist er Zivilist ||
  18. - 3DLabel über Spieler in welcher Frak er ist.
  19. - SpawnWaffen für die Fraktionen
  20. - WaffenMarkt
  21. - Waffen bleiben auf dem Boden als Pickup Liegen.
  22. - ClickPlayer Stats
  23. - Textdraw kill und Verlust anzeige
  24.  
  25. ----------------------------------------------------------------------------------------------------------------------
  26.  
  27. Admin Befehle:
  28.  
  29. /veh
  30. /setnews
  31.  
  32. ----------------------------------------------------------------------------------------------------------------------
  33. Befehle:
  34. /veh
  35. /support
  36. /teamchange
  37. /setnews
  38.  
  39.  
  40. ----------------------------------------------------------------------------------------------------------------------
  41. Bekannte Buggys:
  42. - Spawn Dialog (News) Steht "Eingeloggt..."
  43. - Textdraw mit /teamchange über spieler
  44. ----------------------------------------------------------------------------------------------------------------------
  45. Credits:
  46.  
  47. Jones (Scripting)
  48. Lowe (Mit Hilfe bei den Autos)
  49.  
  50. */
  51. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  52. /* Includes */
  53. #include <a_samp>
  54. #include <Dini>
  55. #pragma tabsize 0
  56.  
  57. #define grau 0xBFC0C2FF
  58. #define weiß 0xFFFFFFFF
  59. #define blau 0x0000CDFF
  60. #define rot 0xB50000FF
  61. #define orange 0xFF8500FF
  62. #define pink 0xFF00B5FF
  63.  
  64. #define DIALOG_DYNNEWS 1
  65. #define TEAMCHANGE 2
  66. #define report 3
  67. #define Hilfe 4
  68. #define DIALOG_LOGIN 5
  69. #define DIALOG_REG 6
  70.  
  71. enum pInfo
  72. {
  73. skin,
  74. eingeloggt,
  75. Admin,
  76. Premium,
  77. Geld,
  78. Score
  79. }
  80.  
  81. new Spieler[MAX_PLAYERS][pInfo];
  82. new newstext24;
  83. new string32[256];
  84. new ShootingKills[MAX_PLAYERS];
  85. new ShootingWinner = 999;
  86. new ShootingWinnerKills= 0;
  87. new Text3D:lvpd[MAX_PLAYERS];
  88. new Text3D:russen[MAX_PLAYERS];
  89. new Text3D:ms13[MAX_PLAYERS];
  90. new Text3D:swat[MAX_PLAYERS];
  91. new fraktion[MAX_PLAYERS];
  92.  
  93. forward ticketsystem(string[]);
  94.  
  95. main()
  96. {
  97. print("\n----------------------------------");
  98. print(" Miniselfmade by Jones");
  99. print("----------------------------------\n");
  100. }
  101.  
  102. public OnGameModeInit()
  103. {
  104. SetGameModeText("Team - Deathmatch");
  105. /* Cars */
  106. AddStaticVehicle(560,2143.0220,926.1692,10.4509,180.4443,0,0); // Car1
  107. AddStaticVehicle(462,2002.0603,1081.6396,10.4128,91.1565,1,1); // Car2
  108. AddStaticVehicle(462,2002.1115,1080.5248,10.4158,88.8981,1,1); // Car3
  109. AddStaticVehicle(462,2002.0604,1079.2461,10.4190,93.5108,1,1); // Car4
  110. AddStaticVehicle(462,2002.0939,1077.6826,10.4127,94.3703,1,1); // Car5
  111. AddStaticVehicle(462,2002.0740,1076.2335,10.4203,92.4869,1,1); // Car6
  112. AddStaticVehicle(462,2002.0638,1074.9719,10.4199,91.0105,1,1); // Car7
  113. AddStaticVehicle(462,2002.1525,1073.6180,10.4201,92.0846,1,1); // Car8
  114. AddStaticVehicle(462,2002.1644,1072.1401,10.4202,92.3538,1,1); // Car9
  115. AddStaticVehicle(522,1659.8749,1804.6687,10.3907,243.1712,0,0); // Ms13
  116. AddStaticVehicle(522,1660.4276,1806.1807,10.3907,249.4258,0,0); // Ms13
  117. AddStaticVehicle(522,1660.9309,1807.8770,10.3938,249.4459,0,0); // Ms13
  118. AddStaticVehicle(560,1686.2272,1793.8324,10.5251,90.2164,0,0); // Ms13
  119. AddStaticVehicle(560,1674.3794,1793.7877,10.5253,90.2173,0,0); // Ms13
  120. AddStaticVehicle(560,1659.7721,1786.7843,10.5257,0.4551,0,0); // Ms13
  121. AddStaticVehicle(463,1670.7012,1822.9150,10.3609,114.4929,0,0); // Ms13
  122. AddStaticVehicle(555,1670.5668,1801.0579,10.5049,179.1518,9,9); // Ms13
  123. AddStaticVehicle(555,1664.2791,1818.3879,10.5046,163.9847,9,9); // Ms13
  124. AddStaticVehicle(490,952.7424,1741.0210,8.7771,270.6807,0,0); // Swat
  125. AddStaticVehicle(490,952.6483,1725.8394,8.7774,270.2787,0,0); // Swat
  126. AddStaticVehicle(490,952.6675,1721.9918,8.7755,269.6119,0,0); // Swat
  127. AddStaticVehicle(490,952.7669,1745.5757,8.7750,269.5981,0,0); // Swat
  128. AddStaticVehicle(560,984.8946,1721.7582,8.3605,89.4167,1,1); // Swat
  129. AddStaticVehicle(560,984.6682,1745.1394,8.3532,91.4659,1,1); // Swat
  130. AddStaticVehicle(598,951.9563,1757.5100,8.3959,229.3501,0,1); // Swat
  131. AddStaticVehicle(598,952.3017,1709.1230,8.3912,315.2296,0,1); // Swat
  132. AddStaticVehicle(599,972.8371,1701.5679,8.8360,359.8968,0,1); // Swat
  133. AddStaticVehicle(599,973.0172,1671.3124,8.8364,359.9992,0,1); // Swat
  134. AddStaticVehicle(523,984.9575,1725.5333,8.2175,90.2866,0,1); // Swat
  135. AddStaticVehicle(523,984.9401,1727.2120,8.2213,86.7847,0,1); // Swat
  136. AddStaticVehicle(523,984.9012,1728.8276,8.2206,92.9798,0,1); // Swat
  137. AddStaticVehicle(427,972.9852,1766.5101,8.7805,180.4215,0,1); // Swat
  138. AddStaticVehicle(560,2260.7871,2459.6228,10.5249,0.0974,0,0); // LVPD Sultan
  139. AddStaticVehicle(560,2256.1150,2459.5906,10.5249,357.9030,0,0); // LVPD Sultan
  140. AddStaticVehicle(560,2251.8218,2459.4866,10.5260,0.4717,0,0); // LVPD Sultan
  141. AddStaticVehicle(598,2255.9626,2477.3440,10.5653,180.0000,0,0); // LVPD Car
  142. AddStaticVehicle(598,2260.2932,2477.2979,10.5676,179.7025,0,0); // LVPD Car
  143. AddStaticVehicle(598,2251.6809,2477.5808,10.5676,180.2353,0,0); // LVPD Car
  144. AddStaticVehicle(541,2260.5061,2443.5166,10.4451,358.3968,0,0); // LVPD Bullet
  145. AddStaticVehicle(541,2255.9702,2443.3860,10.4450,359.9968,0,0); // LVPD Bullet
  146. AddStaticVehicle(541,2251.9602,2443.0903,10.4450,359.3972,0,0); // LVPD Bullet
  147. AddStaticVehicle(522,2243.0857,2437.1912,10.3918,0.4973,0,0); // LVPD NRG
  148. AddStaticVehicle(522,2240.8386,2437.2632,10.3876,0.0000,0,0); // LVPD NRG
  149. AddStaticVehicle(522,2239.2769,2437.0840,10.3855,359.9993,0,0); // LVPD NRG
  150. AddStaticVehicle(522,2558.7268,1806.6288,10.3845,0.1514,0,0); // Russen NRG
  151. AddStaticVehicle(522,2556.8914,1806.6858,10.3835,1.0339,0,0); // Russen NRG
  152. AddStaticVehicle(522,2554.8120,1806.8113,10.3833,357.2869,0,0); // Russen NRG
  153. AddStaticVehicle(560,2551.5161,1806.5327,10.5278,0.1111,0,0); // Russen Sultan
  154. AddStaticVehicle(560,2547.1465,1806.5002,10.5256,359.9734,0,0); // Russen Sultan
  155. AddStaticVehicle(560,2542.5637,1806.3644,10.5282,0.1131,0,0); // Russen Sultan
  156. AddStaticVehicle(541,2543.2537,1839.2509,10.4493,180.1684,0,0); // Russen Bullet
  157. AddStaticVehicle(541,2547.8621,1839.4849,10.4471,180.1126,0,0); // Russen Bullet
  158. AddStaticVehicle(541,2552.4053,1839.5549,10.4478,180.1556,0,0); // Russene Bullet
  159. AddStaticVehicle(411,2557.9856,1839.4075,10.5474,179.2597,0,0); // Russen Infernus
  160. AddStaticVehicle(411,2562.5291,1839.3551,10.5509,180.0000,0,0); // Russen Infernus
  161. AddStaticVehicle(411,2567.7510,1839.6097,10.5453,180.0000,0,0); // Russen Infernus
  162. AddStaticVehicle(599,2277.9438,2477.5605,11.0358,179.9983,0,0); // LVPD Ranger
  163. AddStaticVehicle(599,2273.3796,2477.5901,11.0177,179.6074,0,0); // LVPD Ranger
  164. AddStaticVehicle(599,2269.0701,2477.6313,11.0178,180.0913,0,0); // LVPD Ranger
  165.  
  166. /* 3DLabel */
  167. Create3DTextLabel("Du willst dein Teamchangen?\nOder du willst einem Team Beitreten?\n\nEinfach /Teamchange eingeben um es zu Wechseln oder rein zu kommen!",weiß,2023.4618,1101.5831,10.8203,8.0,0,0);
  168. Create3DTextLabel("Du willst die Server News nicht mehr sehen?\n\nEinfach /nonews eingeben.",weiß,2013.5790,1101.0854,10.8203,8.0,0,0);
  169. Create3DTextLabel("Du willst doch die Server NEws wieder sehen?\n\nEinfach /shownews eingeben.",weiß,2024.6320,1108.1024,10.8130,8.0,0,0);
  170. return 1;
  171. }
  172.  
  173. public OnGameModeExit()
  174. {
  175. return 1;
  176. }
  177.  
  178. public OnPlayerRequestClass(playerid, classid)
  179. {
  180. SetPlayerPos(playerid, 2016.1104,1106.9824,10.8203);
  181. SetPlayerCameraPos(playerid, 2018.0448,1102.6039,10.8203);
  182. SetPlayerCameraLookAt(playerid, 2016.1104,1106.9824,10.8203);
  183. return 1;
  184. }
  185.  
  186. public OnPlayerConnect(playerid)
  187. {
  188. /* Das Login System */
  189. new string[64];
  190. new pname[MAX_PLAYERS],accFormat[128];
  191. GetPlayerName(playerid,pname,sizeof pname);
  192. format(accFormat,sizeof accFormat,"TDM/User/%s.ini",pname);
  193. if(fexist(accFormat))
  194. {
  195. ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"TDM | Einloggen","{FFFFFF}Herzlich Willkommen auf dem {CC0000}Team{FFFFFF}-{CC0000}Deathmatch{FFFFFF} Server\nKleine Info:\n\nScripter: {99FFCC}Jones{FFFFFF}\nMapper: {99FFCC}Nicht Vorhanden{FFFFFF}\nBesitzer: {99FFCC}Jones{FFFFFF}\n\nWie ich sehe hast du noch kein Account.\nBitte logge dich ein:","Abbrechen","Login");
  196. format(string, sizeof(string), "Willkommen Zurück | %s | Deine ID: %d", pname,playerid) ;
  197. }
  198. else
  199. {
  200. ShowPlayerDialog(playerid,DIALOG_REG,1,"TDM | Registrieren","{FFFFFF}Herzlich Willkommen auf dem {CC0000}Team{FFFFFF}-{CC0000}Deathmatch{FFFFFF} Server\n\nDein Account wurde noch {CC0000}nicht{FFFFFF} gefunden!\n\nBitte Registriere dich:","Abbrechen","Weiter");
  201. }
  202. /* Ende des Systems */
  203. ShootingKills[playerid] = 0;
  204. ShootingWinner = 999;
  205. ShootingWinnerKills = 0;
  206. GivePlayerMoney(playerid,120000);
  207. fraktion[playerid] = 0;
  208. Delete3DTextLabel(lvpd[playerid]);
  209. Delete3DTextLabel(swat[playerid]);
  210. Delete3DTextLabel(russen[playerid]);
  211. Delete3DTextLabel(ms13[playerid]);
  212. return 1;
  213. }
  214.  
  215. public OnPlayerDisconnect(playerid, reason)
  216. {
  217. /* Das Login System */
  218. new pname[MAX_PLAYERS],accFormat[128];
  219. GetPlayerName(playerid,pname,sizeof pname);
  220. format(accFormat,sizeof accFormat,"TDM/User/%s.ini",pname);
  221. if(fexist(accFormat) && Spieler[playerid][eingeloggt])
  222. {
  223. dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
  224. dini_IntSet(accFormat,"Premium",Spieler[playerid][Premium]);
  225. dini_IntSet(accFormat,"Admin",Spieler[playerid][Admin]);
  226. dini_IntSet(accFormat,"Geld",Spieler[playerid][Geld]);
  227. dini_IntSet(accFormat,"Score",Spieler[playerid][Score]);
  228. }
  229. Spieler[playerid][eingeloggt] = 0;
  230. /* Ende des Systems */
  231. ShootingKills[playerid] = 0;
  232. ShootingWinnerKills = 0;
  233. Delete3DTextLabel(lvpd[playerid]);
  234. Delete3DTextLabel(swat[playerid]);
  235. Delete3DTextLabel(russen[playerid]);
  236. Delete3DTextLabel(ms13[playerid]);
  237. return 1;
  238. }
  239.  
  240. public OnPlayerSpawn(playerid)
  241. {
  242. if(fraktion[playerid] == 0)
  243. {
  244. SetPlayerPos(playerid, 2016.1104,1106.9824,10.8203);
  245. SetPlayerSkin(playerid,292);
  246. GivePlayerWeapon(playerid,4,1);
  247. GivePlayerWeapon(playerid,24,999);
  248. }
  249. SendClientMessage(playerid,rot,"Du kannst mit dem Befehl /teamchange dein Team Wechseln!");
  250. ShowPlayerDialog(playerid,DIALOG_DYNNEWS,DIALOG_STYLE_MSGBOX,"Server Nachrichten",string32,"Schließen","");
  251. Delete3DTextLabel(lvpd[playerid]);
  252. Delete3DTextLabel(swat[playerid]);
  253. Delete3DTextLabel(russen[playerid]);
  254. Delete3DTextLabel(ms13[playerid]);
  255. return 1;
  256. }
  257.  
  258. public OnPlayerDeath(playerid, killerid, reason)
  259. {
  260. new string[256];
  261. ShootingKills[killerid] ++;
  262. if(ShootingKills[killerid] > ShootingWinnerKills)
  263. {
  264. new killer[MAX_PLAYER_NAME];
  265. ShootingWinner = killerid;
  266. ShootingWinnerKills = ShootingKills[killerid];
  267. GetPlayerName(killerid, killer, sizeof(killer));
  268. for(new i = 0; i < MAX_PLAYERS; i++)
  269. {
  270. if(IsPlayerConnected(i))
  271. {
  272. format(string, sizeof(string), "> %s ist mit %d Kills in Führung <",killer,ShootingWinnerKills);
  273. SendClientMessage(i, rot, string);
  274. GivePlayerMoney(killerid,2000);
  275. SendClientMessage(killerid,weiß,"2000$ grund: Kill an User :P");
  276. }
  277. }
  278. return 1;
  279. }
  280. fraktion[playerid] = 0;
  281. Delete3DTextLabel(lvpd[playerid]);
  282. Delete3DTextLabel(swat[playerid]);
  283. Delete3DTextLabel(russen[playerid]);
  284. Delete3DTextLabel(ms13[playerid]);
  285. return 1;
  286. }
  287.  
  288. public OnVehicleSpawn(vehicleid)
  289. {
  290. return 1;
  291. }
  292.  
  293. public OnVehicleDeath(vehicleid, killerid)
  294. {
  295. return 1;
  296. }
  297.  
  298. public OnPlayerText(playerid, text[])
  299. {
  300. return 1;
  301. }
  302.  
  303. public OnPlayerCommandText(playerid, cmdtext[])
  304. {
  305. new cmd[256];
  306. new tmp[256];
  307. new string[256];
  308. new idx;
  309. new sendername[MAX_PLAYER_NAME];
  310. cmd = strtok(cmdtext, idx);
  311. /* DcMD Defines */
  312. dcmd(setnews,7,cmdtext);
  313. /* Normale Defines */
  314. if (strcmp("/adminwerden", cmdtext, true, 10) == 0)
  315. {
  316. SendClientMessage(playerid,rot,"Admin Rechte Bekommen.");
  317. Spieler[playerid][Admin] = 2000;
  318. return 1;
  319. }
  320. if(strcmp(cmd, "/support", true) == 0)
  321. {
  322. if(IsPlayerConnected(playerid))
  323. {
  324. new offset = idx, result[64], length = strlen(cmdtext), spielername[MAX_PLAYER_NAME+1], ticket[256+1];
  325. GetPlayerName(playerid, sendername, sizeof(sendername));
  326. while ((idx < length) && (cmdtext[idx] <= ' '))
  327. {
  328. idx++;
  329. }
  330. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  331. {
  332. result[idx - offset] = cmdtext[idx];
  333. idx++;
  334. }
  335. result[idx - offset] = EOS;
  336. if(!strlen(result))
  337. {
  338. GetPlayerName(playerid,spielername,MAX_PLAYER_NAME);
  339. format(ticket,256,"{FFFFFF}Willkommen im {770000}Team {0000CD}Deathmatch{FFFFFF} Support Menü\nBenutzer: {FF8400}%s{FFFFFF}\nTeile uns nun dein {770000}Problem{FFFFFF} mit.",spielername);
  340. ShowPlayerDialog(playerid,report,DIALOG_STYLE_INPUT,"{FFFFFF}Support System",ticket,"Senden","Abbrechen");
  341. return 1;
  342. }
  343. SendClientMessage(playerid, rot, "Schreibe bitte nur /support!");
  344. }
  345. return 1;
  346. }
  347. if(strcmp("/teamchange", cmdtext, true, 10) == 0)
  348. {
  349. ShowPlayerDialog(playerid,TEAMCHANGE,DIALOG_STYLE_LIST,"Teamchange","LVPD\nRussen\nMS13\nS.W.A.T","Auswählen","");
  350. return 1;
  351. }
  352. if(strcmp("/help", cmdtext, true, 10) == 0)
  353. {
  354. ShowPlayerDialog(playerid,Hilfe,DIALOG_STYLE_LIST,"TDM | Hilfe","Befehle\nAdmin Befehle\nInfo´s","Auswählen","");
  355. return 1;
  356. }
  357. if(strcmp(cmd, "/veh", true) == 0)
  358. {
  359. if(IsPlayerConnected(playerid))
  360. {
  361. if (Spieler[playerid][Admin] < 10) return SendClientMessage(playerid, grau, "Du bist kein Admin!");
  362. tmp = strtok(cmdtext, idx);
  363. if(!strlen(tmp)) return SendClientMessage(playerid, grau, "Benutze: /veh [carid] [color1] [color2]");
  364. new car;
  365. car = strval(tmp);
  366. if(car < 400 || car > 611) { SendClientMessage(playerid, grau, "Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
  367. tmp = strtok(cmdtext, idx);
  368. if(!strlen(tmp))
  369. {
  370. SendClientMessage(playerid, grau, "Benutze: /veh [carid] [color1] [color2]");
  371. return 1;
  372. }
  373. new color1;
  374. color1 = strval(tmp);
  375. if(color1 < 0 || color1 > 252) { SendClientMessage(playerid, grau, "Nicht Weniger als 0 oder höher 252 !"); return 1; }
  376. tmp = strtok(cmdtext, idx);
  377. if(!strlen(tmp)) return SendClientMessage(playerid, grau, "Benutze: /veh [carid] [color1] [color2]");
  378. new color2;
  379. //new pname[MAX_PLAYER_NAME];
  380. color2 = strval(tmp);
  381. if(color2 < 0 || color2 > 252) { SendClientMessage(playerid, grau, "Nicht weniger als 0 oder höher als 252!"); return 1; }
  382. new Float:X,Float:Y,Float:Z;
  383. GetPlayerPos(playerid, X,Y,Z);
  384. new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
  385. SetVehicleNumberPlate(carid, "{009900}Admin");
  386. PutPlayerInVehicle(playerid,carid,0);
  387. format(string, sizeof(string), "Auto mit der ID %d hergestellt.", carid);
  388. SendClientMessage(playerid, grau, string);
  389. }
  390. return 1;
  391. }
  392. return 0;
  393. }
  394.  
  395. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  396. {
  397. return 1;
  398. }
  399.  
  400. public OnPlayerExitVehicle(playerid, vehicleid)
  401. {
  402. return 1;
  403. }
  404.  
  405. public OnPlayerStateChange(playerid, newstate, oldstate)
  406. {
  407. return 1;
  408. }
  409.  
  410. public OnPlayerEnterCheckpoint(playerid)
  411. {
  412. return 1;
  413. }
  414.  
  415. public OnPlayerLeaveCheckpoint(playerid)
  416. {
  417. return 1;
  418. }
  419.  
  420. public OnPlayerEnterRaceCheckpoint(playerid)
  421. {
  422. return 1;
  423. }
  424.  
  425. public OnPlayerLeaveRaceCheckpoint(playerid)
  426. {
  427. return 1;
  428. }
  429.  
  430. public OnRconCommand(cmd[])
  431. {
  432. return 1;
  433. }
  434.  
  435. public OnPlayerRequestSpawn(playerid)
  436. {
  437. return 1;
  438. }
  439.  
  440. public OnObjectMoved(objectid)
  441. {
  442. return 1;
  443. }
  444.  
  445. public OnPlayerObjectMoved(playerid, objectid)
  446. {
  447. return 1;
  448. }
  449.  
  450. public OnPlayerPickUpPickup(playerid, pickupid)
  451. {
  452. return 1;
  453. }
  454.  
  455. public OnVehicleMod(playerid, vehicleid, componentid)
  456. {
  457. return 1;
  458. }
  459.  
  460. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  461. {
  462. return 1;
  463. }
  464.  
  465. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  466. {
  467. return 1;
  468. }
  469.  
  470. public OnPlayerSelectedMenuRow(playerid, row)
  471. {
  472. return 1;
  473. }
  474.  
  475. public OnPlayerExitedMenu(playerid)
  476. {
  477. return 1;
  478. }
  479.  
  480. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  481. {
  482. return 1;
  483. }
  484.  
  485. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  486. {
  487. return 1;
  488. }
  489.  
  490. public OnRconLoginAttempt(ip[], password[], success)
  491. {
  492. return 1;
  493. }
  494.  
  495. public OnPlayerUpdate(playerid)
  496. {
  497. return 1;
  498. }
  499.  
  500. public OnPlayerStreamIn(playerid, forplayerid)
  501. {
  502. return 1;
  503. }
  504.  
  505. public OnPlayerStreamOut(playerid, forplayerid)
  506. {
  507. return 1;
  508. }
  509.  
  510. public OnVehicleStreamIn(vehicleid, forplayerid)
  511. {
  512. return 1;
  513. }
  514.  
  515. public OnVehicleStreamOut(vehicleid, forplayerid)
  516. {
  517. return 1;
  518. }
  519.  
  520. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  521. {
  522. new pname[MAX_PLAYERS],accFormat[128];
  523. GetPlayerName(playerid,pname,sizeof pname);
  524. format(accFormat,sizeof accFormat,"TDM/User/%s.ini",pname);
  525. if(response)
  526. {
  527. switch(dialogid)
  528. {
  529. case DIALOG_LOGIN:
  530. {
  531. if(!strlen(inputtext))
  532. {
  533. ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Dein Account wurde gefunden! Du kannst dich nun Einloggen.","Abbrechen","Weiter");
  534. return SendClientMessage(playerid,0xFFFFFFFF,"Du hast kein Passwort angegeben!");
  535. }
  536. if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
  537. {
  538. Spieler[playerid][skin] = dini_Int(accFormat,"skin");
  539. Spieler[playerid][eingeloggt] = 1;
  540. Spieler[playerid][Premium] = dini_Int(accFormat, "Premium");
  541. SetPlayerScore(playerid, dini_Int(accFormat, "Score"));
  542. GivePlayerMoney(playerid, dini_Int(accFormat, "Geld")-GivePlayerMoney(playerid));
  543. Spieler[playerid][Admin] = dini_Int(accFormat, "Admin");
  544. SetPlayerPos(playerid, 2016.1104,1106.9824,10.8203);
  545. SendClientMessage(playerid,0xFFFFFFFF,"Du hast dich {CC0000}Eingeloggt{FFFFFF}.");
  546. return 1;
  547. }
  548. else
  549. {
  550. ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Dein Account wurde gefunden! Du kannst dich nun Einloggen.","Abbrechen","Weiter");
  551. SendClientMessage(playerid,0xFFFFFFFF,"Du hast ein falsches Passwort eingegeben!");
  552. }
  553. }
  554. case DIALOG_REG:
  555. {
  556. if(!strlen(inputtext))
  557. {
  558. ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
  559. return SendClientMessage(playerid,0xFFFFFFFF,"Dein Passwort ist zukurz!");
  560. }
  561. dini_Create(accFormat);
  562. dini_Set(accFormat,"Passwort",inputtext);
  563. dini_IntSet(accFormat, "Admin" , 0);
  564. dini_IntSet(accFormat, "Score", 0);
  565. dini_IntSet(accFormat, "Geld", 0);
  566. dini_IntSet(accFormat, "Premium", 0);
  567. Spieler[playerid][Admin] = 0;
  568. Spieler[playerid][eingeloggt] = 1;
  569. SpawnPlayer(playerid);
  570. SetPlayerPos(playerid, 2016.1104,1106.9824,10.8203);
  571. SendClientMessage(playerid,blau,"Du hast einen Account auf dem TDM Server erstellt. (+120.000$)");
  572. return 1;
  573. }
  574. }
  575. }
  576. else
  577. {
  578. switch(dialogid)
  579. {
  580. case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
  581. case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","{FFFFFF}Dein Account wurde {CC0000}nicht{FFFFFF} gefunden. Wir freuen uns das du unseren\n Server gefunden hast. Bitte gib dein Passwort ein!","Abbrechen","Weiter");
  582. }
  583. }
  584. if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
  585. {
  586. Spieler[playerid][skin] = dini_Int(accFormat,"skin");
  587. Spieler[playerid][Admin] = dini_Int(accFormat, "Admin");
  588. Spieler[playerid][Premium] = dini_Int(accFormat, "Premium");
  589. SetPlayerScore(playerid, dini_Int(accFormat, "Score"));
  590. GivePlayerMoney(playerid, dini_Int(accFormat, "Geld")-GivePlayerMoney(playerid));
  591. Spieler[playerid][eingeloggt] = 1;
  592. SpawnPlayer(playerid);
  593. SetPlayerPos(playerid, 2016.1104,1106.9824,10.8203);
  594. SendClientMessage(playerid,0xFFFFFFFF,"Du hast dich Eingeloggt");
  595. return 0;
  596. }
  597. if(dialogid == DIALOG_DYNNEWS)
  598. {
  599. if(response == 1)
  600. {
  601. SendClientMessage(playerid,blau,"News Geschlossen!");
  602. }
  603. return 1;
  604. }
  605. if(dialogid == TEAMCHANGE)
  606. {
  607. if(response == 1)
  608. {
  609. if(listitem == 0) //LVPD
  610. {
  611. fraktion[playerid] = 1;
  612. SetPlayerPos(playerid,2252.3899,2491.5500,10.9908);
  613. lvpd[playerid] = Create3DTextLabel("TDM | LVPD", grau, 30.0, 40.0, 50.0, 40.0, 0);
  614. Attach3DTextLabelToPlayer(lvpd[playerid], playerid, 0.0, 0.0, 0.7);
  615. GivePlayerWeapon(playerid,24,156);
  616. GivePlayerWeapon(playerid,29,663);
  617. GivePlayerWeapon(playerid,31,222);
  618. GivePlayerWeapon(playerid,4,1);
  619. GivePlayerWeapon(playerid,34,15);
  620. SetPlayerSkin(playerid,282);
  621. Delete3DTextLabel(lvpd[playerid]);
  622. return 1;
  623. }
  624. if(listitem == 1) //Russen
  625. {
  626. fraktion[playerid] = 1;
  627. SetPlayerPos(playerid,2528.9084,1807.6639,10.8203);
  628. russen[playerid] = Create3DTextLabel("TDM | Russen", grau, 30.0, 40.0, 50.0, 40.0, 0);
  629. Attach3DTextLabelToPlayer(russen[playerid], playerid, 0.0, 0.0, 0.7);
  630. GivePlayerWeapon(playerid,24,156);
  631. GivePlayerWeapon(playerid,29,663);
  632. GivePlayerWeapon(playerid,31,222);
  633. GivePlayerWeapon(playerid,4,1);
  634. GivePlayerWeapon(playerid,34,15);
  635. SetPlayerSkin(playerid,111);
  636. Delete3DTextLabel(russen[playerid]);
  637. return 1;
  638. }
  639. if(listitem == 2) //MS13
  640. {
  641. fraktion[playerid] = 1;
  642. SetPlayerPos(playerid,1671.1537,1814.3940,10.8203);
  643. ms13[playerid] = Create3DTextLabel("TDM | MS13", grau, 30.0, 40.0, 50.0, 40.0, 0);
  644. Attach3DTextLabelToPlayer(ms13[playerid], playerid, 0.0, 0.0, 0.7);
  645. GivePlayerWeapon(playerid,24,156);
  646. GivePlayerWeapon(playerid,29,663);
  647. GivePlayerWeapon(playerid,31,222);
  648. GivePlayerWeapon(playerid,4,1);
  649. GivePlayerWeapon(playerid,34,15);
  650. SetPlayerSkin(playerid,114);
  651. Delete3DTextLabel(ms13[playerid]);
  652. return 1;
  653. }
  654. if(listitem == 3) //SWAT
  655. {
  656. fraktion[playerid] = 1;
  657. SetPlayerPos(playerid,938.4120,1732.7212,8.8516);
  658. swat[playerid] = Create3DTextLabel("TDM | SWAT", grau, 30.0, 40.0, 50.0, 40.0, 0);
  659. Attach3DTextLabelToPlayer(swat[playerid], playerid, 0.0, 0.0, 0.7);
  660. GivePlayerWeapon(playerid,24,156);
  661. GivePlayerWeapon(playerid,29,663);
  662. GivePlayerWeapon(playerid,31,222);
  663. GivePlayerWeapon(playerid,4,1);
  664. GivePlayerWeapon(playerid,34,15);
  665. SetPlayerSkin(playerid,285);
  666. Delete3DTextLabel(swat[playerid]);
  667. return 1;
  668. }
  669. }
  670. }
  671. if(dialogid == report)
  672. {
  673. if(response && strlen(inputtext) > 0)
  674. {
  675. new sendername[MAX_PLAYER_NAME];
  676. new string[256];
  677. format(string, sizeof(string), "[Support] %s[ID:%d]: %s |", sendername,playerid,inputtext);
  678. ticketsystem(string);
  679. for(new i=0; i<MAX_PLAYERS; i++)
  680. {
  681. if(IsPlayerConnected(i))
  682. {
  683. if(Spieler[i][Admin] >= 1)
  684. {
  685. SendClientMessage(i,pink,string);
  686. }
  687. }
  688. }
  689. format(string, sizeof(string), "Du hast einen Report gesendet: [%s] |", inputtext);
  690. SendClientMessage(playerid, rot, string);
  691. }
  692. else
  693. {
  694. SendClientMessage(playerid, blau, "Support Menu geschlossen!");
  695. }
  696. return 1;
  697. }
  698. if(dialogid == Hilfe) //Befehle Admin Befehle Info´s
  699. {
  700. if(response == 1)
  701. {
  702. if(listitem == 0)
  703. {
  704. SendClientMessage(playerid,rot,"==== TDM < Befehle > ====");
  705. SendClientMessage(playerid,weiß,"/support (Um einen Admin anzuschreiben wegen einem Problem oder ein Cheat Verdacht!)");
  706. SendClientMessage(playerid,weiß,"/teamchange (Um dein Team zu ändern oder um in ein Team beizutreten!)");
  707. }
  708. if(listitem == 1)
  709. {
  710. SendClientMessage(playerid,rot,"==== TDM < Admin Befehle > ====");
  711. SendClientMessage(playerid,weiß,"/veh (Um dir ein Auto zu Spawnen!)");
  712. SendClientMessage(playerid,weiß,"/setnews (Um die Server News festzulegen!)");
  713. }
  714. if(listitem == 2)
  715. {
  716. SendClientMessage(playerid,rot,"==== TDM < Infomationen > ====");
  717. SendClientMessage(playerid,weiß,"Scripter: [GcR]Jones | Mapper: Nicht Vorhanden | Server Besitzer: Jones");
  718. SendClientMessage(playerid,weiß,"Forum: --- | Teamspeak3: ---");
  719. }
  720. }
  721. return 1;
  722. }
  723. return 1;
  724. }
  725.  
  726. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  727. {
  728. return 1;
  729. }
  730. /* DCMD´s */
  731. dcmd_setnews(playerid,params[])
  732. {
  733. if(Spieler[playerid][Admin] >= 1) return SendClientMessage(playerid,rot,"Du bist kein Admin!");
  734. {
  735. if(sscanf(params, "s",newstext24)){ return SendClientMessage(playerid,grau,"Nutze: /setnews [news]");}
  736. format(string32,sizeof(string32),"%s",newstext24);
  737. ShowPlayerDialog(playerid,DIALOG_DYNNEWS,DIALOG_STYLE_MSGBOX,"Server Nachrichten",string32,"Schließen","");
  738. }
  739. return 1;
  740. }
  741. ////////////////////////
  742. stock sscanf(string[], format[], {Float,_}:...)
  743. {
  744. #if defined isnull
  745. if (isnull(string))
  746. #else
  747. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  748. #endif
  749. {
  750. return format[0];
  751. }
  752. #pragma tabsize 4
  753. new
  754. formatPos = 0,
  755. stringPos = 0,
  756. paramPos = 2,
  757. paramCount = numargs(),
  758. delim = ' ';
  759. while (string[stringPos] && string[stringPos] <= ' ')
  760. {
  761. stringPos++;
  762. }
  763. while (paramPos < paramCount && string[stringPos])
  764. {
  765. switch (format[formatPos++])
  766. {
  767. case '\0':
  768. {
  769. return 0;
  770. }
  771. case 'i', 'd':
  772. {
  773. new
  774. neg = 1,
  775. num = 0,
  776. ch = string[stringPos];
  777. if (ch == '-')
  778. {
  779. neg = -1;
  780. ch = string[++stringPos];
  781. }
  782. do
  783. {
  784. stringPos++;
  785. if ('0' <= ch <= '9')
  786. {
  787. num = (num * 10) + (ch - '0');
  788. }
  789. else
  790. {
  791. return -1;
  792. }
  793. }
  794. while ((ch = string[stringPos]) > ' ' && ch != delim);
  795. setarg(paramPos, 0, num * neg);
  796. }
  797. case 'h', 'x':
  798. {
  799. new
  800. num = 0,
  801. ch = string[stringPos];
  802. do
  803. {
  804. stringPos++;
  805. switch (ch)
  806. {
  807. case 'x', 'X':
  808. {
  809. num = 0;
  810. continue;
  811. }
  812. case '0' .. '9':
  813. {
  814. num = (num << 4) | (ch - '0');
  815. }
  816. case 'a' .. 'f':
  817. {
  818. num = (num << 4) | (ch - ('a' - 10));
  819. }
  820. case 'A' .. 'F':
  821. {
  822. num = (num << 4) | (ch - ('A' - 10));
  823. }
  824. default:
  825. {
  826. return -1;
  827. }
  828. }
  829. }
  830. while ((ch = string[stringPos]) > ' ' && ch != delim);
  831. setarg(paramPos, 0, num);
  832. }
  833. case 'c':
  834. {
  835. setarg(paramPos, 0, string[stringPos++]);
  836. }
  837. case 'f':
  838. {
  839.  
  840. new changestr[16], changepos = 0, strpos = stringPos;
  841. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  842. {
  843. changestr[changepos++] = string[strpos++];
  844. }
  845. changestr[changepos] = '\0';
  846. setarg(paramPos,0,_:floatstr(changestr));
  847. }
  848. case 'p':
  849. {
  850. delim = format[formatPos++];
  851. continue;
  852. }
  853. case '\'':
  854. {
  855. new
  856. end = formatPos - 1,
  857. ch;
  858. while ((ch = format[++end]) && ch != '\'') {}
  859. if (!ch)
  860. {
  861. return -1;
  862. }
  863. format[end] = '\0';
  864. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  865. {
  866. if (format[end + 1])
  867. {
  868. return -1;
  869. }
  870. return 0;
  871. }
  872. format[end] = '\'';
  873. stringPos = ch + (end - formatPos);
  874. formatPos = end + 1;
  875. }
  876. case 'u':
  877. {
  878. new
  879. end = stringPos - 1,
  880. id = 0,
  881. bool:num = true,
  882. ch;
  883. while ((ch = string[++end]) && ch != delim)
  884. {
  885. if (num)
  886. {
  887. if ('0' <= ch <= '9')
  888. {
  889. id = (id * 10) + (ch - '0');
  890. }
  891. else
  892. {
  893. num = false;
  894. }
  895. }
  896. }
  897. if (num && IsPlayerConnected(id))
  898. {
  899. setarg(paramPos, 0, id);
  900. }
  901. else
  902. {
  903. #if !defined foreach
  904. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  905. #define __SSCANF_FOREACH__
  906. #endif
  907. string[end] = '\0';
  908. num = false;
  909. new
  910. name[MAX_PLAYER_NAME];
  911. id = end - stringPos;
  912. foreach (Player, playerid)
  913. {
  914. GetPlayerName(playerid, name, sizeof (name));
  915. if (!strcmp(name, string[stringPos], true, id))
  916. {
  917. setarg(paramPos, 0, playerid);
  918. num = true;
  919. break;
  920. }
  921. }
  922. if (!num)
  923. {
  924. setarg(paramPos, 0, INVALID_PLAYER_ID);
  925. }
  926. string[end] = ch;
  927. #if defined __SSCANF_FOREACH__
  928. #undef foreach
  929. #undef __SSCANF_FOREACH__
  930. #endif
  931. }
  932. stringPos = end;
  933. }
  934. case 's', 'z':
  935. {
  936. new
  937. i = 0,
  938. ch;
  939. if (format[formatPos])
  940. {
  941. while ((ch = string[stringPos++]) && ch != delim)
  942. {
  943. setarg(paramPos, i++, ch);
  944. }
  945. if (!i)
  946. {
  947. return -1;
  948. }
  949. }
  950. else
  951. {
  952. while ((ch = string[stringPos++]))
  953. {
  954. setarg(paramPos, i++, ch);
  955. }
  956. }
  957. stringPos--;
  958. setarg(paramPos, i, '\0');
  959. }
  960. default:
  961. {
  962. continue;
  963. }
  964. }
  965. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  966. {
  967. stringPos++;
  968. }
  969. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  970. {
  971. stringPos++;
  972. }
  973. paramPos++;
  974. }
  975. do
  976. {
  977. if ((delim = format[formatPos++]) > ' ')
  978. {
  979. if (delim == '\'')
  980. {
  981. while ((delim = format[formatPos++]) && delim != '\'') {}
  982. }
  983. else if (delim != 'z')
  984. {
  985. return delim;
  986. }
  987. }
  988. }
  989. while (delim > ' ');
  990. return 0;
  991. }
  992. stock strtok(const string[], &index)
  993. {
  994. new length = strlen(string);
  995. while ((index < length) && (string[index] <= ' '))
  996. {
  997. index++;
  998. }
  999.  
  1000. new offset = index;
  1001. new result[20];
  1002. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1003. {
  1004. result[index - offset] = string[index];
  1005. index++;
  1006. }
  1007. result[index - offset] = EOS;
  1008. return result;
  1009. }
  1010. public ticketsystem(string[])
  1011. {
  1012. new eintragen[256];
  1013. format(eintragen, sizeof(eintragen), "%s\n",string);
  1014. new File:hFile;
  1015. hFile = fopen("alltickets.log", io_append);
  1016. fwrite(hFile, eintragen);
  1017. fclose(hFile);
  1018. }
  1019.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement