Advertisement
Guest User

Feuerwehrsystem

a guest
Oct 25th, 2014
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 34.18 KB | None | 0 0
  1. #include <a_samp>
  2. #include <ocmd>
  3. forward SetItFire();
  4. forward BurnPlayer();
  5. forward Feuerwehrcar(playerid);
  6. forward LoschenCar(playerid,FeuerID);
  7. forward Loschen(playerid,FeuerID);
  8. forward IsAFireFighter(playerid);
  9. forward IsPlayerInRangeOfFeuer(playerid, Float:radius);
  10. forward IsPlayerInRangeOfFeuerWehrAuto(playerid, Float:radius);
  11. forward IsPointInArea(Float:PX,Float:PY,Float:MinX, Float:MinY, Float:MaxX, Float:MaxY);
  12. #define MAX_FEUER 151
  13. #define MAX_HAUS 6
  14. #define Dialog_Feuerwehr 9598
  15. enum RAM_INFO
  16. {
  17.     HausID,
  18.     Float:Haus_Enter_X,
  19.     Float:Haus_Enter_Y,
  20.     Float:Haus_Enter_Z,
  21.     Float:Haus_Exit_X,
  22.     Float:Haus_Exit_Y,
  23.     Float:Haus_Exit_Z,
  24.     Interior,
  25.     pickup_Innen,
  26.     pickup_Ausen
  27. }
  28. enum TORE_INFO{
  29.     Float:OpenX,
  30.     Float:OpenY,
  31.     Float:OpenZ,
  32.     Float:CloseX,
  33.     Float:CloseY,
  34.     Float:CloseZ,
  35.     ISOPEN
  36. };
  37. enum Fire_info
  38. {
  39.     HouseID,
  40.     Float:Firex,
  41.     Float:Firey,
  42.     Float:Firez,
  43.     Fireactive,
  44.     Firefighter,
  45.     pickup
  46.  
  47. };
  48. enum Player_Scheinwerfer{
  49.     Float:Schein_X,
  50.     Float:Schein_Y,
  51.     Float:Schein_Z,
  52.     Float:Schein_A,
  53.     Schein_Objekt,
  54.     Schein_Objekt2,
  55.     Schein_Haben,
  56.     Taschenlampe_Haben,
  57.     Indoor
  58. }
  59. new FIRE;
  60. new Mask[MAX_PLAYERS];
  61. new Weste[MAX_PLAYERS];
  62. new InHouse[MAX_PLAYERS];
  63. new Flasche[MAX_PLAYERS];
  64. new RamPlace[MAX_HAUS][RAM_INFO] = {
  65.     {0,1889.7766,-1102.6078,25.9435,2496.049804,-1695.238159,1014.742187,3,-1,-1},
  66.     {1,1910.8580,-1112.5986,30.2627,2496.049804,-1695.238159,1014.742187,3,-1,-1},
  67.     {2,1889.7766,-1102.6078,25.9435,2496.049804,-1695.238159,1014.742187,3,-1,-1},
  68.     {3,1922.7523,-1114.9200,27.0883,2496.049804,-1695.238159,1014.742187,3,-1,-1},
  69.     {4,1944.4146,-1104.2792,26.4531,2496.049804,-1695.238159,1014.742187,3,-1,-1},
  70.     {5,1956.3961,-1115.4467,27.8305,2496.049804,-1695.238159,1014.742187,3,-1,-1}
  71. };
  72. new Scheinwerfer[MAX_PLAYERS][Player_Scheinwerfer];
  73. new FireTOR[8];
  74. new Fires[MAX_FEUER-1][Fire_info] =
  75. {
  76.     {0,1889.7766,-1102.6078,25.9435,0,-1,0}, // //ID1
  77.     {0,1889.2166,-1113.6791,26.0,0,-1,1}, // //ID1
  78.     {0,1891.1300,-1113.4222,26.0,0,-1,2}, // //ID1
  79.     {0,1886.4065,-1121.3563,25.0,0,-1,3}, // //ID1
  80.     {0,1889.8990,-1118.7157,25.0,0,-1,4}, // //ID1
  81.     {0,1893.3767,-1123.1920,25.0,0,-1,5}, // //ID1
  82.     {0,1892.3390,-1123.4918,25.0,0,-1,6},// //ID1
  83.     {0,1895.5298,-1114.2897,25.0,0,-1,7}, // //ID1
  84.     {0,1893.1611,-1110.6904,25.0,0,-1,8}, // //ID1
  85.     {0,1895.3075,-1102.5140,25.0,0,-1,9}, // //ID1
  86.     {0,1890.3181,-1102.7148,26.0,0,-1,10}, // //ID1
  87.     {0,1889.4672,-1097.0555,25.0,0,-1,11}, // //ID1
  88.     {0,1884.2906,-1102.6754,25.0,0,-1,12}, // //ID1
  89.     {0,1881.5980,-1093.9221,25.0,0,-1,13}, // //ID1
  90.     {0,1879.3818,-1099.8719,25.0,0,-1,14}, // //ID1
  91.     {0,2499.1372,-1706.7642,1014.7422,0,-1,15}, // //
  92.     {0,2493.4895,-1711.4542,1014.7422,0,-1,16}, // //
  93.     {0,2491.8987,-1701.4757,1014.7610,0,-1,17}, // //
  94.     {0,2492.4844,-1695.0027,1014.7488,0,-1,18}, // //
  95.     {0,2500.0776,-1700.8942,1015.5469,0,-1,19},
  96.     {0,2498.6057,-1708.1536,1018.3438,0,-1,20}, // //
  97.     {0,2493.6609,-1706.7434,1018.3368,0,-1,21}, // //
  98.     {0,2491.4648,-1701.2579,1018.3438,0,-1,22}, // //
  99.     {0,2495.7578,-1703.5537,1018.3438,0,-1,23}, // //
  100.     {0,2500.0137,-1711.3540,1014.7422,0,-1,24},
  101.     {1,1910.8580,-1112.5986,30.2627,0,-1,0}, //
  102.     {1,1898.0471,-1118.4760,25.0,0,-1,1}, //
  103.     {1,1902.4236,-1117.3004,25.0,0,-1,2}, //
  104.     {1,1903.7328,-1122.2880,25.0,0,-1,3}, //
  105.     {1,1908.6550,-1119.6453,25.0,0,-1,4}, //
  106.     {1,1908.8674,-1113.6073,25.0,0,-1,5}, //
  107.     {1,1914.0846,-1114.0305,25.0,0,-1,6}, //
  108.     {1,1914.4355,-1102.6272,25.0,0,-1,7}, //
  109.     {1,1910.1592,-1101.7762,25.0,0,-1,8}, //
  110.     {1,1906.1002,-1094.8640,25.0,0,-1,9}, //
  111.     {1,1903.6001,-1099.1346,25.0,0,-1,10}, //
  112.     {1,1897.4680,-1092.4492,25.0,0,-1,11}, //
  113.     {1,1897.0009,-1103.1221,25.0,0,-1,12}, //
  114.     {1,1896.7610,-1112.0461,25.0,0,-1,13}, //
  115.     {1,1899.1481,-1123.2512,25.0,0,-1,14}, //
  116.     {1,2499.1372,-1706.7642,1014.7422,0,-1,15}, // //
  117.     {1,2493.4895,-1711.4542,1014.7422,0,-1,16}, // //
  118.     {1,2491.8987,-1701.4757,1014.7610,0,-1,17}, // //
  119.     {1,2492.4844,-1695.0027,1014.7488,0,-1,18}, // //
  120.     {1,2500.0776,-1700.8942,1015.5469,0,-1,19},
  121.     {1,2498.6057,-1708.1536,1018.3438,0,-1,20}, // //
  122.     {1,2493.6609,-1706.7434,1018.3368,0,-1,21}, // //
  123.     {1,2491.4648,-1701.2579,1018.3438,0,-1,22}, // //
  124.     {1,2495.7578,-1703.5537,1018.3438,0,-1,23}, // //
  125.     {1,2500.0137,-1711.3540,1014.7422,0,-1,24},
  126.     {2,1889.7766,-1102.6078,25.9435,0,-1,0},
  127.     {2,1889.2166,-1113.6791,26.0,0,-1,1},
  128.     {2,1891.1300,-1113.4222,26.0,0,-1,2},
  129.     {2,1886.4065,-1121.3563,25.0,0,-1,3},
  130.     {2,1889.8990,-1118.7157,25.0,0,-1,4},
  131.     {2,1893.3767,-1123.1920,25.0,0,-1,5},
  132.     {2,1892.3390,-1123.4918,25.0,0,-1,6},
  133.     {2,1895.5298,-1114.2897,25.0,0,-1,7},
  134.     {2,1893.1611,-1110.6904,25.0,0,-1,8},
  135.     {2,1895.3075,-1102.5140,25.0,0,-1,9},
  136.     {2,1890.3181,-1102.7148,26.0,0,-1,10},
  137.     {2,1889.4672,-1097.0555,25.0,0,-1,11},
  138.     {2,1884.2906,-1102.6754,25.0,0,-1,12},
  139.     {2,1881.5980,-1093.9221,25.0,0,-1,13},
  140.     {2,1879.3818,-1099.8719,25.0,0,-1,14},
  141.     {2,2499.1372,-1706.7642,1014.7422,0,-1,15}, // //
  142.     {2,2493.4895,-1711.4542,1014.7422,0,-1,16}, // //
  143.     {2,2491.8987,-1701.4757,1014.7610,0,-1,17}, // //
  144.     {2,2492.4844,-1695.0027,1014.7488,0,-1,18}, // //
  145.     {2,2500.0776,-1700.8942,1015.5469,0,-1,19},
  146.     {2,2498.6057,-1708.1536,1018.3438,0,-1,20}, // //
  147.     {2,2493.6609,-1706.7434,1018.3368,0,-1,21}, // //
  148.     {2,2491.4648,-1701.2579,1018.3438,0,-1,22}, // //
  149.     {2,2495.7578,-1703.5537,1018.3438,0,-1,23}, // //
  150.     {2,2500.0137,-1711.3540,1014.7422,0,-1,24},
  151.     {3,1922.8833,-1114.8466,27.0883,0,-1,0}, // //3
  152.     {3,1926.5300,-1114.6715,27.0,0,-1,1}, // //3
  153.     {3,1916.6930,-1118.9037,26.0,0,-1,2}, // //3
  154.     {3,1916.5295,-1113.0507,26.0,0,-1,3}, // //3
  155.     {3,1915.1432,-1101.5618,26.0,0,-1,4}, // //3
  156.     {3,1919.4825,-1099.1381,26.0,0,-1,5}, // //3
  157.     {3,1919.1250,-1093.5547,26.0,0,-1,6}, // //3
  158.     {3,1925.0759,-1095.6322,26.0,0,-1,7}, // //3
  159.     {3,1928.7836,-1093.8676,26.0,0,-1,8}, // //3
  160.     {3,1927.5078,-1099.6964,26.0,0,-1,9}, // //3
  161.     {3,1928.8790,-1106.4839,26.0,0,-1,10}, // //3
  162.     {3,1927.5210,-1115.6608,26.0,0,-1,11}, // //3
  163.     {3,1928.9111,-1121.6437,26.0,0,-1,12}, // //3
  164.     {3,1925.1537,-1121.2345,26.0,0,-1,13}, // //3
  165.     {3,1922.6147,-1124.0177,25.0,0,-1,14}, // //3
  166.     {3,2499.1372,-1706.7642,1014.7422,0,-1,15}, // //
  167.     {3,2493.4895,-1711.4542,1014.7422,0,-1,16}, // //
  168.     {3,2491.8987,-1701.4757,1014.7610,0,-1,17}, // //
  169.     {3,2492.4844,-1695.0027,1014.7488,0,-1,18}, // //
  170.     {3,2500.0776,-1700.8942,1015.5469,0,-1,19},
  171.     {3,2498.6057,-1708.1536,1018.3438,0,-1,20}, // //
  172.     {3,2493.6609,-1706.7434,1018.3368,0,-1,21}, // //
  173.     {3,2491.4648,-1701.2579,1018.3438,0,-1,22}, // //
  174.     {3,2495.7578,-1703.5537,1018.3438,0,-1,23}, // //
  175.     {3,2500.0137,-1711.3540,1014.7422,0,-1,24},
  176.     {4,1944.4146,-1104.2792,26.4531,0,-1,0}, // //4
  177.     {4,1940.4240,-1121.3937,26.0,0,-1,1}, // //4
  178.     {4,1938.5166,-1115.8898,27.0,0,-1,2}, // //4
  179.     {4,1942.7000,-1116.3934,27.0,0,-1,3}, // //4
  180.     {4,1946.2882,-1114.5315,27.0,0,-1,4}, // //4
  181.     {4,1947.8719,-1120.5040,26.0,0,-1,5}, // //4
  182.     {4,1949.4573,-1123.8040,26.0,0,-1,6}, // //4
  183.     {4,1949.3430,-1115.8190,26.0,0,-1,7}, // //4
  184.     {4,1947.3396,-1109.9110,26.0,0,-1,8}, // //4
  185.     {4,1948.7029,-1106.8677,26.0,0,-1,9}, // //4
  186.     {4,1945.8407,-1102.3647,26.0,0,-1,10}, // //4
  187.     {4,1938.9337,-1104.8245,26.0,0,-1,11}, // //4
  188.     {4,1937.3560,-1099.6936,26.0,0,-1,12}, // //4
  189.     {4,1935.3062,-1103.3104,26.0,0,-1,13}, // //4
  190.     {4,1929.7386,-1104.6324,26.0,0,-1,14}, // //4
  191.     {4,2499.1372,-1706.7642,1014.7422,0,-1,15}, // //
  192.     {4,2493.4895,-1711.4542,1014.7422,0,-1,16}, // //
  193.     {4,2491.8987,-1701.4757,1014.7610,0,-1,17}, // //
  194.     {4,2492.4844,-1695.0027,1014.7488,0,-1,18}, // //
  195.     {4,2500.0776,-1700.8942,1015.5469,0,-1,19},
  196.     {4,2498.6057,-1708.1536,1018.3438,0,-1,20}, // //
  197.     {4,2493.6609,-1706.7434,1018.3368,0,-1,21}, // //
  198.     {4,2491.4648,-1701.2579,1018.3438,0,-1,22}, // //
  199.     {4,2495.7578,-1703.5537,1018.3438,0,-1,23}, // //
  200.     {4,2500.0137,-1711.3540,1014.7422,0,-1,24},
  201.     {5,1956.3961,-1115.4467,27.8305,0,-1,0}, // //5
  202.     {5,1955.0698,-1120.3387,27.0,0,-1,1}, // //5
  203.     {5,1955.7924,-1115.8146,28.0,0,-1,2}, // //5
  204.     {5,1960.3033,-1114.6946,28.0,0,-1,3}, // //5
  205.     {5,1958.3920,-1121.4792,27.0,0,-1,4}, // //5
  206.     {5,1963.2944,-1114.7791,26.0,0,-1,5}, // //5
  207.     {5,1961.9972,-1109.6270,27.0,0,-1,6}, // //5
  208.     {5,1960.6274,-1100.8917,27.0,0,-1,7}, // //5
  209.     {5,1956.4510,-1101.5505,27.0,0,-1,8}, // //5
  210.     {5,1952.4231,-1097.9447,27.0,0,-1,9}, // //5
  211.     {5,1949.0735,-1101.8732,27.0,0,-1,10}, // //5
  212.     {5,1950.2546,-1111.0997,27.0,0,-1,11}, // //5
  213.     {5,1949.2008,-1117.7598,27.0,0,-1,12}, // //5
  214.     {5,1959.5428,-1124.4280,27.0,0,-1,13}, // //5
  215.     {5,1956.4510,-1101.5505,27.0,0,-1,14}, // //5//EDIT
  216.     {5,2499.1372,-1706.7642,1014.7422,0,-1,15}, // //
  217.     {5,2493.4895,-1711.4542,1014.7422,0,-1,16}, // //
  218.     {5,2491.8987,-1701.4757,1014.7610,0,-1,17}, // //
  219.     {5,2492.4844,-1695.0027,1014.7488,0,-1,18}, // //
  220.     {5,2500.0776,-1700.8942,1015.5469,0,-1,19},
  221.     {5,2498.6057,-1708.1536,1018.3438,0,-1,20}, // //
  222.     {5,2493.6609,-1706.7434,1018.3368,0,-1,21}, // //
  223.     {5,2491.4648,-1701.2579,1018.3438,0,-1,22}, // //
  224.     {5,2495.7578,-1703.5537,1018.3438,0,-1,23}, // //
  225.     {5,2500.0137,-1711.3540,1014.7422,0,-1,24}
  226. };
  227.  
  228. new TORES[8][TORE_INFO] = {
  229.     {1725.599609375, -1142.2998046875, 24.89999961853       ,1725.599609375, -1142.3000488281, 20.89999961853   ,1},
  230.     {1708.5, -1142.19921875, 24.89999961853                 ,1708.5, -1142.1999511719, 20.89999961853           ,1},
  231.     {1733.69921875, -1142.2998046875, 24.89999961853        ,1733.69921875, -1142.3000488281, 20.89999961853    ,1},
  232.     {1716.51953125, -1142.19921875, 24.89999961853          ,1716.51953125, -1142.1999511719, 20.89999961853    ,1},
  233.     {1742.7600097656, -1142.3000488281, 24.89999961853      ,1742.7600097656, -1142.3000488281, 20.89999961853  ,1},
  234.     {1751.0, -1142.3000488281, 24.89999961853               ,1751.0, -1142.3000488281, 20.89999961853           ,1},
  235.     {1723.90002441,-1108.59997559,24.80000114               ,1716.00002441,-1108.59997559,24.80000114           ,1},
  236.     {1731.80004883,-1108.59997559,24.80000114               ,1739.70004883,-1108.59997559,24.80000114           ,1}
  237. };
  238. new FIRETIMER;
  239. new Fire[25];
  240.  
  241.  
  242.  
  243. public OnGameModeInit()
  244. {
  245.     SetTimer("BurnPlayer",1051,1);
  246.     FIRETIMER = SetTimer("SetItFire",1031,0);
  247.     for(new x = 0;x < 25;x++)
  248.     {
  249.         Fire[x] = CreateObject(18689,9999,9999,9999,90,0,0);
  250.     }
  251.     CreateObject(4640, 1729.599609375, -1140.69921875, 24.700000762939, 0, 0, 90);
  252.     CreateObject(4640, 1729.5999755859, -1140.6999511719, 28.0, 0, 0, 90);
  253.     CreateObject(4640, 1729.599609375, -1140.69921875, 24.700000762939, 0, 0, 90);
  254.     CreateObject(4640, 1712.5, -1140.599609375, 24.700000762939, 0, 0, 90);
  255.     CreateObject(4640, 1712.5, -1140.5999755859, 28.0, 0, 0, 90);
  256.     CreateObject(4640, 1746.9000244141, -1140.6999511719, 24.700000762939, 0, 0, 90);
  257.     CreateObject(4640, 1746.9000244141, -1140.6999511719, 28.0, 0, 0, 90);
  258.     FireTOR[0] = CreateObject(11313, 1725.599609375, -1142.2998046875, 24.89999961853, 0, 0, 90);//zu
  259.     CreateObject(11313, 1725.599609375, -1142.3000488281, 20.89999961853, 0, 0, 90);//offen
  260.     CreateObject(11313, 1708.5, -1142.1999511719, 20.89999961853, 0, 0, 90);//offen
  261.     FireTOR[1] = CreateObject(11313, 1708.5, -1142.19921875, 24.89999961853, 0, 0, 90);//zu
  262.     FireTOR[2] = CreateObject(11313, 1733.69921875, -1142.2998046875, 24.89999961853, 0, 0, 90);//zu
  263.     CreateObject(11313, 1733.69921875, -1142.3000488281, 20.89999961853, 0, 0, 90);//offen
  264.     CreateObject(11313, 1716.51953125, -1142.1999511719, 20.89999961853, 0, 0, 90);//offen
  265.     FireTOR[3] = CreateObject(11313, 1716.51953125, -1142.19921875, 24.89999961853, 0, 0, 90);//zu
  266.     CreateObject(11313, 1742.7600097656, -1142.3000488281, 20.89999961853, 0, 0, 90);//offen
  267.     FireTOR[4] = CreateObject(11313, 1742.7600097656, -1142.3000488281, 24.89999961853, 0, 0, 90);//zu
  268.     FireTOR[5] = CreateObject(11313, 1751, -1142.3000488281, 24.89999961853, 0, 0, 90);//zu
  269.     FireTOR[6] = CreateObject(986,1723.90002441,-1108.59997559,24.80000114,0.00000000,0.00000000,0.00000000); //object(gate_autol) (1)<---------------------------Tor, wo nach rechts muss
  270.     FireTOR[7] = CreateObject(985,1731.80004883,-1108.59997559,24.80000114,0.00000000,0.00000000,0.00000000); //object(gate_autor) (2)<---------------------------Tor, wo nach links muss
  271.     CreateObject(11313, 1751, -1142.3000488281, 20.89999961853, 0, 0, 90);//offen
  272.     CreateObject(971, 1708.8990478516, -1142.2099609375, 30.459999084473, 0, 180, 0);
  273.     CreateObject(971, 1716.0200195313, -1142.1999511719, 30.469999313354, 0, 179.99450683594, 0);
  274.     CreateObject(971, 1724.375, -1142.3000488281, 30.469999313354, 0, 179.99450683594, 0);
  275.     CreateObject(971, 1733.0050048828, -1142.3000488281, 30.469999313354, 0, 179.99450683594, 0);
  276.     CreateObject(971, 1743.3499755859, -1142.3000488281, 30.469999313354, 0, 179.99450683594, 0);
  277.     CreateObject(971, 1750.3499755859, -1142.3000488281, 30.469999313354, 0, 179.99450683594, 0);
  278.     CreateObject(10828, 1755.3000488281, -1124.4000244141, 28.799999237061, 0, 0, 270);
  279.     CreateObject(10828, 1704, -1124, 29, 0, 0, 90);
  280.     CreateObject(3749, 1728.5999755859, -1111, 28.89999961853, 0, 0, 0);
  281.     CreateObject(1613, 1737.0999755859, -1130, 28.299999237061, 0, 0, 0);
  282.     CreateObject(11245, 1721.0999755859, -1144.9000244141, 29.39999961853, 0, 0, 270);
  283.     CreateObject(11245, 1738.1999511719, -1144.9000244141, 29.200000762939, 0, 0, 270);
  284.     CreatePickup(1239,1,1742.8485,-1131.7037,24.0781);
  285.     AddStaticVehicle(407,1708.4618,-1136.6073,24.3201,177.7533,3,-1); // feuerauto
  286.     AddStaticVehicle(407,1716.8624,-1136.9115,24.3122,178.1461,3,-1); // feuerauto
  287.     AddStaticVehicle(407,1725.5073,-1136.8195,24.3215,179.4288,3,-1); // feuerauto
  288.     AddStaticVehicle(407,1734.5051,-1137.3710,24.3220,178.4930,3,-1); // feuerauto
  289.     AddStaticVehicle(407,1742.5302,-1137.4628,24.3112,179.6624,3,-1); // feuerauto
  290.     AddStaticVehicle(407,1751.0054,-1137.2489,24.3200,180.7295,3,-1); // feuerauto
  291. }
  292. public IsPointInArea(Float:PX,Float:PY,Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
  293. {
  294.     if(PX >= MinX && PX <= MaxX && PY >= MinY && PY <= MaxY)
  295.     {
  296.         return 1;
  297.     }
  298.     return 0;
  299. }
  300. public IsPlayerInRangeOfFeuerWehrAuto(playerid, Float:radius){
  301.     new Float:VX,Float:VY,Float:VZ;
  302.     for(new vehicleid=0;vehicleid<MAX_VEHICLES;vehicleid++){
  303.         if(GetVehicleModel(vehicleid) == 407){
  304.             GetVehiclePos(vehicleid,VX,VY,VZ);
  305.             if(IsPlayerInRangeOfPoint(playerid,radius,VX,VY,VZ))
  306.             {
  307.                 return true;
  308.             }
  309.         }
  310.     }
  311.     return false;
  312. }
  313. public IsPlayerInRangeOfFeuer(playerid, Float:radius){
  314.     for(new x=0;x<MAX_FEUER;x++)
  315.     {
  316.         if(Fires[x][Fireactive] < 1 )
  317.         {
  318.  
  319.         }
  320.         else
  321.         {
  322.             if(IsPlayerInRangeOfPoint(playerid,radius,Fires[x][Firex],Fires[x][Firey],Fires[x][Firez]))
  323.             {
  324.                 return true;
  325.             }
  326.         }
  327.     }
  328.     return false;
  329. }
  330. public IsAFireFighter(playerid){
  331.     if(GetPlayerSkin(playerid) == 277||GetPlayerSkin(playerid) == 278||GetPlayerSkin(playerid) == 279)
  332.     {
  333.         return true;
  334.     }
  335.     else return false;
  336. }
  337.  
  338. public Loschen(playerid,FeuerID)
  339. {
  340.     if(IsPlayerAimingAt(playerid,Fires[FeuerID][Firex],Fires[FeuerID][Firey],Fires[FeuerID][Firez],0.4))
  341.     {
  342.         if(Fires[FeuerID][Fireactive] >= 2)
  343.         {
  344.             if(!IsPlayerInRangeOfPoint(playerid,3.0,Fires[FeuerID][Firex],Fires[FeuerID][Firey],Fires[FeuerID][Firez])){Fires[FeuerID][Fireactive] = 1;Fires[FeuerID][Firefighter] = -1;return GameTextForPlayer(playerid,"Das Feuer ist nicht erreichtbar aus dieser Entfernung!!",2500,3);}
  345.             if(IsPlayerInRangeOfPoint(playerid,15.0,Scheinwerfer[playerid][Schein_X],Scheinwerfer[playerid][Schein_Y],Scheinwerfer[playerid][Schein_Z]))
  346.             {
  347.                 if(Fires[FeuerID][Fireactive] >= 30)
  348.                 {
  349.                     GivePlayerMoney(playerid,50);
  350.                     SetObjectPos(Fire[Fires[FeuerID][pickup]],9999,9999,9999);
  351.                     Fires[FeuerID][Fireactive] = -1;
  352.                     return GameTextForPlayer(playerid,"Das Feuer ist geloescht!",2500,3);
  353.                 }
  354.             }else{
  355.                 if(Fires[FeuerID][Fireactive] >= 50)
  356.                 {
  357.                     GivePlayerMoney(playerid,50);
  358.                     SetObjectPos(Fire[Fires[FeuerID][pickup]],9999,9999,9999);
  359.                     Fires[FeuerID][Fireactive] = -1;
  360.                     return GameTextForPlayer(playerid,"Das Feuer ist geloescht!",2500,3);
  361.                 }
  362.             }
  363.             GameTextForPlayer(playerid,"Feuer wird geloescht!",100,3);
  364.             Fires[FeuerID][Fireactive]++;
  365.             SetTimerEx("Loschen",100,0,"ii",playerid,FeuerID);
  366.             return true;
  367.         }
  368.         else
  369.         {
  370.             Fires[FeuerID][Fireactive] = 1;
  371.             Fires[FeuerID][Firefighter] = -1;
  372.             return GameTextForPlayer(playerid,"Das loeschen wurde abgebrochen!",2500,3);
  373.         }
  374.     }
  375.     else
  376.     {
  377.         Fires[FeuerID][Fireactive] = 1;
  378.         Fires[FeuerID][Firefighter] = -1;
  379.         return GameTextForPlayer(playerid,"Sie ziehlen nicht mehr auf das Feuer!Das loeschen wurde abgebrochen!",2500,3);
  380.     }
  381. }
  382.  
  383. public LoschenCar(playerid,FeuerID)
  384. {
  385.     if(IsPlayerAimingAt(playerid,Fires[FeuerID][Firex],Fires[FeuerID][Firey],Fires[FeuerID][Firez]-1,2.5))
  386.     {
  387.         if(Fires[FeuerID][Fireactive] >= 2)
  388.         {
  389.             if(!IsPlayerInRangeOfPoint(playerid,15.0,Fires[FeuerID][Firex],Fires[FeuerID][Firey],Fires[FeuerID][Firez])){Fires[FeuerID][Fireactive] = 1;Fires[FeuerID][Firefighter] = -1;return GameTextForPlayer(playerid,"Das Feuer ist nicht erreichtbar aus dieser Entfernung!!",2500,3);}
  390.             if(IsPlayerInRangeOfPoint(playerid,15.0,Scheinwerfer[playerid][Schein_X],Scheinwerfer[playerid][Schein_Y],Scheinwerfer[playerid][Schein_Z])){
  391.                 if(Fires[FeuerID][Fireactive] >= 20){GivePlayerMoney(playerid,50);SetObjectPos(Fire[Fires[FeuerID][pickup]],9999,9999,9999);Fires[FeuerID][Fireactive] = -1;return GameTextForPlayer(playerid,"Das Feuer ist geloescht!",2500,3);}
  392.             }else{
  393.                 if(Fires[FeuerID][Fireactive] >= 40){GivePlayerMoney(playerid,50);SetObjectPos(Fire[Fires[FeuerID][pickup]],9999,9999,9999);Fires[FeuerID][Fireactive] = -1;return GameTextForPlayer(playerid,"Das Feuer ist geloescht!",2500,3);}
  394.             }
  395.             GameTextForPlayer(playerid,"Feuer wird geloescht!",100,3);
  396.             Fires[FeuerID][Fireactive]++;
  397.             SetTimerEx("LoschenCar",100,0,"ii",playerid,FeuerID);
  398.             return true;
  399.         }else{Fires[FeuerID][Fireactive] = 1;Fires[FeuerID][Firefighter] = -1;return GameTextForPlayer(playerid,"Das loeschen wurde abgebrochen!",2500,3);}
  400.     }else{Fires[FeuerID][Fireactive] = 1;Fires[FeuerID][Firefighter] = -1;return GameTextForPlayer(playerid,"Sie ziehlen nicht mehr auf das Feuer!Das loeschen wurde abgebrochen!",2500,3);}
  401. }
  402.     ocmd:respawnall(playerid,params[])
  403.     {
  404.         for(new x=0;x<MAX_VEHICLES;x++){
  405.             SetVehicleToRespawn(x);
  406.             if(IsPlayerConnected(x)){
  407.                 SpawnPlayer(x);
  408.                 DestroyObject(Scheinwerfer[x][Schein_Objekt]);
  409.                 DestroyObject(Scheinwerfer[x][Schein_Objekt2]);
  410.                 Scheinwerfer[x][Schein_X] = 99999;
  411.                 Scheinwerfer[x][Schein_Y] = 99999;
  412.                 Scheinwerfer[x][Schein_Z] = 99999;
  413.                 Scheinwerfer[x][Schein_A] = 99999;
  414.                 Scheinwerfer[x][Schein_Haben] = 0;
  415.                 Scheinwerfer[x][Schein_Objekt] = -1;
  416.                 Scheinwerfer[x][Schein_Objekt2] = -1;
  417.                 Scheinwerfer[x][Indoor] = -1;
  418.                 Scheinwerfer[x][Taschenlampe_Haben] = 0;
  419.                 Mask[x] = 0;
  420.                 Weste[x] = 0;
  421.             }
  422.         }
  423.         for(new x=0;x < 9;x++){
  424.             MoveObject(FireTOR[x],TORES[x][OpenX],TORES[x][OpenY],TORES[x][OpenZ],0.5);
  425.             TORES[x][ISOPEN] = 0;
  426.         }
  427.         KillTimer(FIRETIMER);
  428.         new rnd2 = random(5);
  429.         if(rnd2==0){ FIRETIMER = SetTimer("SetItFire",1000*10*60,0); }
  430.         if(rnd2==1){ FIRETIMER = SetTimer("SetItFire",1000*15*60,0); }
  431.         if(rnd2==2){ FIRETIMER = SetTimer("SetItFire",1000*5*60,0); }
  432.         if(rnd2==3){ FIRETIMER = SetTimer("SetItFire",1000*20*60,0); }
  433.         if(rnd2==4){ FIRETIMER = SetTimer("SetItFire",1000*25*60,0); }
  434.         return 0;
  435.     }
  436.     ocmd:ram(playerid,params[])
  437.     {
  438.         if(Scheinwerfer[playerid][Taschenlampe_Haben] == 0)return SendClientMessage(playerid,0xFF0000FF,"Sie haben die Taschenlampe zum einschlagen nicht dabei!");
  439.         for(new x=0;x<MAX_HAUS;x++){
  440.             if(IsPlayerInRangeOfPoint(playerid,2.5,RamPlace[x][Haus_Enter_X],RamPlace[x][Haus_Enter_Y],RamPlace[x][Haus_Enter_Z])){
  441.                 SetPlayerInterior(playerid,RamPlace[x][Interior]);
  442.                 SetPlayerPos(playerid,RamPlace[x][Haus_Exit_X],RamPlace[x][Haus_Exit_Y],RamPlace[x][Haus_Exit_Z]);
  443.                 Scheinwerfer[playerid][Indoor] = x;
  444.                 InHouse[playerid] = 1;
  445.             }
  446.         }
  447.         if(IsPlayerInRangeOfPoint(playerid,5.0,RamPlace[Scheinwerfer[playerid][Indoor]][Haus_Exit_X],RamPlace[Scheinwerfer[playerid][Indoor]][Haus_Exit_Y],RamPlace[Scheinwerfer[playerid][Indoor]][Haus_Exit_Z])){
  448.             SetPlayerInterior(playerid,0);
  449.             SetPlayerPos(playerid,RamPlace[Scheinwerfer[playerid][Indoor]][Haus_Enter_X],RamPlace[Scheinwerfer[playerid][Indoor]][Haus_Enter_Y],RamPlace[Scheinwerfer[playerid][Indoor]][Haus_Enter_Z]);
  450.             Scheinwerfer[playerid][Indoor] = -1;
  451.             InHouse[playerid] = 0;
  452.         }
  453.         return 0;
  454.  
  455.     }
  456.     ocmd:scheinwerfer(playerid,params[])
  457.     {
  458.         if(Scheinwerfer[playerid][Schein_Objekt] != -1)return SendClientMessage(playerid,0xFF0000FF,"Sie haben schon einen Scheinwerfer aufgestellt!");
  459.         if(Scheinwerfer[playerid][Schein_Haben] == 0)return SendClientMessage(playerid,0xFF0000FF,"Sie haben keinen Scheinwerfer dabei!");
  460.         new Float:Px,Float:Py,Float:Pz,Float:Pa;
  461.         GetPlayerPos(playerid,Px,Py,Pz);
  462.         GetPlayerFacingAngle(playerid,Pa);
  463.         Px += floatsin(-Pa, degrees)*2;
  464.         Py += floatcos(-Pa, degrees)*2;
  465.         Scheinwerfer[playerid][Schein_X] = Px;
  466.         Scheinwerfer[playerid][Schein_Y] = Py;
  467.         Scheinwerfer[playerid][Schein_Z] = Pz-3;
  468.         Scheinwerfer[playerid][Schein_A] = Pa;
  469.         Scheinwerfer[playerid][Schein_Objekt] = CreateObject(8879,Px,Py,Pz+5,0,0,Pa);
  470.         Px += floatsin(-Pa, degrees)*4.9;
  471.         Py += floatcos(-Pa, degrees)*4.9;
  472.         Scheinwerfer[playerid][Schein_Objekt2] = CreateObject(8880,Px,Py,Pz+6,0,0,Pa);
  473.         Scheinwerfer[playerid][Schein_Haben] = 0;
  474.         SendClientMessage(playerid,0xFF0000FF,"Sie haben ihren Scheinwerfer aufgestellt!");
  475.         return 0;
  476.     }
  477.     ocmd:abbauen(playerid,params[])
  478.     {
  479.         if(Scheinwerfer[playerid][Schein_Objekt] == -1)return SendClientMessage(playerid,0xFF0000FF,"Sie haben keinen Scheinwerfer aufgestellt!");
  480.         if(!IsPlayerInRangeOfPoint(playerid,2.5,Scheinwerfer[playerid][Schein_X],Scheinwerfer[playerid][Schein_Y],Scheinwerfer[playerid][Schein_Z]+3))return SendClientMessage(playerid,0xFF0000FF,"Sie sind nicht an ihrem Scheinwerfer!");
  481.         DestroyObject(Scheinwerfer[playerid][Schein_Objekt]);
  482.         DestroyObject(Scheinwerfer[playerid][Schein_Objekt2]);
  483.         Scheinwerfer[playerid][Schein_X] = 99999;
  484.         Scheinwerfer[playerid][Schein_Y] = 99999;
  485.         Scheinwerfer[playerid][Schein_Z] = 99999;
  486.         Scheinwerfer[playerid][Schein_A] = 99999;
  487.         Scheinwerfer[playerid][Schein_Haben] = 1;
  488.         Scheinwerfer[playerid][Schein_Objekt] = -1;
  489.         Scheinwerfer[playerid][Schein_Objekt2] = -1;
  490.         SendClientMessage(playerid,0xFF0000FF,"Sie haben ihren Scheinwerfer abgebaut!");
  491.         return 0;
  492.     }
  493.     /*if (strcmp("/Duty", cmdtext, true, 10) == 0)
  494.     {
  495.         if(!IsPlayerInRangeOfPoint(playerid,1.5,1742.8485,-1131.7037,24.0781))return SendClientMessage(playerid,0xFF0000FF,"Sie sind nicht am Duty Punkt!");
  496.         new rnd = random(3);
  497.         if(rnd == 0){SetPlayerSkin(playerid,277);}
  498.         else if(rnd == 1){SetPlayerSkin(playerid,278);}
  499.         else if(rnd == 2){SetPlayerSkin(playerid,279);}
  500.         else{SendClientMessage(playerid,0xFF0000FF,"Duty gehen gescheitert");}
  501.         return 0;
  502.     }*/
  503.     ocmd:mv(playerid,params[])
  504.     {
  505.         if(!IsAFireFighter(playerid))return SendClientMessage(playerid,0xFF0000FF,"Sie sind kein Staatsmitglied!");
  506.         for(new x=0;x < 9;x++){
  507.             if(IsPlayerInRangeOfPoint(playerid,12.5,TORES[x][OpenX],TORES[x][OpenY],TORES[x][OpenZ]))
  508.             {
  509.                 if(TORES[x][ISOPEN] == 1)
  510.                 {
  511.                     MoveObject(FireTOR[x],TORES[x][CloseX],TORES[x][CloseY],TORES[x][CloseZ],0.5);
  512.                     TORES[x][ISOPEN] = 0;
  513.                 }
  514.                 else if(TORES[x][ISOPEN] == 0)
  515.                 {
  516.                     MoveObject(FireTOR[x],TORES[x][OpenX],TORES[x][OpenY],TORES[x][OpenZ],0.5);
  517.                     TORES[x][ISOPEN] = 1;
  518.                 }
  519.             }
  520.         }
  521.         return 0;
  522.     }
  523.     ocmd:create(playerid,params[])
  524.     {
  525.         new rnd = random(MAX_HAUS);
  526.         new First;
  527.         for(new x = 0;x < MAX_FEUER;x++)
  528.         {
  529.             Fires[x][Fireactive] = -1;
  530.             Fires[x][Firefighter] = -1;
  531.             if(Fires[x][HouseID] == rnd){
  532.                 Fires[x][Fireactive] = 1;
  533.                 Fires[x][Firefighter] = -1;
  534.                 SetObjectPos(Fire[Fires[x][pickup]],Fires[x][Firex],Fires[x][Firey]+1.5,Fires[x][Firez]-1);
  535.                 if(First == 0){
  536.                     First = 1;
  537.                     FIRE = 1;
  538.                     for(new y = 0;y < MAX_PLAYERS; y++){
  539.                         if(IsAFireFighter(y)){
  540.                             SetPlayerCheckpoint(y,Fires[x][Firex],Fires[x][Firey],Fires[x][Firez],5.0);
  541.                             new Gebieta[128];
  542.                             new input[124];
  543.                             if(IsPointInArea(Fires[x][Firex],Fires[x][Firey],-1114.7791,-1120.7240,1963.2944,1878.1533)){ Gebieta="Glen Park";}
  544.                             else{ Gebieta="Unbekanntes Territorium";}
  545.                             format(input,sizeof(input),"[ZENTRALE]:{FF0000}Der Brand liegt in Folgendem Gebiet: %s Hausnr: %i",Gebieta,rnd);
  546.                             SendClientMessage(y,0xFF5B00FF,"[ZENTRALE]:{FF0000}Ein Brand wurde gemeldet! ");
  547.                             SendClientMessage(y,0xFF5B00FF,input);
  548.                             SendClientMessage(y,0xFF5B00FF,"[ZENTRALE]:{FF0000}Alle nahegelegenen Einheiten sofort zur Brandstelle.");
  549.                             SendClientMessage(y,0xFF5B00FF,"[ZENTRALE]:{FF0000}Am Marker darf in das Gebäude eingedrungen werden(/Ram).");
  550.                         }
  551.                     }
  552.                 }
  553.                 continue;//18694
  554.             }
  555.         }
  556.         if(First == 0){
  557.             SendClientMessage(playerid,0xFF0000FF,"[FEUERWACHE]:Es konnte kein Brannt gefunden werden!");
  558.         }
  559.         KillTimer(FIRETIMER);
  560.         new rnd2 = random(5);
  561.         if(rnd2==0){ FIRETIMER = SetTimer("SetItFire",1000*10*60,0); }
  562.         if(rnd2==1){ FIRETIMER = SetTimer("SetItFire",1000*15*60,0); }
  563.         if(rnd2==2){ FIRETIMER = SetTimer("SetItFire",1000*5*60,0); }
  564.         if(rnd2==3){ FIRETIMER = SetTimer("SetItFire",1000*20*60,0); }
  565.         if(rnd2==4){ FIRETIMER = SetTimer("SetItFire",1000*25*60,0); }
  566.         return 0;
  567.     }
  568. Float:DistanceCameraTargetToLocation(Float:CamX, Float:CamY, Float:CamZ,  Float:ObjX, Float:ObjY, Float:ObjZ,  Float:FrX, Float:FrY, Float:FrZ)
  569. {
  570.     new Float:TGTDistance;
  571.     // get distance from camera to target
  572.     TGTDistance = floatsqroot((CamX - ObjX) * (CamX - ObjX) + (CamY - ObjY) * (CamY - ObjY) + (CamZ - ObjZ) * (CamZ - ObjZ));
  573.     new Float:tmpX, Float:tmpY, Float:tmpZ;
  574.     tmpX = FrX * TGTDistance + CamX;
  575.     tmpY = FrY * TGTDistance + CamY;
  576.     tmpZ = FrZ * TGTDistance + CamZ;
  577.     return floatsqroot((tmpX - ObjX) * (tmpX - ObjX) + (tmpY - ObjY) * (tmpY - ObjY) + (tmpZ - ObjZ) * (tmpZ - ObjZ));
  578. }
  579. public Feuerwehrcar(playerid){
  580.     new Float:FX,Float:FY,Float:FZ;
  581.     ZielAufBoden(playerid, FX,FY,FZ);
  582.     SetPlayerCheckpoint(playerid,FX,FY,FZ,5.0);
  583. }
  584. stock ZielAufBoden(playerid, &Float:zielX, &Float:zielY, &Float:zielZ)
  585. {
  586.     new
  587.         Float:fPktX,
  588.         Float:fPktY,
  589.         Float:fPktZ,
  590.  
  591.         Float:fX,
  592.         Float:fY,
  593.         Float:fZ,
  594.         Float:fVecX,
  595.         Float:fVecY,
  596.         Float:fVecZ;
  597.  
  598.     GetPlayerPos(playerid,fX,fY,fZ);
  599.     GetPlayerCameraFrontVector(playerid,fVecX,fVecY,fVecZ);
  600.  
  601.     for(new r = 1 ; r < 100 ; r++)
  602.     {
  603.         fPktX = ( fX + ( r * fVecX ));
  604.         fPktY = ( fY + ( r * fVecY ));
  605.         fPktZ = ( fZ + ( r * fVecZ ));
  606.         if(fPktZ < fZ-1)
  607.         {
  608.             zielX = fPktX;
  609.             zielY = fPktY;
  610.             zielZ = fZ;
  611.             return 0;
  612.         }
  613.     }
  614.     return 0;
  615. }
  616. stock IsPlayerAimingAt(playerid, Float:x, Float:y, Float:z, Float:radius)
  617. {
  618.     new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
  619.     GetPlayerCameraPos(playerid, cx, cy, cz);
  620.     GetPlayerCameraFrontVector(playerid, fx, fy, fz);
  621.     return (radius >= DistanceCameraTargetToLocation(cx, cy, cz, x, y, z, fx, fy, fz));
  622. }
  623. public BurnPlayer(){
  624.     for(new x=0;x<MAX_PLAYERS;x++){
  625.         if(IsPlayerConnected(x)){
  626.                 if(!IsPlayerInAnyVehicle(x)){
  627.                     if(InHouse[x] == 1 && Flasche[x] == 0){
  628.                             new Float:Health;
  629.                             GetPlayerHealth(x,Health);
  630.                             SetPlayerHealth(x,Health-5);
  631.                             if(Weste[x] == 0 && Mask[x] == 0){
  632.                                 if(IsPlayerInRangeOfFeuer(x,1.5)){
  633.                                     GetPlayerHealth(x,Health);
  634.                                     SetPlayerHealth(x,Health-5);
  635.                                 }
  636.                             }else if(Mask[x] == 0){
  637.                                 if(IsPlayerInRangeOfFeuer(x,1.5)){
  638.                                     GetPlayerHealth(x,Health);
  639.                                     SetPlayerHealth(x,Health-2);
  640.                                 }
  641.                             }else if(Weste[x] == 0){
  642.                                 if(IsPlayerInRangeOfFeuer(x,1.5)){
  643.                                     GetPlayerHealth(x,Health);
  644.                                     SetPlayerHealth(x,Health-3);
  645.                                 }
  646.                             }
  647.                     }else{
  648.                         if(Weste[x] == 0 && Mask[x] == 0){
  649.                             if(IsPlayerInRangeOfFeuer(x,1.5)){
  650.                                 new Float:Health;
  651.                                 GetPlayerHealth(x,Health);
  652.                                 SetPlayerHealth(x,Health-5);
  653.                             }
  654.                         }
  655.                         else if(Mask[x] == 0){
  656.                             if(IsPlayerInRangeOfFeuer(x,1.5)){
  657.                                 new Float:Health;
  658.                                 GetPlayerHealth(x,Health);
  659.                                 SetPlayerHealth(x,Health-2);
  660.                             }
  661.                         }
  662.                         else if(Weste[x] == 0){
  663.                             if(IsPlayerInRangeOfFeuer(x,1.5)){
  664.                                 new Float:Health;
  665.                                 GetPlayerHealth(x,Health);
  666.                                 SetPlayerHealth(x,Health-3);
  667.                             }
  668.                         }
  669.                     }
  670.                 }
  671.         }
  672.     }
  673.     return true;
  674. }
  675.  
  676. public SetItFire(){
  677.         new int1;
  678.         for(new x = 0;x < MAX_PLAYERS;x++)
  679.         {
  680.  
  681.             if(IsAFireFighter(x))
  682.             {
  683.                 int1++;
  684.             }
  685.         }
  686.         if(int1 == 0)return FIRETIMER = SetTimer("SetItFire",1000*1*60,0);
  687.         new rnd2 = random(5);
  688.         if(rnd2==0){ FIRETIMER = SetTimer("SetItFire",1000*10*60,0); }
  689.         if(rnd2==1){ FIRETIMER = SetTimer("SetItFire",1000*15*60,0); }
  690.         if(rnd2==2){ FIRETIMER = SetTimer("SetItFire",1000*5*60,0); }
  691.         if(rnd2==3){ FIRETIMER = SetTimer("SetItFire",1000*20*60,0); }
  692.         if(rnd2==4){ FIRETIMER = SetTimer("SetItFire",1000*25*60,0); }
  693.         new rnd = random(MAX_HAUS);
  694.         new First;
  695.         for(new x = 0;x < MAX_FEUER;x++)
  696.         {
  697.             Fires[x][Fireactive] = -1;
  698.             Fires[x][Firefighter] = -1;
  699.             if(Fires[x][HouseID] == rnd){
  700.                 Fires[x][Fireactive] = 1;
  701.                 Fires[x][Firefighter] = -1;
  702.                 SetObjectPos(Fire[Fires[x][pickup]],Fires[x][Firex],Fires[x][Firey]+1.5,Fires[x][Firez]-1);
  703.                 if(First == 0){
  704.                     First = 1;
  705.                     FIRE = 1;
  706.                     for(new y = 0;y < MAX_PLAYERS; y++){
  707.                         if(IsAFireFighter(y)){
  708.                             SetPlayerCheckpoint(y,Fires[x][Firex],Fires[x][Firey],Fires[x][Firez],5.0);
  709.                             new Gebietq[68];
  710.                             new input[124];
  711.                             if(IsPointInArea(Fires[x][Firex],Fires[x][Firey],-1114.7791,-1120.7240,1963.2944,1878.1533)){ Gebietq="Glen Park";}
  712.                             else{ Gebietq="Unbekanntes Territorium";}
  713.                             format(input,sizeof(input),"[ZENTRALE]:{FF0000}Der Brand liegt in Folgendem Gebiet: %s Hausnr: %i",Gebietq,rnd);
  714.                             SendClientMessage(y,0xFF5B00FF,"[ZENTRALE]:{FF0000}Ein Brand wurde gemeldet! ");
  715.                             SendClientMessage(y,0xFF5B00FF,input);
  716.                             SendClientMessage(y,0xFF5B00FF,"[ZENTRALE]:{FF0000}Alle nahegelegenen Einheiten sofort zur Brandstelle.");
  717.                             SendClientMessage(y,0xFF5B00FF,"[ZENTRALE]:{FF0000}Am Marker darf in das Gebäude eingedrungen werden(/Ram).");
  718.                         }
  719.                     }
  720.                 }
  721.                 continue;//18694
  722.             }
  723.         }
  724.         return 0;
  725. }
  726.  
  727.  
  728. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  729. {
  730.         new input[128];
  731.         if(newkeys == 65536){
  732.             if(!IsAFireFighter(playerid))return false;
  733.             if(IsPlayerInRangeOfFeuerWehrAuto(playerid,2.0)){
  734.                 ShowPlayerDialog(playerid,Dialog_Feuerwehr,DIALOG_STYLE_LIST,"FEUERWEHR","FEUERLÖSCHER\nFEUER-SCHUTZMASKE\nFEUER-SCHUTZWESTE\nSCHEINWERFER\nTASCHENLAMPE\nSAUERSTOFF-FLASCHE\nBEENDEN","OK","");
  735.             }else return SendClientMessage(playerid,0xAF0000FF,"Sie sind an keinem Feuerwehrauto!");
  736.         }
  737.         if(newkeys == 132){
  738.             if(!IsAFireFighter(playerid))return false;
  739.             if(IsPlayerInAnyVehicle(playerid))return false;
  740.             if(FIRE == 1){
  741.                 for(new x = 0;x < MAX_FEUER;x++)
  742.                 {
  743.                     //if(Fires[x][Firefighter] == -1 || Fires[x][Firefighter] == playerid)
  744.                     //{
  745.                         if(IsPlayerAimingAt(playerid,Fires[x][Firex],Fires[x][Firey],Fires[x][Firez],0.4))
  746.                         {
  747.                             if(Fires[x][Fireactive] == 1)
  748.                             {
  749.                                 if(GetPlayerWeapon(playerid) == 42){
  750.                                     if(IsPlayerInRangeOfPoint(playerid,3,Fires[x][Firex],Fires[x][Firey],Fires[x][Firez])){
  751.                                         format(input,sizeof(input),"Feuer wird geloescht!");
  752.                                         GameTextForPlayer(playerid,input,100,3);
  753.                                         Fires[x][Fireactive] = 2;
  754.                                         Fires[x][Firefighter] = playerid;
  755.                                         SetTimerEx("Loschen",100,0,"ii",playerid,x);
  756.                                         return true;
  757.                                     }else return GameTextForPlayer(playerid,"Das Feuer ist nicht erreichtbar aus dieser Entfernung!!",2500,3);
  758.                                 }else return GameTextForPlayer(playerid,"Feuer kann man nur mit einem Feuerlöscher loeschen!",2500,3);
  759.                             }
  760.                         }
  761.                     //}else return GameTextForPlayer(playerid,"Feuer kann nur von einem Feuerwehrmann geloescht werden!",2500,3);
  762.                 }
  763.             }else return GameTextForPlayer(playerid,"Kein Einsatz!",1000,3);
  764.         }
  765.         if(newkeys == 4){
  766.                 if(!IsAFireFighter(playerid))return false;
  767.                 if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 407)return false;
  768.                 if(FIRE == 1){
  769.                     for(new x = 0;x < MAX_FEUER;x++)
  770.                     {
  771.                         //if(Fires[x][Firefighter] == -1 || Fires[x][Firefighter] == playerid)
  772.                         //{
  773.                             if(IsPlayerAimingAt(playerid,Fires[x][Firex],Fires[x][Firey],Fires[x][Firez]-1,2.5))
  774.                             {
  775.                                 if(Fires[x][Fireactive] == 1)
  776.                                 {
  777.                                     if(IsPlayerInRangeOfPoint(playerid,15,Fires[x][Firex],Fires[x][Firey],Fires[x][Firez])){
  778.                                         format(input,sizeof(input),"Feuer wird geloescht!");
  779.                                         GameTextForPlayer(playerid,input,100,3);
  780.                                         Fires[x][Fireactive] = 2;
  781.                                         Fires[x][Firefighter] = playerid;
  782.                                         SetTimerEx("LoschenCar",100,0,"ii",playerid,x);
  783.                                         return true;
  784.                                     }else return GameTextForPlayer(playerid,"Das Feuer ist nicht erreichtbar aus dieser Entfernung!!",2500,3);
  785.                                 }
  786.                             }
  787.                         //}else return GameTextForPlayer(playerid,"Feuer kann nur von einem Feuerwehrmann geloescht werden!",2500,3);
  788.                     }
  789.                 }else return GameTextForPlayer(playerid,"Kein Einsatz!",1000,3);
  790.         }
  791.         if(newkeys){
  792.             if(!IsAFireFighter(playerid))return false;
  793.             for(new x = 0;x < MAX_FEUER;x++)
  794.             {
  795.                 if(Fires[x][Fireactive] > 1 &&Fires[x][Fireactive] < 50 && Fires[x][Firefighter] == playerid)
  796.                 {
  797.                     Fires[x][Fireactive] = 1;
  798.                     Fires[x][Firefighter] = -1;
  799.                     GameTextForPlayer(playerid,"Loeschen abgebrochen da sie nicht mehr darauf spruehen!",2500,3);
  800.                 }
  801.             }
  802.         }
  803.         return 1;
  804. }
  805.  
  806. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  807. {
  808.     if(GetVehicleModel(vehicleid) == 407){
  809.         if(IsAFireFighter(playerid))return true;
  810.         TogglePlayerControllable(playerid,0);
  811.         TogglePlayerControllable(playerid,1);
  812.         SendClientMessage(playerid,0x0041FFFF,"Du bist nicht bei der Feuerwehr!");
  813.     }
  814.     return 1;
  815. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement