Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Wklejka 136422015728331 dodana przez k4x4z5, 25.03.2013 15:02
Typ:


136422015728331
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
672.
673.
674.
675.
676.
677.
678.
679.
680.
681.
682.
683.
684.
685.
686.
687.
688.
689.
690.
691.
692.
693.
694.
695.
696.
697.
698.
699.
700.
701.
702.
703.
704.
705.
706.
707.
708.
709.
710.
711.
712.
713.
714.
715.
716.
717.
718.
719.
720.
721.
722.
723.
724.
725.
726.
727.
728.
729.
730.
731.
732.
733.
734.
735.
736.
737.
738.
739.
740.
741.
742.
743.
744.
745.
746.
747.
748.
749.
750.
751.
752.
753.
754.
755.
756.
757.
758.
759.
760.
761.
762.
763.
764.
765.
766.
767.
768.
769.
770.
771.
772.
773.
774.
775.
776.
777.
778.
779.
780.
781.
782.
783.
784.
785.
786.
787.
788.
789.
790.
791.
792.
793.
794.
795.
796.
797.
798.
799.
800.
801.
802.
803.
804.
805.
806.
807.
808.
809.
810.
811.
812.
813.
814.
815.
816.
817.
818.
819.
820.
821.
822.
823.
824.
825.
826.
827.
828.
829.
830.
831.
832.
833.
834.
835.
836.
837.
838.
839.
840.
841.
842.
843.
844.
845.
846.
847.
848.
849.
850.
851.
852.
853.
854.
855.
856.
857.
858.
859.
860.
861.
862.
863.
864.
865.
866.
867.
868.
869.
870.
871.
872.
873.
874.
875.
876.
877.
878.
879.
880.
881.
882.
883.
884.
885.
886.
887.
888.
889.
890.
891.
892.
893.
894.
895.
896.
897.
898.
899.
900.
901.
902.
903.
904.
905.
906.
907.
908.
909.
910.
911.
912.
913.
914.
915.
916.
917.
918.
919.
920.
921.
922.
923.
924.
925.
926.
927.
928.
929.
930.
931.
932.
933.
934.
935.
936.
937.
938.
939.
940.
941.
942.
943.
944.
945.
946.
947.
948.
949.
950.
951.
952.
953.
954.
955.
956.
957.
958.
959.
960.
961.
962.
963.
964.
965.
966.
967.
968.
969.
970.
971.
972.
973.
974.
975.
976.
977.
978.
979.
980.
981.
982.
983.
984.
985.
986.
987.
988.
989.
990.
991.
992.
993.
994.
995.
996.
997.
998.
999.
1000.
1001.
1002.
1003.
1004.
1005.
1006.
1007.
1008.
1009.
1010.
1011.
1012.
1013.
1014.
1015.
1016.
1017.
1018.
1019.
1020.
1021.
1022.
1023.
1024.
1025.
1026.
1027.
1028.
1029.
1030.
1031.
1032.
1033.
1034.
1035.
1036.
1037.
1038.
1039.
1040.
1041.
1042.
1043.
1044.
1045.
1046.
1047.
1048.
1049.
1050.
1051.
1052.
1053.
1054.
1055.
1056.
1057.
1058.
1059.
1060.
1061.
1062.
1063.
1064.
1065.
1066.
1067.
1068.
1069.
1070.
1071.
1072.
1073.
1074.
1075.
1076.
1077.
1078.
1079.
1080.
1081.
1082.
1083.
1084.
1085.
1086.
1087.
1088.
1089.
1090.
1091.
1092.
1093.
1094.
1095.
1096.
1097.
1098.
1099.
1100.
1101.
1102.
1103.
1104.
1105.
1106.
1107.
1108.
1109.
1110.
1111.
1112.
1113.
1114.
1115.
1116.
1117.
1118.
1119.
1120.
1121.
1122.
1123.
1124.
1125.
1126.
1127.
1128.
1129.
1130.
1131.
1132.
1133.
1134.
1135.
1136.
1137.
1138.
1139.
1140.
1141.
1142.
1143.
1144.
1145.
1146.
1147.
1148.
1149.
1150.
1151.
1152.
1153.
1154.
1155.
1156.
1157.
1158.
1159.
1160.
1161.
1162.
1163.
1164.
1165.
1166.
1167.
1168.
1169.
1170.
1171.
1172.
1173.
1174.
1175.
1176.
1177.
1178.
1179.
1180.
1181.
1182.
1183.
1184.
1185.
1186.
1187.
1188.
1189.
1190.
1191.
1192.
1193.
1194.
1195.
1196.
1197.
1198.
1199.
1200.
1201.
1202.
1203.
1204.
1205.
1206.
1207.
1208.
1209.
1210.
1211.
1212.
1213.
1214.
1215.
1216.
1217.
1218.
1219.
1220.
1221.
1222.
1223.
1224.
1225.
1226.
1227.
1228.
1229.
1230.
1231.
1232.
1233.
1234.
1235.
1236.
1237.
1238.
1239.
1240.
1241.
1242.
1243.
1244.
1245.
1246.
1247.
1248.
1249.
1250.
1251.
1252.
1253.
1254.
1255.
1256.
1257.
1258.
1259.
1260.
1261.
1262.
1263.
1264.
1265.
1266.
1267.
1268.
1269.
1270.
1271.
1272.
1273.
1274.
1275.
1276.
1277.
1278.
1279.
1280.
1281.
1282.
1283.
1284.
1285.
1286.
1287.
1288.
1289.
1290.
1291.
1292.
1293.
1294.
1295.
1296.
1297.
1298.
1299.
1300.
1301.
1302.
1303.
1304.
1305.
1306.
1307.
1308.
1309.
1310.
1311.
1312.
1313.
1314.
1315.
1316.
1317.
1318.
1319.
1320.
1321.
1322.
1323.
1324.
1325.
1326.
1327.
1328.
1329.
1330.
1331.
1332.
1333.
1334.
1335.
1336.
1337.
1338.
1339.
1340.
1341.
1342.
1343.
1344.
1345.
1346.
1347.
1348.
1349.
1350.
1351.
1352.
1353.
1354.
1355.
1356.
1357.
1358.
1359.
1360.
1361.
1362.
1363.
1364.
1365.
1366.
1367.
1368.
1369.
1370.
1371.
1372.
1373.
1374.
1375.
1376.
1377.
1378.
1379.
1380.
1381.
1382.
1383.
1384.
1385.
1386.
1387.
1388.
1389.
1390.
1391.
1392.
1393.
1394.
1395.
1396.
1397.
1398.
1399.
1400.
1401.
1402.
1403.
1404.
1405.
1406.
1407.
1408.
1409.
1410.
1411.
1412.
1413.
1414.
1415.
1416.
1417.
1418.
1419.
1420.
1421.
1422.
1423.
1424.
1425.
1426.
1427.
1428.
1429.
1430.
1431.
1432.
1433.
1434.
1435.
1436.
1437.
1438.
1439.
1440.
1441.
1442.
1443.
1444.
1445.
1446.
1447.
1448.
1449.
1450.
1451.
1452.
1453.
1454.
1455.
1456.
1457.
1458.
1459.
1460.
1461.
1462.
1463.
1464.
1465.
1466.
1467.
1468.
1469.
1470.
1471.
1472.
1473.
1474.
1475.
1476.
1477.
1478.
1479.
1480.
1481.
1482.
1483.
1484.
1485.
1486.
1487.
1488.
1489.
1490.
1491.
1492.
1493.
1494.
1495.
1496.
1497.
1498.
1499.
1500.
1501.
1502.
1503.
1504.
1505.
1506.
1507.
1508.
1509.
1510.
1511.
1512.
1513.
1514.
1515.
1516.
1517.
1518.
1519.
1520.
1521.
1522.
1523.
1524.
1525.
1526.
1527.
1528.
1529.
1530.
1531.
1532.
1533.
1534.
1535.
1536.
1537.
1538.
1539.
1540.
1541.
1542.
1543.
1544.
1545.
1546.
1547.
1548.
1549.
1550.
1551.
1552.
1553.
1554.
1555.
1556.
1557.
1558.
1559.
1560.
1561.
1562.
1563.
1564.
1565.
1566.
1567.
1568.
1569.
1570.
1571.
1572.
1573.
1574.
1575.
1576.
1577.
1578.
1579.
1580.
1581.
1582.
1583.
1584.
1585.
1586.
1587.
1588.
1589.
1590.
1591.
1592.
1593.
1594.
1595.
1596.
1597.
1598.
1599.
1600.
1601.
1602.
1603.
1604.
1605.
1606.
1607.
1608.
1609.
1610.
1611.
1612.
1613.
1614.
1615.
1616.
1617.
1618.
1619.
1620.
1621.
1622.
1623.
1624.
1625.
1626.
1627.
1628.
1629.
1630.
1631.
1632.
1633.
1634.
1635.
1636.
1637.
1638.
1639.
1640.
1641.
1642.
1643.
1644.
1645.
1646.
1647.
1648.
1649.
1650.
1651.
1652.
1653.
1654.
1655.
1656.
1657.
1658.
1659.
1660.
1661.
1662.
1663.
1664.
1665.
1666.
1667.
1668.
1669.
1670.
1671.
1672.
1673.
1674.
1675.
1676.
1677.
1678.
1679.
1680.
1681.
1682.
1683.
1684.
1685.
1686.
1687.
1688.
1689.
1690.
1691.
1692.
1693.
1694.
1695.
1696.
1697.
1698.
1699.
1700.
1701.
1702.
1703.
1704.
1705.
1706.
1707.
1708.
1709.
1710.
1711.
1712.
1713.
1714.
1715.
1716.
1717.
1718.
1719.
1720.
1721.
1722.
1723.
1724.
1725.
1726.
1727.
1728.
1729.
1730.
1731.
1732.
1733.
1734.
1735.
1736.
1737.
1738.
1739.
1740.
1741.
1742.
1743.
1744.
1745.
1746.
1747.
1748.
1749.
1750.
1751.
1752.
1753.
1754.
1755.
1756.
1757.
1758.
1759.
1760.
1761.
1762.
1763.
1764.
1765.
1766.
1767.
1768.
1769.
1770.
1771.
1772.
1773.
1774.
1775.
1776.
1777.
1778.
1779.
1780.
1781.
1782.
1783.
1784.
1785.
1786.
1787.
1788.
1789.
1790.
1791.
1792.
1793.
1794.
1795.
1796.
1797.
1798.
1799.
1800.
1801.
1802.
1803.
1804.
1805.
1806.
1807.
1808.
1809.
1810.
1811.
1812.
1813.
1814.
1815.
1816.
1817.
1818.
1819.
1820.
1821.
1822.
1823.
1824.
1825.
1826.
1827.
1828.
1829.
1830.
1831.
1832.
1833.
1834.
1835.
1836.
1837.
1838.
1839.
1840.
1841.
1842.
1843.
1844.
1845.
1846.
1847.
1848.
1849.
1850.
1851.
1852.
1853.
1854.
1855.
1856.
1857.
1858.
1859.
1860.
1861.
1862.
1863.
1864.
1865.
1866.
1867.
1868.
1869.
1870.
1871.
1872.
1873.
1874.
1875.
1876.
1877.
1878.
1879.
1880.
1881.
1882.
1883.
1884.
1885.
1886.
1887.
1888.
1889.
1890.
1891.
1892.
1893.
1894.
1895.
1896.
1897.
1898.
1899.
1900.
1901.
1902.
1903.
1904.
1905.
1906.
1907.
1908.
1909.
1910.
1911.
1912.
1913.
1914.
1915.
1916.
1917.
1918.
1919.
1920.
1921.
1922.
1923.
1924.
1925.
1926.
1927.
1928.
1929.
1930.
1931.
1932.
1933.
1934.
1935.
1936.
1937.
1938.
1939.
1940.
1941.
1942.
1943.
1944.
1945.
1946.
1947.
1948.
1949.
1950.
1951.
1952.
1953.
1954.
1955.
1956.
1957.
1958.
1959.
1960.
1961.
1962.
1963.
1964.
1965.
1966.
1967.
1968.
1969.
1970.
1971.
1972.
1973.
1974.
1975.
1976.
1977.
1978.
1979.
1980.
1981.
1982.
1983.
1984.
1985.
1986.
1987.
1988.
1989.
1990.
1991.
1992.
1993.
1994.
1995.
1996.
1997.
1998.
1999.
2000.
2001.
2002.
2003.
2004.
2005.
2006.
2007.
2008.
2009.
2010.
2011.
2012.
2013.
2014.
2015.
2016.
2017.
2018.
2019.
2020.
2021.
2022.
2023.
2024.
2025.
2026.
2027.
2028.
2029.
2030.
2031.
2032.
2033.
2034.
2035.
2036.
2037.
2038.
2039.
2040.
2041.
2042.
2043.
2044.
2045.
2046.
2047.
2048.
2049.
2050.
2051.
2052.
2053.
2054.
2055.
2056.
2057.
2058.
2059.
2060.
2061.
2062.
2063.
2064.
2065.
2066.
2067.
2068.
2069.
2070.
2071.
2072.
2073.
2074.
2075.
2076.
2077.
2078.
2079.
2080.
2081.
2082.
2083.
2084.
2085.
2086.
2087.
2088.
2089.
2090.
2091.
2092.
2093.
2094.
2095.
2096.
2097.
2098.
2099.
2100.
2101.
2102.
2103.
2104.
2105.
2106.
2107.
2108.
2109.
2110.
2111.
2112.
2113.
2114.
2115.
2116.
2117.
2118.
2119.
2120.
2121.
2122.
2123.
2124.
2125.
2126.
2127.
2128.
2129.
2130.
2131.
2132.
2133.
2134.
2135.
2136.
2137.
2138.
2139.
2140.
2141.
2142.
2143.
2144.
2145.
2146.
2147.
2148.
2149.
2150.
2151.
2152.
2153.
2154.
2155.
2156.
2157.
2158.
2159.
2160.
2161.
2162.
2163.
2164.
2165.
2166.
2167.
2168.
2169.
2170.
2171.
2172.
2173.
2174.
2175.
2176.
2177.
2178.
2179.
2180.
2181.
2182.
2183.
2184.
2185.
2186.
2187.
2188.
2189.
2190.
2191.
2192.
2193.
2194.
2195.
2196.
2197.
2198.
2199.
2200.
2201.
2202.
2203.
2204.
2205.
2206.
2207.
2208.
2209.
2210.
2211.
2212.
2213.
2214.
2215.
2216.
2217.
2218.
2219.
2220.
2221.
2222.
2223.
2224.
2225.
2226.
2227.
2228.
2229.
2230.
2231.
2232.
2233.
2234.
2235.
2236.
2237.
2238.
2239.
2240.
2241.
2242.
2243.
2244.
2245.
2246.
2247.
2248.
2249.
2250.
2251.
2252.
2253.
2254.
2255.
2256.
2257.
2258.
2259.
2260.
2261.
2262.
2263.
2264.
2265.
2266.
2267.
2268.
2269.
2270.
2271.
2272.
2273.
2274.
2275.
2276.
2277.
2278.
2279.
2280.
2281.
2282.
2283.
2284.
2285.
2286.
2287.
2288.
2289.
2290.
2291.
2292.
2293.
2294.
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <colorchat>
 
