SHARE
TWEET

Untitled

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