SHARE
TWEET

Feuerwehrsystem

a guest Oct 25th, 2014 153 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top