#include <engine> //tylko uzyte do zablokowania latarki
 
#define PLUGIN "Jail Mod"
#define VERSION "1.0.6a"
#define AUTHOR "Cypis"
 
//#define DEBUG 1
 
#define MAX 32
 
#define strip_user_weapons2(%0) strip_user_weapons(%0), set_pdata_int(%0, 116, 0)
 
native cs_set_player_model(id, newmodel[]); //wymaga cs_player_models_api.amxx
 
enum
{
	ID_DZWIEK_POSZ = 7000,
	ID_LOS_PROWADZACY,
	ID_CZAS,
	ID_FREZZ,
	ID_SPEED_FZ,
}
 
#define WSZYSCY 0
#define ZYWI 1
 
new ilosc_graczy[2];
new array_graczy[2][MAX+1];
 
new const maxAmmo[31] = {0,52,0,90,1,31,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,31,90,120,90,2,35,90,90,0,100};
new const dni_tygodnia[][] = {"Niedziela", "Poniedzialek", "Wtorek", "Sroda", "Czwartek", "Piatek", "Sobota"};
 
new SyncHudObj1, SyncHudObj3, SyncHudObj4, jail_day;//SyncHudObj2
new bool:usuwanie_ustawien, bool:end_usun, bool:pokaz_raz, bool:czas_bronie, bool:pojedynek[MAX+1], bool:free_day[MAX+1];
new bool:obsluga_dala, bool:ustaw_freeday[MAX+1], bool:ustaw_duszka[MAX+1];
new AdminVoice, prowadzacy, ostatni_wiezien;
new szPoszukiwani[512], nazwa_gracza[MAX+1][64], gTeam[MAX+1];
new g_msgid[MAX+1];
 
new bool:user_duszek[MAX+1];
 
new szInfo[257], szInfoPosz[513], dane_dnia[11], gTimeStart, id_zabawa;
new fLastPrisonerShowWish, fLastPrisonerTakeWish, fRemoveData, fDayStartPre, fDayStartPost, fJoinTeam;
new ProwadzacyMenu;
 
new pCvarMikro;
 
new Float:user_speed[MAX+1];
 
new g_RoundTime, g_FreezeTime;
 
new g_Buttons[10];
 
public plugin_init() 
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "plugin_init pre");
#endif
	register_plugin(PLUGIN, VERSION, AUTHOR);
 
	RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
	RegisterHam(Ham_TraceAttack, "player", "TraceAttack");
	RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
 
	RegisterHam(Ham_Item_Deploy, "weapon_knife", "WeaponKnife", 1);
	RegisterHam(Ham_TraceAttack, "func_button", "ButtonTraceAttack");
 
	RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
	RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
	RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
	RegisterHam(Ham_Use, "game_player_equip", "BlokowanieUse");
	RegisterHam(Ham_Use, "player_weaponstrip", "BlokowanieUse");
	RegisterHam(Ham_Use, "func_healthcharger", "BlokowanieLeczenie");
 
	RegisterHam(Ham_Item_AddToPlayer, "weapon_knife", "OnAddToPlayerKnife", 1);
 
	register_forward(FM_EmitSound, "EmitSound");
	register_forward(FM_Voice_SetClientListening, "Voice_SetClientListening");
 
	register_event("StatusValue", "StatusShow", "be", "1=2", "2!0");
	register_event("StatusValue", "StatusHide", "be", "1=1", "2=0");
	register_event("TextMsg", "RoundRestart", "a", "2&#Game_w");
	register_event("HLTV", "PreRoundStart", "a", "1=0", "2=0");
	register_event("CurWeapon", "CurWeapon", "be", "1=1");
 
	register_logevent("RoundEnd", 2, "1=Round_End");
	register_logevent("RoundRestart", 2, "0=World triggered", "1=Game_Commencing");
	register_logevent("PostRoundStart", 2, "0=World triggered", "1=Round_Start");
 
	set_msg_block(106, BLOCK_SET); //block info player
	set_msg_block(145, BLOCK_SET); //block dhud
	set_msg_block(122, BLOCK_SET); //block clcorpse
	set_msg_block(get_user_msgid("MOTD"), BLOCK_SET);
 
	register_clcmd("radio1", "BlokujKomende");
	register_clcmd("radio2", "BlokujKomende");
	register_clcmd("radio3", "BlokujKomende");
	register_clcmd("drop", "BlockDrop");
 
	register_clcmd("weapon_piesci", "ClientCommand_SelectKnife");
	register_clcmd("weapon_palka", "ClientCommand_SelectKnife"); 
 
	register_clcmd("chooseteam", "cmdChooseTeam");
	register_clcmd("jail_cele", "MenuUstwianiaCel");
 
	register_clcmd("+adminvoice", "AdminVoiceOn");
	register_clcmd("-adminvoice", "AdminVoiceOff");
	register_clcmd("say /oddaj", "OddajProwadzenie");
	register_clcmd("say /obsluga", "ObslugaZyczen");
	register_clcmd("say /guns", "MenuBroni");
	register_clcmd("say /zabawy", "MenuZabaw");
	register_clcmd("say /lr", "MenuZyczen");
 
	register_clcmd("say /mute", "MenuMutowania");
 
	register_message(77 ,"msg_TextMsg");
	register_message(96, "msg_show_menu");
	register_impulse(100, "msg_FlashLight");
	register_message(107, "msg_StatusIcon");
	register_message(114, "msg_vgui_menu");
 
	register_menucmd(register_menuid("mainmenu"), 0x223, "_menu_chooseteam");
 
	pCvarMikro = register_cvar("jail_tt_mikro", "0");
 
	g_FreezeTime = get_pcvar_num(get_cvar_pointer("mp_freezetime"));
	g_RoundTime = floatround(get_cvar_float("mp_roundtime")*60.0);
 
	SyncHudObj1 = CreateHudSyncObj();
	//SyncHudObj2 = CreateHudSyncObj();
	SyncHudObj3 = CreateHudSyncObj();
	SyncHudObj4 = CreateHudSyncObj();
 
	fJoinTeam = CreateMultiForward("OnJoinTeam", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL, FP_CELL);
	fDayStartPre = CreateMultiForward("OnDayStartPre", ET_CONTINUE, FP_CELL, FP_ARRAY, FP_ARRAY, FP_ARRAY, FP_CELL);
	fDayStartPost = CreateMultiForward("OnDayStartPost", ET_CONTINUE, FP_CELL);
	fLastPrisonerShowWish = CreateMultiForward("OnLastPrisonerShowWish", ET_CONTINUE, FP_CELL);
	fLastPrisonerTakeWish = CreateMultiForward("OnLastPrisonerTakeWish", ET_CONTINUE, FP_CELL, FP_CELL);
	fRemoveData = CreateMultiForward("OnRemoveData", ET_CONTINUE, FP_CELL);
 
	ProwadzacyMenu = menu_create("Pozwol wiezniowi wybrac zyczenie:", "Handel_Obsluga_Zyczen");	
	menu_additem(ProwadzacyMenu, "Tak");
	menu_additem(ProwadzacyMenu, "Nie");
 
	WczytajCele();
	set_task(1.0, "task_server", _, _, _, "b");
	set_task(5.0, "task_cfg");
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "plugin_init post");
#endif	
}
 
public task_cfg()
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "task_cfg pre");
#endif
	server_cmd("exec addons/amxmodx/configs/jailbreak.cfg");
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "task_cfg post");
#endif
}
 
public CurWeapon(id)
{	
	if(!is_user_alive(id))
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "CurWeapon pre");
#endif
	if(!end_usun)
		set_user_maxspeed(id, user_speed[id]? user_speed[id]: 250.0);
 
	if(user_duszek[id])
	{
		new weapon = read_data(2);
		if(weapon != CSW_KNIFE && weapon != CSW_FLASHBANG && weapon != CSW_SMOKEGRENADE)
		{
			user_duszek[id] = false;
			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
 
			AddArray(id, WSZYSCY);
			AddArray(id, ZYWI);
		}
	}
	if(dane_dnia[7])
	{
		if(dane_dnia[7] != 3)
		{
			if(gTeam[id] != dane_dnia[7])
				return;
		}
		new weapon = read_data(2);
		if(weapon == CSW_KNIFE || weapon == CSW_HEGRENADE || weapon == CSW_FLASHBANG || weapon == CSW_SMOKEGRENADE)
			return;
 
		cs_set_user_bpammo(id, weapon, maxAmmo[weapon]);
	}
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "CurWeapon post");
#endif
}
 
enum
{
	MIKRO = 0,
	WALKA,
	FF_TT,
	TT_GOD,
	CT_GOD,
	CT_NIE_MOZE_TT,
	TT_NIE_MOZE_CT
}
 
new bool:mode_gracza[7];
 
enum
{
	V_PALKA = 0,
	P_PALKA,
	V_PIESCI,
	P_PIESCI,
	V_REKAWICE,
	P_REKAWICE
}
new SzModels[6][128];
 
public plugin_precache()
{
	SzModels[V_PALKA] = "models/jb_cypis/v_palka.mdl";
	SzModels[P_PALKA] = "models/jb_cypis/p_palka.mdl";
	SzModels[V_PIESCI] = "models/jb_cypis/v_piesci.mdl";
	SzModels[P_PIESCI] = "models/jb_cypis/p_piesci.mdl";
	SzModels[V_REKAWICE] = "models/jb_cypis/v_rekawice.mdl";
	SzModels[P_REKAWICE] = "models/jb_cypis/p_rekawice.mdl";
 
	precache_model(SzModels[V_PALKA]);
	precache_model(SzModels[P_PALKA]);
	precache_model(SzModels[V_PIESCI]);
	precache_model(SzModels[P_PIESCI]);
	precache_model(SzModels[V_REKAWICE]);
	precache_model(SzModels[P_REKAWICE]);
 
	precache_model("models/player/trup/trup.mdl");
	precache_model("models/player/trup/trupT.mdl");
	precache_model("models/player/klawisz_cypis/klawisz_cypis.mdl");
 
	precache_sound("weapons/prawy_przycisk.wav");
	precache_sound("weapons/uderzenie_mur.wav");
	precache_sound("weapons/hit1.wav");
	precache_sound("weapons/hit2.wav");
	precache_sound("weapons/machanie.wav");
 
	precache_sound("jb_cypis/uciekinier.wav");
 
	precache_generic("sprites/weapon_piesci.txt");  
	precache_generic("sprites/weapon_palka.txt");  
	precache_generic("sprites/640hud41.spr");  
}
 
/********** - Native - ************/
 
new Array:gZabawyName;
new Array:gZyczeniaName;
public plugin_natives()
{
	gZabawyName = ArrayCreate(32);
	gZyczeniaName = ArrayCreate(32);
 
	register_native("jail_register_game", "ZarejstrujZabawe", 1);
	register_native("jail_register_wish", "ZarejstrujZyczenie", 1);
 
	register_native("jail_get_prisoners_micro", "PobierzMikrofon", 1);
	register_native("jail_get_prisoners_fight", "PobierzWalke", 1);
	register_native("jail_get_prisoner_free", "PobierzFreeday", 1);
	register_native("jail_get_prisoner_ghost", "PobierzDuszka", 1);
	register_native("jail_get_prisoner_last", "PobierzOstatniego", 1);
	register_native("jail_get_prowadzacy", "PobierProwadzacego", 1);
	register_native("jail_get_poszukiwany", "PobierzPoszukiwany", 1);
	register_native("jail_get_user_block", "PobierzPojedynek", 1);
	register_native("jail_get_play_game_id", "PobierzIdZabawy", 1);
	register_native("jail_get_days", "PobierzDni", 1);
 
	register_native("jail_set_prisoners_micro", "UstawMikrofon", 1);
	register_native("jail_set_prisoners_fight", "UstawWalke", 1);
	register_native("jail_set_prisoner_free", "UstawFreeday", 1);
	register_native("jail_set_prisoner_ghost", "UstawDuszka", 1);
	register_native("jail_set_prowadzacy", "UstawProwadzacego", 1);
	register_native("jail_set_god_tt", "UstawTTGod", 1);
	register_native("jail_set_god_ct", "UstawCTGod", 1);
	register_native("jail_set_ct_hit_tt", "UstawCTHitTT", 1);
	register_native("jail_set_tt_hit_ct", "UstawTTHitCT", 1);
	register_native("jail_set_user_block", "UstawBlokade", 1);
	register_native("jail_set_play_game", "UstawZabawe", 1);
	register_native("jail_set_user_menuweapons", "UstawMenuWeapon", 1);
	register_native("jail_set_user_speed", "UstawPredkosc", 1);
 
	register_native("jail_open_cele", "OtworzCele", 1);
}
 
public ZarejstrujZyczenie(nazwa_zyczenia[])
{
	param_convert(1);
	ArrayPushString(gZyczeniaName, nazwa_zyczenia);
	static ilosc; ilosc++;
	return ilosc;
}
 
new bool:zyczenie_wybrane;
public OnLastPrisonerShowWish(id)
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "OnLastPrisonerShowWish pre");
#endif
	MenuZyczen(id);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "OnLastPrisonerShowWish post");
#endif
}
 
public MenuZyczen(id)
{
	if(gTeam[id] != 1 || ostatni_wiezien != id || zyczenie_wybrane || !obsluga_dala)
		return PLUGIN_HANDLED;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuZyczen pre");
#endif
	if(!ArraySize(gZyczeniaName))
	{
		ColorChat(id, TEAM_COLOR,"^x04[PrisonBreak] ^x01Nie ma zadnych zyczen na serwerze!");
		return PLUGIN_HANDLED;
	}
 
	new szZyczenia[32], szID[32], menu = menu_create("Wybierz Zyczenie:", "Handel_Zyczenie");			
	for(new i=0; i<ArraySize(gZyczeniaName); i++)
	{
		ArrayGetString(gZyczeniaName, i, szZyczenia, 31);
		num_to_str(i+1, szID, 31);
		menu_additem(menu, szZyczenia, szID);
	}
 
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuZyczen post");
#endif
	return PLUGIN_HANDLED;
}
 
public Handel_Zyczenie(id, menu, item)
{
	if(item == MENU_EXIT || !is_user_alive(id) || ostatni_wiezien != id)
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Zyczenie pre");
#endif
	new acces, szZyczenie[32], szID[32];
	menu_item_getinfo(menu, item, acces, szID, 31, szZyczenie, 31, acces);
 
	new iRet;
	ExecuteForward(fLastPrisonerTakeWish, iRet, id, str_to_num(szID))
	if(iRet == -1)
	{
		menu_display(id, menu);
		ColorChat(id, TEAM_COLOR,"^x04[PrisonBreak] ^x01Nie mozesz wybrac tego zyczenia!");
		return;
	}
 
	ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01wybral^x03 %s", nazwa_gracza[id], szZyczenie);
	zyczenie_wybrane = true;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Zyczenie post");
#endif
}
////////////////////
 
public ZarejstrujZabawe(nazwa_zabawy[])
{
	param_convert(1);
	ArrayPushString(gZabawyName, nazwa_zabawy);
 
	static ilosc = 8; ilosc++;
	return ilosc;
}
 
new bool:zabawa_wybrana;
public MenuZabaw(id)
{
	if(gTeam[id] != 2 || prowadzacy != id)
		return PLUGIN_CONTINUE;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuZabaw pre");
#endif
	if(!ArraySize(gZabawyName))
	{
		ColorChat(id, TEAM_COLOR,"^x04[PrisonBreak] ^x01Nie ma zadnych zabaw na serwerze!");
		return PLUGIN_CONTINUE;
	}
 
	if(zabawa_wybrana)
	{
		ColorChat(id, TEAM_COLOR,"^x04[PrisonBreak] ^x01Juz wybrales dzisiaj zabawe");
		return PLUGIN_CONTINUE;
	}
 
	new szZabawa[32], szID[32], menu = menu_create("Menu Zabaw:", "Handel_Menu_Zabaw");
	for(new i=0; i<ArraySize(gZabawyName); i++)
	{
		ArrayGetString(gZabawyName, i, szZabawa, 31);
		num_to_str(i+9, szID, 31);
		menu_additem(menu, szZabawa, szID);
	}
 
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuZabaw post");
#endif
	return PLUGIN_HANDLED;
}
 
public Handel_Menu_Zabaw(id, menu, item)
{
	if(item == MENU_EXIT || zabawa_wybrana || prowadzacy != id)
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Menu_Zabaw pre");
#endif
	new acces, szZabawa[32], szID[32];
	menu_item_getinfo(menu, item, acces, szID, 31, szZabawa, 31, acces);
	ColorChat(id, TEAM_COLOR,"^x04[PrisonBreak] ^x01%s%s", UstawZabawe(str_to_num(szID), false)? "wlaczyles ": "juz jest za pozno, aby wlaczyc ", szZabawa);
 
	zabawa_wybrana = true;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Menu_Zabaw post");
#endif
}
 
