Advertisement
Guest User

Truck

a guest
Sep 22nd, 2012
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 64.11 KB | None | 0 0
  1. /*
  2.       .--"""""--._
  3.    .'             '.
  4.   /                 \
  5.  ;     ©By Msk.      \
  6.  |                   |
  7.  |                   |
  8.  ;                   ;
  9.   \ (`'--,    ,--'`) /
  10.    \ \  _ )  ( _  / /
  11.     ) )(')/  \(')( (  
  12.    (_ `""` /\ `""` _)
  13.     \`"-, /  \ ,-"`/
  14.      `\ / `""` \ /`  
  15.       |/\/\/\/\/\|  
  16.       |\        /|
  17.       ; |/\/\/\| ;
  18.        \`-`--`-`/    
  19.         \      /
  20.          ',__,'
  21.  
  22. */
  23. #include <a_samp>
  24. #include <hsa>
  25. #include <zcmd>
  26. #include <streamer>
  27. #include <progress>
  28. #include <blitzer>
  29.  
  30. #undef MAX_PLAYERS
  31.     #define MAX_PLAYERS 20
  32.         #undef MAX_PLAYER_NAME
  33.             #define MAX_PLAYER_NAME 20+1
  34. #define Echo SendClientMessage
  35.     #define EchoAll SendClientMessageToAll
  36. #define AFehler "{FFFFFF}[INFO]:{FF0000}Du bist kein Admin !"
  37. #define GMName "Game Mode Name"
  38.  
  39. #define Rot         0xFF0000FF
  40. #define Blau        0x0000FFFF
  41. #define Grau        0x646464FF
  42.  
  43. #define DIALOG_REGISTER         (1)
  44. #define DIALOG_LOGIN            (2)
  45. #define DIALOG_TRAILERSPAWN1    (3)
  46. #define DIALOG_BOXAUSWAHL1      (4) // Flughafen - LV
  47.  
  48. #define TANK_VERLUST 25000
  49. #define BENZINPREIS 2
  50.  
  51. enum Spieleeer {
  52.     Pass[30],
  53.     level,
  54.     baned,
  55.     geld,
  56.     admin,
  57.     bool:eingeloggt,
  58.     fraktion,
  59.     rang,
  60.     bool:FirstLogin,
  61.     afk
  62. };
  63. new Spieler[MAX_PLAYERS][Spieleeer];
  64.  
  65. new bool:trailerspawned[MAX_PLAYERS];
  66. new trailer[MAX_PLAYERS];
  67. new spawn1trucks[8];
  68. new Float:spawn1trailers[][3] =
  69. {
  70.     {1495.7148,-1625.1652,13.3700,},
  71.     {1496.0491,-1616.6276,13.3700},
  72.     {1496.8397,-1608.1667,13.3700}
  73. };
  74. new spawn2trucks[8];
  75. new Float:spawn2trailers[][3] =
  76. {
  77.     {1563.5460,1517.2635,10.842},
  78.     {1567.7711,1507.7136,10.842},
  79.     {1570.5586,1501.4124,10.842},
  80.     {1573.5658,1494.6129,10.842}
  81. };
  82. new Float:TankLabels[22][3] =
  83. {
  84.     {2115.1099,920.2152,10.5473},
  85.     {2640.1238,1106.4349,10.8203},
  86.     {2147.3296,2748.5259,10.8203},
  87.     {2202.5032,2475.3677,10.8203},
  88.     {1593.9124,2199.2224,10.8203},
  89.     {625.8801,1675.6638,6.9922},
  90.     {622.1772,1680.2310,6.9922},
  91.     {618.1441,1684.9731,6.9922},
  92.     {615.8416,1689.9869,6.9922},
  93.     {612.1895,1694.8131,6.9922},
  94.     {608.9617,1700.1371,6.9922},
  95.     {605.3322,1704.4800,6.9922},
  96.     {601.8340,1709.0668,6.9922},
  97.     {-691.0447,1030.4225,12.4355},
  98.     {-384.8377,705.8079,29.4142},
  99.     {-1470.8219,1863.7476,32.6328},
  100.     {-1330.6077,2666.0127,50.0625},
  101.     {-1329.4254,2671.9973,50.0625},
  102.     {-1327.5894,2677.8020,50.0625},
  103.     {-1328.0266,2682.8457,50.0625},
  104.     {-1327.6228,2687.9814,50.0625},
  105.     {-25.8272,2524.4617,16.2115}
  106.  
  107. };
  108. #define TANK_LABELS 22
  109.  
  110. new engine,lights,alarm,doors,bonnet,boot,objective;
  111. new bool:Motor[MAX_VEHICLES]=false;
  112.  
  113. new st[MAX_PLAYERS];
  114. new sh[MAX_PLAYERS];
  115. new ht[MAX_PLAYERS];
  116. new at[MAX_PLAYERS];
  117. new at2[MAX_PLAYERS];
  118. new Schlafen[MAX_PLAYERS];
  119.  
  120. new flvls1[MAX_PLAYERS];
  121.  
  122. new Tank[MAX_VEHICLES],bool:TanktGerade[MAX_VEHICLES] = false, tanktimer[MAX_PLAYERS];
  123.  
  124. forward HealthT(playerid);
  125. forward Schlaf(playerid);
  126. forward Schlafi(playerid);
  127. forward BenzinVerlust();
  128. forward Auftanken(playerid);
  129. forward TankTD(playerid);
  130. forward PlayerUnfreeze(playerid);
  131. forward ArbeitsTimer(playerid);
  132. forward Leben(playerid);
  133.  
  134. new Text:Textdraw0;
  135. new Text:Textdraw1;
  136. new Text:Textdraw2;
  137. new Text:Textdraw3;
  138. new Text:Textdraw4;
  139. new Text:Textdraw5;
  140. new Text:Textdraw6;
  141. new Text:Textdraw7;
  142. new Text:Textdraw8;
  143. new Text:Textdraw9;
  144. new Text:Textdraw10;
  145. new Text:Textdraw11;
  146. new Text:Textdraw12;
  147. new Text:Textdraw13;
  148. new Text:Textdraw14;
  149. new Text:Textdraw15;
  150. new Text:Textdraw16;
  151. new Text:Textdraw17;
  152. new Text:Textdraw24;
  153. new Text:Textdraw25;
  154. new Text:Textdraw26;
  155. new Text:Textdraw27;
  156. new Text:Textdraw28;
  157. new Text:Textdraw29[MAX_PLAYERS];
  158. new Text:Textdraw30;
  159. new Text:Textdraw31;
  160. new Text:Textdraw32;
  161. new Text:Textdraw33;
  162. new Text:Textdraw34;
  163. new Text:Textdraw35;
  164. new Text:Textdraw36;
  165. new Text:Textdraw37;
  166. new Text:Textdraw38;
  167. new Text:Textdraw39;
  168. new Text:Textdraw40;
  169. new Text:Textdraw41[MAX_PLAYERS];
  170.  
  171. new Bar:energie[MAX_PLAYERS];
  172. new Bar:lebens[MAX_PLAYERS];
  173.  
  174.  
  175. main(){}
  176.  
  177.  
  178. public OnGameModeInit()
  179. {
  180.  
  181.     SetWorldTime(23);
  182.     SetGameModeText(GMName);
  183.    
  184.     SetTimer("BenzinVerlust",TANK_VERLUST,true);
  185.    
  186.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  187.  
  188.     Create3DTextLabel("{FF0000}Trailer {FFFF00}Spawn punkt\n{00FF00}/trailer",0xFFFFFFFF,1517.7813,-1618.8242,13.3700,50.0,0,true);
  189.  
  190.     spawn1trucks[0] = AddStaticVehicleEx(403,1445.1224,-1671.1450,13.9994,0.9182,0,0,40); // linerunner 1
  191.     spawn1trucks[1] = AddStaticVehicleEx(403,1500.3513,-1671.0087,13.9994,358.4104,0,0,40); // linerunner 2
  192.     spawn1trucks[2] = AddStaticVehicleEx(514,1517.2710,-1669.9858,13.9803,0.7176,0,0,40); // tanker 1
  193.     spawn1trucks[3] = AddStaticVehicleEx(514,1497.0676,-1658.0146,13.9782,359.3686,0,0,40); // tanker 2
  194.     spawn1trucks[4] = AddStaticVehicleEx(514,1487.7084,-1658.1163,13.9793,0.3917,0,0,40); // tanker 3
  195.     spawn1trucks[5] = AddStaticVehicleEx(515,1457.5123,-1658.3224,14.4112,0.1219,0,0,40); // roadtrain 1
  196.     spawn1trucks[6] = AddStaticVehicleEx(515,1448.6913,-1658.1349,14.4116,359.9207,0,0,40); // roadtrain 2
  197.     spawn1trucks[7] = AddStaticVehicleEx(515,1508.8002,-1670.5254,14.4148,0.6765,0,0,40); // roadtrain 3
  198.  
  199.     spawn2trucks[0] = AddStaticVehicleEx(403,1534.8717,1467.4204,11.4457,288.1966,0,0,40); // linerunner 1
  200.     spawn2trucks[1] = AddStaticVehicleEx(403,1533.1949,1473.2102,11.4483,287.0636,0,0,40); // linerunner 2
  201.     spawn2trucks[2] = AddStaticVehicleEx(403,1531.3580,1478.8591,11.4514,287.7405,0,0,40); // linerunner 3
  202.     spawn2trucks[3] = AddStaticVehicleEx(514,1530.6906,1486.6727,11.4151,286.9522,0,0,40); // tanker1
  203.     spawn2trucks[4] = AddStaticVehicleEx(514,1528.2915,1493.8560,11.4259,286.6678,0,0,40); // tanker2
  204.     spawn2trucks[5] = AddStaticVehicleEx(515,1526.0553,1501.6978,11.8748,288.3835,0,0,40); // roadtrain1
  205.     spawn2trucks[6] = AddStaticVehicleEx(515,1523.4657,1509.3717,11.8801,289.7173,0,0,40); // roadtrain2
  206.     spawn2trucks[7] = AddStaticVehicleEx(515,1521.0878,1516.4598,11.8814,288.3870,0,0,40); // roadtrain3
  207.    
  208.     Create3DTextLabel("{FF0000}Trailer {FFFFFF}Spawn punkt\n{FF8000}/trailer",0xFFFFFFFF,1558.7805,1530.5729,10.8352,50.0,0,true);
  209.    
  210.     Create3DTextLabel("{FFFFFF}Bitte {FFF000}NUR {FFFFFF}bei Rot Fahren!",0xFFFFFFFF,1782.4552,1416.5303,6.7408,30.0,0,0);
  211.     Create3DTextLabel("{FFFFFF}Bitte {FFF000}NUR {FFFFFF}bei Grün Fahren!",0xFFFFFFFF,1794.0220,1355.8566,6.7420,30.0,0,0);
  212.  
  213.     Create3DTextLabel("{FFFFFF}Bitte {FFF000}NUR {FFFFFF}bei Rot Fahren!",0xFFFFFFFF,1611.0914,845.5280,6.7261,30.0,0,0);
  214.     Create3DTextLabel("{FFFFFF}Bitte {FFF000}NUR {FFFFFF}bei Grün Fahren!",0xFFFFFFFF,1465.7297,828.9813,7.8382,30.0,0,0);
  215.  
  216.     for(new x = 0;x  < TANK_LABELS; x++)
  217.     {
  218.         Create3DTextLabel("{FF8000}/tanken\n{FFFFFF}Um dein Auto hier zu tanken",0xFFFFFFFF,TankLabels[x][0],TankLabels[x][1],TankLabels[x][2],30.0,0,0);
  219.         printf("Label an der X Koordinate %f erstellt",TankLabels[x][0]);
  220.     }
  221.  
  222.     Textdraw0 = TextDrawCreate(35.000000, 352.000000, "         ");
  223.     TextDrawBackgroundColor(Textdraw0, 255);
  224.     TextDrawFont(Textdraw0, 1);
  225.     TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
  226.     TextDrawColor(Textdraw0, -1);
  227.     TextDrawSetOutline(Textdraw0, 0);
  228.     TextDrawSetProportional(Textdraw0, 1);
  229.     TextDrawSetShadow(Textdraw0, 1);
  230.     TextDrawUseBox(Textdraw0, 1);
  231.     TextDrawBoxColor(Textdraw0, 255);
  232.     TextDrawTextSize(Textdraw0, 11.000000, 0.000000);
  233.  
  234.     Textdraw1 = TextDrawCreate(12.000000, 421.000000, "O");
  235.     TextDrawBackgroundColor(Textdraw1, 255);
  236.     TextDrawFont(Textdraw1, 1);
  237.     TextDrawLetterSize(Textdraw1, 0.799999, 2.800000);
  238.     TextDrawColor(Textdraw1, -1);
  239.     TextDrawSetOutline(Textdraw1, 0);
  240.     TextDrawSetProportional(Textdraw1, 1);
  241.     TextDrawSetShadow(Textdraw1, 1);
  242.  
  243.     Textdraw2 = TextDrawCreate(14.000000, 425.000000, "~r~T");
  244.     TextDrawBackgroundColor(Textdraw2, 255);
  245.     TextDrawFont(Textdraw2, 1);
  246.     TextDrawLetterSize(Textdraw2, 0.909999, 2.100000);
  247.     TextDrawColor(Textdraw2, -1);
  248.     TextDrawSetOutline(Textdraw2, 0);
  249.     TextDrawSetProportional(Textdraw2, 1);
  250.     TextDrawSetShadow(Textdraw2, 1);
  251.  
  252.     Textdraw3 = TextDrawCreate(20.000000, 341.000000, "~r~.");
  253.     TextDrawBackgroundColor(Textdraw3, 255);
  254.     TextDrawFont(Textdraw3, 1);
  255.     TextDrawLetterSize(Textdraw3, 0.639999, 2.200000);
  256.     TextDrawColor(Textdraw3, -1);
  257.     TextDrawSetOutline(Textdraw3, 0);
  258.     TextDrawSetProportional(Textdraw3, 1);
  259.     TextDrawSetShadow(Textdraw3, 1);
  260.  
  261.     Textdraw4 = TextDrawCreate(2.000000, 349.000000, "100%");
  262.     TextDrawBackgroundColor(Textdraw4, 255);
  263.     TextDrawFont(Textdraw4, 1);
  264.     TextDrawLetterSize(Textdraw4, 0.170000, 0.899999);
  265.     TextDrawColor(Textdraw4, -1);
  266.     TextDrawSetOutline(Textdraw4, 0);
  267.     TextDrawSetProportional(Textdraw4, 1);
  268.     TextDrawSetShadow(Textdraw4, 1);
  269.  
  270.     Textdraw5 = TextDrawCreate(2.000000, 383.000000, "50%");
  271.     TextDrawBackgroundColor(Textdraw5, 255);
  272.     TextDrawFont(Textdraw5, 1);
  273.     TextDrawLetterSize(Textdraw5, 0.170000, 0.899999);
  274.     TextDrawColor(Textdraw5, -1);
  275.     TextDrawSetOutline(Textdraw5, 0);
  276.     TextDrawSetProportional(Textdraw5, 1);
  277.     TextDrawSetShadow(Textdraw5, 1);
  278.  
  279.     Textdraw6 = TextDrawCreate(2.000000, 417.000000, "00%");
  280.     TextDrawBackgroundColor(Textdraw6, 255);
  281.     TextDrawFont(Textdraw6, 1);
  282.     TextDrawLetterSize(Textdraw6, 0.170000, 0.899999);
  283.     TextDrawColor(Textdraw6, -1);
  284.     TextDrawSetOutline(Textdraw6, 0);
  285.     TextDrawSetProportional(Textdraw6, 1);
  286.     TextDrawSetShadow(Textdraw6, 1);
  287.  
  288.     Textdraw7 = TextDrawCreate(20.000000, 353.000000, "~r~.");
  289.     TextDrawBackgroundColor(Textdraw7, 255);
  290.     TextDrawFont(Textdraw7, 1);
  291.     TextDrawLetterSize(Textdraw7, 0.639999, 2.200000);
  292.     TextDrawColor(Textdraw7, -1);
  293.     TextDrawSetOutline(Textdraw7, 0);
  294.     TextDrawSetProportional(Textdraw7, 1);
  295.     TextDrawSetShadow(Textdraw7, 1);
  296.  
  297.     Textdraw8 = TextDrawCreate(20.000000, 366.000000, "~r~.");
  298.     TextDrawBackgroundColor(Textdraw8, 255);
  299.     TextDrawFont(Textdraw8, 1);
  300.     TextDrawLetterSize(Textdraw8, 0.639999, 2.200000);
  301.     TextDrawColor(Textdraw8, -1);
  302.     TextDrawSetOutline(Textdraw8, 0);
  303.     TextDrawSetProportional(Textdraw8, 1);
  304.     TextDrawSetShadow(Textdraw8, 1);
  305.  
  306.     Textdraw9 = TextDrawCreate(20.000000, 380.000000, "~r~.");
  307.     TextDrawBackgroundColor(Textdraw9, 255);
  308.     TextDrawFont(Textdraw9, 1);
  309.     TextDrawLetterSize(Textdraw9, 0.639999, 2.200000);
  310.     TextDrawColor(Textdraw9, -1);
  311.     TextDrawSetOutline(Textdraw9, 0);
  312.     TextDrawSetProportional(Textdraw9, 1);
  313.     TextDrawSetShadow(Textdraw9, 1);
  314.  
  315.     Textdraw10 = TextDrawCreate(20.000000, 394.000000, "~r~.");
  316.     TextDrawBackgroundColor(Textdraw10, 255);
  317.     TextDrawFont(Textdraw10, 1);
  318.     TextDrawLetterSize(Textdraw10, 0.639999, 2.200000);
  319.     TextDrawColor(Textdraw10, -1);
  320.     TextDrawSetOutline(Textdraw10, 0);
  321.     TextDrawSetProportional(Textdraw10, 1);
  322.     TextDrawSetShadow(Textdraw10, 1);
  323.  
  324.     Textdraw11 = TextDrawCreate(20.000000, 407.000000, "~r~.");
  325.     TextDrawBackgroundColor(Textdraw11, 255);
  326.     TextDrawFont(Textdraw11, 1);
  327.     TextDrawLetterSize(Textdraw11, 0.639999, 2.200000);
  328.     TextDrawColor(Textdraw11, -1);
  329.     TextDrawSetOutline(Textdraw11, 0);
  330.     TextDrawSetProportional(Textdraw11, 1);
  331.     TextDrawSetShadow(Textdraw11, 1);
  332.    
  333.     Textdraw24 = TextDrawCreate(670.000000, -20.000000, "                                                                                                                ");
  334.     TextDrawBackgroundColor(Textdraw24, 255);
  335.     TextDrawFont(Textdraw24, 1);
  336.     TextDrawLetterSize(Textdraw24, 0.500000, 1.000000);
  337.     TextDrawColor(Textdraw24, -1);
  338.     TextDrawSetOutline(Textdraw24, 0);
  339.     TextDrawSetProportional(Textdraw24, 1);
  340.     TextDrawSetShadow(Textdraw24, 1);
  341.     TextDrawUseBox(Textdraw24, 1);
  342.     TextDrawBoxColor(Textdraw24, 149);
  343.     TextDrawTextSize(Textdraw24, -30.000000, 0.000000);
  344.    
  345.     Textdraw25 = TextDrawCreate(460.000000, 439.000000, "/");
  346.     TextDrawBackgroundColor(Textdraw25, 255);
  347.     TextDrawFont(Textdraw25, 1);
  348.     TextDrawLetterSize(Textdraw25, 0.500000, 1.000000);
  349.     TextDrawColor(Textdraw25, 255);
  350.     TextDrawSetOutline(Textdraw25, 0);
  351.     TextDrawSetProportional(Textdraw25, 1);
  352.     TextDrawSetShadow(Textdraw25, 1);
  353.    
  354.     Textdraw26 = TextDrawCreate(464.000000, 432.000000, "/");
  355.     TextDrawBackgroundColor(Textdraw26, 255);
  356.     TextDrawFont(Textdraw26, 1);
  357.     TextDrawLetterSize(Textdraw26, 0.500000, 1.000000);
  358.     TextDrawColor(Textdraw26, 255);
  359.     TextDrawSetOutline(Textdraw26, 0);
  360.     TextDrawSetProportional(Textdraw26, 1);
  361.     TextDrawSetShadow(Textdraw26, 1);
  362.  
  363.     Textdraw27 = TextDrawCreate(468.000000, 425.000000, "/");
  364.     TextDrawBackgroundColor(Textdraw27, 255);
  365.     TextDrawFont(Textdraw27, 1);
  366.     TextDrawLetterSize(Textdraw27, 0.500000, 1.000000);
  367.     TextDrawColor(Textdraw27, 255);
  368.     TextDrawSetOutline(Textdraw27, 0);
  369.     TextDrawSetProportional(Textdraw27, 1);
  370.     TextDrawSetShadow(Textdraw27, 1);
  371.    
  372.     Textdraw28 = TextDrawCreate(472.000000, 418.000000, "/");
  373.     TextDrawBackgroundColor(Textdraw28, 255);
  374.     TextDrawFont(Textdraw28, 1);
  375.     TextDrawLetterSize(Textdraw28, 0.500000, 1.000000);
  376.     TextDrawColor(Textdraw28, 255);
  377.     TextDrawSetOutline(Textdraw28, 0);
  378.     TextDrawSetProportional(Textdraw28, 1);
  379.     TextDrawSetShadow(Textdraw28, 1);
  380.    
  381.     for(new c = 0; c < MAX_PLAYERS; c++) {
  382.         Textdraw29[c] = TextDrawCreate(510.000000, 428.000000, "Tank: 10/60");
  383.         TextDrawBackgroundColor(Textdraw29[c], 255);
  384.         TextDrawFont(Textdraw29[c], 1);
  385.         TextDrawLetterSize(Textdraw29[c], 0.500000, 1.000000);
  386.         TextDrawColor(Textdraw29[c], -1);
  387.         TextDrawSetOutline(Textdraw29[c], 0);
  388.         TextDrawSetProportional(Textdraw29[c], 1);
  389.         TextDrawSetShadow(Textdraw29[c], 1);
  390.     }
  391.  
  392.     Textdraw30 = TextDrawCreate(647.000000, 422.000000, "     ");
  393.     TextDrawBackgroundColor(Textdraw30, 255);
  394.     TextDrawFont(Textdraw30, 1);
  395.     TextDrawLetterSize(Textdraw30, 0.500000, 1.000000);
  396.     TextDrawColor(Textdraw30, -1);
  397.     TextDrawSetOutline(Textdraw30, 0);
  398.     TextDrawSetProportional(Textdraw30, 1);
  399.     TextDrawSetShadow(Textdraw30, 1);
  400.     TextDrawUseBox(Textdraw30, 1);
  401.     TextDrawBoxColor(Textdraw30, 116);
  402.     TextDrawTextSize(Textdraw30, 477.000000, 0.000000);
  403.  
  404.     Textdraw31 = TextDrawCreate(647.000000, 422.000000, " ");
  405.     TextDrawBackgroundColor(Textdraw31, 255);
  406.     TextDrawFont(Textdraw31, 1);
  407.     TextDrawLetterSize(Textdraw31, 0.500000, 1.000000);
  408.     TextDrawColor(Textdraw31, -1);
  409.     TextDrawSetOutline(Textdraw31, 0);
  410.     TextDrawSetProportional(Textdraw31, 1);
  411.     TextDrawSetShadow(Textdraw31, 1);
  412.     TextDrawUseBox(Textdraw31, 1);
  413.     TextDrawBoxColor(Textdraw31, 255);
  414.     TextDrawTextSize(Textdraw31, 478.000000, 0.000000);
  415.  
  416.     Textdraw32 = TextDrawCreate(647.000000, 445.000000, " ");
  417.     TextDrawBackgroundColor(Textdraw32, 255);
  418.     TextDrawFont(Textdraw32, 1);
  419.     TextDrawLetterSize(Textdraw32, 0.500000, 1.000000);
  420.     TextDrawColor(Textdraw32, -1);
  421.     TextDrawSetOutline(Textdraw32, 0);
  422.     TextDrawSetProportional(Textdraw32, 1);
  423.     TextDrawSetShadow(Textdraw32, 1);
  424.     TextDrawUseBox(Textdraw32, 1);
  425.     TextDrawBoxColor(Textdraw32, 255);
  426.     TextDrawTextSize(Textdraw32, 478.000000, 0.000000);
  427.    
  428.     Textdraw33 = TextDrawCreate(670.000000, 0.000000, "               ");
  429.     TextDrawBackgroundColor(Textdraw33, 255);
  430.     TextDrawFont(Textdraw33, 1);
  431.     TextDrawLetterSize(Textdraw33, 0.500000, 1.000000);
  432.     TextDrawColor(Textdraw33, -1);
  433.     TextDrawSetOutline(Textdraw33, 0);
  434.     TextDrawSetProportional(Textdraw33, 1);
  435.     TextDrawSetShadow(Textdraw33, 1);
  436.     TextDrawUseBox(Textdraw33, 1);
  437.     TextDrawBoxColor(Textdraw33, 255);
  438.     TextDrawTextSize(Textdraw33, 454.000000, 10.000000);
  439.  
  440.     Textdraw34 = TextDrawCreate(473.000000, 105.000000, "Energie:");
  441.     TextDrawBackgroundColor(Textdraw34, 255);
  442.     TextDrawFont(Textdraw34, 1);
  443.     TextDrawLetterSize(Textdraw34, 0.460000, 1.699999);
  444.     TextDrawColor(Textdraw34, -1);
  445.     TextDrawSetOutline(Textdraw34, 0);
  446.     TextDrawSetProportional(Textdraw34, 1);
  447.     TextDrawSetShadow(Textdraw34, 1);
  448.    
  449.     Textdraw35 = TextDrawCreate(473.000000, 9.000000, "Leben:");
  450.     TextDrawBackgroundColor(Textdraw35, 255);
  451.     TextDrawFont(Textdraw35, 1);
  452.     TextDrawLetterSize(Textdraw35, 0.549999, 1.500000);
  453.     TextDrawColor(Textdraw35, -1);
  454.     TextDrawSetOutline(Textdraw35, 0);
  455.     TextDrawSetProportional(Textdraw35, 1);
  456.     TextDrawSetShadow(Textdraw35, 1);
  457.    
  458.     Textdraw36 = TextDrawCreate(642.000000, 399.000000, "  ");
  459.     TextDrawBackgroundColor(Textdraw36, 255);
  460.     TextDrawFont(Textdraw36, 1);
  461.     TextDrawLetterSize(Textdraw36, 0.440000, 2.199999);
  462.     TextDrawColor(Textdraw36, 255);
  463.     TextDrawSetOutline(Textdraw36, 0);
  464.     TextDrawSetProportional(Textdraw36, 1);
  465.     TextDrawSetShadow(Textdraw36, 1);
  466.     TextDrawUseBox(Textdraw36, 1);
  467.     TextDrawBoxColor(Textdraw36, 110);
  468.     TextDrawTextSize(Textdraw36, 502.000000, -40.000000);
  469.  
  470.     Textdraw37 = TextDrawCreate(499.000000, 395.000000, "/");
  471.     TextDrawBackgroundColor(Textdraw37, 255);
  472.     TextDrawFont(Textdraw37, 1);
  473.     TextDrawLetterSize(Textdraw37, 0.500000, 1.100000);
  474.     TextDrawColor(Textdraw37, 255);
  475.     TextDrawSetOutline(Textdraw37, 0);
  476.     TextDrawSetProportional(Textdraw37, 1);
  477.     TextDrawSetShadow(Textdraw37, 1);
  478.  
  479.     Textdraw38 = TextDrawCreate(495.000000, 403.000000, "/");
  480.     TextDrawBackgroundColor(Textdraw38, 255);
  481.     TextDrawFont(Textdraw38, 1);
  482.     TextDrawLetterSize(Textdraw38, 0.500000, 1.100000);
  483.     TextDrawColor(Textdraw38, 255);
  484.     TextDrawSetOutline(Textdraw38, 0);
  485.     TextDrawSetProportional(Textdraw38, 1);
  486.     TextDrawSetShadow(Textdraw38, 1);
  487.  
  488.     Textdraw39 = TextDrawCreate(492.000000, 409.000000, "/");
  489.     TextDrawBackgroundColor(Textdraw39, 255);
  490.     TextDrawFont(Textdraw39, 1);
  491.     TextDrawLetterSize(Textdraw39, 0.500000, 1.100000);
  492.     TextDrawColor(Textdraw39, 255);
  493.     TextDrawSetOutline(Textdraw39, 0);
  494.     TextDrawSetProportional(Textdraw39, 1);
  495.     TextDrawSetShadow(Textdraw39, 1);
  496.  
  497.     Textdraw39 = TextDrawCreate(490.000000, 413.000000, "/");
  498.     TextDrawBackgroundColor(Textdraw39, 255);
  499.     TextDrawFont(Textdraw39, 1);
  500.     TextDrawLetterSize(Textdraw39, 0.500000, 1.100000);
  501.     TextDrawColor(Textdraw39, 255);
  502.     TextDrawSetOutline(Textdraw39, 0);
  503.     TextDrawSetProportional(Textdraw39, 1);
  504.     TextDrawSetShadow(Textdraw39, 1);
  505.  
  506.     Textdraw40 = TextDrawCreate(642.000000, 399.000000, " ");
  507.     TextDrawBackgroundColor(Textdraw40, 255);
  508.     TextDrawFont(Textdraw40, 1);
  509.     TextDrawLetterSize(Textdraw40, 0.440000, 2.199999);
  510.     TextDrawColor(Textdraw40, 255);
  511.     TextDrawSetOutline(Textdraw40, 0);
  512.     TextDrawSetProportional(Textdraw40, 1);
  513.     TextDrawSetShadow(Textdraw40, 1);
  514.     TextDrawUseBox(Textdraw40, 1);
  515.     TextDrawBoxColor(Textdraw40, 255);
  516.     TextDrawTextSize(Textdraw40, 502.000000, -40.000000);
  517.  
  518.     for(new q = 0; q < MAX_PLAYERS; q++) {
  519.         Textdraw41[q] = TextDrawCreate(533.000000, 405.000000, "100 Km/h");
  520.         TextDrawBackgroundColor(Textdraw41[q], 255);
  521.         TextDrawFont(Textdraw41[q], 1);
  522.         TextDrawLetterSize(Textdraw41[q], 0.500000, 1.000000);
  523.         TextDrawColor(Textdraw41[q], -1);
  524.         TextDrawSetOutline(Textdraw41[q], 0);
  525.         TextDrawSetProportional(Textdraw41[q], 1);
  526.         TextDrawSetShadow(Textdraw41[q], 1);
  527.         }
  528.    
  529.     for(new s = 0; s < MAX_PLAYERS; s++) {
  530.         energie[s] = CreateProgressBar(554.00, 110.00, 60.50, 8.19, -16776961, 100.0);
  531.         lebens[s] = CreateProgressBar(554.00, 13.00, 59.50, 8.19, 9765119, 100.0);
  532.     }
  533.     Create3DTextLabel("{FFFFFF}Benutze {FFFF00}/aufladen \n{FFFFFF}Um dein Trailer auf zu laden",0xFFFFFFFF,1590.8978,1555.8287,12.7933,40.0,0,0);
  534.     Create3DTextLabel("{FFFFFF}Benutze {FFFF00}/aufladen \n{FFFFFF}Um dein Trailer auf zu laden",0xFFFFFFFF,1268.5310,770.5461,11.6626,40.0,0,0);
  535.     Create3DTextLabel("{FFFFFF}Benutze {FFFF00}/aufladen \n{FFFFFF}Um dein Trailer auf zu laden",0xFFFFFFFF,573.0854,1681.9556,6.9543,40.0,0,0);
  536.     Create3DTextLabel("{0000FF}--{FF0000}>{FFFFFF} Auflade Station Merschburg /{00FF00} Tankstelle",0xFFFFFFFF,482.5949,1641.6215,16.1956,40.0,0);
  537.    
  538.     ManualVehicleEngineAndLights();
  539.     for (new i=0; i< MAX_VEHICLES; i++)
  540.     {
  541.         GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  542.         SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  543.         Motor[i] = false;
  544.         Tank[i] = 100;
  545.     }
  546.     return 1;
  547. }
  548.  
  549. public OnGameModeExit()
  550. {
  551.     new x =0;
  552.     for(;x<MAX_PLAYERS;x++)return SpielerSpeichern(x);
  553.     return 1;
  554. }
  555.  
  556. public OnPlayerRequestClass(playerid, classid)
  557. {
  558.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  559.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  560.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  561.     return 1;
  562. }
  563.  
  564. public OnPlayerConnect(playerid)
  565. {
  566.     new name[MAX_PLAYER_NAME],datei[70];
  567.     GetPlayerName(playerid,name,sizeof(name));
  568.     format(datei,70,"/Server/Spieler/%s.hsa",name);
  569.     if(!fexist(datei)) {
  570.         ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","{FFFFFF}Willkommen\n\nSchön das du den Server gefunden hast\ndu hast noch keinen Account\nAlso registriere dich bitte\n\nTrage unten ein passwort ein","Register","Abbrechen");
  571.         Spieler[playerid][FirstLogin] = true;
  572.     } else {
  573.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Einloggen","{FFFFFF}Willkommen zurück\n Bitte logge dich mit deinen Passwort ein","Login","Abbrechen");
  574.     }
  575.     ht[playerid] = SetTimerEx("HealthT",1000,1,"d",playerid);
  576.     Schlafen[playerid] = 6;
  577.     TextDrawShowForPlayer(playerid,Textdraw12);
  578.     TextDrawShowForPlayer(playerid,Textdraw13);
  579.     TextDrawShowForPlayer(playerid,Textdraw14);
  580.     TextDrawShowForPlayer(playerid,Textdraw15);
  581.     TextDrawShowForPlayer(playerid,Textdraw16);
  582.     TextDrawShowForPlayer(playerid,Textdraw17);
  583.     st[playerid] = SetTimerEx("Schlaf",600000,1,"d",playerid);
  584.     ShowProgressBarForPlayer(playerid,energie[playerid]);
  585.     SetProgressBarValue(energie[playerid],100.0);
  586.     sh[playerid] = 0;
  587.     Spieler[playerid][afk] = 0;
  588.     SetTimerEx("TankTD",80,1,"d",playerid);
  589.     TextDrawShowForPlayer(playerid,Textdraw33);
  590.     TextDrawShowForPlayer(playerid,Textdraw34);
  591.     SetTimerEx("Leben",500,1,"d",playerid);
  592.     Schlafen[playerid] = 7;
  593.     return 1;
  594. }
  595. public OnPlayerDisconnect(playerid, reason)
  596. {
  597.     if(Spieler[playerid][eingeloggt] == true)
  598.     SpielerSpeichern(playerid);
  599.     Spieler[playerid][eingeloggt] = false;
  600.     if(trailerspawned[playerid] == true)
  601.     {
  602.         DestroyVehicle(trailer[playerid]);
  603.     }
  604.     trailerspawned[playerid] = false;
  605.     KillTimer(ht[playerid]);
  606.     KillTimer(st[playerid]);
  607.     sh[playerid] = 0;
  608.     RemovePlayerMapIcon(playerid,0);
  609.     RemovePlayerMapIcon(playerid,1);
  610.     Spieler[playerid][afk] = 0;
  611.     TextDrawHideForPlayer(playerid,Textdraw33);
  612.     TextDrawHideForPlayer(playerid,Textdraw34);
  613.     return 1;
  614. }
  615. public OnPlayerSpawn(playerid)
  616. {
  617.     RemoveBuildings(playerid);
  618.    
  619.     SetPlayerSkin(playerid,46);
  620.    
  621.     RemoveBuildingForPlayer(playerid, 18285, -1535.4688, -2749.7656, 47.6875, 0.25);
  622.    
  623.     SetPlayerPos(playerid,1472.6648,-1660.6016,18.1903);
  624.     SetPlayerColor(playerid,0xFFFFFFFF);
  625.  
  626.     SetPlayerMapIcon(playerid,0,1590.8978,1555.8287,12.7933,51,0,0);
  627.     SetPlayerMapIcon(playerid,1,1268.5310,770.5461,11.6626,51,0,0);
  628.    
  629.     for(new i = 0; i < TANK_LABELS; i++) {
  630.         SetPlayerMapIcon(playerid,i,TankLabels[i][0],TankLabels[i][1],TankLabels[i][2],42,0xFFFFFFFF,MAPICON_LOCAL);
  631.     }
  632.     TogglePlayerControllable(playerid,0);
  633.     SetTimerEx("PlayerUnfreeze",3000,0,"d",playerid);
  634.     if(Schlafen[playerid] == 7) { SetProgressBarValue(energie[playerid],100.0); }
  635.     return 1;
  636. }
  637.  
  638. public OnPlayerDeath(playerid, killerid, reason)
  639. {
  640.     RemovePlayerMapIcon(playerid,0);
  641.     RemovePlayerMapIcon(playerid,1);
  642.     SetPVarInt(playerid, "ScreenShow", 1);
  643.     return 1;
  644. }
  645.  
  646. public OnVehicleSpawn(vehicleid)
  647. {
  648.     GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  649.     SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  650.     Motor[vehicleid] = false;
  651.     return 1;
  652. }
  653.  
  654. public OnVehicleDeath(vehicleid, killerid)
  655. {
  656.     return 1;
  657. }
  658.  
  659. public OnPlayerText(playerid, text[])
  660. {
  661.     return 1;
  662. }
  663.  
  664. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  665. {
  666.     if(Motor[vehicleid] == false)
  667.     {
  668.         Echo(playerid,0xFFFFFFFF,"[INFO]:Um den {FF8000}Motor{FFFFFF} zu starten benutze die Taste{FFFF00}| 2 |");
  669.     }
  670.     return 1;
  671. }
  672.  
  673. public OnPlayerExitVehicle(playerid, vehicleid)
  674. {
  675.     return 1;
  676. }
  677.  
  678. public OnPlayerStateChange(playerid, newstate, oldstate)
  679. {
  680.     return 1;
  681. }
  682.  
  683. public OnPlayerEnterCheckpoint(playerid)
  684. {
  685.     if(flvls1[playerid] == 1)
  686.     {
  687.         flvls1[playerid] = 0;
  688.         KillTimer(at2[playerid]);
  689.         new str1[500];
  690.         strcat(str1,"{FFFFFF}=======================================================================");
  691.         strcat(str1,"\n\n\n\n\t\t{FF8000}---[ Fernseher ]---");
  692.         strcat(str1,"\n{FFFFFF}Du hast die Fernseher abgeliefert und bekommst nun dein Geld");
  693.         strcat(str1,"\n\t\t\t{FF0000}3500 $");
  694.         Spieler[playerid][geld] += 3500;
  695.         ShowPlayerDialog(playerid,12345,DIALOG_STYLE_MSGBOX,"Arbeit Fertig",str1,"OK","");
  696.         DisablePlayerCheckpoint(playerid);
  697.     }
  698.     return 1;
  699. }
  700.  
  701. public OnPlayerLeaveCheckpoint(playerid)
  702. {
  703.     return 1;
  704. }
  705.  
  706. public OnPlayerEnterRaceCheckpoint(playerid)
  707. {
  708.     return 1;
  709. }
  710.  
  711. public OnPlayerLeaveRaceCheckpoint(playerid)
  712. {
  713.     return 1;
  714. }
  715.  
  716. public OnRconCommand(cmd[])
  717. {
  718.     return 1;
  719. }
  720.  
  721. public OnPlayerRequestSpawn(playerid)
  722. {
  723.     return 1;
  724. }
  725.  
  726. public OnObjectMoved(objectid)
  727. {
  728.     return 1;
  729. }
  730.  
  731. public OnPlayerObjectMoved(playerid, objectid)
  732. {
  733.     return 1;
  734. }
  735.  
  736. public OnPlayerPickUpPickup(playerid, pickupid)
  737. {
  738.     return 1;
  739. }
  740.  
  741. public OnVehicleMod(playerid, vehicleid, componentid)
  742. {
  743.     return 1;
  744. }
  745.  
  746. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  747. {
  748.     return 1;
  749. }
  750.  
  751. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  752. {
  753.     return 1;
  754. }
  755.  
  756. public OnPlayerSelectedMenuRow(playerid, row)
  757. {
  758.     return 1;
  759. }
  760.  
  761. public OnPlayerExitedMenu(playerid)
  762. {
  763.     return 1;
  764. }
  765.  
  766. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  767. {
  768.     return 1;
  769. }
  770.  
  771. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  772. {
  773.     if(newkeys & KEY_SUBMISSION) {
  774.         if(GetPlayerVehicleSeat(playerid) == 0)
  775.         {
  776.             new car = GetPlayerVehicleID(playerid);
  777.             if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
  778.             {
  779.                 Echo(playerid,Rot, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
  780.             }
  781.  
  782.             else if (Tank[car] < 1)
  783.             {
  784.                 Echo(playerid,-1, "{FFFFFF}Der {FF8000}Tank ist leer.{FFFFFF} Du musst erst {FF8000}/tanken.");
  785.             }
  786.  
  787.             else if (Motor[car] == false )
  788.             {
  789.                 GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  790.                 SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  791.                 Motor[car] = true;
  792.             }
  793.  
  794.             else
  795.             {
  796.                 GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  797.                 SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  798.                 Motor[car] = false;
  799.             }
  800.         }
  801.     }
  802.     return 1;
  803. }
  804.  
  805. public OnRconLoginAttempt(ip[], password[], success)
  806. {
  807.     return 1;
  808. }
  809.  
  810. public OnPlayerStreamIn(playerid, forplayerid)
  811. {
  812.     return 1;
  813. }
  814.  
  815. public OnPlayerStreamOut(playerid, forplayerid)
  816. {
  817.     return 1;
  818. }
  819.  
  820. public OnVehicleStreamIn(vehicleid, forplayerid)
  821. {
  822.     return 1;
  823. }
  824.  
  825. public OnVehicleStreamOut(vehicleid, forplayerid)
  826. {
  827.     return 1;
  828. }
  829.  
  830. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  831. {
  832.     switch(dialogid) {
  833.         case DIALOG_REGISTER: {
  834.             if(strlen(inputtext) >= 24 || strlen(inputtext) <= 5) {
  835.                 SendClientMessage(playerid,0xFFFFFFFF,"Du hast kein Passwort eingetragen");
  836.                 ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","{FF00FF}Fehler\n\n{FFFFFF}Das passwort kann nur von 5 bis 24 zeichen haben\nVersuche es bitte erneut","Register","Abbrechen");
  837.             } else {
  838.                 Register(playerid,inputtext);
  839.             }
  840.         }
  841.         case DIALOG_LOGIN: {
  842.             if(strlen(inputtext) > 24 || strlen(inputtext) < 5) {
  843.                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FF8000}Du hast ein falsches passwort eingetragen,\n\n\t {FFFFF}versuche es bitte erneut","Login","Abbrechen");
  844.             } else {
  845.                 Login(playerid,inputtext);
  846.             }
  847.         }
  848.         case DIALOG_TRAILERSPAWN1: {
  849.             switch(listitem)
  850.             {
  851.                 case 0: {
  852.                     if(IsPlayerInRangeOfPoint(playerid,5.0,1518.0156,-1618.3210,13.3700)){
  853.                         new rand = random(sizeof(spawn1trailers));
  854.                         trailer[playerid] =  CreateVehicle(435,spawn1trailers[rand][0],spawn1trailers[rand][1],spawn1trailers[rand][2],276.3492,0,0,150);
  855.                         trailerspawned[playerid] = true;
  856.                     }
  857.                     else if(IsPlayerInRangeOfPoint(playerid,10.0,1558.7805,1530.5729,10.8352)){
  858.                         new rand2 = random(sizeof(spawn2trailers));
  859.                         trailer[playerid] = CreateVehicle(435,spawn2trailers[rand2][0],spawn2trailers[rand2][1],spawn2trailers[rand2][2],109.5495,0,0,150);
  860.                         trailerspawned[playerid] = true;
  861.                     }
  862.                  }
  863.                  case 1: {
  864.                     if(IsPlayerInRangeOfPoint(playerid,5.0,1518.0156,-1618.3210,13.3700)){
  865.                         new rand = random(sizeof(spawn1trailers));
  866.                         trailer[playerid] =  CreateVehicle(450,spawn1trailers[rand][0],spawn1trailers[rand][1],spawn1trailers[rand][2],276.3492,0,0,150);
  867.                         trailerspawned[playerid] = true;
  868.                     }
  869.                     else if(IsPlayerInRangeOfPoint(playerid,10.0,1558.7805,1530.5729,10.8352)){
  870.                         new rand2 = random(sizeof(spawn2trailers));
  871.                         trailer[playerid] = CreateVehicle(450,spawn2trailers[rand2][0],spawn2trailers[rand2][1],spawn2trailers[rand2][2],109.5495,0,0,150);
  872.                         trailerspawned[playerid] = true;
  873.                     }
  874.                 }
  875.                 case 2: {
  876.                     if(IsPlayerInRangeOfPoint(playerid,5.0,1518.0156,-1618.3210,13.3700)){
  877.                         new rand = random(sizeof(spawn1trailers));
  878.                         trailer[playerid] =  CreateVehicle(584,spawn1trailers[rand][0],spawn1trailers[rand][1],spawn1trailers[rand][2],276.3492,0,0,150);
  879.                         trailerspawned[playerid] = true;
  880.                     }
  881.                     else if(IsPlayerInRangeOfPoint(playerid,10.0,1558.7805,1530.5729,10.8352)){
  882.                         new rand2 = random(sizeof(spawn2trailers));
  883.                         trailer[playerid] = CreateVehicle(584,spawn2trailers[rand2][0],spawn2trailers[rand2][1],spawn2trailers[rand2][2],109.5495,0,0,150);
  884.                         trailerspawned[playerid] = true;
  885.                     }
  886.                  }
  887.             }
  888.         }
  889.         case DIALOG_BOXAUSWAHL1: {
  890.             if(listitem == 0) {
  891.                 flvls1[playerid] = 1;
  892.                 Echo(playerid,-1,"{FFFFFF}Die {FF8000}Fernseher {FFFFFF}wurden Aufgeladen, du kannst sie nun abliefern");
  893.                 SetPlayerCheckpoint(playerid,1152.9730,-1497.2604,16.8020,4.0);
  894.                 at[playerid] = 0;
  895.                 at2[playerid] = SetTimerEx("ArbeitsTimer",1000,1,"d",playerid);
  896.             }
  897.         }
  898.     }
  899.     return 1;
  900. }
  901.  
  902. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  903. {
  904.     return 1;
  905. }
  906. CMD:test1(playerid,params[])
  907. {
  908.     SetProgressBarValue(energie[playerid],100.0);
  909.     return true;
  910. }
  911. CMD:test4(playerid,params[])
  912. {
  913.     SetProgressBarValue(energie[playerid],60.0);
  914.     return true;
  915. }
  916. CMD:test5(playerid,params[])
  917. {
  918.     SetPlayerPos(playerid,2106.9626, 704.1901, 12.522);
  919.     return true;
  920. }
  921. CMD:test6(playerid,params[])
  922. {
  923.     SetPlayerPos(playerid,1635.8518,1569.3547,11.8271);
  924.     return true;
  925. }
  926. CMD:test7(playerid,params[])
  927. {
  928.     SetPlayerPos(playerid,2260.0837402344, 2823.3291015625, 11.79499);
  929.     return true;
  930. }
  931. CMD:test8(playerid,params[])
  932. {
  933.     SetPlayerPos(playerid,-218.89186096191, 1070.8104248047, 18.74218);
  934.     return true;
  935. }
  936. CMD:test9(playerid,params[])
  937. {
  938.     SetPlayerPos(playerid,1595.337890625, 1821.1630859375, 11.528594);
  939.     return true;
  940. }
  941. CMD:test10(playerid,params[])
  942. {
  943.     SetPlayerPos(playerid,1557.5665283203, 802.25885009766, 11.8691539);
  944.     return true;
  945. }
  946. CMD:test2(playerid,params[])
  947. {
  948.     new veh = GetPlayerVehicleID(playerid);
  949.     new n1 = CreateObject(18647,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
  950.     new n2 = CreateObject(18647,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
  951.     new n3 = CreateObject(19308,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
  952.     AttachObjectToVehicle(n1, veh, 1.174999, 0.075000, 1.384998, -5.025000, 0.000000, 0.000000);
  953.     AttachObjectToVehicle(n2, veh, -1.214999, 0.054999, 1.339998, -5.025000, 0.000000, 0.000000);
  954.     AttachObjectToVehicle(n3, veh, 0.000000, 1.344998, 1.389998, 0.000000, 0.000000, -89.444953);
  955.     return true;
  956. }
  957. CMD:test3(playerid,params[])
  958. {
  959.     new veh = GetPlayerVehicleID(playerid);
  960.     new n1 = CreateObject(18647,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
  961.     new n2 = CreateObject(18647,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
  962.     new n3 = CreateObject(19308,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
  963.     AttachObjectToVehicle(n1, veh, 1.174999, 0.075000, 1.384998, -5.025000, 0.000000, 0.000000);
  964.     AttachObjectToVehicle(n2, veh, -1.214999, 0.054999, 1.339998, -5.025000, 0.000000, 0.000000);
  965.     AttachObjectToVehicle(n3, veh, 0.000000, 1.344998, 1.389998, 0.000000, 0.000000, -89.444953);
  966.     return true;
  967. }
  968. CMD:aufladen(playerid,params[])
  969. {
  970.     if(IsPlayerInRangeOfPoint(playerid,5.0,1590.8978,1555.8287,12.7933)) {
  971.         if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) == 435 ){
  972.             ShowPlayerDialog(playerid,DIALOG_BOXAUSWAHL1,DIALOG_STYLE_LIST,"{FFFF00}Auflade stelle","{FF8000}Fernseher","Auswahl","Abbrechen");
  973.         } else if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) == 450 ) {
  974.             Echo(playerid,Rot,"Fuer den Kipper Trailer gibt es noch keine Missionen");
  975.         } else if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) == 584 ) {
  976.             Echo(playerid,Rot,"Fuer den Tanker Trailer gibt es noch keine Missionen");
  977.         }
  978.     } else {
  979.         Echo(playerid,Rot,"Hier kannst du deinen Truck nicht aufladen");
  980.     }
  981.     return 1;
  982. }
  983. CMD:tanken(playerid,params[])
  984. {
  985.     if(IsPlayerConnected(playerid))
  986.     if(!IsAtGasStation(playerid)) return Echo(playerid,Rot,"Du bist nicht an einer Tankstelle");
  987.     new veh = GetPlayerVehicleID(playerid);
  988.     if(GetPlayerVehicleSeat(playerid) != 0) return Echo(playerid,Rot,"Du sitztst nicht in einen Wagen");
  989.     else if(TanktGerade[veh])return Echo(playerid,Rot,"Du tankst doch schon ");
  990.     else if(Motor[veh] == true)return Echo(playerid,Rot,"Mach erst dein Motor aus");
  991.     new ZuTanken = 100-Tank[veh];
  992.     new preis = ZuTanken * BENZINPREIS;
  993.     if(Spieler[playerid][geld]-preis < 0)return Echo(playerid,Rot,"Du hast zu wenig Geld");
  994.     Spieler[playerid][geld] -=preis;
  995.     Echo(playerid,Rot,"Tanken wird gestartet");
  996.     SetCameraBehindPlayer(playerid);
  997.     TogglePlayerControllable(playerid,0);
  998.     TanktGerade[veh] = true;
  999.     tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"d",playerid);
  1000.     return 1;
  1001. }
  1002. CMD:slapme(playerid,params[])
  1003. {
  1004.     new Float:x,Float:y,Float:z;
  1005.     GetPlayerPos(playerid,x,y,z);
  1006.     SetPlayerPos(playerid,x,y,z+10);
  1007.     return true;
  1008. }
  1009. CMD:schlafen(playerid,params[])
  1010. {
  1011.     new veh = GetPlayerVehicleID(playerid);
  1012.     if(sh[playerid] == 1)Echo(playerid,Rot,"Du bist schon am schlafen");
  1013.     if(Motor[veh] == true)return Echo(playerid,Rot,"Du musst den Motor ausmachen");
  1014.     if(Schlafen[playerid] == 6)return Echo(playerid,Rot,"Du musst noch nicht schlafen");
  1015.     SetPlayerDrunkLevel(playerid,0);
  1016.     sh[playerid] = 1;
  1017.     TogglePlayerControllable(playerid,0);
  1018.     TextDrawShowForPlayer(playerid,Textdraw24);
  1019.     SetTimerEx("Schlafi",120000,0,"d",playerid);
  1020.     Echo(playerid,Rot,"Du wirst jetzt 2 minuten lang schlafen");
  1021.     return 1;
  1022. }
  1023. CMD:goto(playerid,params[])
  1024. {
  1025.     if(Spieler[playerid][admin] < 1)return Echo(playerid,Rot,AFehler);
  1026.     new pid,Float:x,Float:y,Float:z;
  1027.     if(sscanf(params,"i",pid))return Echo(playerid,Rot,"/goto [playerid]");
  1028.     GetPlayerPos(pid,x,y,z);
  1029.     SetPlayerPos(playerid,x,y,z);
  1030.     return 1;
  1031. }
  1032. CMD:gethere(playerid,params[])
  1033. {
  1034.     if(Spieler[playerid][admin] < 1)return Echo(playerid,Rot,AFehler);
  1035.     new pid,Float:x,Float:y,Float:z;
  1036.     if(sscanf(params,"d",pid))return Echo(playerid,Rot,"/gethere playerid ");
  1037.     GetPlayerPos(playerid,x,y,z);
  1038.     SetPlayerPos(pid,x,y,z);
  1039.     return 1;
  1040. }
  1041. CMD:makeadmin(playerid,params[])
  1042. {
  1043.     if(!IsPlayerAdmin(playerid))return 0;
  1044.     new pid,rangg,str1[128];
  1045.     if(sscanf(params,"dd",pid,rangg))return Echo(playerid,Rot,"/makeadmin [p] [rang]");
  1046.     if(rangg < 0 || rangg > 4)return 0;
  1047.     Spieler[pid][admin] = rangg;
  1048.     format(str1,128,"Du wurdest zum Admin lvl. (%d) gemacht",rangg);
  1049.     Echo(pid,Rot,str1);
  1050.     Echo(playerid,Rot,"Erfolgreich");
  1051.     SpielerSpeichern(pid);
  1052.     return 1;
  1053. }
  1054. CMD:makeleader(playerid,params[])
  1055. {
  1056.     if(!IsPlayerAdmin(playerid))return 0;
  1057.     new pid,rangg,str1[128];
  1058.     if(sscanf(params,"dd",pid,rangg))return Echo(playerid,Rot,"/makeadmin [p] [frakid]");
  1059.     if(rangg < 0 || rangg > 3)return 0;
  1060.     Spieler[pid][fraktion] = rangg;
  1061.     Spieler[pid][rang] = 6;
  1062.     format(str1,128,"Du wurdest zum Leader gemacht");
  1063.     Echo(pid,Rot,str1);
  1064.     Echo(playerid,Rot,"Erfolgreich");
  1065.     SpielerSpeichern(pid);
  1066.     return 1;
  1067. }
  1068. CMD:givegun(playerid,params[])
  1069. {
  1070.     if(Spieler[playerid][admin] <= 3)return 0;
  1071.     new wid,pid;
  1072.     if(sscanf(params,"dd",pid,wid))return Echo(playerid,Rot,"/givegun [p] [waffenid]");
  1073.     GivePlayerWeapon(pid,wid,1000);
  1074.     return 1;
  1075. }
  1076. CMD:givemoney(playerid,params[])
  1077. {
  1078.     if(Spieler[playerid][admin] <= 3)return 0;
  1079.     new wid,pid;
  1080.     if(sscanf(params,"dd",pid,wid))return Echo(playerid,Rot,"/givegun [p] [geld]");
  1081.     Spieler[playerid][geld] += wid;
  1082.     return 1;
  1083. }
  1084. CMD:radioon(playerid,params[])
  1085. {
  1086.     new Float:x,Float:y,Float:z;
  1087.     GetPlayerPos(playerid,x,y,z);
  1088.     new xx;
  1089.     for(;xx<MAX_PLAYERS;xx++)
  1090.     {
  1091.     PlayAudioStreamForPlayer(xx,"http://mp3.89.0rtl.de/listen.pls",x,y,z,60.0,0);
  1092.     Echo(playerid,Rot,"FF");
  1093.     }
  1094.     return 1;
  1095. }
  1096. CMD:label(playerid,params[])
  1097. {
  1098.     if(Spieler[playerid][admin] <= 3)return 0;
  1099.     new str1[200],Float:dd,tl,vw,Float:x,Float:y,Float:z;
  1100.     if(sscanf(params,"sfd",str1,dd,tl))return Echo(playerid,Rot,"/label [Text[]] [Drawdistance] [LOS]");
  1101.     vw = GetPlayerVirtualWorld(playerid);
  1102.     GetPlayerPos(playerid,x,y,z);
  1103.     Create3DTextLabel(str1,0xFFFFFFFF,x,y,z,dd,vw,tl);
  1104.     printf("Create3DTextLabel(%s,0xFFFFFFFF,%f,%f,%f,%i,%i,%i",str1,x,y,z,dd,vw,tl);
  1105.     return 1;
  1106. }
  1107. CMD:afk(playerid,params[])
  1108. {
  1109.     if(Spieler[playerid][afk] == 1)return Echo(playerid,Rot,"Du bist schon AFK");
  1110.     new Afk[128],name[MAX_PLAYER_NAME];
  1111.     GetPlayerName(playerid,name,MAX_PLAYER_NAME);
  1112.     format(Afk,128,"{999999}%s ist in den Afk modus gegangen",name);
  1113.     EchoAll(-1,Afk);
  1114.     TogglePlayerControllable(playerid,0);
  1115.     Spieler[playerid][afk] = 1;
  1116.     Echo(playerid,0xFFFFFF00,"Benutze /back wenn du wieder zurück bist");
  1117.     return 1;
  1118. }
  1119. CMD:back(playerid,params[])
  1120. {
  1121.     if(Spieler[playerid][afk] == 0)return Echo(playerid,Rot,"Du bist nicht AFK");
  1122.     new Afk[80],name[MAX_PLAYER_NAME];
  1123.     GetPlayerName(playerid,name,MAX_PLAYER_NAME);
  1124.     format(Afk,80,"{FFE0FF}%s ist wieder da",name);
  1125.     EchoAll(-1,Afk);
  1126.     TogglePlayerControllable(playerid,1);
  1127.     Spieler[playerid][afk] = 0;
  1128.     return 1;
  1129. }
  1130. CMD:afklist(playerid,params[])
  1131. {
  1132.     Echo(playerid,0xFFFF00FF,"Spieler die Afk sind: ");
  1133.     new x = 0,aname[256],str1[256];
  1134.     for(;x<MAX_PLAYERS;x++) {
  1135.         if(IsPlayerConnected(x)) {
  1136.             if(Spieler[playerid][afk] == 1) {
  1137.                 GetPlayerName(x,aname,256);
  1138.                 format(str1,256,"%s",aname);
  1139.                 Echo(playerid,0xAA3333AA,str1);
  1140.             }
  1141.         }
  1142.     }
  1143.     return 1;
  1144. }
  1145. CMD:veh(playerid,params[])
  1146. {
  1147.     if(Spieler[playerid][admin] <= 3)return 0;
  1148.     new vID,Float:x,Float:y,Float:z,cc;
  1149.     if(sscanf(params,"d",vID))return Echo(playerid,Rot,"/veh [vehicleid]");
  1150.     GetPlayerPos(playerid,x,y,z);
  1151.     cc = CreateVehicle(vID,x,y,z,10.0,0,0,-1);
  1152.     PutPlayerInVehicle(playerid,cc,0);
  1153.     return 1;
  1154. }
  1155. CMD:trailer(playerid,params[])
  1156. {
  1157.     if(trailerspawned[playerid] == true)return Echo(playerid,Rot,"Du hast schon ein Trailer gespawnt");
  1158.     if(IsPlayerInRangeOfPoint(playerid,6.0,1518.0156,-1618.3210,13.3700)){
  1159.         ShowPlayerDialog(playerid,DIALOG_TRAILERSPAWN1,DIALOG_STYLE_LIST,"Trailer","{FFFFFF}Box Trailer\nKipper Trailer\nTanker trailer","Spawn","Abbrechen");
  1160.     } else if(IsPlayerInRangeOfPoint(playerid,6.0,1558.7805,1530.5729,10.8352)){
  1161.         ShowPlayerDialog(playerid,DIALOG_TRAILERSPAWN1,DIALOG_STYLE_LIST,"Trailer","{FFFFFF}Box Trailer\nKipper Trailer\nTanker trailer","Spawn","Abbrechen");
  1162.     }else{
  1163.         Echo(playerid,Rot,"Du kannst diesen Befehl hier nicht benutzen");
  1164.     }
  1165.     return 1;
  1166. }
  1167. CMD:deltrailer(playerid,params[])
  1168. {
  1169.     if(trailerspawned[playerid] == false)return Echo(playerid,Rot,"Du hast keinen gespawnten Trailer");
  1170.     DestroyVehicle(trailer[playerid]);
  1171.     trailerspawned[playerid] = false;
  1172.     Echo(playerid,Rot,"Dein Trailer wurde gelöscht");
  1173.     return 1;
  1174. }
  1175. CMD:cblitzer(playerid,params[])
  1176. {
  1177.     if(Spieler[playerid][admin] <= 3)return 0;
  1178.     new sp,rd;
  1179.     if(sscanf(params,"dd",sp,rd))return 0;
  1180.     if(sp <= 69 || sp >= 131)return Echo(playerid,Rot,"Falsche geschwindigkeit (70 - 130 km/h)");
  1181.     if(rd <= 9 || rd >= 41)return Echo(playerid,Rot,"Falscher radius (10 - 40 m)");
  1182.     AddBlitzer(playerid,sp,rd);
  1183.     Echo(playerid,Rot,"Blitzer erfolgreich erstellt");
  1184.     return 1;
  1185. }
  1186. CMD:countblitzer(playerid,params[])
  1187. {
  1188.     CountBlitzer();
  1189.     return 1;
  1190. }
  1191. CMD:dblitzer(playerid,params[])
  1192. {
  1193.     if(Spieler[playerid][admin] <= 3)return 0;
  1194.     RemoveAllBlitzer();
  1195.     Echo(playerid,Rot,"Alle Blitzer entfernt");
  1196.     return 1;
  1197. }
  1198. CMD:ban(playerid,params[])
  1199. {
  1200.     new pID,grund[50],str1[128],name[MAX_PLAYER_NAME],name2[MAX_PLAYER_NAME];
  1201.     if(Spieler[playerid][admin] <= 1)return 0;
  1202.     if(sscanf(params,"ds",pID,grund))return Echo(playerid,Rot,"/ban [playerid] [grund]");
  1203.     if(pID == playerid)return 0;
  1204.     GetPlayerName(pID,name,sizeof(name));
  1205.     GetPlayerName(playerid,name2,sizeof(name2));
  1206.     format(str1,256,"((({FF0000}Der Spieler {00FF00}%s {FF0000}Wurde von {00FF00}%s gebannt | Grund: {FFFFFF}%s)))",name,name2,grund);
  1207.     TogglePlayerControllable(pID,false);
  1208.     BanEx(pID,grund);
  1209.     EchoAll(Rot,str1);
  1210.     print(str1);
  1211.     return true;
  1212. }
  1213. CMD:kick(playerid,params[])
  1214. {
  1215.     new pID,grund[50],str1[128],name[MAX_PLAYER_NAME],name2[MAX_PLAYER_NAME];
  1216.     if(Spieler[playerid][admin] < 1)return 0;
  1217.     if(sscanf(params,"ds",pID,grund))return Echo(playerid,Rot,"/kick [playerid] [grund]");
  1218.     if(pID == playerid)return 0;
  1219.     GetPlayerName(pID,name,sizeof(name));
  1220.     GetPlayerName(playerid,name2,sizeof(name2));
  1221.     format(str1,256,"((({FF0000}Der Spieler {00FF00}%s {FF0000}Wurde von {00FF00}%s gekickt | Grund: {FFFFFF}%s)))",name,name2,grund);
  1222.     TogglePlayerControllable(pID,false);
  1223.     Kick(pID);
  1224.     EchoAll(Rot,str1);
  1225.     print(str1);
  1226.     return true;
  1227. }
  1228. stock Register(playerid,pass[])
  1229. {
  1230.     new name[MAX_PLAYER_NAME],datei[60];
  1231.     GetPlayerName(playerid,name,sizeof(name));
  1232.     format(datei,sizeof(datei),"/Server/Spieler/%s",name);
  1233.     setString:datei("Passwort",pass);
  1234.     SetPlayerScore(playerid,1);
  1235.     Spieler[playerid][eingeloggt] = true;
  1236.     Save(datei);
  1237.     printf("Spieler %s hat sich auf dem Server registriert",name);
  1238.     return true;
  1239. }
  1240. stock Login(playerid,key[])
  1241. {
  1242.     new Spielerdatei[64],name[MAX_PLAYER_NAME];
  1243.     GetPlayerName(playerid,name,sizeof(name));
  1244.     format(Spielerdatei,sizeof(Spielerdatei),"/Server/Spieler/%s",name);
  1245.     if(!strcmp(key,getString:Spielerdatei("Passwort"),false)) {
  1246.         SpielerLaden(playerid);
  1247.         SendClientMessage(playerid,0xFFFFFFFF,"Erfolgreich eingeloggt.");
  1248.         printf("Spieler %s hat sich eingeloggt",name);
  1249.         return 1;
  1250.     } else {
  1251.         SendClientMessage(playerid,0xFFFFFFFF,"Falsches Passwort.");
  1252.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFFFFF}Du hast ein falsches passwort eingetragen, versuche es bitte erneut","Login","Abbrechen");
  1253.         return 1;
  1254.     }
  1255. }
  1256. stock SpielerSpeichern(p)
  1257. {
  1258.     new name[MAX_PLAYER_NAME],str1[70];
  1259.     GetPlayerName(p,name,sizeof(name));
  1260.     format(str1,70,"/Server/Spieler/%s",name);
  1261.     setInt:str1("Adminlevel",Spieler[p][admin]);
  1262.     setInt:str1("Level",GetPlayerScore(p));
  1263.     setInt:str1("Geld",Spieler[p][geld]);
  1264.     setInt:str1("Baned",Spieler[p][baned]);
  1265.     setInt:str1("Rang",Spieler[p][rang]);
  1266.     setInt:str1("Fraktion",Spieler[p][fraktion]);
  1267.     Spieler[p][eingeloggt] = true;
  1268.     Save(str1);
  1269.     return true;
  1270. }
  1271. stock IsAtGasStation(playerid)
  1272. {
  1273.     if(IsPlayerConnected(playerid))
  1274.     {
  1275.         for(new xxx = 0 ; xxx < TANK_LABELS; xxx++) {
  1276.             if(IsPlayerInRangeOfPoint(playerid,6.0,TankLabels[xxx][0],TankLabels[xxx][1],TankLabels[xxx][2]))
  1277.             return 1;
  1278.         }
  1279.     }
  1280.     return 0;
  1281. }
  1282. stock SpielerLaden(p)
  1283. {
  1284.     new name[MAX_PLAYER_NAME],datei[70];
  1285.     GetPlayerName(p,name,sizeof(name));
  1286.     format(datei,70,"/Server/Spieler/%s",name);
  1287.     Spieler[p][admin] = getInt:datei("Adminlevel");
  1288.     printf("Spieler %s Adminlevel = %i",name,Spieler[p][admin]);
  1289.     Spieler[p][level] = getInt:datei("level");
  1290.     SetPlayerScore(p,Spieler[p][level]);
  1291.     printf("Spieler %s level = %i",name,Spieler[p][level]);
  1292.     Spieler[p][geld] = getInt:datei("Geld");
  1293.     printf("Spieler %s geld = %i",name,Spieler[p][geld]);
  1294.     Spieler[p][fraktion] = getInt:datei("Fraktion");
  1295.     Spieler[p][rang] = getInt:datei("Rang");
  1296.     if(getInt:datei("Baned") == 1) {
  1297.         SendClientMessage(p,0xFFFFFFFF,"Du bist vom Server gebannt.");
  1298.         Ban(p);
  1299.     }
  1300.     Spieler[p][eingeloggt] = true;
  1301.     return true;
  1302. }
  1303. stock IsNumeric(const string[])
  1304. {
  1305.     for (new i = 0, j = strlen(string); i < j; i++)
  1306.         if (string[i] > '9' || string[i] < '0') return 0;
  1307.     return 1;
  1308. }
  1309. public PlayerUnfreeze(playerid)
  1310. {
  1311.     TogglePlayerControllable(playerid,1);
  1312.     return 1;
  1313. }
  1314. public ArbeitsTimer(playerid)
  1315. {
  1316.     at[playerid]++;
  1317.     return 1;
  1318. }
  1319.  
  1320. public TankTD(playerid)
  1321. {
  1322.     if(GetPlayerVehicleSeat(playerid) == 0) {
  1323.         new veh = GetPlayerVehicleID(playerid);
  1324.         if(GetVehicleModel(veh) != 509 && GetVehicleModel(veh) != 481 && GetVehicleModel(veh) != 510) {
  1325.             new string[125];
  1326.             if(Tank[veh] < 10) format(string,sizeof string,"~w~Tank: ~r~%i/100",Tank[veh]);
  1327.             else if(Tank[veh] < 30) format(string,sizeof string,"~w~Tank: ~y~%i/100",Tank[veh]);
  1328.             else if(Tank[veh] <= 100) format(string,sizeof string,"~w~Tank: ~g~%i/100",Tank[veh]);
  1329.             TextDrawSetString(Textdraw29[playerid],string);
  1330.             TextDrawShowForPlayer(playerid,Textdraw25);
  1331.             TextDrawShowForPlayer(playerid,Textdraw26);
  1332.             TextDrawShowForPlayer(playerid,Textdraw27);
  1333.             TextDrawShowForPlayer(playerid,Textdraw28);
  1334.             TextDrawShowForPlayer(playerid,Textdraw29[playerid]);
  1335.             TextDrawShowForPlayer(playerid,Textdraw30);
  1336.             TextDrawShowForPlayer(playerid,Textdraw31);
  1337.             TextDrawShowForPlayer(playerid,Textdraw32);
  1338.            
  1339.             TextDrawShowForPlayer(playerid,Textdraw36);
  1340.             TextDrawShowForPlayer(playerid,Textdraw37);
  1341.             TextDrawShowForPlayer(playerid,Textdraw38);
  1342.             TextDrawShowForPlayer(playerid,Textdraw39);
  1343.             TextDrawShowForPlayer(playerid,Textdraw40);
  1344.             TextDrawShowForPlayer(playerid,Textdraw41[playerid]);
  1345.             new str21[60];
  1346.             format(str21,60,"~w~%d ~w~Km/h",GetPlayerSpeedt(playerid));
  1347.             TextDrawSetString(Textdraw41[playerid],str21);
  1348.         }
  1349.        
  1350.     } else {
  1351.         TextDrawHideForPlayer(playerid,Textdraw25);
  1352.         TextDrawHideForPlayer(playerid,Textdraw26);
  1353.         TextDrawHideForPlayer(playerid,Textdraw27);
  1354.         TextDrawHideForPlayer(playerid,Textdraw28);
  1355.         TextDrawHideForPlayer(playerid,Textdraw29[playerid]);
  1356.         TextDrawHideForPlayer(playerid,Textdraw30);
  1357.         TextDrawHideForPlayer(playerid,Textdraw31);
  1358.         TextDrawHideForPlayer(playerid,Textdraw32);
  1359.         TextDrawHideForPlayer(playerid,Textdraw36);
  1360.         TextDrawHideForPlayer(playerid,Textdraw37);
  1361.         TextDrawHideForPlayer(playerid,Textdraw38);
  1362.         TextDrawHideForPlayer(playerid,Textdraw39);
  1363.         TextDrawHideForPlayer(playerid,Textdraw40);
  1364.         TextDrawHideForPlayer(playerid,Textdraw41[playerid]);
  1365.     }
  1366.     return 1;
  1367. }
  1368. public BenzinVerlust()
  1369. {
  1370.     for(new i=0; i<MAX_VEHICLES; i++)
  1371.     {
  1372.         if (Motor[i] == true)
  1373.         {
  1374.             Tank[i] = Tank[i]-1;
  1375.             if (Tank[i]<1)
  1376.             {
  1377.                 Tank[i] = 0;
  1378.                 GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  1379.                 SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  1380.                 Motor[i] = false;
  1381.             }
  1382.         }
  1383.     }
  1384.     return 1;
  1385. }
  1386.  
  1387. public Auftanken(playerid)
  1388. {
  1389.     new car = GetPlayerVehicleID(playerid);
  1390.     Tank[car] = Tank[car] +1;
  1391.     if(Tank[car] >= 100)
  1392.     {
  1393.         TanktGerade[car] = false;
  1394.         Tank[car] = 100;
  1395.         Echo(playerid, Rot, "Dein Fahrzeug wurde vollgetankt.");
  1396.         TogglePlayerControllable(playerid,1);
  1397.         KillTimer(tanktimer[playerid]);
  1398.     }
  1399.     return 1;
  1400. }
  1401. public Schlafi(playerid)
  1402. {
  1403.     TogglePlayerControllable(playerid,1);
  1404.     Echo(playerid,Rot,"Du hast dich ausgeschlafen, du kannst jetzt weiter fahren");
  1405.     Schlafen[playerid] = 6;
  1406.     SetProgressBarValue(energie[playerid],100.0);
  1407.     sh[playerid] = 0;
  1408.     st[playerid] = SetTimerEx("Schlaf",600000,1,"d",playerid);
  1409.     return 1;
  1410. }
  1411. stock HideTDS(playerid)
  1412. {
  1413.     TextDrawHideForPlayer(playerid,Textdraw3);
  1414.     TextDrawHideForPlayer(playerid,Textdraw7);
  1415.     TextDrawHideForPlayer(playerid,Textdraw8);
  1416.     TextDrawHideForPlayer(playerid,Textdraw9);
  1417.     TextDrawHideForPlayer(playerid,Textdraw10);
  1418.     TextDrawHideForPlayer(playerid,Textdraw11);
  1419.     return 1;
  1420. }
  1421. public HealthT(playerid)
  1422. {
  1423.     if(IsPlayerConnected(playerid)){
  1424.         if(IsPlayerInAnyVehicle(playerid)){
  1425.             TextDrawShowForPlayer(playerid,Textdraw0);
  1426.             TextDrawShowForPlayer(playerid,Textdraw1);
  1427.             TextDrawShowForPlayer(playerid,Textdraw2);
  1428.             TextDrawShowForPlayer(playerid,Textdraw4);
  1429.             TextDrawShowForPlayer(playerid,Textdraw5);
  1430.             TextDrawShowForPlayer(playerid,Textdraw6);
  1431.             new Float:vhp;
  1432.             GetVehicleHealth(GetPlayerVehicleID(playerid),vhp);
  1433.             if(vhp > 10.0) {
  1434.                 HideTDS(playerid);
  1435.                 TextDrawShowForPlayer(playerid,Textdraw11);
  1436.             }
  1437.             if(vhp > 400.0) {
  1438.                 HideTDS(playerid);
  1439.                 TextDrawShowForPlayer(playerid,Textdraw10);
  1440.             }
  1441.             if(vhp > 500.0) {
  1442.                 HideTDS(playerid);
  1443.                 TextDrawShowForPlayer(playerid,Textdraw9);
  1444.             }
  1445.             if(vhp > 600.0) {
  1446.                 HideTDS(playerid);
  1447.                 TextDrawShowForPlayer(playerid,Textdraw8);
  1448.             }
  1449.             if(vhp > 700.0) {
  1450.                 HideTDS(playerid);
  1451.                 TextDrawShowForPlayer(playerid,Textdraw7);
  1452.             }
  1453.             if(vhp > 800.0) {
  1454.                 HideTDS(playerid);
  1455.                 TextDrawShowForPlayer(playerid,Textdraw3);
  1456.             }
  1457.         } else {
  1458.             TextDrawHideForPlayer(playerid,Textdraw0);
  1459.             TextDrawHideForPlayer(playerid,Textdraw1);
  1460.             TextDrawHideForPlayer(playerid,Textdraw2);
  1461.             TextDrawHideForPlayer(playerid,Textdraw3);
  1462.             TextDrawHideForPlayer(playerid,Textdraw4);
  1463.             TextDrawHideForPlayer(playerid,Textdraw5);
  1464.             TextDrawHideForPlayer(playerid,Textdraw6);
  1465.             TextDrawHideForPlayer(playerid,Textdraw7);
  1466.             TextDrawHideForPlayer(playerid,Textdraw8);
  1467.             TextDrawHideForPlayer(playerid,Textdraw9);
  1468.             TextDrawHideForPlayer(playerid,Textdraw10);
  1469.             TextDrawHideForPlayer(playerid,Textdraw11);
  1470.         }
  1471.     }
  1472.     return 1;
  1473. }
  1474. public Leben(playerid)
  1475. {
  1476.     new Float:hp;
  1477.     GetPlayerHealth(playerid,hp);
  1478.     ShowProgressBarForPlayer(playerid,lebens[playerid]);
  1479.     SetProgressBarValue(lebens[playerid],hp);
  1480.     TextDrawShowForPlayer(playerid,Textdraw35);
  1481.     return 1;
  1482. }
  1483. public Schlaf(playerid)
  1484. {
  1485.     Schlafen[playerid]--;
  1486.     if(Schlafen[playerid] == 6)
  1487.     {
  1488.         ShowProgressBarForPlayer(playerid,energie[playerid]);
  1489.         SetProgressBarValue(energie[playerid],100.0);
  1490.     }
  1491.     if(Schlafen[playerid] == 5)
  1492.     {
  1493.         ShowProgressBarForPlayer(playerid,energie[playerid]);
  1494.         SetProgressBarValue(energie[playerid],85.0);
  1495.     }
  1496.     if(Schlafen[playerid] == 4)
  1497.     {
  1498.         ShowProgressBarForPlayer(playerid,energie[playerid]);
  1499.         SetProgressBarValue(energie[playerid],70.0);
  1500.     }
  1501.     if(Schlafen[playerid] == 3)
  1502.     {
  1503.         ShowProgressBarForPlayer(playerid,energie[playerid]);
  1504.         SetProgressBarValue(energie[playerid],55.0);
  1505.     }
  1506.     if(Schlafen[playerid] == 2)
  1507.     {
  1508.         ShowProgressBarForPlayer(playerid,energie[playerid]);
  1509.         SetProgressBarValue(energie[playerid],40.0);
  1510.     }
  1511.     if(Schlafen[playerid] == 1)
  1512.     {
  1513.         ShowProgressBarForPlayer(playerid,energie[playerid]);
  1514.         SetProgressBarValue(energie[playerid],20.0);
  1515.     }
  1516.     if(Schlafen[playerid] == 0)
  1517.     {
  1518.         ShowProgressBarForPlayer(playerid,energie[playerid]);
  1519.         SetProgressBarValue(energie[playerid],0.0);
  1520.         KillTimer(st[playerid]);
  1521.         SetPlayerDrunkLevel(playerid,9999);
  1522.         TextDrawShowForPlayer(playerid,Textdraw24);
  1523.         Echo(playerid,Rot,"Du solltest sofort anhalten und schlafen gehen ! {FF7519}[/schlafen]");
  1524.     }
  1525.     return 1;
  1526. }
  1527. stock RemoveBuildings(playerid)
  1528. {
  1529.     RemoveBuildingForPlayer(playerid, 4024, 1479.8672, -1790.3984, 56.0234, 0.25);
  1530.     RemoveBuildingForPlayer(playerid, 4044, 1481.1875, -1785.0703, 22.3828, 0.25);
  1531.     RemoveBuildingForPlayer(playerid, 4057, 1479.5547, -1693.1406, 19.5781, 0.25);
  1532.     RemoveBuildingForPlayer(playerid, 1527, 1448.2344, -1755.8984, 14.5234, 0.25);
  1533.     RemoveBuildingForPlayer(playerid, 4210, 1479.5625, -1631.4531, 12.0781, 0.25);
  1534.     RemoveBuildingForPlayer(playerid, 713, 1457.9375, -1620.6953, 13.4531, 0.25);
  1535.     RemoveBuildingForPlayer(playerid, 713, 1496.8672, -1707.8203, 13.4063, 0.25);
  1536.     RemoveBuildingForPlayer(playerid, 1283, 1430.1719, -1719.4688, 15.6250, 0.25);
  1537.     RemoveBuildingForPlayer(playerid, 1226, 1451.6250, -1727.6719, 16.4219, 0.25);
  1538.     RemoveBuildingForPlayer(playerid, 4002, 1479.8672, -1790.3984, 56.0234, 0.25);
  1539.     RemoveBuildingForPlayer(playerid, 3980, 1481.1875, -1785.0703, 22.3828, 0.25);
  1540.     RemoveBuildingForPlayer(playerid, 4003, 1481.0781, -1747.0313, 33.5234, 0.25);
  1541.     RemoveBuildingForPlayer(playerid, 1226, 1467.9844, -1727.6719, 16.4219, 0.25);
  1542.     RemoveBuildingForPlayer(playerid, 1226, 1485.1719, -1727.6719, 16.4219, 0.25);
  1543.     RemoveBuildingForPlayer(playerid, 1280, 1468.9844, -1713.5078, 13.4531, 0.25);
  1544.     RemoveBuildingForPlayer(playerid, 1231, 1479.6953, -1716.7031, 15.6250, 0.25);
  1545.     RemoveBuildingForPlayer(playerid, 1226, 1505.1797, -1727.6719, 16.4219, 0.25);
  1546.     RemoveBuildingForPlayer(playerid, 1280, 1488.7656, -1713.7031, 13.4531, 0.25);
  1547.     RemoveBuildingForPlayer(playerid, 1289, 1504.7500, -1711.8828, 13.5938, 0.25);
  1548.     RemoveBuildingForPlayer(playerid, 1258, 1445.0078, -1704.7656, 13.6953, 0.25);
  1549.     RemoveBuildingForPlayer(playerid, 1226, 1433.7109, -1702.3594, 16.4219, 0.25);
  1550.     RemoveBuildingForPlayer(playerid, 1226, 1433.7109, -1676.6875, 16.4219, 0.25);
  1551.     RemoveBuildingForPlayer(playerid, 1258, 1445.0078, -1692.2344, 13.6953, 0.25);
  1552.     RemoveBuildingForPlayer(playerid, 1226, 1433.7109, -1656.2500, 16.4219, 0.25);
  1553.     RemoveBuildingForPlayer(playerid, 1226, 1433.7109, -1636.2344, 16.4219, 0.25);
  1554.     RemoveBuildingForPlayer(playerid, 712, 1445.8125, -1650.0234, 22.2578, 0.25);
  1555.     RemoveBuildingForPlayer(playerid, 1226, 1433.7109, -1619.0547, 16.4219, 0.25);
  1556.     RemoveBuildingForPlayer(playerid, 1283, 1443.2031, -1592.9453, 15.6250, 0.25);
  1557.     RemoveBuildingForPlayer(playerid, 673, 1457.7266, -1710.0625, 12.3984, 0.25);
  1558.     RemoveBuildingForPlayer(playerid, 620, 1461.6563, -1707.6875, 11.8359, 0.25);
  1559.     RemoveBuildingForPlayer(playerid, 1280, 1468.9844, -1704.6406, 13.4531, 0.25);
  1560.     RemoveBuildingForPlayer(playerid, 700, 1463.0625, -1701.5703, 13.7266, 0.25);
  1561.     RemoveBuildingForPlayer(playerid, 1231, 1479.6953, -1702.5313, 15.6250, 0.25);
  1562.     RemoveBuildingForPlayer(playerid, 673, 1457.5547, -1697.2891, 12.3984, 0.25);
  1563.     RemoveBuildingForPlayer(playerid, 1280, 1468.9844, -1694.0469, 13.4531, 0.25);
  1564.     RemoveBuildingForPlayer(playerid, 1231, 1479.3828, -1692.3906, 15.6328, 0.25);
  1565.     RemoveBuildingForPlayer(playerid, 4186, 1479.5547, -1693.1406, 19.5781, 0.25);
  1566.     RemoveBuildingForPlayer(playerid, 620, 1461.1250, -1687.5625, 11.8359, 0.25);
  1567.     RemoveBuildingForPlayer(playerid, 700, 1463.0625, -1690.6484, 13.7266, 0.25);
  1568.     RemoveBuildingForPlayer(playerid, 641, 1458.6172, -1684.1328, 11.1016, 0.25);
  1569.     RemoveBuildingForPlayer(playerid, 625, 1457.2734, -1666.2969, 13.6953, 0.25);
  1570.     RemoveBuildingForPlayer(playerid, 1280, 1468.9844, -1682.7188, 13.4531, 0.25);
  1571.     RemoveBuildingForPlayer(playerid, 712, 1471.4063, -1666.1797, 22.2578, 0.25);
  1572.     RemoveBuildingForPlayer(playerid, 1231, 1479.3828, -1682.3125, 15.6328, 0.25);
  1573.     RemoveBuildingForPlayer(playerid, 625, 1458.2578, -1659.2578, 13.6953, 0.25);
  1574.     RemoveBuildingForPlayer(playerid, 712, 1449.8516, -1655.9375, 22.2578, 0.25);
  1575.     RemoveBuildingForPlayer(playerid, 1231, 1477.9375, -1652.7266, 15.6328, 0.25);
  1576.     RemoveBuildingForPlayer(playerid, 1280, 1479.6094, -1653.2500, 13.4531, 0.25);
  1577.     RemoveBuildingForPlayer(playerid, 625, 1457.3516, -1650.5703, 13.6953, 0.25);
  1578.     RemoveBuildingForPlayer(playerid, 625, 1454.4219, -1642.4922, 13.6953, 0.25);
  1579.     RemoveBuildingForPlayer(playerid, 1280, 1467.8516, -1646.5938, 13.4531, 0.25);
  1580.     RemoveBuildingForPlayer(playerid, 1280, 1472.8984, -1651.5078, 13.4531, 0.25);
  1581.     RemoveBuildingForPlayer(playerid, 1280, 1465.9375, -1639.8203, 13.4531, 0.25);
  1582.     RemoveBuildingForPlayer(playerid, 1231, 1466.4688, -1637.9609, 15.6328, 0.25);
  1583.     RemoveBuildingForPlayer(playerid, 625, 1449.5938, -1635.0469, 13.6953, 0.25);
  1584.     RemoveBuildingForPlayer(playerid, 1280, 1467.7109, -1632.8906, 13.4531, 0.25);
  1585.     RemoveBuildingForPlayer(playerid, 1232, 1465.8906, -1629.9766, 15.5313, 0.25);
  1586.     RemoveBuildingForPlayer(playerid, 1280, 1472.6641, -1627.8828, 13.4531, 0.25);
  1587.     RemoveBuildingForPlayer(playerid, 1280, 1479.4688, -1626.0234, 13.4531, 0.25);
  1588.     RemoveBuildingForPlayer(playerid, 3985, 1479.5625, -1631.4531, 12.0781, 0.25);
  1589.     RemoveBuildingForPlayer(playerid, 4206, 1479.5547, -1639.6094, 13.6484, 0.25);
  1590.     RemoveBuildingForPlayer(playerid, 1232, 1465.8359, -1608.3750, 15.3750, 0.25);
  1591.     RemoveBuildingForPlayer(playerid, 1229, 1466.4844, -1598.0938, 14.1094, 0.25);
  1592.     RemoveBuildingForPlayer(playerid, 1226, 1451.3359, -1596.7031, 16.4219, 0.25);
  1593.     RemoveBuildingForPlayer(playerid, 1226, 1471.3516, -1596.7031, 16.4219, 0.25);
  1594.     RemoveBuildingForPlayer(playerid, 1280, 1488.7656, -1704.5938, 13.4531, 0.25);
  1595.     RemoveBuildingForPlayer(playerid, 700, 1494.2109, -1694.4375, 13.7266, 0.25);
  1596.     RemoveBuildingForPlayer(playerid, 1280, 1488.7656, -1693.7344, 13.4531, 0.25);
  1597.     RemoveBuildingForPlayer(playerid, 620, 1496.9766, -1686.8516, 11.8359, 0.25);
  1598.     RemoveBuildingForPlayer(playerid, 641, 1494.1406, -1689.2344, 11.1016, 0.25);
  1599.     RemoveBuildingForPlayer(playerid, 1280, 1488.7656, -1682.6719, 13.4531, 0.25);
  1600.     RemoveBuildingForPlayer(playerid, 712, 1480.6094, -1666.1797, 22.2578, 0.25);
  1601.     RemoveBuildingForPlayer(playerid, 712, 1488.2266, -1666.1797, 22.2578, 0.25);
  1602.     RemoveBuildingForPlayer(playerid, 1280, 1486.4063, -1651.3906, 13.4531, 0.25);
  1603.     RemoveBuildingForPlayer(playerid, 1280, 1491.3672, -1646.3828, 13.4531, 0.25);
  1604.     RemoveBuildingForPlayer(playerid, 1280, 1493.1328, -1639.4531, 13.4531, 0.25);
  1605.     RemoveBuildingForPlayer(playerid, 1280, 1486.1797, -1627.7656, 13.4531, 0.25);
  1606.     RemoveBuildingForPlayer(playerid, 1280, 1491.2188, -1632.6797, 13.4531, 0.25);
  1607.     RemoveBuildingForPlayer(playerid, 1232, 1494.4141, -1629.9766, 15.5313, 0.25);
  1608.     RemoveBuildingForPlayer(playerid, 1232, 1494.3594, -1608.3750, 15.3750, 0.25);
  1609.     RemoveBuildingForPlayer(playerid, 1226, 1488.5313, -1596.7031, 16.4219, 0.25);
  1610.     RemoveBuildingForPlayer(playerid, 1229, 1498.0547, -1598.0938, 14.1094, 0.25);
  1611.     RemoveBuildingForPlayer(playerid, 1288, 1504.7500, -1705.4063, 13.5938, 0.25);
  1612.     RemoveBuildingForPlayer(playerid, 1287, 1504.7500, -1704.4688, 13.5938, 0.25);
  1613.     RemoveBuildingForPlayer(playerid, 1286, 1504.7500, -1695.0547, 13.5938, 0.25);
  1614.     RemoveBuildingForPlayer(playerid, 1285, 1504.7500, -1694.0391, 13.5938, 0.25);
  1615.     RemoveBuildingForPlayer(playerid, 673, 1498.9609, -1684.6094, 12.3984, 0.25);
  1616.     RemoveBuildingForPlayer(playerid, 625, 1504.1641, -1662.0156, 13.6953, 0.25);
  1617.     RemoveBuildingForPlayer(playerid, 625, 1504.7188, -1670.9219, 13.6953, 0.25);
  1618.     RemoveBuildingForPlayer(playerid, 620, 1503.1875, -1621.1250, 11.8359, 0.25);
  1619.     RemoveBuildingForPlayer(playerid, 673, 1501.2813, -1624.5781, 12.3984, 0.25);
  1620.     RemoveBuildingForPlayer(playerid, 673, 1498.3594, -1616.9688, 12.3984, 0.25);
  1621.     RemoveBuildingForPlayer(playerid, 1226, 1504.8906, -1596.7031, 16.4219, 0.25);
  1622.     RemoveBuildingForPlayer(playerid, 712, 1508.4453, -1668.7422, 22.2578, 0.25);
  1623.     RemoveBuildingForPlayer(playerid, 625, 1505.6953, -1654.8359, 13.6953, 0.25);
  1624.     RemoveBuildingForPlayer(playerid, 625, 1508.5156, -1647.8594, 13.6953, 0.25);
  1625.     RemoveBuildingForPlayer(playerid, 625, 1513.2734, -1642.4922, 13.6953, 0.25);
  1626.     RemoveBuildingForPlayer(playerid, 1258, 1510.8906, -1607.3125, 13.6953, 0.25);
  1627.     RemoveBuildingForPlayer(playerid, 1226, 1524.8281, -1721.6328, 16.4219, 0.25);
  1628.     RemoveBuildingForPlayer(playerid, 1226, 1524.8281, -1705.2734, 16.4219, 0.25);
  1629.     RemoveBuildingForPlayer(playerid, 1229, 1524.2188, -1693.9688, 14.1094, 0.25);
  1630.     RemoveBuildingForPlayer(playerid, 1226, 1524.8281, -1688.0859, 16.4219, 0.25);
  1631.     RemoveBuildingForPlayer(playerid, 1229, 1524.2188, -1673.7109, 14.1094, 0.25);
  1632.     RemoveBuildingForPlayer(playerid, 1226, 1524.8281, -1668.0781, 16.4219, 0.25);
  1633.     RemoveBuildingForPlayer(playerid, 1226, 1524.8281, -1647.6406, 16.4219, 0.25);
  1634.     RemoveBuildingForPlayer(playerid, 1226, 1524.8281, -1621.9609, 16.4219, 0.25);
  1635.     RemoveBuildingForPlayer(playerid, 1226, 1525.3828, -1611.1563, 16.4219, 0.25);
  1636.     RemoveBuildingForPlayer(playerid, 1283, 1528.9531, -1605.8594, 15.6250, 0.25);
  1637.     return 1;
  1638. }
  1639. stock GetPlayerSpeedt(playerid)
  1640. {
  1641. new Float:ST[4];
  1642. if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]); else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  1643. ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 169;
  1644. return floatround(ST[3]);
  1645. }
  1646. stock sscanf(string[], format[], {Float,_}:...)
  1647. {
  1648.     #if defined isnull
  1649.         if (isnull(string))
  1650.     #else
  1651.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1652.     #endif
  1653.         {
  1654.             return format[0];
  1655.         }
  1656.     #pragma tabsize 4
  1657.     new
  1658.         formatPos = 0,
  1659.         stringPos = 0,
  1660.         paramPos = 2,
  1661.         paramCount = numargs(),
  1662.         delim = ' ';
  1663.     while (string[stringPos] && string[stringPos] <= ' ')
  1664.     {
  1665.         stringPos++;
  1666.     }
  1667.     while (paramPos < paramCount && string[stringPos])
  1668.     {
  1669.         switch (format[formatPos++])
  1670.         {
  1671.             case '\0':
  1672.             {
  1673.                 return 0;
  1674.             }
  1675.             case 'i', 'd':
  1676.             {
  1677.                 new
  1678.                     neg = 1,
  1679.                     num = 0,
  1680.                     ch = string[stringPos];
  1681.                 if (ch == '-')
  1682.                 {
  1683.                     neg = -1;
  1684.                     ch = string[++stringPos];
  1685.                 }
  1686.                 do
  1687.                 {
  1688.                     stringPos++;
  1689.                     if ('0' <= ch <= '9')
  1690.                     {
  1691.                         num = (num * 10) + (ch - '0');
  1692.                     }
  1693.                     else
  1694.                     {
  1695.                         return -1;
  1696.                     }
  1697.                 }
  1698.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1699.                 setarg(paramPos, 0, num * neg);
  1700.             }
  1701.             case 'h', 'x':
  1702.             {
  1703.                 new
  1704.                     num = 0,
  1705.                     ch = string[stringPos];
  1706.                 do
  1707.                 {
  1708.                     stringPos++;
  1709.                     switch (ch)
  1710.                     {
  1711.                         case 'x', 'X':
  1712.                         {
  1713.                             num = 0;
  1714.                             continue;
  1715.                         }
  1716.                         case '0' .. '9':
  1717.                         {
  1718.                             num = (num << 4) | (ch - '0');
  1719.                         }
  1720.                         case 'a' .. 'f':
  1721.                         {
  1722.                             num = (num << 4) | (ch - ('a' - 10));
  1723.                         }
  1724.                         case 'A' .. 'F':
  1725.                         {
  1726.                             num = (num << 4) | (ch - ('A' - 10));
  1727.                         }
  1728.                         default:
  1729.                         {
  1730.                             return -1;
  1731.                         }
  1732.                     }
  1733.                 }
  1734.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1735.                 setarg(paramPos, 0, num);
  1736.             }
  1737.             case 'c':
  1738.             {
  1739.                 setarg(paramPos, 0, string[stringPos++]);
  1740.             }
  1741.             case 'f':
  1742.             {
  1743.  
  1744.                 new changestr[16], changepos = 0, strpos = stringPos;
  1745.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1746.                 {
  1747.                     changestr[changepos++] = string[strpos++];
  1748.                     }
  1749.                 changestr[changepos] = '\0';
  1750.                 setarg(paramPos,0,_:floatstr(changestr));
  1751.             }
  1752.             case 'p':
  1753.             {
  1754.                 delim = format[formatPos++];
  1755.                 continue;
  1756.             }
  1757.             case '\'':
  1758.             {
  1759.                 new
  1760.                     end = formatPos - 1,
  1761.                     ch;
  1762.                 while ((ch = format[++end]) && ch != '\'') {}
  1763.                 if (!ch)
  1764.                 {
  1765.                     return -1;
  1766.                 }
  1767.                 format[end] = '\0';
  1768.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1769.                 {
  1770.                     if (format[end + 1])
  1771.                     {
  1772.                         return -1;
  1773.                     }
  1774.                     return 0;
  1775.                 }
  1776.                 format[end] = '\'';
  1777.                 stringPos = ch + (end - formatPos);
  1778.                 formatPos = end + 1;
  1779.             }
  1780.             case 'u':
  1781.             {
  1782.                 new
  1783.                     end = stringPos - 1,
  1784.                     id = 0,
  1785.                     bool:num = true,
  1786.                     ch;
  1787.                 while ((ch = string[++end]) && ch != delim)
  1788.                 {
  1789.                     if (num)
  1790.                     {
  1791.                         if ('0' <= ch <= '9')
  1792.                         {
  1793.                             id = (id * 10) + (ch - '0');
  1794.                         }
  1795.                         else
  1796.                         {
  1797.                             num = false;
  1798.                         }
  1799.                     }
  1800.                 }
  1801.                 if (num && IsPlayerConnected(id))
  1802.                 {
  1803.                     setarg(paramPos, 0, id);
  1804.                 }
  1805.                 else
  1806.                 {
  1807.                     #if !defined foreach
  1808.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1809.                         #define __SSCANF_FOREACH__
  1810.                     #endif
  1811.                     string[end] = '\0';
  1812.                     num = false;
  1813.                     new
  1814.                         name[MAX_PLAYER_NAME];
  1815.                     id = end - stringPos;
  1816.                     foreach (Player, playerid)
  1817.                     {
  1818.                         GetPlayerName(playerid, name, sizeof (name));
  1819.                         if (!strcmp(name, string[stringPos], true, id))
  1820.                         {
  1821.                             setarg(paramPos, 0, playerid);
  1822.                             num = true;
  1823.                             break;
  1824.                         }
  1825.                     }
  1826.                     if (!num)
  1827.                     {
  1828.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  1829.                     }
  1830.                     string[end] = ch;
  1831.                     #if defined __SSCANF_FOREACH__
  1832.                         #undef foreach
  1833.                         #undef __SSCANF_FOREACH__
  1834.                     #endif
  1835.                 }
  1836.                 stringPos = end;
  1837.             }
  1838.             case 's', 'z':
  1839.             {
  1840.                 new
  1841.                     i = 0,
  1842.                     ch;
  1843.                 if (format[formatPos])
  1844.                 {
  1845.                     while ((ch = string[stringPos++]) && ch != delim)
  1846.                     {
  1847.                         setarg(paramPos, i++, ch);
  1848.                     }
  1849.                     if (!i)
  1850.                     {
  1851.                         return -1;
  1852.                     }
  1853.                 }
  1854.                 else
  1855.                 {
  1856.                     while ((ch = string[stringPos++]))
  1857.                     {
  1858.                         setarg(paramPos, i++, ch);
  1859.                     }
  1860.                 }
  1861.                 stringPos--;
  1862.                 setarg(paramPos, i, '\0');
  1863.             }
  1864.             default:
  1865.             {
  1866.                 continue;
  1867.             }
  1868.         }
  1869.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1870.         {
  1871.             stringPos++;
  1872.         }
  1873.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1874.         {
  1875.             stringPos++;
  1876.         }
  1877.         paramPos++;
  1878.     }
  1879.     do
  1880.     {
  1881.         if ((delim = format[formatPos++]) > ' ')
  1882.         {
  1883.             if (delim == '\'')
  1884.             {
  1885.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  1886.             }
  1887.             else if (delim != 'z')
  1888.             {
  1889.                 return delim;
  1890.             }
  1891.         }
  1892.     }
  1893.     while (delim > ' ');
  1894.     return 0;
  1895. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement