Guest User

Untitled

a guest
Jan 2nd, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.64 KB | None | 0 0
  1. //----------------Gamemode für Anfänger by Oktabius-----------------------------
  2.  
  3. #include <a_samp>
  4. #include <dini>
  5. #include <Dudb>
  6. #include <sscanf2>
  7. #include <ocmd>
  8.  
  9. //Farben
  10. #define COLOR_GREY 0xAFAFAFAA // mache eine Farbe namens COLOR_GREY der Farbcode ist 0xAFAFAFAA
  11. #define COLOR_GREEN 0x33AA33AA
  12. #define COLOR_RED 0xAA3333AA
  13. #define COLOR_YELLOW 0xFFFF00AA
  14. #define COLOR_WHITE 0xFFFFFFAA
  15. #define COLOR_DARKRED 0x660000AA
  16. #define COLOR_BLUE 0x0000BBAA
  17. #define COLOR_ORANGE 0xFF9900AA
  18. #define COLOR_PINK 0xFF66FFAA
  19. #define COLOR_LIGHTBLUE 0x33CCFFAA
  20. #define COLOR_CYAN 0x00BFF3AA
  21. #define COLOR_BLACK 0x000000AA
  22. #define COLOR_BROWN 0XA52A2AAA
  23. #define COLOR_GOLD 0xB8860BAA
  24. #define COLOR_INDIGO 0x4B00B0AA
  25. #define COLOR_LAWNGREEN 0x7CFC00AA
  26. #define COLOR_LIMEGREEN 0x32CD32AA
  27. #define COLOR_OLIVE 0x808000AA
  28. #define COLOR_SEAGREEN 0x2E8B57AA
  29. #define COLOR_TOMATO 0xFF6347AA
  30. #define COLOR_YELLOWGREEN 0x9ACD32AA
  31. #define COLOR_MEDIUMAQUA 0x83BFBFAA
  32. #define COLOR_FLBLUE 0x6495EDAA
  33. #define COLOR_MAGENTA 0xFF00FFFF
  34. #define COLOR_PURPLE 0x800080AA
  35. #define COLOR_GRELLRED 0xFF000000
  36. #define COLOR_LIGHTGREEN 0x86FF59FF
  37. #define COLOR_LIGHTBLUE 0x33CCFFAA
  38.  
  39. #pragma unused ret_memcpy
  40. #pragma tabsize 0
  41.  
  42. #define ausruesten 1 // #Definiere [Name] [Zahl] Namen könnt ihr euch ausdenken und Zahl ist die ID, des GUI, das nächste wäre dann 2
  43. #define stats 2
  44.  
  45. enum Info
  46. {
  47. passwort[128],
  48. alevel,
  49. autos,
  50. motorrad,
  51. boot,
  52. flug,
  53. fRank,
  54. gTeam,
  55. gLeader,
  56. skin,
  57. pmoney,
  58. };
  59.  
  60. //neues
  61. new bool:loggedin[MAX_PLAYERS];
  62.  
  63. //Gangzones
  64.  
  65. //Fraktionen
  66. new pInfo[MAX_PLAYERS][Info];
  67. // wenn ihr es so wie ich es oben gemacht habe aufstappelt, sparrt dies viele Ressourcen, wodurch euer Server eine geringere Chance hat
  68. // Laggs zu verursachen.
  69.  
  70. #define Groove 1 //Die Zahlen hinter den Namen mache ich nur so als Gedächnisstütze
  71. #define Ballas 2 // Mache eine Fraktion Namens Ballas
  72. #define Vagos 3 // Mache eine Fraktion Names Fahrlehrer
  73. #define Lspd 4
  74. #define Fahrlehrer 5
  75.  
  76. //Pickups
  77. new pickuptest, pickupeingangtest, jailpickup;
  78.  
  79. main()
  80. {
  81. print("----------------------------------");
  82. print(" By Dark_Morales ");
  83. print("----------------------------------");
  84. }
  85.  
  86.  
  87. public OnGameModeInit() // Skins sind hier zu finden http://wiki.sa-mp.com/wiki/Skins
  88. {
  89. EnableStuntBonusForAll(0); // Hier wird gesagt, das wenn man einen Stunt gemacht hat (EnableStuntBonusForAll), kein Geld bekommt (0)
  90. UsePlayerPedAnims(); // Hier wird gesagt, dass der Spieler normal laufen soll und nicht so komisch
  91. ShowPlayerMarkers(0); // ZeigeSpielerMarkierung(0) hier wird angegeben, dass man keinen Spieler auf der Karte durch ein Farbpickment sieht.
  92. DisableInteriorEnterExits(); // Hier wird gesagt, dass die Interioreingänge weggemacht werden sollen, damit wir unsere eigenen Biz´s erstellen können
  93. SetGameModeText("Real-Shit"); // Der Name des Gamemodes
  94. AddPlayerClass(101,1193.2167,-1266.1366,23.6099,2.9239,0,0,0,0,0,0); // Füge eine Charakterauswahl hinzu( mit dem Skin 101, auf die Kordinaten x, y, z, angle, waffe 1, waffe 1 munition, waffe 2, waffe 2 munition, waffe 3, waffe munition 3=;
  95.  
  96. AddStaticVehicle(560,-452.5457,412.5452,4.1573,273.4572,1,2); //Füge ein Auto hinzu(Auto Nummer 522, auf die Kordinaten x, y, z, Farbe 1, Farbe 2);
  97.  
  98.  
  99.  
  100. // Credits goes to SNM
  101. // MaxY
  102. // ____________________________
  103. // | |
  104. // | |
  105. // | |
  106. // MinX | Ganggebiet | MaxX
  107. // | |
  108. // | |
  109. // | |
  110. // | |
  111. // |___________________________|
  112. // MinY
  113.  
  114.  
  115. pickuptest = CreatePickup(1239, 23, 0,0,0);// 1318 = Pickupzeichen i ; 23 = bedeutet das das Pickup für immer bleibt ; 0,0,0 = Kordinten x,y,z
  116. pickupeingangtest = CreatePickup(1318, 23, 0,0,0); // die 3 Nullen auf x, y, z Kordinaten umschreiben
  117. jailpickup = CreatePickup(1239, 23, 0, 0, 0);
  118.  
  119. //Hier CreateObject noch
  120.  
  121. return 1;
  122. }
  123.  
  124. public OnGameModeExit()
  125. {
  126. return 1;
  127. }
  128.  
  129. public OnPlayerRequestClass(playerid, classid)
  130. {
  131.  
  132. return 1;
  133. }
  134.  
  135. public OnPlayerRequestSpawn(playerid)
  136. {
  137. return 1;
  138. }
  139.  
  140. public OnPlayerConnect(playerid)
  141. {
  142.  
  143. // ID BEIM EINLOGGEN //
  144. new nachricht [128];
  145. format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
  146. SendClientMessage(playerid,COLOR_RED,nachricht);
  147.  
  148.  
  149. return 1;
  150.  
  151. }
  152.  
  153. public OnPlayerDisconnect(playerid, reason)
  154. {
  155. if(dini_Exists(Datei(playerid))) // steht
  156. {
  157. dini_IntSet(Datei(playerid),"Geld",GetPlayerMoney(playerid));
  158. dini_IntSet(Datei(playerid),"Wanteds",GetPlayerWantedLevel(playerid));
  159. dini_IntSet(Datei(playerid),"Skin",GetPlayerSkin(playerid));
  160. dini_IntSet(Datei(playerid),"Autoführerschein",pInfo[playerid][autos]);
  161. dini_IntSet(Datei(playerid),"Flugführerschein",pInfo[playerid][flug]);
  162. dini_IntSet(Datei(playerid),"Motorradführerschein",pInfo[playerid][motorrad]);
  163. dini_IntSet(Datei(playerid),"Bootsführerschein",pInfo[playerid][boot]);
  164. dini_IntSet(Datei(playerid),"Adminlevel",pInfo[playerid][alevel]);
  165. dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[playerid][fRank]);
  166. }
  167. return 1;
  168. }
  169.  
  170. public OnPlayerSpawn(playerid)
  171. {
  172. if(loggedin[playerid] == false)
  173. {
  174. Kick(playerid);
  175. }
  176. return 1;
  177. }
  178.  
  179. public OnPlayerDeath(playerid, killerid, reason)
  180. {
  181. SetPlayerPos(playerid,1176.5500,-1323.9135,14.0268); // Setz die Positon( Vom Spieler auf, x, y, z);
  182. SendClientMessage(playerid,COLOR_RED,"Dein Arztbesuch kostet dich 700$"); // Sende eine Nachricht( An Spieler, mit der Farbe Rot, "und dem Text");
  183. SetPlayerHealth(playerid, 50.0);
  184. GivePlayerMoney(playerid,-700); // Ziehe dem (Spieler, 200 $ ab
  185. return 1;
  186. }
  187.  
  188. public OnVehicleSpawn(vehicleid)
  189. {
  190. return 1;
  191. }
  192.  
  193. public OnVehicleDeath(vehicleid, killerid)
  194. {
  195. return 1;
  196. }
  197.  
  198. public OnPlayerText(playerid, text[])
  199. {
  200. return 1;
  201. }
  202.  
  203.  
  204. public OnPlayerCommandText(playerid, cmdtext[])
  205. {
  206. new spieler[MAX_PLAYER_NAME]; // Den Begriff "spieler" können wir jetzt immer benutzen, wenn wir den Namen des Spielers bzw. playerid brauchen
  207. new gegner[MAX_PLAYER_NAME]; // Den Begriff "gegner" können wir jetzt immer benutzen, wenn wir den Namen des Gegners bzw. ziel brauchen
  208.  
  209. }
  210.  
  211. if(strcmp(strget(cmdtext,0), "/stats", true) == 0) // wenn man /perso eingibt
  212. {
  213. new string[100], string2[50], geld = GetPlayerMoney(playerid); // definiere
  214. format(string, sizeof(string), "Stats: %s\nBargeld: %d", Spielername(playerid), geld); // setzt dem String "Name: (des Spielers) Bargeld(des Spielers)
  215. //format(string,sizeof(string), das /n steht für einen Zeilenbruch sprich Enter ;) %s nimmt man wenn man Buchstaben herrausfinden will, %d für Zahlen
  216. format(string2, sizeof(string2), "statistiken von %s", Spielername(playerid));
  217. ShowPlayerDialog(playerid, stats, DIALOG_STYLE_MSGBOX, string2 , string, "Verlassen", "");
  218. return 1;
  219. }
  220.  
  221. if(strcmp(strget(cmdtext,0), "/login", true) == 0)
  222. {
  223. new s2[256];
  224. if(dini_Exists(Datei(playerid)))
  225. {
  226. s2=dini_Get(Datei(playerid),"passwort");
  227. if(strval(s2)==udb_hash(strget(cmdtext,1))) // wenn die Eingabe nach /login mit dem Passwort übereinstimmt
  228. {
  229. loggedin[playerid] = true;
  230. SendClientMessage(playerid, COLOR_LIGHTBLUE, "***Du hast dich erfolgreich eingeloggt***");
  231. GivePlayerMoney(playerid,dini_Int(Datei(playerid),"Geld"));
  232. SetPlayerWantedLevel(playerid,dini_Int(Datei(playerid),"Wanteds"));
  233. SetPlayerSkin(playerid,dini_Int(Datei(playerid),"Skin"));
  234. pInfo[playerid][autos] =dini_Int(Datei(playerid),"Führerschein");
  235. pInfo[playerid][flug] =dini_Int(Datei(playerid),"Flugschein");
  236. pInfo[playerid][motorrad] =dini_Int(Datei(playerid),"Motorradschein");
  237. pInfo[playerid][boot] =dini_Int(Datei(playerid),"Bootsschein");
  238. pInfo[playerid][alevel] =dini_Int(Datei(playerid),"Adminlevel");
  239. pInfo[playerid][fRank] =dini_Int(Datei(playerid),"Fraktionsrank");
  240. }
  241. else
  242. {
  243. SendClientMessage(playerid, COLOR_RED, "Passwort Falsch!");
  244. }
  245. }
  246. return 1;
  247. }
  248. //-------Autoschein vergabe----------------
  249. if(strcmp(strget(cmdtext,0), "/autoschein", true) == 0)
  250. {
  251. new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  252. {
  253. if(IsPlayerConnected(ziel)) return SendClientMessage(playerid, COLOR_RED, "Ziel ist nicht Online");
  254. {
  255. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du musst Online sein");
  256. {
  257. pInfo[ziel][autos] = 1;
  258. dini_IntSet(Datei(playerid),"Autoführerschein",1); // Speichere das Passwort in der .ini Datei unter passwort
  259. GivePlayerMoney(ziel, -7500); // entziehe dem Ziel 1000 €
  260. GivePlayerMoney(playerid, 7500); // gebe dem Fahrleher 1000 €
  261. SendClientMessage(ziel, COLOR_GREEN, "Herzlichen Glückwunsch du hast soeben deinen Führerschein erhalten"); // Sende dem Ziel den Text, das er einen Autsoschein bekommen hat
  262. SendClientMessage(playerid, COLOR_GREEN, "Die Lehre war erfolgreich! Du hast soeben einem weiteren Spieler die Chancen auf eine besser Zukunft gegeben"); // Sende dem Fahrleher den Text, das er einen Autoschein verkauft hat
  263. }
  264. }
  265. }
  266.  
  267. return 1;
  268. }
  269.  
  270.  
  271.  
  272. //----------------Fraktions Ränge vergeben------------------
  273. if(strcmp(strget(cmdtext,0), "/rank", true) == 0)
  274. {
  275. if(pInfo[playerid][gLeader] == Groove || pInfo[playerid][gLeader] == Ballas || pInfo[playerid][gLeader] == Vagos || pInfo[playerid][gLeader] == Lspd || pInfo[playerid][gLeader] == Fahrlehrer) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Leader einer Fraktion");
  276. {
  277. new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  278. new rank= strval(strget(cmdtext,2)); // rank = das Ranklevel
  279. {
  280. if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /rank [ID] [Rank]");
  281. {
  282. if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /rank [ID] [Rank]");
  283. {
  284. if(rank==1)
  285. {
  286. pInfo[ziel][fRank] = 1; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du hast soeben den Fraktions Rank (Amateur) bekommen");
  287. }
  288. // wenn rank 1 ) Gebe dem ziel rank 1 ) Speichere das Level ) Sende nachricht
  289. if(rank==2)
  290. {
  291. pInfo[ziel][fRank] = 2; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du hast soeben den Fraktions Rank (Fortgeschrittener) bekommen");
  292. }
  293. if(rank==4)
  294. {
  295. pInfo[ziel][fRank] = 3; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du hast soeben den Fraktions Rank (Profi) bekommen");
  296. }
  297. if(rank==5)
  298. {
  299. pInfo[ziel][fRank] = 4; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du bist nun der Co Leader dieser Fraktion");
  300. }
  301. if(rank==6)
  302. {
  303. pInfo[ziel][fRank] = 5; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du bist nun der Leader dieser Fraktion");
  304. }
  305. }
  306. }
  307. }
  308. return 1;
  309. }
  310. }
  311.  
  312. if(strcmp(cmdtext,"/f",true,2) == 0)
  313. {
  314. new string[128],name[24]; // "string" und "name" definieren
  315. GetPlayerName(playerid,name,sizeof name); // Bekomme den Spieler name(spieler, "name", größe von "name")
  316. format(string,sizeof string,"[Fraktion]%s: %s",name,cmdtext[3]); // Hier bilden wir einen satz, wo wir den Namen und das,was der spieler eingegeben hat zusammengefügt wird.
  317. for(new i=0 ; i <GetMaxPlayers() ; i++) // definiere alle Spieler
  318. {
  319. if(pInfo[i][gTeam] == pInfo[playerid][gTeam] || pInfo[i][gLeader] == pInfo[playerid][gLeader]) // wenn spieler i in der selben fraktion ist wie playerid, sende ihm die Nachricht
  320. {
  321. SendClientMessage(i,COLOR_LIGHTBLUE,string);
  322. }
  323. }
  324. return 1;
  325. }
  326.  
  327. if(strcmp(cmdtext,"/o",true,2) == 0 || strcmp(cmdtext,"/occ",true,2) == 0)
  328. {
  329. new string[128],name[24]; // "string" und "name" definieren
  330. GetPlayerName(playerid,name,sizeof name); // Bekomme den Spieler name(spieler, "name", größe von "name")
  331. format(string,sizeof string,"[OCC]%s: %s",name,cmdtext[3]); // Satz bilden
  332. if(!strlen(cmdtext[2])) //wenn der cmd /f falsch eingegeben wird
  333. {
  334. return 1;
  335. }
  336. if(pInfo[playerid][alevel] >= 1)
  337. {
  338. SendClientMessageToAll(COLOR_WHITE,string);
  339. }
  340. return 1;
  341. }
  342.  
  343.  
  344. // Aond
  345. new aond[128], aonda[128];
  346. format(aond, sizeof(aond), "%s hat sich als Supporter angemeldet.", Spielername(playerid)); // Supporter Xy anmeldung
  347. format(aonda, sizeof(aonda), "%s hat sich als Admin angemeldet.", Spielername(playerid)); // Admin Xy anmeldung
  348. if (strcmp(cmdtext, "/aduty", true) == 0) // Befehl um Admin on Duty zu gehen!
  349. {
  350. if(pInfo[playerid][alevel] == 1) // Sende folgendes mit Admin Stufe 1
  351. {
  352. SendClientMessage(playerid, COLOR_RED, "|___________Supporter___________|");
  353. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun Als Supporter angemeldet.");
  354. SendClientMessage(playerid, COLOR_RED, "Achtung! Missbrauch des befehles wird bestraft!");
  355. SendClientMessageToAll(COLOR_RED, aond); // Sende die Nachricht an alle
  356. SetPlayerAmmo(playerid,3,1000);
  357. SetPlayerColor(playerid, COLOR_PINK);
  358. return 1;
  359. }
  360. if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  361. {
  362. SendClientMessage(playerid, COLOR_RED, "|___________Admin___________|");
  363. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Admin angemeldet.");
  364. SendClientMessageToAll(COLOR_PINK, aonda); // Sende die Nachricht wieder an alle
  365. SetPlayerColor(playerid, COLOR_RED);
  366. return 1;
  367. }
  368. if(pInfo[playerid][alevel] >= 3) // Sende folgendes über admin stufe 2
  369. {
  370. SendClientMessage(playerid, COLOR_RED, "|___________High Admin___________|");
  371. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als High Admin angemeldet.");
  372. SendClientMessageToAll(COLOR_PINK, aonda); // Sende die Nachricht wieder an alle
  373. SetPlayerColor(playerid, COLOR_RED);
  374. return 1;
  375. }
  376. if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  377. {
  378. SendClientMessage(playerid, COLOR_RED, "|___________Projektleiter___________|");
  379. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Admin angemeldet.");
  380. SendClientMessageToAll(COLOR_PINK, aonda); // Sende die Nachricht wieder an alle
  381. SetPlayerColor(playerid, COLOR_RED);
  382. return 1;
  383. }
  384. else
  385. {
  386. // Sende folgendes wenn er admin lvl 0 ist (Zivilist)
  387. SendClientMessage(playerid, COLOR_LIGHTBLUE, "|______KeinAdmin!______|");
  388. SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin!");
  389. SendClientMessage(playerid, COLOR_GREY, "Deine Admin Stufe ist 0");
  390. SendClientMessage(playerid, COLOR_GREY, "Und kannst somit keine Admin befehle ausführen!");
  391. }
  392. return 1; // Cmd zu Ende
  393. }
  394.  
  395. // Aoffd
  396. new aoffd[128], aoffda[128];
  397. format(aoffd, sizeof(aoffd), "%s hat sich als Supporter abgemeldet.", spieler); // Befehl um Sup off Duty zu gehen!
  398. format(aoffda, sizeof(aoffda), "%s hat sich als Admin abgemeldet.", spieler); // Befehl um Admin off Duty zu gehen!
  399. format(aoffda, sizeof(aoffda), "%s hat sich als High Admin abgemeldet.", spieler); // Befehl um Admin off Duty zu gehen!
  400. format(aoffda, sizeof(aoffda), "%s hat sich als Projektleiter abgemeldet.", spieler); // Befehl um Admin off Duty zu gehen!
  401. if (strcmp(cmdtext, "/aoffduty", true) == 0)
  402. {
  403. }
  404. if(pInfo[playerid][alevel] == 1) // Sende folgendes mit Admin Stufe 1
  405. {
  406. SendClientMessage(playerid, COLOR_RED, "|___________Supporter___________|");
  407. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun Als Supporter abgemeldet.");
  408. SendClientMessageToAll(COLOR_PINK, aoffd); // Sende die Nachricht an alle
  409. SetPlayerColor(playerid, COLOR_WHITE);
  410. return 1;
  411. }
  412. if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  413. {
  414. SendClientMessage(playerid, COLOR_RED, "|___________Admin___________|");
  415. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Admin abgemeldet.");
  416. SendClientMessageToAll(COLOR_PINK, aoffda); // Sende die Nachricht wieder an alle
  417. SetPlayerColor(playerid, COLOR_WHITE);
  418. return 1;
  419. }
  420. if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  421. {
  422. SendClientMessage(playerid, COLOR_RED, "|___________High Admin___________|");
  423. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun Als High Admin abgemeldet.");
  424. SendClientMessageToAll(COLOR_PINK, aoffd); // Sende die Nachricht an alle
  425. SetPlayerColor(playerid, COLOR_WHITE);
  426. return 1;
  427. }
  428. if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  429. {
  430. SendClientMessage(playerid, COLOR_RED, "|___________Projektleiter___________|");
  431. SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Projektleiter abgemeldet.");
  432. SendClientMessageToAll(COLOR_PINK, aoffda); // Sende die Nachricht wieder an alle
  433. SetPlayerColor(playerid, COLOR_WHITE);
  434. return 1;
  435. }
  436.  
  437.  
  438. //--------------makeadmin-----------------------------------
  439. if(strcmp(cmdtext,"/makeadmin", true) == 0)
  440. {
  441. if(pInfo[playerid][alevel] == 6) // Wenn die pInfo vom Spieler level 6 ist
  442. {
  443. new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  444. new level= strval(strget(cmdtext,2)); // level = die Levelzahl
  445. {
  446. if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeadmin [ID]");
  447. {
  448. if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeadmin [ID]");
  449. {
  450. if(level==1) // wenn er /makeadmin 0 macht
  451. {
  452. GetPlayerName(ziel,gegner,sizeof(gegner));
  453. new save[45];
  454. format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  455. pInfo[ziel][alevel] = 1; // Gebe dem ziel das Adminlevel (alevel) 0
  456. dini_IntSet(save,"Adminlevel",1); // Schreibe in seine Datei Adminlevel = 0
  457. SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Supporter___________|");
  458. SendClientMessage(playerid, COLOR_GREY, "Du bist nun ein Supporter!");
  459. SendClientMessage(playerid, COLOR_GREY, "Admin Level: 1");
  460. if(level==2) // wenn er /makeadmin 1 macht
  461. {
  462. GetPlayerName(ziel,gegner,sizeof(gegner));
  463. format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  464. pInfo[ziel][alevel] = 2; // Gebe dem ziel das Adminlevel (alevel) 1
  465. dini_IntSet(save,"Adminlevel",2); // Schreibe in seine Datei Adminlevel = 1
  466. SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Admin___________|");
  467. SendClientMessage(playerid, COLOR_GREY, "Du wurdest zu den rank: Admin gestuft.");
  468. SendClientMessage(playerid, COLOR_GREY, "Admin Level: 2");
  469. }
  470. if(level==3) // wenn er /makeadmin 2 macht
  471. {
  472. GetPlayerName(ziel,gegner,sizeof(gegner));
  473. format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  474. pInfo[ziel][alevel] = 3; // Gebe dem Ziel das Adminlevel 2
  475. dini_IntSet(save,"Adminlevel",3); // Schreibe in seine Datei Adminlevel 2
  476. SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________High Admin___________|");
  477. SendClientMessage(playerid, COLOR_GREY, "Du wurdest zu den rank: High Admins gestuft.");
  478. SendClientMessage(playerid, COLOR_GREY, "Admin Level: 3");
  479. }
  480. if(level==4) // wenn er 3 eintippt
  481. {
  482. GetPlayerName(ziel,gegner,sizeof(gegner));
  483. format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  484. pInfo[ziel][alevel] = 4; // Gebe dem Ziel das Adminlevel 3
  485. dini_IntSet(save,"Adminlevel",4); //schreibe in seine Datei Adminlevel 3
  486. SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Projektleiter___________|");
  487. SendClientMessage(playerid, COLOR_GREY, "Du wurdest zum Projektleiter gestuft.");
  488. SendClientMessage(playerid, COLOR_GREY, "Admin Level: 3");
  489. }
  490. if(level==0) // wenn er 4 eintippt
  491. {
  492. GetPlayerName(ziel,gegner,sizeof(gegner));
  493. format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  494. pInfo[ziel][alevel] = 0; // Gebe dem Ziel Adminlevel 4
  495. dini_IntSet(save,"Adminlevel",0); // schreibe in seine Datei Adminlevel 4
  496. SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Zivi___________|");
  497. SendClientMessage(playerid, COLOR_GREY, "Du bist nun wieder ein Zivi.");
  498. SendClientMessage(playerid, COLOR_GREY, "Admin Level: 0");
  499. }
  500. else
  501. {
  502. SendClientMessage(playerid, COLOR_LIGHTBLUE, "|______KeinAdmin!______|");
  503. SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin!");
  504. SendClientMessage(playerid, COLOR_GREY, "Deine Admin Stufe ist 0");
  505. SendClientMessage(playerid, COLOR_GREY, "Und kannst somit keine Admin befehle ausführen!");
  506. }
  507. }
  508. }
  509. }
  510. return 1;
  511. }
  512. }
  513. }
  514.  
  515. //------------------invite------------------------------------
  516. if(strcmp(strget(cmdtext,0), "/invite", true) == 0)
  517. {
  518. if(pInfo[playerid][gLeader] == Groove || pInfo[playerid][gLeader] == Ballas || pInfo[playerid][gLeader] == Vagos || pInfo[playerid][gLeader] == Lspd || pInfo[playerid][gLeader] == Fahrlehrer) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Leader einer Fraktion");
  519. {
  520. new ziel = strval(strget(cmdtext,1)), team = strval(strget(cmdtext,2)),save[45];
  521. {
  522. if(team==1)
  523. {
  524. pInfo[ziel][gTeam] = 1; SetPlayerSkin(ziel,107); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  525. }
  526. if(team==2)
  527. {
  528. pInfo[ziel][gTeam] = 2; SetPlayerSkin(ziel,102); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  529. }
  530. if(team==3)
  531. {
  532. pInfo[ziel][gTeam] = 3; SetPlayerSkin(ziel,108); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  533. }
  534. if(team==4)
  535. {
  536. pInfo[ziel][gTeam] = 4; SetPlayerSkin(ziel,288); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  537. }
  538. if(team==5)
  539. {
  540. pInfo[ziel][gTeam] = 5; SetPlayerSkin(ziel,255); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  541. }
  542. }
  543. }
  544. return 1;
  545. }
  546.  
  547. //----------------------ban--------------------------------
  548. new string[128], Grund[128], save[45];
  549. new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  550. Grund = strget(cmdtext,2);
  551. GetPlayerName(ziel,gegner,sizeof(gegner));
  552. format(save,sizeof(save),"/Bans/%s.ini",gegner);//mache einen neuen Ornder Namens Ban und füge die ini Datei vom Spieler ein
  553. format(string, sizeof(string), "*** %s wurde von %s gebannt. Grund:%s ***", gegner, Spielername(playerid), Grund); //Mache ein String. In einem String mit Namen etc. muss man %s schreiben und hinter der Nachricht wo für das %s stehen soll. Muss in exakter reihenfolge sein!
  554. if(strcmp(strget(cmdtext,0), "/ban", true) == 0)
  555. {
  556. if(pInfo[playerid][alevel] == 2) // wenn der spieler Adminlevel 2 ist
  557. {
  558. if(!strlen(strget(cmdtext,1))) // wenn der cmd falsch ist
  559. {
  560. SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /ban [id] [Grund] "); return 1; // Nachricht senden
  561. }
  562. if(!strlen(strget(cmdtext,2)))// wenn der cmd falsch ist
  563. {
  564. SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /ban [id] [Grund] "); return 1;// Nachricht senden
  565. }
  566. Ban(ziel); // Ban ziel
  567. SendClientMessageToAll(COLOR_RED, string); // Sende Allen eine Nachricht
  568. }
  569. else
  570. {
  571. SendClientMessage(playerid, COLOR_RED, "Du bist kein Adminlevel 2 !");
  572. }
  573. return 1;
  574. }
  575.  
  576.  
  577. //jail
  578. if(!strcmp(strget(cmdtext,0),"/jail")) //Hier wird wieder beschrieben das wenn man den /jail befehl eingibt
  579. {
  580. new name[20], sstring[64]; // dernieren der Namen
  581. GetPlayerName(ziel, name, sizeof name);// Bekomme den Namen des Ziels
  582. format(string, sizeof(string), "%s wurde von %s eingebuchtet", name, Spielername(playerid)); // Satz bilden
  583. ziel = strval(strget(cmdtext,1)); // /jail [ziel]
  584. {
  585. if(IsPlayerConnected(playerid))// spieler muss online sein
  586. {
  587. if(IsPlayerConnected(ziel)) return SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht online");// ziel muss online sein
  588. {
  589. if(IsPlayerInRangeOfPoint(playerid, 1.0, 0, 0, 0)) return SendClientMessage(playerid, COLOR_RED, "Du bist vor keiner Zelle");
  590. {
  591. SetPlayerPos(ziel,0,0,0); // Setze Spieler auf Kordinaten
  592. SendClientMessageToAll(COLOR_LIGHTBLUE, sstring);
  593. }
  594. }
  595. }
  596. }
  597. return 1;
  598. }
  599.  
  600. //----Makeleader Funktion-------------------
  601. if(!strcmp(strget(cmdtext,0),"/makeleader"))
  602. {
  603. new target = strval(strget(cmdtext,1)), fraktion = strval(strget(cmdtext,2)), saves[32], name[20];
  604. format(saves,sizeof(saves),"Spieler/%s.ini",name);
  605. GetPlayerName(target, name, sizeof(name));
  606. if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeleader [ID] [1-5]");
  607. {
  608. if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeleader [ID] [1-5]");
  609. {
  610. if(fraktion == Groove)
  611. {
  612. SetPlayerSkin(target, 106);
  613. SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der Grove gemacht");
  614. pInfo[target][gLeader] = fraktion;
  615. dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
  616. }
  617. if(fraktion == Ballas)
  618. {
  619. SetPlayerSkin(target, 104);
  620. SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Ledader der Ballas ernannt");
  621. pInfo[target][gLeader] = fraktion;
  622. dini_IntSet(save,"Fraktionsleader",pInfo[target][gTeam]);
  623. dini_IntSet(save,"Skin",pInfo[target][skin]);
  624. }
  625. if(fraktion == Vagos)
  626. {
  627. SetPlayerSkin(target, 110);
  628. SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der Vagos ernannt");
  629. pInfo[target][gLeader] = fraktion;
  630. dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
  631. dini_IntSet(save,"Skin",pInfo[target][skin]);
  632. }
  633. if(fraktion == Lspd)
  634. {
  635. SetPlayerSkin(target, 266);
  636. SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der Vagos ernannt");
  637. pInfo[target][gLeader] = fraktion;
  638. dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
  639. dini_IntSet(save,"Skin",pInfo[target][skin]);
  640. }
  641. if(fraktion == Fahrlehrer)
  642. {
  643. SetPlayerSkin(target, 294);
  644. SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der Los Santos Police Department ernannt");
  645. pInfo[target][gLeader] = fraktion;
  646. dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
  647. dini_IntSet(save,"Skin",pInfo[target][skin]);
  648. }
  649. }
  650. }
  651. return 1;
  652. }
  653.  
  654. //--------waffen für ballas------------------
  655. if(strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffenb eingegeben wird
  656. {
  657. if(pInfo[playerid][gTeam] == Ballas || pInfo[playerid][gLeader] == Ballas) // wenn der Spieler ein Teammitglieder oder Leader der Fraktion Ballas ist
  658. {
  659. GivePlayerWeapon(playerid, 1, 1); // Gib ihm die Waffe mit der ID 15
  660. GivePlayerWeapon(playerid, 24, 50); // Gib ihm die Waffe mit der ID 32 und 150 Munition
  661. GivePlayerWeapon(playerid, 25, 50); // Gib ihm die Waffe mit der ID 28 und 150 Munition
  662. }
  663. return 1; // Cmd zu Ende
  664. }
  665.  
  666. //---------waffen für groove----------------
  667. if (strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffeng eingegeben wird
  668. {
  669. if(pInfo[playerid][gTeam] == Groove || pInfo[playerid][gLeader] == Groove)// wenn der Spieler ein Teammitglieder oder Leader der Fraktion Groove ist
  670. {
  671. GivePlayerWeapon(playerid, 1, 1); // Gib ihm die Waffe mit der ID 1
  672. GivePlayerWeapon(playerid, 24, 50);// Gib ihm die Waffe mit der ID 32 und 150 Munition
  673. GivePlayerWeapon(playerid, 25, 50); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  674. }
  675. return 1; // Cmd zu Ende
  676. }
  677. //---------waffen für Vagos ----------------
  678. if (strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffeng eingegeben wird
  679. {
  680. if(pInfo[playerid][gTeam] == Vagos || pInfo[playerid][gLeader] == Vagos)// wenn der Spieler ein Teammitglieder oder Leader der Fraktion Groove ist
  681. {
  682. GivePlayerWeapon(playerid, 1, 1); // Gib ihm die Waffe mit der ID 1
  683. GivePlayerWeapon(playerid, 24, 50);// Gib ihm die Waffe mit der ID 32 und 150 Munition
  684. GivePlayerWeapon(playerid, 25, 50); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  685. }
  686. return 1; // Cmd zu Ende
  687. }
  688. // /---------waffen für Lspd ----------------
  689. if (strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffeng eingegeben wird
  690. {
  691. if(pInfo[playerid][gTeam] == Lspd || pInfo[playerid][gLeader] == Lspd)// wenn der Spieler ein Teammitglieder oder Leader der Fraktion Groove ist
  692. {
  693. GivePlayerWeapon(playerid, 3, 1); // Gib ihm die Waffe mit der ID 1
  694. GivePlayerWeapon(playerid, 24, 99);// Gib ihm die Waffe mit der ID 32 und 150 Munition
  695. GivePlayerWeapon(playerid, 31, 155); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  696. GivePlayerWeapon(playerid, 29, 155); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  697.  
  698. }
  699. return 1; // Cmd zu Ende
  700. }
  701. // /---------waffen für Lspd ----------------
  702. if (strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffeng eingegeben wird
  703. {
  704. if(pInfo[playerid][gTeam] == Lspd || pInfo[playerid][gLeader] == Lspd)// wenn der Spieler ein Teammitglieder oder Leader der Fraktion Groove ist
  705. {
  706. GivePlayerWeapon(playerid, 3, 1); // Gib ihm die Waffe mit der ID 1
  707. GivePlayerWeapon(playerid, 24, 99);// Gib ihm die Waffe mit der ID 32 und 150 Munition
  708. GivePlayerWeapon(playerid, 31, 155); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  709. GivePlayerWeapon(playerid, 29, 155); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  710.  
  711. }
  712. return 1; // Cmd zu Ende
  713. }
  714. // /---------waffen für Fahrlehrer ----------------
  715. if (strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffeng eingegeben wird
  716. {
  717. if(pInfo[playerid][gTeam] == Fahrlehrer || pInfo[playerid][gLeader] == Fahrlehrer)// wenn der Spieler ein Teammitglieder oder Leader der Fraktion Groove ist
  718. {
  719. GivePlayerWeapon(playerid, 41, 1000); // Gib ihm die Waffe mit der ID 1
  720.  
  721.  
  722. }
  723. return 1; // Cmd zu Ende
  724. }
  725.  
  726. new cmd[20], idx;
  727. cmd = strtok2(cmdtext, idx);
  728. if(!strcmp(cmd, "/veh", true))
  729. {
  730. new vehicleid[20],color1[20],color2[20], Float:mp[4];
  731. vehicleid=strtok2(cmdtext,idx), color1=strtok2(cmdtext,idx), color2=strtok2(cmdtext,idx);
  732. if(!strlen(color2) || !IsNumeric(vehicleid) || !IsNumeric(color1) || !IsNumeric(color2))return SendClientMessage(playerid, -1, "Syntax: /veh [FahrzeugID] [Farbe1] [Farbe2]");
  733. format(string,sizeof string,"Du hast dir ein Fahrzeug erstellt. (%i|%i,%i)",strval(vehicleid),strval(color1),strval(color2)),
  734. SendClientMessage(playerid,-1,string);
  735. GetPlayerPos(playerid,mp[0],mp[1],mp[2]),GetPlayerFacingAngle(playerid,mp[3]),
  736. CreateVehicle(strval(vehicleid),mp[0],mp[1],mp[2],mp[3],strval(color1),strval(color2),-1);
  737. return 1;
  738. }
  739. return 0;
  740. }
  741.  
  742. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  743. {
  744. if(pInfo[playerid][autos] == 1)
  745. {
  746. SendClientMessage(playerid, COLOR_RED, " Du hast noch keinen Führerschein!");
  747. }
  748. else
  749. {
  750. return 1;
  751. }
  752. return 1;
  753. }
  754.  
  755.  
  756. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  757. {
  758. return 0;
  759. }
  760.  
  761. public OnPlayerExitVehicle(playerid, vehicleid)
  762. {
  763. return 1;
  764. }
  765.  
  766. public OnPlayerStateChange(playerid, newstate, oldstate)
  767. {
  768. return 1;
  769. }
  770.  
  771. public OnPlayerEnterCheckpoint(playerid)
  772. {
  773. return 1;
  774. }
  775.  
  776. public OnPlayerLeaveCheckpoint(playerid)
  777. {
  778. return 1;
  779. }
  780.  
  781. public OnPlayerEnterRaceCheckpoint(playerid)
  782. {
  783. return 1;
  784. }
  785.  
  786. public OnPlayerLeaveRaceCheckpoint(playerid)
  787. {
  788. return 1;
  789. }
  790.  
  791. public OnRconCommand(cmd[])
  792. {
  793. return 1;
  794. }
  795.  
  796. public OnObjectMoved(objectid)
  797. {
  798. return 1;
  799. }
  800.  
  801. public OnPlayerObjectMoved(playerid, objectid)
  802. {
  803. return 1;
  804. }
  805.  
  806. public OnPlayerPickUpPickup(playerid, pickupid) // Pickup Objektlisten findet ihr hier http://wiki.sa-mp.com/wiki/Pickup_help
  807. {
  808. if(pickupid == pickuptest) // Bedeutet wenn(das pickup == namens pickuptest aufgehoben wird)
  809. {
  810. SendClientMessage(playerid, COLOR_GREEN, "Hello World"); // Sendet einen Text an ( Spieler, mit der Farbe Grün, "und den Text Hello World");
  811. }
  812. if(pickupid == pickupeingangtest)
  813. {
  814. SetPlayerInterior(playerid, 3); // Hier geben wir den Innenraum an (Interior = Innenraum). Die 3 gibt den Innenraum an, die Id´s findet ihr hier http://wiki.sa-mp.com/wiki/Interior oder wenn ihr in einen Raum geht und /interior eingebt. Wird in Savedposition.txt in eurem GTA verzeichnis gespeichert.
  815. SetPlayerPos(playerid, 0, 0,0); // Hier wird angegeben wo der Spieler hinkommt wenn er in den Pickup geht. Geht auf einem Gf server oder Debug Modus und geht in ein Haus und gibt /save ein. Kordinaten wie bei interior zu finden.
  816. SetPlayerFacingAngle( playerid, 360.0 ); // Setzt die Schaurichtung des Spielers auf den Angel wert.
  817. GameTextForPlayer(playerid, "~w~Wilk~n~~r~ommen", 3000, 3); // Wenn jemand jetzt in dem Gebäude ist wird ein Text über ihm erscheinen. ~w~ sagt es soll eine weiße Shrift sein und ~r~ soll rot sein. http://wiki.sa-mp.com/wiki/Colors_List
  818. }
  819. if(pickupid == jailpickup)
  820. {
  821. GameTextForPlayer(playerid, "~gib ein~/jail [Zeit][Kosten]", 4000, 3);
  822. }
  823. return 1;
  824. }
  825.  
  826. public OnPlayerSelectedMenuRow(playerid, row)
  827. {
  828. return 1;
  829. }
  830.  
  831. public OnPlayerExitedMenu(playerid)
  832. {
  833. return 1;
  834. }
  835.  
  836. stock Datei(playerid)
  837. {
  838. new str[128];
  839. GetPlayerName(playerid, str, MAX_PLAYER_NAME);
  840. format(str, sizeof(str), "/accounts/%s.txt", str);
  841. return str;
  842. }
  843.  
  844. stock Spielername(playerid)
  845. {
  846. new name[MAX_PLAYER_NAME];
  847. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  848. return name;
  849. }
  850.  
  851. // strget
  852. stock strget(strx[], pos, search = ' ') {
  853. new arg, ret[128], idxx;
  854. for (new i = 0; i < strlen(strx); i++) {
  855. if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
  856. arg++;
  857. if (arg == pos + 1){
  858. ret[i-idxx] = EOS;
  859. return ret;
  860. } else if (arg == pos)
  861. idxx= i+1;
  862. }
  863. else if (arg == pos)
  864. ret[i - idxx] = strx[i];
  865. }
  866. return ret;
  867. }
  868.  
  869. stock strtok2(const string[], &index) //©Jeffry
  870. {
  871. new result[20], length = strlen(string), i = index;
  872. while ((i < length) && (string[i] == ' ')) i++;
  873. strmid(result,string,i,((index = strfind(string, " ", false, i)) == -1) ? (index = length) : (index) , 20);
  874. index++;
  875. return result;
  876. }
  877.  
  878. stock ReturnPlayerID(l_PlayerName[]) //©Jeffry
  879. {
  880. new l_name[MAX_PLAYER_NAME];
  881. for(new i = 0; i < MAX_PLAYERS; i++)
  882. {
  883. if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
  884. {
  885. if(!strcmp(l_name,l_PlayerName, true)) return i;
  886. }
  887. }
  888. for(new i = 0; i < MAX_PLAYERS; i++)
  889. {
  890. if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
  891. {
  892. if(strfind(l_name,l_PlayerName,true)!=-1) return i;
  893. }
  894. }
  895. return INVALID_PLAYER_ID;
  896. }
  897.  
  898. stock IsNumeric(string[])
  899. {
  900. for (new i = 0, j = strlen(string); i < j; i++)
  901. {
  902. if ((string[i] > '9' || string[i] < '0')) return 0;
  903. }
  904. return 1;
  905. }
Advertisement
Add Comment
Please, Sign In to add comment