public UstawPredkosc(id, Float:speed)
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawPredkosc pre");
#endif
	user_speed[id] = speed;
	if(end_usun)
	{
		new data[1];
		data[0] = id;
		set_task(g_FreezeTime-(get_systime()-gTimeStart)+0.1, "taskUstawPredkosc", ID_SPEED_FZ, data, 1);
	}
	else
		set_user_maxspeed(id, speed);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawPredkosc post");
#endif
}
 
public taskUstawPredkosc(data[1])
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "taskUstawPredkosc pre");
#endif
	set_user_maxspeed(data[0], user_speed[data[0]]);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "taskUstawPredkosc post");
#endif
}
 
public PobierzIdZabawy()
{
	return id_zabawa;
}
 
public bool:PobierzPojedynek(id)
{
	return pojedynek[id];
}
 
public bool:PobierzPoszukiwany(id)
{
	return (contain(szPoszukiwani, nazwa_gracza[id]) != -1)? true: false;
}
 
public bool:PobierzMikrofon()
{
	return bool:mode_gracza[MIKRO];
}
 
public bool:PobierzWalke()
{
	return bool:mode_gracza[WALKA];
}
 
public bool:PobierzFreeday(id)
{
	return free_day[id];
}
 
public bool:PobierzDuszka(id)
{
	return user_duszek[id];
}
 
public PobierzOstatniego()
{
	return ostatni_wiezien;
}
 
public PobierProwadzacego()
{
	return prowadzacy;
}
 
public PobierzDni()
{
	return jail_day%7;
}
 
public UstawMikrofon(bool:wartosc, bool:info)
{
	if(ostatni_wiezien || dane_dnia[1])
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawMikrofon pre");
#endif
	mode_gracza[MIKRO] = wartosc;
 
	if(info)
		ColorChat(0, TEAM_COLOR, "^x04[PrisonBreak] ^x01Status mikro dla wiezniow: ^x03%s!", mode_gracza[MIKRO]? "wlaczone": "wylaczone");
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawMikrofon post");
#endif
}
 
public UstawWalke(bool:wartosc, bool:modele, bool:info)
{
	if(ostatni_wiezien || (dane_dnia[1] && modele))
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawWalke pre");
#endif
	mode_gracza[WALKA] = modele;
	mode_gracza[FF_TT] = wartosc;
 
	for(new i=1; i<=MAX; i++)
	{
		if(!is_user_alive(i) || !is_user_connected(i) || gTeam[i] != 1 || get_user_weapon(i) != CSW_KNIFE || free_day[i] || user_duszek[i])
			continue;
 
		set_user_health(i, 100);
		set_pev(i, pev_viewmodel2, modele? SzModels[V_REKAWICE]: SzModels[V_PIESCI]);
		set_pev(i, pev_weaponmodel2, modele? SzModels[P_REKAWICE]: SzModels[P_PIESCI]);
	}
	if(info)
		ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x01Walka %s!", mode_gracza[WALKA]? "wlaczona": "wylaczona");
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawWalke post");
#endif
}
 
public UstawFreeday(id, bool:wartosc, bool:nextround)
{
	if(!id || (dane_dnia[1] && !nextround))
		return 0;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawFreeday pre");
#endif
	if(!nextround && wartosc)
	{
		new podlicz = 0;
		for(new i=1; i<=MAX; i++)
		{
			if(is_user_alive(i) && is_user_connected(i) && gTeam[i] == 1 && !free_day[i] && !user_duszek[i])
				podlicz++;
		}
		if(podlicz == 1)
			return 0;
	}
 
	if(wartosc)
	{
		DelArray(id, WSZYSCY);
		DelArray(id, ZYWI);
	}
 
	free_day[id] = wartosc;
	ustaw_freeday[id] = nextround;
 
	if(!wartosc)
	{
		AddArray(id, WSZYSCY);
		AddArray(id, ZYWI);
	}
 
	set_pev(id, pev_body, wartosc? 3: random(3));
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawFreeday post");
#endif
	return 1;
}
 
public UstawDuszka(id, bool:wartosc, bool:nextround)
{
	if(!id || (dane_dnia[1] && !nextround))
		return 0;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawDuszka pre");
#endif
	if(!nextround && wartosc)
	{
		new podlicz = 0;
		for(new i=1; i<=MAX; i++)
		{
			if(is_user_alive(i) && is_user_connected(i) && gTeam[i] == 1 && !free_day[i] && !user_duszek[i])
				podlicz++;
		}
		if(podlicz == 1)
			return 0;
	}
 
	if(wartosc)
	{
		DelArray(id, WSZYSCY);
		DelArray(id, ZYWI);
	}
 
	user_duszek[id] = wartosc;
	ustaw_duszka[id] = nextround;
 
	if(!wartosc)
	{
		AddArray(id, WSZYSCY);
		AddArray(id, ZYWI);
	}
	set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, wartosc? 0: 255);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawDuszka post");
#endif
	return 1;
}
 
public UstawTTGod(bool:wartosc)
{
	mode_gracza[TT_GOD] = wartosc;
}
 
public UstawCTGod(bool:wartosc)
{
	mode_gracza[CT_GOD] = wartosc;
}
 
public UstawCTHitTT(bool:wartosc)
{
	mode_gracza[CT_NIE_MOZE_TT] = wartosc;
}
 
public UstawTTHitCT(bool:wartosc)
{
	mode_gracza[TT_NIE_MOZE_CT] = wartosc;
}
 
public UstawBlokade(id, bool:wartosc)
{
	pojedynek[id] = wartosc;
}
 
public UstawProwadzacego(id)
{
	if(!dane_dnia[1])
	{
		if(prowadzacy != id && prowadzacy)
			set_pev(prowadzacy, pev_body, 0);
 
		prowadzacy = id;
		if(id)
		{
			if(task_exists(ID_LOS_PROWADZACY))
				remove_task(ID_LOS_PROWADZACY);
 
			set_pev(id, pev_body, 1);
		}
	}
}
 
public UstawZabawe(zabawa, bool:fast)
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawZabawe pre");
#endif	
	if(!fast)
	{
		if(czas_bronie || ilosc_graczy[WSZYSCY] != ilosc_graczy[ZYWI])
			return 0;
 
		if(mode_gracza[WALKA] || mode_gracza[FF_TT])
			UstawWalke(false, false, false);
	}
	ForwardDayStartPre(zabawa);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UstawZabawe post");
#endif	
	return 1;
}
 
public MenuBroni(id)
{
	if(!is_user_alive(id) || gTeam[id] != 2 || czas_bronie)
		return PLUGIN_HANDLED;
 
	UstawMenuWeapon(id, true, true, 0, 0);
	return PLUGIN_HANDLED;
}
 
new bool:bronie_menu[MAX+1][2];
new bronie_bitsum[MAX+1][2];
new bronie_gracza[MAX+1][2];
public UstawMenuWeapon(id, bool:bronie, bool:pistolety, bitsum_bronie, bitsum_pistolety)
{
	if(!bronie && !pistolety)
		return;
 
	bronie_menu[id][0] = bronie;
	bronie_menu[id][1] = pistolety;
 
	bronie_bitsum[id][0] = bitsum_bronie;
	bronie_bitsum[id][1] = bitsum_pistolety;
 
	MenuBronie(id);
}
 
public MenuBronie(id)
{
	if(!bronie_menu[id][0] && bronie_menu[id][1])
	{
		MenuPistolety(id);
		return;
	}
	if(!bronie_menu[id][0])
		return;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuBronie pre");
#endif
 
	new menu = menu_create("Wybierz Bronie:", "Handel_Bronie");
	if(!(bronie_bitsum[id][0] & (1<<CSW_M4A1)))
		menu_additem(menu, "M4A1", "22");
	if(!(bronie_bitsum[id][0] & (1<<CSW_AK47)))
		menu_additem(menu, "AK47", "28");
	if(!(bronie_bitsum[id][0] & (1<<CSW_AWP)))
		menu_additem(menu, "AWP", "18");
	if(!(bronie_bitsum[id][0] & (1<<CSW_SCOUT)))
		menu_additem(menu, "Scout", "3");
	if(!(bronie_bitsum[id][0] & (1<<CSW_AUG)))
		menu_additem(menu, "AUG", "8");
	if(!(bronie_bitsum[id][0] & (1<<CSW_SG550)))
		menu_additem(menu, "Krieg 550", "13");
	if(!(bronie_bitsum[id][0] & (1<<CSW_M249)))
		menu_additem(menu, "M249", "20");
	if(!(bronie_bitsum[id][0] & (1<<CSW_MP5NAVY)))
		menu_additem(menu, "MP5", "19");
	if(!(bronie_bitsum[id][0] & (1<<CSW_UMP45)))
		menu_additem(menu, "UMP45", "12");
	if(!(bronie_bitsum[id][0] & (1<<CSW_FAMAS)))
		menu_additem(menu, "Famas", "15");
	if(!(bronie_bitsum[id][0] & (1<<CSW_GALIL)))
		menu_additem(menu, "Galil", "14");
	if(!(bronie_bitsum[id][0] & (1<<CSW_M3)))
		menu_additem(menu, "M3", "21");
	if(!(bronie_bitsum[id][0] & (1<<CSW_XM1014)))
		menu_additem(menu, "XM1014", "5");
	if(!(bronie_bitsum[id][0] & (1<<CSW_MAC10)))
		menu_additem(menu, "Mac10", "7");
	if(!(bronie_bitsum[id][0] & (1<<CSW_TMP)))
		menu_additem(menu, "TMP", "23");
	if(!(bronie_bitsum[id][0] & (1<<CSW_P90)))
		menu_additem(menu, "P90", "30");
	if(!(bronie_bitsum[id][0] & (1<<CSW_G3SG1)))
		menu_additem(menu, "G3SG1 (autokampa)", "24");
	if(!(bronie_bitsum[id][0] & (1<<CSW_SG552)))
		menu_additem(menu, "Krieg 552 (autokampa)", "27");
 
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuBronie post");
#endif
}
 
public Handel_Bronie(id, menu, item)
{
	if(item == MENU_EXIT || !is_user_alive(id) || !bronie_menu[id][0])
		return;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Bronie pre");
#endif
 
	new weaponname[24], data[3], weapon, callback;
	menu_item_getinfo(menu, item, weapon, data, 2, _, _, callback);
 
	if((callback = Jaki_Pistolet(id)) > 0)
		ham_strip_weapon(id, callback);
 
	weapon = str_to_num(data);
	get_weaponname(weapon, weaponname, 23);
 
	give_item(id, weaponname);
	cs_set_user_bpammo(id, weapon, maxAmmo[weapon]);
	bronie_gracza[id][0] = weapon;
 
	if(bronie_menu[id][1])
		MenuPistolety(id);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Bronie post");
#endif
}
 
public MenuPistolety(id)
{
	if(!bronie_menu[id][1])
		return;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuPistolety pre");
#endif	
 
	new menu = menu_create("Wybierz Pistolet:", "Handel_Pistolety");
	if(!(bronie_bitsum[id][1] & (1<<CSW_USP)))
		menu_additem(menu, "USP",	"16");
	if(!(bronie_bitsum[id][1] & (1<<CSW_GLOCK18)))
		menu_additem(menu, "Glock", 	"17");
	if(!(bronie_bitsum[id][1] & (1<<CSW_DEAGLE)))
		menu_additem(menu, "Deagle", 	"26");
	if(!(bronie_bitsum[id][1] & (1<<CSW_P228)))
		menu_additem(menu, "P228",	"1");
	if(!(bronie_bitsum[id][1] & (1<<CSW_FIVESEVEN)))
		menu_additem(menu, "FiveSeven", "11");
	if(!(bronie_bitsum[id][1] & (1<<CSW_ELITE)))
		menu_additem(menu, "Dual", 	"10");
 
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuPistolety post");
#endif	
}
 
public Handel_Pistolety(id, menu, item)
{
	if(item == MENU_EXIT || !is_user_alive(id) || !bronie_menu[id][1])
		return;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Pistolety pre");
#endif
 
	new weaponname[24], data[3], weapon, callback;
	menu_item_getinfo(menu, item, weapon, data, 2, _, _, callback);
 
	weapon = str_to_num(data);
	get_weaponname(weapon, weaponname, 23);
	give_item(id, weaponname);
	cs_set_user_bpammo(id, weapon, maxAmmo[weapon]);
 
	bronie_gracza[id][1] = weapon;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Pistolety post");
#endif
}
 
/********** - Koniec Native - ************/
 
public ButtonTraceAttack(ent, id, Float:damage, Float:direction[3], tracehandle, damagebits)
{
	if(pev_valid(ent) && prowadzacy == id)
	{
		ExecuteHam(Ham_Use, ent, id, 0, 2, 1.0);
		set_pev(ent, pev_frame, 0.0);
	}
	return HAM_IGNORED;
}
 
public TakeDamage(id, ent, attacker, Float:damage, damagebits)
	return vAttackDamagePlayer(id, attacker, damage, damagebits, true);
 
public TraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
	return vAttackDamagePlayer(id, attacker);
 
vAttackDamagePlayer(id, attacker, Float:damage=0.0, damagebits=0, bool:dmg=false)
{
	if(!is_user_connected(id))
		return HAM_IGNORED;
 
	if(gTeam[id] == 1 && mode_gracza[TT_GOD])
		return HAM_SUPERCEDE;
 
	if(gTeam[id] == 2 && mode_gracza[CT_GOD])
		return HAM_SUPERCEDE;
 
	if(is_user_connected(attacker))
	{
		if(gTeam[id] == 1 && gTeam[attacker] == 1 && !mode_gracza[FF_TT])
			return HAM_SUPERCEDE;
 
		if(gTeam[id] == 2 && gTeam[attacker] == 2)
			return HAM_SUPERCEDE;
 
		if(gTeam[id] == 1 && gTeam[attacker] == 2 && mode_gracza[CT_NIE_MOZE_TT])
			return HAM_SUPERCEDE;
 
		if(gTeam[id] == 2 && gTeam[attacker] == 1 && mode_gracza[TT_NIE_MOZE_CT])
			return HAM_SUPERCEDE;
 
		if(free_day[attacker] || gTeam[attacker] == 1 && free_day[id])
			return HAM_SUPERCEDE;
 
		if(user_duszek[id] && gTeam[attacker] == 1)
			return HAM_SUPERCEDE;
 
		if(user_duszek[attacker] && gTeam[id] == 2)
		{
#if defined DEBUG
			log_to_file("jail_api_jailbreak.log", "vAttackDamagePlayer pre");
#endif	
			user_duszek[attacker] = false;
			set_user_rendering(attacker, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
 
			AddArray(attacker, WSZYSCY);
			AddArray(attacker, ZYWI);
#if defined DEBUG
			log_to_file("jail_api_jailbreak.log", "vAttackDamagePlayer post");
#endif	
			return HAM_IGNORED;
		}
 
		if(dmg)
		{
			if(get_user_weapon(attacker) == CSW_KNIFE && damagebits & DMG_BULLET)
				SetHamParamFloat(4, damage*0.4);
		}
	}
	return HAM_IGNORED;
}
 
public Odrodzenie(id)
{
	if(!is_user_alive(id) || !is_user_connected(id))
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Odrodzenie pre");
#endif	
	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 0);
	strip_user_weapons2(id);
 
	switch(cs_get_user_team(id))
	{
		case CS_TEAM_T:
		{
			gTeam[id] = 1;
 
			cs_set_player_model(id, "trup");
			set_pev(id, pev_body, random(3));
 
			AddArray(id, WSZYSCY);
			AddArray(id, ZYWI);
		}
		case CS_TEAM_CT:
		{
			gTeam[id] = 2;
 
			cs_set_player_model(id, "klawisz_cypis");
 
			if(dane_dnia[4] < 2)
			{
				if(bronie_gracza[id][0] && bronie_gracza[id][1])
				{
					for(new i=0; i<2; i++)
					{
						new weaponname[24];
						get_weaponname(bronie_gracza[id][i], weaponname, 23);
						give_item(id, weaponname);
						cs_set_user_bpammo(id, bronie_gracza[id][i], maxAmmo[bronie_gracza[id][i]]);
					}
				}
				else if(!czas_bronie) {
					UstawMenuWeapon(id, true, true, 0, 0);
				}
			}
		}
	}
	give_item(id, "weapon_knife");
 
	if(free_day[id])
		set_pev(id, pev_body, 3);
 
	if(user_duszek[id])
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Odrodzenie post");
#endif	
}
 
public OddajProwadzenie(id)
{
	if(prowadzacy != id)
		return PLUGIN_HANDLED;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "OddajProwadzenie pre");
#endif
	new menu = menu_create("Oddaj Prowadzenie:", "Handel_Oddaj");
	for(new i=1; i<=MAX; i++)
	{
		if(!is_user_alive(i) || !is_user_connected(i) || gTeam[i] != 2 || prowadzacy == i)
			continue;
		new num[3];
		num_to_str(i, num, 2);
		menu_additem(menu, nazwa_gracza[i], num);
	}
 
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);	
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "OddajProwadzenie post");
#endif
	return PLUGIN_HANDLED;
}
 
public Handel_Oddaj(id, menu, item)
{
	if(item == MENU_EXIT || !is_user_alive(id) || prowadzacy != id)
		return;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Oddaj pre");
#endif
	new data[3], acces, callback;
	menu_item_getinfo(menu, item, acces, data, 2, _, _, callback);
	prowadzacy = str_to_num(data);
	ColorChat(0, GREEN, "[PrisonBreak]^x01 Zmienil sie Prowadzacy!");
 
	set_pev(id, pev_body, 0);
	set_pev(prowadzacy, pev_body, 1);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Oddaj post");
#endif
}
 
public WeaponKnife(ent)
{
	new id = get_pdata_cbase(ent, 41, 4);
 
	if(!is_user_alive(id))
		return;
 
	if(cs_get_user_shield(id))
		return;
 
	if(gTeam[id] == 1 && !mode_gracza[WALKA])
	{
		set_pev(id, pev_viewmodel2, SzModels[V_PIESCI]);
		set_pev(id, pev_weaponmodel2, SzModels[P_PIESCI]);
	}
	else if(gTeam[id] == 1 && mode_gracza[WALKA])
	{
		set_pev(id, pev_viewmodel2, SzModels[V_REKAWICE]);
		set_pev(id, pev_weaponmodel2, SzModels[P_REKAWICE]);
	}
	else if(gTeam[id] == 2)
	{
		set_pev(id, pev_viewmodel2, SzModels[V_PALKA]);
		set_pev(id, pev_weaponmodel2, SzModels[P_PALKA]);
	}
}
 
public EmitSound(id, channel, sample[])
{	
	if(!is_user_alive(id) || !is_user_connected(id)) 
		return FMRES_IGNORED;
 
	if(equal(sample, "weapons/knife_", 14))
	{
		switch(sample[17])
		{
			case ('b'): emit_sound(id, CHAN_WEAPON, "weapons/prawy_przycisk.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
			case ('w'): emit_sound(id, CHAN_WEAPON, "weapons/uderzenie_mur.wav", 1.0, ATTN_NORM, 0, PITCH_LOW);
			case ('s'): emit_sound(id, CHAN_WEAPON, "weapons/machanie.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
			case ('1'): emit_sound(id, CHAN_WEAPON, "weapons/hit1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM);
			case ('2'): emit_sound(id, CHAN_WEAPON, "weapons/hit2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM);
		}
		return FMRES_SUPERCEDE;
	}
	if(equal(sample, "common/wpn_denyselect.wav"))
		return FMRES_SUPERCEDE;
	return FMRES_IGNORED;
}
 
public AdminVoiceOn(id)
{
	if(!(get_user_flags(id) & ADMIN_BAN))
		return PLUGIN_HANDLED;
 
	if(AdminVoice)
		return PLUGIN_HANDLED;
 
	AdminVoice = id;
 
	ColorChat(0,GREEN,"[PrisonBreak]^x01 Cisza! ^x03%s ^x01przemawia.", nazwa_gracza[id]);
	client_cmd(id, "+voicerecord");
	return PLUGIN_HANDLED;
}
 
public AdminVoiceOff(id)
{
	if(!(get_user_flags(id) & ADMIN_BAN))
		return PLUGIN_HANDLED;
 
	if(AdminVoice != id)
	{
		client_cmd(id, "-voicerecord");
		return PLUGIN_HANDLED;
	}
	client_cmd(id, "-voicerecord");
	AdminVoice = 0;
	return PLUGIN_HANDLED;
}
 
new bool:g_Muted[MAX+1][MAX+1];
public MenuMutowania(id)
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuMutowania pre");
#endif
	new menu = menu_create("Menu mutowania:", "Handel_Mute");
	for(new i=1; i<=MAX; i++)
	{
		if(!is_user_connected(i) || is_user_hltv(i))
			continue;
		new num[3], szName[64];
		num_to_str(i, num, 2);
		szName = nazwa_gracza[i];
		if(g_Muted[id][i])
			add(szName, 63, " \r[MUTE]");
 
		menu_additem(menu, szName, num);
	}
 
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);	
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "MenuMutowania post");
#endif
}
 
public Handel_Mute(id, menu, item)
{
	if(item == MENU_EXIT )
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Mute pre");
#endif
	new data[3], acces, id2;
	menu_item_getinfo(menu, item, acces, data, 2, _, _, id2);
	id2 = str_to_num(data);
 
	g_Muted[id][id2] = !g_Muted[id][id2];
	ColorChat(id, GREEN,"[PrisonBreak] ^x01%s gracza ^x03%s", g_Muted[id][id2]? "Zmutowales": "Odmutowales", nazwa_gracza[id2]);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Mute post");
#endif
}
 
public Voice_SetClientListening(odbiorca, nadawca, listen) 
{
	if(odbiorca == nadawca)
		return FMRES_IGNORED;
 
	if(g_Muted[odbiorca][nadawca])
	{
		engfunc(EngFunc_SetClientListening, odbiorca, nadawca, false);
		return FMRES_SUPERCEDE;
	}
	if(AdminVoice)
	{
		if(AdminVoice == nadawca)
		{
			engfunc(EngFunc_SetClientListening, odbiorca, nadawca, true);
			return FMRES_SUPERCEDE;
		}
		else if(gTeam[nadawca] == 1)
		{
			engfunc(EngFunc_SetClientListening, odbiorca, nadawca, false);
			return FMRES_SUPERCEDE;
		}
	}
 
	if(gTeam[nadawca] == 1 && !mode_gracza[MIKRO])
	{
		engfunc(EngFunc_SetClientListening, odbiorca, nadawca, false);
		return FMRES_SUPERCEDE;
	}
 
	if(is_user_alive(odbiorca))
	{
		if(is_user_alive(nadawca))
		{
			engfunc(EngFunc_SetClientListening, odbiorca, nadawca, true);
			return FMRES_SUPERCEDE;
		}
		engfunc(EngFunc_SetClientListening, odbiorca, nadawca, false);
		return FMRES_SUPERCEDE;
	}
	return FMRES_IGNORED;
}
 
public BlokowanieUse(ent, id, activator, iType, Float:fValue)
{
	if(!is_user_connected(id) || id == activator)
		return HAM_IGNORED;
 
	if(dane_dnia[4] == 3 || dane_dnia[4] == gTeam[id] || pojedynek[id] || free_day[id])
		return HAM_SUPERCEDE;
 
	return HAM_IGNORED;
}
 
public BlokowanieLeczenie(ent, id, activator, iType, Float:fValue)
{
	if(!is_user_connected(id))
		return HAM_IGNORED;
 
	if(dane_dnia[4] == 3 || dane_dnia[4] == gTeam[id] || pojedynek[id])
		return HAM_SUPERCEDE;
 
	return HAM_IGNORED;
}
 
public DotykBroni(weapon, id)
{
	if(!is_user_connected(id))
		return HAM_IGNORED;
 
	if(free_day[id] || dane_dnia[4] == 3 || dane_dnia[4] == gTeam[id] || pojedynek[id])
		return HAM_SUPERCEDE;
 
	return HAM_IGNORED;
}
 
public BlockDrop(id)
{
	if(dane_dnia[4] == 3 || dane_dnia[4] == gTeam[id] || pojedynek[id])
		return PLUGIN_HANDLED;
	return PLUGIN_CONTINUE;
}
 
public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(id))
		return HAM_IGNORED;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "SmiercGraczaPost pre");
#endif
	if(gTeam[id] == 1)
	{
		if(is_user_connected(attacker) && gTeam[attacker] == 1)
			set_user_frags(attacker, get_user_frags(attacker)+2);
 
		if(ostatni_wiezien == id)
		{
			for(new i=1; i<=MAX; i++)
			{
				if(is_user_alive(i) && is_user_connected(i) && (free_day[i] || user_duszek[i]))
				{	
					user_kill(i);
					free_day[i] = false;
					user_duszek[i] = false;
				}
			}
		}
		DelPoszukiwany(id);
		DelArray(id, ZYWI);
	}
	else if(gTeam[id] == 2)
	{	
		if(is_user_connected(attacker) && gTeam[attacker] == 1 && !obsluga_dala && !dane_dnia[2])
		{
			AddPoszukiwany(attacker);
		}
		if(prowadzacy == id)
		{
			prowadzacy = 0;
			if(!obsluga_dala && !dane_dnia[2])
				set_task(1.0, "LosujProwadzacego", ID_LOS_PROWADZACY);
		}
	}
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "SmiercGraczaPost post");
#endif
	return HAM_IGNORED;
}
 
public StatusShow(id)
{
	new pid = read_data(2), team = gTeam[pid]; 
	set_hudmessage(team == 1? 255: 0, 50, team == 1? 0: 255, -1.0, 0.9, 0, 0.01, 6.0);
	ShowSyncHudMsg(id, SyncHudObj1, "%s: %s [%i]", team == 1? "Wiezien": "Straznik", nazwa_gracza[pid], get_user_health(pid));
}
 
public StatusHide(id)
	ClearSyncHud(id, SyncHudObj1);
 
public msg_FlashLight(id)
{
	if(gTeam[id] == 1)
		return PLUGIN_HANDLED;	
	return PLUGIN_CONTINUE;
}
 
public msg_TextMsg()
{	
	new message[32];
	get_msg_arg_string(2, message, 31);
 
	if(equal(message, "#Game_teammate_attack") || equal(message, "#Killed_Teammate"))
		return PLUGIN_HANDLED;
 
	if(equal(message, "#Terrorists_Win"))
	{
		set_msg_arg_string(2, "Wiezniowie wygrali!");
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#CTs_Win"))
	{
		set_msg_arg_string(2, "Klawisze wygrali!");
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#Round_Draw"))
	{
		set_msg_arg_string(2, "Runda remisowa!")
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#Only_1_Team_Change"))
	{
		set_msg_arg_string(2, "Dozwolona tylko 1 zmiana druzyny!")
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#Switch_To_SemiAuto"))
	{
		set_msg_arg_string(2, "Zmieniono na tryb pol-automatyczny")
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#Switch_To_BurstFire"))
	{
		set_msg_arg_string(2, "Zmieniono na tryb serii")
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#Switch_To_FullAuto"))
	{
		set_msg_arg_string(2, "Zmieniono na tryb automatyczny")
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#Game_Commencing"))
	{
		set_msg_arg_string(2, "Rozpoczecie Gry!");
		return PLUGIN_CONTINUE;
	}
	else if(equal(message, "#Cannot_Be_Spectator"))
	{
		set_msg_arg_string(2, "Nie mozesz byc obserwatorem");
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_HANDLED;
}	
 
public msg_StatusIcon(msgid, dest, id)
{
	new szIcon[8];
	get_msg_arg_string(2, szIcon, 7);
 
	if(equal(szIcon, "buyzone") && get_msg_arg_int(1))
	{
		set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0));
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
 
public client_authorized(id)
{
	set_user_info(id, "_vgui_menus", "0");
	get_user_name(id, nazwa_gracza[id], 63);
}
 
public client_disconnect(id)
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "client_disconnect pre");
#endif
	if(AdminVoice == id)
		AdminVoice = 0;
 
	if(prowadzacy == id)
	{
		prowadzacy = 0;
		set_task(1.0, "LosujProwadzacego", ID_LOS_PROWADZACY);
	}
 
	if(ostatni_wiezien == id)
		ostatni_wiezien = 0;
 
	user_speed[id] = 0.0;
	bronie_gracza[id][0] = 0;
	bronie_gracza[id][1] = 0;
	pojedynek[id] = false;
	free_day[id] = false;
	user_duszek[id] = false;
	ustaw_freeday[id] = false;
	ustaw_duszka[id] = false;
 
	for(new i=1; i<=MAX; i++)
		g_Muted[i][id] = false;
 
	DelPoszukiwany(id);
	if(gTeam[id] == 1)
	{
		DelArray(id, WSZYSCY);
		DelArray(id, ZYWI);
	}
	gTeam[id] = 0;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "client_disconnect post");
#endif
}
 
public client_infochanged(id) 
{
	get_user_info(id, "name", nazwa_gracza[id], 63);
}
 
public RoundRestart()
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "RoundRestart");
#endif
	usuwanie_ustawien = true;
}
 
public RoundEnd()
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "RoundEnd");
#endif
	end_usun = true;
	czas_bronie = false;
}
 
public PreRoundStart()
{	
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "PreRoundStart pre");
#endif
	UsuwanieWydarzen();
	if(usuwanie_ustawien)
	{
		jail_day = 0;
		usuwanie_ustawien = false;
	}
	else
		jail_day++;
 
 
	if(jail_day)
	{
		gTimeStart = get_systime();
		ForwardDayStartPre(jail_day%7);
	}
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "PreRoundStart post");
#endif
}
 
UsuwanieWydarzen()
{
	//end_usun = true;
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UsuwanieWydarzen pre");
#endif
	szInfo = "";
	szInfoPosz = "";
	szPoszukiwani = "";
	ostatni_wiezien = 0;
	prowadzacy = 0;
 
	obsluga_dala = false;
	pokaz_raz = false;
	czas_bronie = false;
	zabawa_wybrana = false;
	zyczenie_wybrane = false
 
	mode_gracza[WALKA] = false;
 
	mode_gracza[MIKRO] = (get_pcvar_num(pCvarMikro) == 1? true: false);
 
	mode_gracza[FF_TT] = false;
	mode_gracza[TT_GOD] = false;
	mode_gracza[CT_GOD] = false;
	mode_gracza[CT_NIE_MOZE_TT] = false;
	mode_gracza[TT_NIE_MOZE_CT] = false
 
	if(task_exists(ID_DZWIEK_POSZ))
		remove_task(ID_DZWIEK_POSZ);
 
	if(task_exists(ID_LOS_PROWADZACY))
		remove_task(ID_LOS_PROWADZACY);
 
	if(task_exists(ID_CZAS))
		remove_task(ID_CZAS);
 
	if(task_exists(ID_FREZZ))
		remove_task(ID_FREZZ);
 
	if(task_exists(ID_SPEED_FZ))
		remove_task(ID_SPEED_FZ);
 
	for(new i=0; i<sizeof dane_dnia; i++)
		dane_dnia[i] = 0;
 
	for(new i=1; i<=MAX; i++)
	{
		array_graczy[WSZYSCY][i] = 0;
		array_graczy[ZYWI][i] = 0;
 
		user_speed[i] = 0.0;
		pojedynek[i] = false;
 
		bronie_menu[i][0] = false;
		bronie_menu[i][1] = false;
 
		if(ustaw_freeday[i])
		{
			ustaw_freeday[i] = false;
			free_day[i] = true;
		}
		else
			free_day[i] = false;
 
		if(ustaw_duszka[i])
		{
			ustaw_duszka[i] = false;
			user_duszek[i] = true;
		}
		else
			user_duszek[i] = false;
	}
 
	ilosc_graczy[WSZYSCY] = 0;
	ilosc_graczy[ZYWI] = 0;
 
	new iRet;
	ExecuteForward(fRemoveData, iRet, id_zabawa);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "UsuwanieWydarzen post");
#endif
}
 
public PostRoundStart()
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "PostRoundStart pre");
#endif
	end_usun = false;
	set_task(60.0, "koniec_czasu", ID_CZAS);
 
	if(!jail_day)
	{
		gTimeStart = get_systime()-g_FreezeTime;
		ForwardDayStartPre(jail_day%7);
	}
	if(!prowadzacy && !dane_dnia[1])
		set_task(15.0, "LosujProwadzacego", ID_LOS_PROWADZACY);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "PostRoundStart post");
#endif
}
 
ForwardDayStartPre(zabawa)
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "ForwardDayStartPre pre");
#endif
	new iRet, is_frezz = g_FreezeTime-(get_systime()-gTimeStart);
	ExecuteForward(fDayStartPre, iRet, zabawa, PrepareArray(szInfo, 256, 1), PrepareArray(szInfoPosz, 512, 1), PrepareArray(dane_dnia, 10, 1), g_RoundTime+min(is_frezz, 0));
	id_zabawa = zabawa;
 
	new dane[1]
	dane[0] = zabawa;
	if(is_frezz)
		set_task(is_frezz+0.1, "ForwardDayStartPost", ID_FREZZ, dane, 1);
	else
		ForwardDayStartPost(dane);
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "ForwardDayStartPre post");
#endif		
}
 
public ForwardDayStartPost(zabawa[1])
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "ForwardDayStartPost pre");
#endif
	new iRet;
	ExecuteForward(fDayStartPost, iRet, zabawa[0]);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "ForwardDayStartPost post");
#endif
}
 
public koniec_czasu()
{
	czas_bronie = true;
}
 
public LosujProwadzacego()
{
	if(!prowadzacy)
	{
		if(((prowadzacy = RandomCT()) > 0))
		{
			set_pev(prowadzacy, pev_body, 1);
		}
	}
}
 
stock RandomCT()
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "RandomCT pre");
#endif
	new CT_Player[MAX+2], ile=0;
	for(new i=1; i<=MAX; i++)
	{
		if(!is_user_connected(i) || !is_user_alive(i) || gTeam[i] != 2)
			continue;
 
		CT_Player[++ile] = i;
	}
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "RandomCT post");
#endif
	return CT_Player[(ile? random_num(1, ile): 0)];
}
 
new TimeAfk[MAX+1], LastPosition[MAX+1][3];
public task_server()
{
	if(end_usun)
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "task_server pre");
#endif
	for(new id=1; id<=MAX; id++)
	{
		if(!is_user_alive(id) || !is_user_connected(id))
			continue;
 
		if(gTeam[id] == 1)
		{
			if(dane_dnia[6])
			{
				new PlayerPos[3];
				get_user_origin(id, PlayerPos);
				if(PlayerPos[0] == LastPosition[id][0] && PlayerPos[1] == LastPosition[id][1]) 
				{
					TimeAfk[id]++;	
					if(TimeAfk[id] == 15) 
					{
						ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak] ^x01Przestan Kampic!");
						ExecuteHam(Ham_TakeDamage, id, 0, 0, 5.0, (1<<14));
					} 
					else if(TimeAfk[id] == 18) 
					{
						ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak] ^x01Przestan Kampic!");
						ExecuteHam(Ham_TakeDamage, id, 0, 0, 10.0, (1<<14));
					}
					else if(TimeAfk[id] >= 20)
					{
						ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak] ^x01Przestan Kampic!");
						ExecuteHam(Ham_TakeDamage, id, 0, 0, 20.0, (1<<14));
					}
				}
				else 
					TimeAfk[id] = 0;
 
				LastPosition[id][0] = PlayerPos[0];
				LastPosition[id][1] = PlayerPos[1];
			}
 
			if(czas_bronie && dane_dnia[0] == 1 && ostatni_wiezien == id && !pokaz_raz)
			{
				new iRet;
				usun_ustawienia_dzien();
 
				ExecuteForward(fLastPrisonerShowWish, iRet, id);
 
				obsluga_dala = true;
				pokaz_raz = true;
			}
		}
		else if(gTeam[id] == 2)
		{
			PokazStatusText(id, "Wiezniowie: %i zywi | %i Wszyscy", ilosc_graczy[ZYWI], ilosc_graczy[WSZYSCY]);
			if(czas_bronie && !dane_dnia[0] && ostatni_wiezien && prowadzacy == id && !pokaz_raz)
			{
				menu_display(id, ProwadzacyMenu);
 
				usun_ustawienia_dzien();
				pokaz_raz = true;
			}
		}
	}
 
	//set_hudmessage(0, 255, 0, 0.6, 0.1, 0, 0.01, 1.0);
	//ShowSyncHudMsg(0, SyncHudObj2, "Dzien %i - %s", jail_day, dni_tygodnia[jail_day%7]);
 
	static szDay[256];
	formatex(szDay, 63, "Dzien %i - %s^n", jail_day, dni_tygodnia[jail_day%7]);
	set_hudmessage(0, 255, 0, 0.01, 0.18, 0, 0.01, 1.0);
	if(prowadzacy && !szInfo[0])
	{	
		set_hudmessage(0, 255, 0, 0.01, 0.18, 0, 0.01, 1.0);
		format(szDay, 255, "%s%s jest prowadzacym straznikiem.", szDay, nazwa_gracza[prowadzacy]);
	}
	else if(szInfo[0])
	{
		set_hudmessage(255, 0, 0, 0.01, 0.18, 0, 0.01, 1.0);
		format(szDay, 255, "%s%s", szDay, szInfo);
	}
	ShowSyncHudMsg(0, SyncHudObj3, szDay);
 
	if(szPoszukiwani[0] && !szInfoPosz[0])
	{
		set_hudmessage(255, 85, 85, 0.01, 0.4, 0, 0.01, 1.0);
		ShowSyncHudMsg(0, SyncHudObj4, "Poszukiwani:%s", szPoszukiwani);
	}
	else if(szInfoPosz[0])
	{
		set_hudmessage(0, 255, 0, 0.01, 0.22, 0, 0.01, 1.0);
		ShowSyncHudMsg(0, SyncHudObj4, szInfoPosz);
	}
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "task_server post");
#endif
}
 
PokazStatusText(id, szText[], any:...)
{
	new szTemp[192];
	vformat(szTemp, 191, szText, 3);
	message_begin(MSG_ONE_UNRELIABLE, 106, {0,0,0}, id);
	write_byte(0);
	write_string(szTemp);
	message_end();
}
 
usun_ustawienia_dzien()
{
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "usun_ustawienia_dzien pre");
#endif
	if(mode_gracza[WALKA])
	{
		mode_gracza[WALKA] = false;
		if(get_user_weapon(ostatni_wiezien) == CSW_KNIFE)
		{
			set_pev(ostatni_wiezien, pev_viewmodel2, SzModels[V_PIESCI]);
			set_pev(ostatni_wiezien, pev_weaponmodel2, SzModels[P_PIESCI]);
		}
	}
	mode_gracza[MIKRO] = true;
 
	mode_gracza[FF_TT] = false;
	mode_gracza[TT_GOD] = false;
	mode_gracza[CT_GOD] = false;
	mode_gracza[CT_NIE_MOZE_TT] = false;
	mode_gracza[TT_NIE_MOZE_CT] = false;
	dane_dnia[4] = 0;
	dane_dnia[7] = 0;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "usun_ustawienia_dzien post");
#endif
}
 
public ObslugaZyczen(id)
{
	if(prowadzacy != id || obsluga_dala || !ostatni_wiezien || !czas_bronie)
		return PLUGIN_HANDLED;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "ObslugaZyczen pre");
#endif
	menu_display(id, ProwadzacyMenu);
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "ObslugaZyczen post");
#endif
	return PLUGIN_HANDLED;
}
 
public Handel_Obsluga_Zyczen(id, menu, item)
{
	if(prowadzacy != id || !ostatni_wiezien || !is_user_alive(id))
		return;
 
	if(item == MENU_EXIT)
		return;
 
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Obsluga_Zyczen pre");
#endif
	switch(item)
	{
		case 0:
		{
			ColorChat(0, TEAM_COLOR, "^x04[PrisonBreak]^x01 Obsluga wiezienia pozwolila wybrac zyczenie!");
			obsluga_dala = true;
 
			new iRet;
			ExecuteForward(fLastPrisonerShowWish, iRet, ostatni_wiezien);
		}
		case 1:
		{ 
			ColorChat(0, TEAM_COLOR, "^x04[PrisonBreak]^x01 Obsluga wiezienia zadecydowala ze wiezien nie ma zyczenia!");
		}
	}
#if defined DEBUG
	log_to_file("jail_api_jailbreak.log", "Handel_Obsluga_Zyczen post");
#endif
}
 
public ClientCommand_SelectKnife(id)
{ 
	engclient_cmd(id, "weapon_knife"); 
} 
 
public OnAddToPlayerKnife(const item, const player)  
{  
	if(pev_valid(item) && is_user_alive(player)) 
	{  
		message_begin(MSG_ONE, 78, .player = player);//WeaponList = 78
		{
			write_string(cs_get_user_team(player) == CS_TEAM_T? "weapon_piesci": "weapon_palka");  // WeaponName  
			write_byte(-1);                   // PrimaryAmmoID  
			write_byte(-1);                   // PrimaryAmmoMaxAmount  
			write_byte(-1);                   // SecondaryAmmoID  
			write_byte(-1);                   // SecondaryAmmoMaxAmount  
			write_byte(2);                    // SlotID (0...N)  
			write_byte(1);                    // NumberInSlot (1...N)  
			write_byte(CSW_KNIFE);            // WeaponID  
			write_byte(0);                    // Flags  
		}
		message_end();  
	}  
} 
 
public cmdChooseTeam(id)
{
	menu_chooseteam(id)
	return PLUGIN_HANDLED;
}
 
public msg_vgui_menu(msgid, dest, id) 
{
	if(get_msg_arg_int(1) != 2)
		return PLUGIN_CONTINUE;
 
	g_msgid[id] = msgid;
	menu_chooseteam(id);
	return PLUGIN_HANDLED;
}
 
public msg_show_menu(msgid, dest, id) 
{
	static team_select[] = "#Team_Select";
	static menu_text_code[sizeof team_select];
	get_msg_arg_string(4, menu_text_code, charsmax(menu_text_code));
 
	if(!equal(menu_text_code, team_select))
		return PLUGIN_CONTINUE;
 
	g_msgid[id] = msgid;
	menu_chooseteam(id);
	return PLUGIN_HANDLED;
}
 
public menu_chooseteam(id)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
 
	new text[512], len;
	len += format(text[len], 511 - len, "\rWybierz team^n");
	len += format(text[len], 511 - len, "\r1. \wWiezniowie^n");
	len += format(text[len], 511 - len, "\r2. \wStraznicy^n^n");
	len += format(text[len], 511 - len, "\r6. \wWidzowie^n^n");
 
	if(gTeam[id])
		len += format(text[len], 511 - len, "^n\r0. \wWyjdz^n");
 
	show_menu(id, gTeam[id]? 0x223: 0x23, text, -1, "mainmenu");
	return PLUGIN_HANDLED;
}
 
public _menu_chooseteam(id, key)
{
	switch(key)
	{
		case 0, 1, 5: GdzieDojsc(id, key+1);
		case 9: return;
	}
}
 
GdzieDojsc(id, team)
{
	set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
	if(team == 6)
	{	
		if(!is_user_alive(id))
		{
			gTeam[id] = 0;
			engclient_cmd(id, "jointeam", "6");
		}
		else
			client_print(id, print_center, "Nie mozesz byc obserwatorem");
		return;
	}
 
	if(gTeam[id] == team)
		return;
 
	new ile_graczy[2];
	for(new i=1; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
 
		switch(cs_get_user_team(i))
		{
			case 1: ile_graczy[0]++;
			case 2: ile_graczy[1]++;
		}
	}
	if(czas_bronie && jail_day%7 && !gTeam[id] && ((team == 1 && ile_graczy[0]) || (team == 2 && ile_graczy[1])))
	{
		ColorChat(id, GREEN, "[PrisonBreak]^x01 Mozesz dolaczyc dopiero jak sie skonczy runda!");
		GdzieDojsc(id, 6);
		return;
	}
 
	new iRet;
	ExecuteForward(fJoinTeam, iRet, id, team, ile_graczy[0], ile_graczy[1]);
 
	switch(iRet)
	{
		case -1: return;
		case 1,2: team = iRet;
	}	
 
	if(gTeam[id] == team)
		return;
 
	new msg_blocke = get_msg_block(g_msgid[id]);
	set_msg_block(g_msgid[id], BLOCK_SET);
	engclient_cmd(id, "jointeam", team==2? "2": "1");
	//set_msg_block(g_msgid[id], msg_blocke);
 
	//set_msg_block(g_msgid[id], BLOCK_SET);
	engclient_cmd(id, "joinclass", "1");
	set_msg_block(g_msgid[id], msg_blocke);
	gTeam[id] = team;
}
 
public BlokujKomende()
	return PLUGIN_HANDLED;
 
//cele menu
public WczytajCele()
{
	new szMap[32], szFile[128];
	get_mapname(szMap, 31);
	formatex(szFile, 127, "addons/amxmodx/data/cele/%s.ini", szMap);
 
	if(file_exists(szFile))
	{
		new dane_tablicy[4][32], tablica[256], txtlen;
		for(new i=0; i<file_size(szFile, 1); i++)
		{
			if(i > 1)
				break;
 
			read_file(szFile, i, tablica, 255, txtlen);
			parse(tablica, dane_tablicy[0], 31, dane_tablicy[1], 31, dane_tablicy[2], 31, dane_tablicy[3], 31);
 
			new Float:origin[3];
			origin[0] = str_to_float(dane_tablicy[0]);
			origin[1] = str_to_float(dane_tablicy[1]);
			origin[2] = str_to_float(dane_tablicy[2]);
 
			new Float:fDistance = 9999.0, Float:fDistance2, ent;
			while((ent = find_ent_by_class(ent, dane_tablicy[3])))
			{	
				new Float:gOrigin[3];
				get_brush_entity_origin(ent, gOrigin);
 
				fDistance2 = vector_distance(gOrigin, origin);
				if(fDistance2 < fDistance)
				{
					fDistance = fDistance2;
					g_Buttons[i] = ent;
				}
			}
		}
	}
	else
		setup_buttons();
 
	AddMenuItem("Dodanie Cel", "jail_cele", ADMIN_RCON, "Jail");
}
 
public MenuUstwianiaCel(id)
{
	if(!(get_user_flags(id) & ADMIN_RCON))
		return PLUGIN_HANDLED;
 
	new menu = menu_create("Ustaw przycisk do cel:", "Handel_Cele");
 
	menu_additem(menu, "Przycisk 1");
	menu_additem(menu, "Przycisk 2 (jak sa 2 przyciski do cel)");
	menu_additem(menu, "Usun Przyciski");
 
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
	return PLUGIN_HANDLED;
}
 
public Handel_Cele(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		return PLUGIN_CONTINUE;
	}
	switch(item)
	{
		case 0: ZapiszIdCel(id, 0);
		case 1: ZapiszIdCel(id, 1);
		case 2:{
			if(g_Buttons[0])
			{
				new szMap[32], szFile[128];
				get_mapname(szMap, 31);
				formatex(szFile, 127, "addons/amxmodx/data/cele/%s.ini", szMap);
				delete_file(szFile);
				g_Buttons[0] = 0;
 
				client_print(id, 3, "[Cele] Usunieto przyciski");
			}
			if(g_Buttons[1])
				g_Buttons[1] = 0;
		}
	}
	menu_display(id, menu);
	return PLUGIN_CONTINUE;
}
 
ZapiszIdCel(id, linia)
{
	new ent, body;
	get_user_aiming(id, ent, body);
	if(!pev_valid(ent)) 
		return;
 
	g_Buttons[linia] = ent;
	new Float:origin[3], name[32];
	get_brush_entity_origin(ent, origin);
	pev(ent, pev_classname, name, 31);
 
	new szMap[32], szFile[128], szTemp[128];
	get_mapname(szMap, 31);
	formatex(szTemp, 127, "%f %f %f %s", origin[0], origin[1], origin[2], name);
	formatex(szFile, 127, "addons/amxmodx/data/cele/%s.ini", szMap);
 
	write_file(szFile, szTemp, linia);
	client_print(id, 3, "[Cele] Dodano przycisk %i", linia+1);
}
 
//cele auto
public setup_buttons()
{
	new ent[3], class[32], i, Float:origin[3];
	while((i <= sizeof(g_Buttons)) && (ent[0] = engfunc(EngFunc_FindEntityByString, ent[0], "classname", "info_player_deathmatch")))
	{ 
		pev(ent[0], pev_origin, origin) 
		while((ent[1] = engfunc(EngFunc_FindEntityInSphere, ent[1], origin, 300.0)))
		{ 
			if(!pev_valid(ent[1])) 
				continue;
 
			pev(ent[1], pev_classname, class, 31);
			if(!equal(class, "func_door"))
				continue;
 
			pev(ent[1], pev_targetname, class, 31) 
			ent[2] = engfunc(EngFunc_FindEntityByString, 0, "target", class);
			if(pev_valid(ent[2]) && (in_array(ent[2], g_Buttons, sizeof(g_Buttons)) < 0)) 
			{
				g_Buttons[i++] = ent[2]; 
				ent[1] = 0;
				ent[2] = 0;
				break;
			} 
		} 
	} 
}
 
stock in_array(needle, data[], size)
{
	for(new i = 0; i < size; i++)
	{
		if(data[i] == needle)
			return i;
	}
	return -1;
}
 
public OtworzCele()
{
	for(new i=0; i<sizeof(g_Buttons); i++)
	{
		if(!pev_valid(g_Buttons[i]) || !g_Buttons[i])
			continue;
		ExecuteHam(Ham_Use, g_Buttons[i], 0, 0, 2, 1.0);
	}
}	
 
AddArray(id, ktore)
{
	if(free_day[id] || user_duszek[id])
		return;
 
	if(array_graczy[ktore][id])
		return;
 
	ostatni_wiezien = (ilosc_graczy[ktore]? 0: id);
 
	array_graczy[ktore][id] = id;
	ilosc_graczy[ktore]++;
}
 
DelArray(id, ktore)
{
	if(free_day[id] || user_duszek[id])
		return;
 
	if(!array_graczy[ktore][id])
		return;
 
	array_graczy[ktore][id] = 0;
	ilosc_graczy[ktore]--;
 
	if(jail_day%7 && ktore == ZYWI)
	{
		switch(ilosc_graczy[ktore])
		{
			case 1:{ 
				for(new i=1; i<=MAX; i++)
				{
					if(array_graczy[ktore][i])
					{
						ostatni_wiezien = array_graczy[ktore][i];
						break;
					}
				}
			}
			default: ostatni_wiezien = 0;
		}
	}
}
 
AddPoszukiwany(attacker)
{
	if(contain(szPoszukiwani, nazwa_gracza[attacker]) == -1)
	{
		new szTemp[512];
		formatex(szTemp, charsmax(szTemp), "^n  %s%s", nazwa_gracza[attacker], szPoszukiwani);
		copy(szPoszukiwani, charsmax(szPoszukiwani), szTemp);
 
		set_pev(attacker, pev_body, 4);
	}
	if(task_exists(ID_DZWIEK_POSZ))
		remove_task(ID_DZWIEK_POSZ);
 
	dzwiek_poszukiwany();
	set_task(1.0, "dzwiek_poszukiwany", ID_DZWIEK_POSZ, .flags="a", .repeat=9);	
}
 
public dzwiek_poszukiwany()
	client_cmd(0, "spk jb_cypis/uciekinier.wav");
 
DelPoszukiwany(id)
{
	if(contain(szPoszukiwani, nazwa_gracza[id]) != -1)
	{
		new szTemp[512];
		formatex(szTemp, charsmax(szTemp), "^n  %s", nazwa_gracza[id]);
		replace_all(szPoszukiwani, charsmax(szPoszukiwani), szTemp, "");
	}
}
 
stock ham_strip_weapon(id, wid)
{
	if(!wid) 
		return 0;
 
	new szName[24];
	get_weaponname(wid, szName, 23);
 
	new ent;
	while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", szName)) && pev(ent, pev_owner) != id) {}
	if(!ent)
		return 0;
 
	if(get_user_weapon(id) == wid) 
		ExecuteHam(Ham_Weapon_RetireWeapon, ent);
 
	if(ExecuteHam(Ham_RemovePlayerItem, id, ent)) 
	{
		ExecuteHam(Ham_Item_Kill, ent);
		set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wid));
	}
	return 1;
}
 
stock Jaki_Pistolet(id)
{
	if(!is_user_alive(id))
		return 0;
 
	new weapons[32], numweapons;
	get_user_weapons(id, weapons, numweapons);
 
	for(new i=0; i<numweapons; i++)
		if((1<<weapons[i]) & 0x50FCF1A8)
			return weapons[i];
 
	return 0;
}