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 132761435016315 dodana przez ogury, 26.01.2012 22:45
Typ:


asdf
132761435016315
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.
2295.
2296.
2297.
2298.
2299.
2300.
2301.
2302.
2303.
2304.
2305.
2306.
2307.
2308.
2309.
2310.
2311.
2312.
2313.
2314.
2315.
2316.
2317.
2318.
2319.
 
/* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <amxmisc>
#include <nvault> 
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
 
#define VERSION 			"0.4a"
#define AUTHOR 				"funfel"
#define PREFIX 				"MoneyMod"
 
/* VIP ON THE SCORE */
#define ADMIN_VIP 			ADMIN_LEVEL_F 
#define SCOREATTRIB_NONE  		0 
#define SCOREATTRIB_DEAD  		(1 << 0)
#define SCOREATTRIB_BOMB  		(1 << 1)
#define SCOREATTRIB_VIP 		(1 << 2)
 
/* HEAD SPLASH */
#define MINIMUM_FALL_SPEED 		300
#define MAXIMUM_DAMAGE_FROM_JUMP 	70.0
#define DAMAGE 				30.0
#define DELAY 				0.2
 
/* MENUS */
#define MONEY_KEYS 			MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_0
#define QUEST_KEYS 			MENU_KEY_1|MENU_KEY_2
#define GUN_KEYS 			MENU_KEY_1|MENU_KEY_2|MENU_KEY_0
#define ITEMS_KEYS 			MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
#define ITEMS2_KEYS 			MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
#define WEAPON_KEYS 			MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_0
#define LAST_KEYS 			MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_0
 
/* TASKS */
enum (+= 1000) {
	TASK_SHOW = 1000,
	TASK_HELLO,
	TASK_HEALTH,
	TASK_RESPAWN,
	TASK_HE,
	TASK_USP,
	TASK_SCOUT,
	TASK_CHOOSE
 
};
 
new 
	sprite_blood,
	sprite_bloodspray;
 
new 
	mm_kill,
	mm_survive,
	mm_firstmoney,
 
	mm_cost_hp,
	mm_cost_armor,
	mm_cost_respawn,
	mm_cost_falldmg,
	mm_cost_superhe,
	mm_cost_bonus,
	mm_cost_walk,
	mm_cost_noflash,
	mm_cost_nosmoke,
	mm_cost_shock,
 
	mm_cost_he,
	mm_cost_usp,
	mm_cost_scout,
 
	mm_cost_am_usp,
	mm_cost_am_scout,
 
	mm_players,
 
	max_health,
	max_armor,
	max_respawn,
	max_falldmg,
	max_superhe,
	max_bonus,
	max_walk,
	max_noflash,
	max_nosmoke,
	max_shock,
	max_he,
	max_usp,
	max_scout,
	max_am_usp,
	max_am_scout,
 
	number_health,
	number_bonus,
 
	chance_armor,
	chance_respawnt,
	chance_respawnct,
	chance_he,
	chance_usp,
	chance_scout,
	chance_lastrespawn,
 
	percent_falldmg,
	percent_nosmoke,
 
	distance_superhe,
 
	idfirsttime[33],
 
	idmm[33],
	idhealth[33],
	idarmor[33],
	idrespawn[33],
	idfalldmg[33],
	idsuperhe[33],
	idbonus[33],
	idwalk[33],
	idnoflash[33],
	idnosmoke[33],
	idhe[33],
	idusp[33],
	idamusp[33],
	idscout[33],
	idamsco[33],
	idshock[33];
 
 
new 
	next_lvlhp,
	next_hp,
	cost_hp,
 
	next_lvlarm,
	next_arm,
	cost_arm,
 
	next_lvlres,
	next_rest,
	next_resct,
	cost_res,
 
	next_lvlfd,
	next_fd,
	cost_fd,
 
	next_lvlsh,
	next_sh,
	cost_sh,
 
	next_lvlb,
	next_b,
	cost_b,
 
	next_lvlnos,
	next_nos,
	cost_nos,
 
	cost_wa,
 
	cost_nof,
 
	cost_sho,
 
	next_lvlhe,
	next_he,
	cost_he,
 
	next_lvlusp,
	next_usp,
	next_am_usp,
	cost_usp,
	cost_am_usp,
 
	next_lvlsco,
	next_sco,
	next_am_sco,
	cost_sco,
	cost_am_sco;
 
new 
	msgsaytext;
 
new 
	item[33],
	/* 
	1 - health
	2 - armor
	3 - respawn
	4 - falldmg reductor
	5 - super he
	6 - bonus money
	7 - walk
	8 - no flash 
	9 - no smoke
	10 - he
	13 - Brak spowolnienia po strzale
	*/
	gun[33];
	/* 
	1 - usp
	2 - scout
	*/
 
new Float:falling_speed[33];
new Float:damage_after[33][33];
new bool:ginfo[33];
new bool:glast[33];
new bool:gbuyed[33];
new bool:grespawned[33];
 
public plugin_init()  {
	/* REGISTER PLG */
	register_plugin("MoneyMod", VERSION,  AUTHOR);
 
	/* EVENTS & LOGEVENTS */
	register_event("DeathMsg", "event_death", "a");
	register_event("SendAudio", "event_ctwin", "a", "2&%!MRAD_ctwin");
	register_event("Damage", "event_hedamage", "b", "2!0", "4!0", "5!0", "6!0");
	register_event("ScreenFade","event_checkflash","be","4=255","5=255","6=255","7>199")
	register_logevent("event_startround",2,"1=Round_Start");
	register_logevent("event_endround", 2 , "1=Round_End");
 
	/* HAMS */
	RegisterHam(Ham_Spawn, "player" , "ham_spawn" , 1);
	RegisterHam(Ham_TraceAttack, "player", "ham_traceattack");
	RegisterHam(Ham_TakeDamage, "player", "ham_takedamage", 1);
	RegisterHam(Ham_TakeDamage, "player", "ham_takedamage2");
 
	/* FOWARDS */
	register_forward(FM_Touch, "forward_touch");
 
	/* MENUS */
	register_menu("QuestMenu", QUEST_KEYS,"cbQuestMenu");
	register_menu("GunMenu", GUN_KEYS,"cbGunMenu");
	register_menu("MoneyMenu", MONEY_KEYS,"cbMoneyMenu");
	register_menu("ItemsMenu", ITEMS_KEYS,"cbItemsMenu");
	register_menu("Items2Menu", ITEMS2_KEYS,"cbItems2Menu");
	register_menu("WeaponMenu", WEAPON_KEYS,"cbWeaponMenu");
 
	/* CVARS TO GAME */
	register_cvar("amx_savestyle", "1");
	register_cvar("amx_headsplash", "0");
	register_cvar("mm_players", "3");
	register_cvar("mm_kill", "50");
	register_cvar("mm_survive","25");
	register_cvar("mm_firstmoney", "100");
	register_cvar("mm_cost_hp", "600");
	register_cvar("mm_cost_blows", "1000");
	register_cvar("mm_cost_respawn", "3000");
	register_cvar("mm_cost_falldmg", "2500");
	register_cvar("mm_cost_superhe", "5000");
	register_cvar("mm_cost_bonusmoney", "7500");
	register_cvar("mm_cost_walk", "10000");
	register_cvar("mm_cost_noflash", "50000");
	register_cvar("mm_cost_nosmoke", "40000");
	register_cvar("mm_cost_shock", "60000");
	register_cvar("mm_cost_he", "750");
	register_cvar("mm_cost_usp", "600");
	register_cvar("mm_cost_scout", "1500");
	register_cvar("mm_number_itemhealth", "50");
	register_cvar("mm_number_itemarmor", "250");
	register_cvar("mm_cost_ammo_usp", "4000");
	register_cvar("mm_cost_ammo_scout", "7500");
	register_cvar("mm_max_health", "4");
	register_cvar("mm_max_blows", "5");
	register_cvar("mm_max_respawn", "5");
	register_cvar("mm_max_falldmg", "8");
	register_cvar("mm_max_superhe", "4");
	register_cvar("mm_max_bonusmoney", "4");
	register_cvar("mm_max_walk", "1");
	register_cvar("mm_max_noflash", "1");
	register_cvar("mm_max_nosmoke", "2");
	register_cvar("mm_max_shock", "1");
	register_cvar("mm_max_he", "5");
	register_cvar("mm_max_usp", "5");
	register_cvar("mm_max_scout", "5");
	register_cvar("mm_max_ammo_usp", "3");
	register_cvar("mm_max_ammo_scout", "2");
	register_cvar("mm_number_health", "25");
	register_cvar("mm_number_bonusmoney", "10");
	register_cvar("mm_distance_superhe", "5");
	register_cvar("mm_chance_blows", "5");
	register_cvar("mm_chance_respawnt", "10");
	register_cvar("mm_chance_respawnct", "20");
	register_cvar("mm_chance_he", "20");
	register_cvar("mm_chance_usp", "8");
	register_cvar("mm_chance_scout", "6");
	register_cvar("mm_chance_itemrespawn", "10");
	register_cvar("mm_percent_falldmg", "5");
	register_cvar("mm_percent_nosmoke", "50");
 
	/* GLOBALS */
	mm_players 		= get_cvar_num("mm_players");
 
	mm_kill 			= get_cvar_num("mm_kill");
	mm_survive 		= get_cvar_num("mm_survive");
	mm_cost_hp		= get_cvar_num("mm_cost_hp");
	mm_cost_armor		= get_cvar_num("mm_cost_blows");
	mm_cost_respawn		= get_cvar_num("mm_cost_respawn");
	mm_cost_falldmg		= get_cvar_num("mm_cost_falldmg");
	mm_cost_superhe		= get_cvar_num("mm_cost_superhe");
	mm_cost_bonus		= get_cvar_num("mm_cost_bonusmoney");
	mm_cost_walk		= get_cvar_num("mm_cost_walk");
	mm_cost_noflash		= get_cvar_num("mm_cost_noflash");
	mm_cost_nosmoke		= get_cvar_num("mm_cost_nosmoke");
	mm_cost_shock		= get_cvar_num("mm_cost_shock");
	mm_cost_he		= get_cvar_num("mm_cost_he");
	mm_cost_usp		= get_cvar_num("mm_cost_usp");
	mm_cost_scout		= get_cvar_num("mm_cost_scout");
 
 
	mm_cost_am_usp		= get_cvar_num("mm_cost_ammo_usp");
	mm_cost_am_scout	= get_cvar_num("mm_cost_ammo_scout");
 
	max_health		= get_cvar_num("mm_max_health");
	max_armor		= get_cvar_num("mm_max_blows");
	max_respawn		= get_cvar_num("mm_max_respawn");
	max_falldmg		= get_cvar_num("mm_max_falldmg");
	max_superhe		= get_cvar_num("mm_max_superhe");
	max_bonus		= get_cvar_num("mm_max_bonusmoney");
	max_walk		= get_cvar_num("mm_max_walk");
	max_noflash		= get_cvar_num("mm_max_noflash");
	max_nosmoke		= get_cvar_num("mm_max_nosmoke");
	max_shock		= get_cvar_num("mm_max_shock");
	max_he			= get_cvar_num("mm_max_he");
	max_usp			= get_cvar_num("mm_max_usp");
	max_scout		= get_cvar_num("mm_max_scout");
 
	max_am_usp		= get_cvar_num("mm_max_ammo_usp");
	max_am_scout		= get_cvar_num("mm_max_ammo_scout");
 
	number_health		= get_cvar_num("mm_number_health");
	number_bonus		= get_cvar_num("mm_number_bonusmoney");
 
	distance_superhe	= get_cvar_num("mm_distance_superhe");
 
	chance_armor		= get_cvar_num("mm_chance_blows");
	chance_respawnt		= get_cvar_num("mm_chance_respawnt");
	chance_respawnct	= get_cvar_num("mm_chance_respawnct");
	chance_he		= get_cvar_num("mm_chance_he");
	chance_usp		= get_cvar_num("mm_chance_usp");
	chance_scout		= get_cvar_num("mm_chance_scout");
 
	chance_lastrespawn 	= get_cvar_num("mm_chance_itemrespawn");
 
	percent_falldmg		= get_cvar_num("mm_percent_falldmg");
	percent_nosmoke		= get_cvar_num("mm_percent_nosmoke");
 
	mm_firstmoney		= get_cvar_num("mm_firstmoney");
 
	/* NVAULT */
	nvault_open("moneymod");
 
	/* MESSAGES */
	register_message(get_user_msgid("ScoreAttrib"), "message_score");
 
	//msgstatustext 		= get_user_msgid("StatusText");
	msgsaytext 		= get_user_msgid("SayText");
 
	/* CLCMDS & CONCMDS */
	register_concmd("mm_givemoney", "func_givemm", ADMIN_IMMUNITY , "<name/sid> <amount>"); 
	register_concmd("mm_takemoney", "func_takemm", ADMIN_IMMUNITY , "<name/sid> <amount>"); 
 
	register_clcmd("say /mm" , "moneyMenu");
	register_clcmd("say /money" , "moneyMenu");
	register_clcmd("say /moneymod" , "moneyMenu");
	register_clcmd("say /mymoney" , "func_mymoney");
	register_clcmd("say /items", "cmd_itemshelp");
 
	register_clcmd("say_team /mm" , "moneyMenu");
	register_clcmd("say_team /money" , "moneyMenu");
	register_clcmd("say_team /moneymod" , "moneyMenu");
	register_clcmd("say_team /mymoney" , "func_mymoney");
	register_clcmd("say_team /last", "cmd_lastbuy");
	register_clcmd("say_team /items", "cmd_itemshelp");
}
 
public plugin_natives() {
	register_library("moneymod");
	register_native("mm_get_money", "_get_money");
	register_native("mm_get_nosmoke", "_get_nosmoke");
	register_native("mm_set_money", "_set_money");
}
 
public _get_money(plugin, params) {
	return idmm[get_param(1)];
}
 
public _get_nosmoke(plugin, params) {
	return idnosmoke[get_param(1)];
}
 
public _set_money(plugin, params) {
	new id = get_param(1);
	idmm[id] = max(0, get_param(2));
	func_save(id);
}
 
public cmd_itemshelp(id) {
	static motd[2500];
	new len = copy(motd, sizeof(motd) - 1, "<html>");
 
	len += format(motd[len], sizeof(motd) - len - 1, "<style type=^"text/css^"> body { background-image:url(http://i47.tinypic.com/xf50k5.png/); color:#FF8F00 } </style>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Zycie:</b> Dostajesz wiecej HP na poczatku rundy.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Odbicie:</b> Masz szanse odbic atak.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Twarde buty:</b> Obrazenia za upadek zostaja zmniejszone.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Odrodzenie:</b> Masz szanse sie odrodzic po smierci.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Super HE:</b> Twoj granat odpycha.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Wiecej kasy:</b> Dostajesz wiecej kasy.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Anty-smoke:</b> Zamrazajacy granat na Ciebie nie dziala.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Ciche chodzenie:</b> Chodzisz ciszej.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Anty-flash:</b> Dazzling grenade does not blind you.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Brak spowolnienia po strzale:</b> No slowing down after the damage suffered.<br>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"</html>");
 
	show_motd(id, motd, "MoneyMod Items Help");
 
	return PLUGIN_HANDLED;
}
 
public func_takemm(id, level, cid) { 
	if(!cmd_access (id, level, cid, 3)) 
		return PLUGIN_HANDLED; 
 
	new target[32], amount[21], reason[21]; 
 
	read_argv(1, target, 31); 
	read_argv(2, amount, 20); 
	read_argv(3, reason, 20); 
 
	new player = cmd_target(id, target, 8); 
 
	if(!player)  
		return PLUGIN_HANDLED; 
 
	new admin_name[32], player_name[32]; 
	get_user_name(id, admin_name, 31); 
	get_user_name(player, player_name, 31); 
 
	new expnum = str_to_num(amount); 
 
	idmm[player] -= expnum; 
	if(idmm[player] < 0) {
		idmm[player] = 0;
	}
	func_save(id);
 
	return PLUGIN_CONTINUE;
}
 
public func_givemm( id, level, cid ) { 
	if(!cmd_access (id, level, cid, 3)) 
		return PLUGIN_HANDLED; 
 
	new target[32], amount[21], reason[21]; 
 
	read_argv(1, target, 31); 
	read_argv(2, amount, 20); 
	read_argv(3, reason, 20); 
 
	new player = cmd_target(id, target, 8); 
 
	if(!player)  
		return PLUGIN_HANDLED; 
 
	new admin_name[32], player_name[32]; 
	get_user_name(id, admin_name, 31); 
	get_user_name(player, player_name, 31); 
 
	new expnum = str_to_num(amount); 
 
	idmm[player] += expnum; 
	func_save(id);
 
	return PLUGIN_CONTINUE;
}
 
public message_score(iMsgID , iDest , iReceiver) {   
	new iPlayer = get_msg_arg_int(1);
	if(is_user_connected(iPlayer)   && (get_user_flags(iPlayer) & ADMIN_VIP)) {    
		set_msg_arg_int(2 ,ARG_BYTE , is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
	}
}
 
public ham_takedamage(id, inflictor, attacker, Float:damage, damagebits) {
	if(idshock[id] >= 1) {
		set_pdata_float(id, 108, 1.0);
	}
 
}
 
public ham_takedamage2(id, inflictor, attacker, Float:damage, damagebits) {
	if(is_user_alive(id) && (damagebits & DMG_FALL)) {
		if(idfalldmg[id] >= 1) {
			new percent = idfalldmg[id] *  percent_falldmg;
			SetHamParamFloat(4, damage * (1.0 - (float(percent) / 100.0)));
 
		}
	}
}
 
public ham_traceattack(victim, attacker, Float:damage, Float:direction[3], ptr, bits) {
	if(idarmor[victim] <= 0)
		return;
 
	new chance_num = random_num(1, 100);
	new chance_player= idarmor[victim] * chance_armor;
 
	if(chance_num <= chance_player && 0 < attacker <= get_maxplayers()) {
 
		new name[64];
		get_user_name(attacker, name, 63);
 
		damage = 0.0;
		SetHamParamFloat(3, damage);
		ColorChat(victim, "!g[%s]!y You did dodge a blow from player %s. (chance %d%%)", PREFIX, name, chance_player);
	}
}
 
public ham_spawn(id) {
	if(is_user_alive(id) && is_user_connected(id)) {
		glast[id] = false;
		gbuyed[id] = false;
 
		if(idhealth[id] > 0) {
			set_task(1.5, "func_health", id + TASK_HEALTH);
		}
		if(idhe[id] > 0) {
			set_task(1.5, "func_he", id + TASK_HE);
		}
		if(idusp[id] > 0) {
			set_task(1.5, "func_usp", id + TASK_USP);
		}
		if(idscout[id] > 0) {
			set_task(1.5, "func_scout", id + TASK_SCOUT);
		}
		if(idwalk[id] > 0) {
			set_user_footsteps(id, 1);
		}
		func_save(id);
	}
}
 
public event_checkflash(id) {
	if(idnoflash[id] > 0) {
		message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},id);
		write_short(~0);
		write_short(~0);
		write_short(1<<12);
		write_byte(0);
		write_byte(0);
		write_byte(0);
		write_byte(0);
		message_end();
 
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
 
public event_hedamage(id) {
	new MAXPLAYERS;
	MAXPLAYERS = get_maxplayers();
 
	new inflictor = entity_get_edict(id, EV_ENT_dmg_inflictor);
	if(!is_valid_ent(inflictor)) 
		return PLUGIN_HANDLED;
 
	if (inflictor <= MAXPLAYERS)
		return PLUGIN_CONTINUE;
 
	new classname2[8];
	entity_get_string(inflictor, EV_SZ_classname, classname2, 7);
	if (!equal(classname2, "grenade"))
		return PLUGIN_CONTINUE;
 
	new Float:upVector[3];
	upVector[0] = float(read_data(4));
	upVector[1] = float(read_data(5));
	upVector[2] = float(read_data(6));
 
	new damagerept = read_data(2);
	new attacker = get_user_attacker(id);
 
	if(idsuperhe[attacker] > 0) {
 
		new dmg = idsuperhe[attacker] * distance_superhe;
		set_velocity_from_origin(id, upVector, dmg  * damagerept + 0.0);
	}
	return PLUGIN_CONTINUE;
}
 
public event_ctwin() {
	for (new id= 1; id <= get_maxplayers(); id++) {
		if(get_user_team(id) == 2 && is_user_alive(id)) {
		}
	}
}
 
public event_startround() {
	for (new id= 1; id <= get_maxplayers(); id++) {
		grespawned[id] = false;
	}
}
 
public event_endround() {
	for (new id= 1; id <= get_maxplayers(); id++) {
		if(get_user_team(id) == 1 && is_user_alive(id)) {
			func_mm(id, mm_survive)
		}
	}
}
 
public event_death() { 
	new attacker = read_data(1); 
	new victim = read_data (2);
 
	if(victim == attacker || attacker == 0 || get_user_team(attacker) == get_user_team(victim)) {
		func_checkrespawn(victim);
 
	}
 
	else if(victim != attacker && attacker != 0 && get_user_team(attacker) != get_user_team(victim)) {
		func_mm(attacker, mm_kill);
 
		func_checkrespawn(victim);
	}
 
	return PLUGIN_CONTINUE;
}
 
public func_lastrespawn(task) {
	new iPlayers[32], iNum;
	get_players( iPlayers, iNum );
 
	for(new i = 0; i<iNum ;i++){ 
		new id = iPlayers[i]; 
		new CsTeams:team = cs_get_user_team(id);
 
		if(!is_user_alive(id) && get_user_team(id) == 1 && HasTeammateAlive(id, team)) {
 
			new los = random_num(1, 100);
 
			if(los <= chance_lastrespawn){
				new name[64];
				get_user_name(id, name, 63);
 
				ColorChat(id,"!g[%s]!y Odrodziles sie", PREFIX, name); 
 
				ExecuteHamB(Ham_CS_RoundRespawn, id);
			}
		}
	}
}
 
public func_save(id) {
 
	new authid[64];
 
	if(get_cvar_num("amx_savestyle") == 0) {
		if(is_user_connected(id)) {
			cs_set_user_money(id , idmm[id] , 1);
		}
 
		return PLUGIN_CONTINUE;
	}
	if(get_cvar_num("amx_savestyle") == 1) {
		get_user_authid(id,authid,63);
	}
	if(get_cvar_num("amx_savestyle") == 2) {
		get_user_name(id,authid,63);
	}
	if(get_cvar_num("amx_savestyle") == 3) {
		get_user_ip(id,authid,63);
	}
	new vaultkey[64], vaultdata[64];
 
	format(vaultkey,63,"mm-%s-money",authid);
	format(vaultdata,63,"%d",idmm[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-firsttime",authid);
	format(vaultdata,63,"%d",idfirsttime[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-health",authid);
	format(vaultdata,63,"%d",idhealth[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-armor",authid);
	format(vaultdata,63,"%d",idarmor[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-respawn",authid);
	format(vaultdata,63,"%d",idrespawn[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-falldmg",authid);
	format(vaultdata,63,"%d",idfalldmg[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-superhe",authid);
	format(vaultdata,63,"%d",idsuperhe[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-bonusmoney",authid);
	format(vaultdata,63,"%d",idbonus[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-walk",authid);
	format(vaultdata,63,"%d",idwalk[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-noflash",authid);
	format(vaultdata,63,"%d",idnoflash[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-nosmoke",authid);
	format(vaultdata,63,"%d",idnosmoke[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-he",authid);
	format(vaultdata,63,"%d",idhe[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-usp",authid);
	format(vaultdata,63,"%d",idusp[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-bullet_usp",authid);
	format(vaultdata,63,"%d",idamusp[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-scout",authid);
	format(vaultdata,63,"%d",idscout[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-bullet_scout",authid);
	format(vaultdata,63,"%d",idamsco[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	format(vaultkey,63,"mm-%s-shock",authid);
	format(vaultdata,63,"%d",idshock[id]);
	set_vaultdata(vaultkey,vaultdata);
 
	if(is_user_connected(id)) {
		cs_set_user_money(id , idmm[id] , 1);
	}
 
	return PLUGIN_CONTINUE;
 
}
 
public func_load(id) {
 
	new authid[64];
 
	if(get_cvar_num("amx_savestyle") == 0) {
		if(is_user_connected(id)) {
			cs_set_user_money(id , idmm[id] , 1);
		}
 
		return PLUGIN_CONTINUE;
	}
	if(get_cvar_num("amx_savestyle") == 1) {
		get_user_authid(id,authid,63);
	}
	if(get_cvar_num("amx_savestyle") == 2) {
		get_user_name(id,authid,63);
	}
	if(get_cvar_num("amx_savestyle") == 3) {
		get_user_ip(id,authid,63);
	}
	new vaultkey[64], vaultdata[64]; 
 
	format(vaultkey,63,"mm-%s-money",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idmm[id] = str_to_num(vaultdata);   
 
	format(vaultkey,63,"mm-%s-firsttime",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idfirsttime[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-health",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idhealth[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-armor",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idarmor[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-respawn",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idrespawn[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-falldmg",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idfalldmg[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-superhe",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idsuperhe[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-bonusmoney",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idbonus[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-walk",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idwalk[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-noflash",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idnoflash[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-nosmoke",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idnosmoke[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-he",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idhe[id] = str_to_num(vaultdata); 
 
	format(vaultkey,63,"mm-%s-usp",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idusp[id] = str_to_num(vaultdata);
 
	format(vaultkey,63,"mm-%s-bullet_usp",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idamusp[id] = str_to_num(vaultdata);
 
	format(vaultkey,63,"mm-%s-scout",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idscout[id] = str_to_num(vaultdata);
 
	format(vaultkey,63,"mm-%s-bullet_scout",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idamsco[id] = str_to_num(vaultdata);
 
	format(vaultkey,63,"mm-%s-shock",authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	idshock[id] = str_to_num(vaultdata);
 
	if(is_user_connected(id)) {
		cs_set_user_money(id , idmm[id] , 1);
	}
 
	return PLUGIN_CONTINUE;
 
}
 
public func_health(id) {
	id -= TASK_HEALTH;
 
	new idstarthealth = get_user_health(id);
	new idsumhealth = idhealth[id] * number_health;
 
	set_user_health(id, idstarthealth + idsumhealth);
}
 
public func_he(id) {
	id -= TASK_HE;
 
	new los = random_num(1, 100);	
	new chance_player = idhe[id] * chance_he;
 
	if(los <= chance_player){
		give_item(id, "weapon_hegrenade");
	}
}
 
public func_usp(id) {
	id -= TASK_USP;
 
	new los = random_num(1, 100);	
	new chance_player = idusp[id] * chance_usp;
 
	if(los <= chance_player){
		new name[64];
		get_user_name(id, name, 63);
 
		give_item( id, "weapon_usp" );
		cs_set_user_bpammo(id, CSW_USP, 0);
		cs_set_weapon_ammo( find_ent_by_owner(idamusp[id], "weapon_usp", id ), idamusp[id]); 
 
		if(idamusp[id] == 1){
			ColorChat(id,"!g[%s]!y Wylosowales usp! (chance %d%%)", PREFIX); 
		}
		else {
			ColorChat(id,"!g[%s]!y Wylosowales usp!", PREFIX,idamusp[id]); 
		}
	}
}
 
public func_scout(id) {
	id -= TASK_SCOUT;
 
	new los = random_num(1, 100);	
	new chance_player = idusp[id] * chance_scout;
 
	if(los <= chance_player){
		new name[64];
		get_user_name(id, name, 63);
 
		give_item( id, "weapon_scout" );
		cs_set_user_bpammo(id, CSW_SCOUT, 0);
		cs_set_weapon_ammo( find_ent_by_owner(idamsco[id], "weapon_scout", id ), idamsco[id]); 
 
		if(idamusp[id] == 1){
			ColorChat(id,"!g[%s]!y Wylosowales scouta!", PREFIX, idamsco[id]); 
		}
		else {
			ColorChat(0,"!g[%s]!y Wylosowales scouta!", PREFIX,idamsco[id]); 
		}
	}
}
 
public func_checkrespawn(id) {
	if(idrespawn[id] > 0) {
 
		new los = random_num(1, 100);
		new CsTeams:team = cs_get_user_team(id);
 
		new chance_player;
 
		if(team == CS_TEAM_T) chance_player = idrespawn[id] * chance_respawnt
		else if(team == CS_TEAM_CT) chance_player = idrespawn[id] * chance_respawnct
 
		if(los <= chance_player){
			if(HasTeammateAlive(id, team)) {
				set_task(1.5, "func_respawn", id + TASK_RESPAWN);
			}
		}
	}
}
 
public func_respawn(id) {
	id -= TASK_RESPAWN;
 
	new CsTeams:team = cs_get_user_team(id);
 
	if(HasTeammateAlive(id, team) && grespawned[id] == false) {
		new chance_player;
		new name[64];
		get_user_name(id, name, 63);
 
		if(team == CS_TEAM_T) chance_player = idrespawn[id] * chance_respawnt
		else if(team == CS_TEAM_CT) chance_player = idrespawn[id] * chance_respawnct
 
		ColorChat(0,"!g[%s]!y %s won the revival! (chance %d%%)", PREFIX, name, chance_player); 
 
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		grespawned[id] = true;
	}
}
 
public HasTeammateAlive(id, CsTeams:team) { /* Exolent function */
	for(new i = 1; i <= get_maxplayers(); i++) {
		if(i == id) 
			continue;
 
		if(is_user_alive(i) && cs_get_user_team(i) == team)
			return 1;
	}
	return 0;
}
 
public func_mm(id, money) {
	if(get_playersnum() < mm_players) {
 
		ColorChat(id, "!g[%s]!y Twoj stan kasy sie nie zmienia, poniewaz na serwerze nie ma %d graczy.", PREFIX, mm_players);
 
		return PLUGIN_CONTINUE;
	}
 
	if(money == mm_kill) {
		money += (number_bonus * idbonus[id]);
 
		ColorChat(id, "!g[%s]!y Otrzymujesz $%d za zabicie gracza", PREFIX, money);
		idmm[id] += money;
 
	}
 
	else if(money == mm_survive) {
		money += (number_bonus * idbonus[id]);
 
		ColorChat(id, "!g[%s]!y Otrzymujesz $%d za przezycie rundy", PREFIX, money);
		idmm[id] += money;
	}
 
	else {
		idmm[id] += money;
	}
 
	func_save(id);
 
	return PLUGIN_CONTINUE;
}
 
public func_hello(id) {
	id -= TASK_HELLO;
 
	if(get_user_team(id) == 2 || get_user_team(id) == 1) {
		new name1[64];
		get_user_name(id, name1,63);
 
		ColorChat(id, "!g[%s]!y Witaj, %s! Ten serwer uzywa MoneyMod.", PREFIX, name1);
 
		if(idmm[id] == 0 && idfirsttime[id] != 1) {
			ColorChat(id, "!g[%s]!y Jestes u nas pierwszy raz, dlatego dostajesz $%d!", PREFIX, mm_firstmoney);
 
			idmm[id] += mm_firstmoney
			func_save(id);
		}
	}
	else {
		set_task(3.0,"func_hello",id + TASK_HELLO);
	}
}
 
public func_mymoney(id) {
	ColorChat(id, "!g[%s]!y Twoja kasa: %d", PREFIX, idmm[id]);
 
	func_save(id);
}
 
public func_show(id) {
	id -= TASK_SHOW;
 
	new index = entity_get_int(id, EV_INT_iuser2);
 
	new ent,body;
	get_user_aiming(id, ent, body);
 
	if(is_user_alive(id) && is_user_connected(id) && 0 < ent <= get_maxplayers() && is_user_alive(ent) && is_user_connected(ent) && get_user_team(id) == get_user_team(ent)) {
		new name1[32];
		get_user_name(ent, name1, 31);
 
		set_hudmessage(255, 255, 0, -1.0, 0.80, 0, 0.0, 1.0, 0.1, 0.1);
		show_hudmessage(id, "Nick: %s^nKasa: %d" ,name1, idmm[ent]);
 
	}
	else if(!is_user_alive(id) && is_user_connected(id) && 0 < index <= get_maxplayers() && ginfo[id] != false && is_user_alive(index) && is_user_connected(index )) {
		new name2[32];
		get_user_name(index, name2, 31);
 
		set_hudmessage(255, 255, 0, -1.0, 0.80, 0, 0.0, 1.0, 0.1, 0.1);
		show_hudmessage(id, "Nick: %s^nKasa: %d" ,name2, idmm[index]);
 
	}
	set_task(1.0,"func_show",id + TASK_SHOW);
}
 
 
public client_connect(id) {
	idmm[id] = 0;
	grespawned[id] = false;
}
 
public client_putinserver(id) {
	set_task(3.0,"func_load", id);
	set_task(3.0,"func_show",id + TASK_SHOW);
	set_task(3.0,"func_hello",id + TASK_HELLO);
 
	new authid[32]; 
	get_user_authid(id,authid,31); 
}
 
public client_disconnect(id) {
	if(task_exists(id + TASK_SHOW)) {
		remove_task( id + TASK_SHOW);
	}
	if(task_exists(id + TASK_HELLO)) {
		remove_task(id + TASK_HELLO);
	}
	if(task_exists(id + TASK_RESPAWN)) {
		remove_task(id + TASK_RESPAWN);
	}
	if(task_exists(id + TASK_HEALTH)) {
		remove_task(id + TASK_HEALTH);
	}
	if(task_exists(id + TASK_HE)) {
		remove_task(id + TASK_HE);
	}
	if(task_exists(id + TASK_USP)) {
		remove_task(id + TASK_USP);
	}
	if(task_exists(id + TASK_SCOUT)) {
		remove_task(id + TASK_SCOUT);
	}
	func_save(id);
}	
 
public moneyMenu(id) {
	static msg[2500];
 
	new len = formatex(msg, sizeof(msg) - 1,	"\r[\y%s\r]\w ^nGlowne menu - Twoja kasa:\y %d^n^n", PREFIX, idmm[id]);
 
	len += format(msg[len], sizeof(msg) - len - 1,	"\r1.\w Info o graczu^n");
	len += format(msg[len], sizeof(msg) - len - 1,	"\r2.\w Pomoc^n^n");
 
	len += format(msg[len], sizeof(msg) - len - 1,	"\r3.\w Umiejetnosci^n");
	len += format(msg[len], sizeof(msg) - len - 1,	"\r4.\w Bronie^n");
	len += format(msg[len], sizeof(msg) - len - 1,	"\r5.\w Informacje po smierci: ");
	if(ginfo[id] == true) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\yWlacz^n");
	}
	else if(ginfo[id] == false) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rWylacz^n");
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n^n^n^n\r0.\w Wyjdz");
 
	show_menu(id,MONEY_KEYS, msg, -1,"MoneyMenu");
 
	return PLUGIN_HANDLED;
}
 
public cbMoneyMenu(id, key) {
	switch(key) {
		case 0:{
			playerInfoMenu(id);
		}
		case 1:{
			motd_help(id);
			moneyMenu(id);
		}
		case 2:{
			itemsMenu(id);
		}
		case 3:{
			weaponMenu(id);
		}
		case 4:{
			if(ginfo[id] == true) {
				ginfo[id] = false;
			}
			else if(ginfo[id] == false) {
				ginfo[id] = true;
			}
			moneyMenu(id);
		}
	}
}
 
public itemsMenu(id) {
	next_lvlhp = idhealth[id] + 1;
	next_hp = (idhealth[id] + 1) * number_health;
	cost_hp = (idhealth[id] + 1) * mm_cost_hp
	new a_hp = idhealth[id] * number_health;
 
	next_lvlarm = idarmor[id] + 1;
	next_arm = (idarmor[id] + 1) * chance_armor;
	cost_arm = (idarmor[id] + 1) * mm_cost_armor
	new a_arm = idarmor[id] * chance_armor;
 
	next_lvlres = idrespawn[id] + 1;
	next_rest= (idrespawn[id] + 1) * chance_respawnt;
	next_resct= (idrespawn[id] + 1) * chance_respawnct;
	cost_res = (idrespawn[id] + 1) * mm_cost_respawn
	new a_rest= idrespawn[id] * chance_respawnt;
	new a_resct= idrespawn[id] * chance_respawnct;
 
	next_lvlfd = idfalldmg[id] + 1;
	next_fd = (idfalldmg[id] + 1) * percent_falldmg;
	cost_fd = (idfalldmg[id] + 1) * mm_cost_falldmg
	new a_fd = idfalldmg[id] * percent_falldmg;
 
	next_lvlsh = idsuperhe[id] + 1;
	next_sh = (idsuperhe[id] + 1) * distance_superhe;
	cost_sh = (idsuperhe[id] + 1) * mm_cost_superhe;
	new a_sh = idsuperhe[id] * distance_superhe;
 
	next_lvlb = idbonus[id] + 1;
	next_b = (idbonus[id] + 1) * number_bonus;
	cost_b = (idbonus[id] + 1) * mm_cost_bonus;
	new a_b = idbonus[id] * number_bonus;
 
	next_lvlnos = idnosmoke[id] + 1;
	next_nos = (idnosmoke[id] + 1) * percent_nosmoke;
	cost_nos = (idnosmoke[id] + 1) * mm_cost_nosmoke;
	new a_nos = idnosmoke[id] * percent_nosmoke;
 
	static msg[2500];
 
	new len = formatex(msg, sizeof(msg) - 1,	"\r[\y%s\r]\w^nUmiejetnosci 1/2^n^n", PREFIX);
 
	/* HEALTH */
	if(idmm[id] >= cost_hp && idhealth[id] != max_health) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r1.\w Zycie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w+%d HP\r)\y $%d", next_lvlhp, next_hp, cost_hp );
	}
	else if(idhealth[id] == max_health) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d1. Zycie ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w+%d HP\r)", idhealth[id], a_hp);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d1. Zycie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w+%d HP\r)\y $%d", next_lvlhp, next_hp, cost_hp );
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* ARMOR */
	if(idmm[id] >= cost_arm && idarmor[id] != max_armor) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r2.\w Odbicie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlarm, next_arm, cost_arm);
	}
	else if(idarmor[id] == max_armor) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Odbicie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w%d%%\r)", idarmor[id],a_arm);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Odbicie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlarm, next_arm, cost_arm );
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* RESPAWN */
	if(idmm[id] >= cost_res && idrespawn[id] != max_respawn) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r3.\w Odrodzenie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r(\wT: %d%%\r/\wCT: %d%%\r)\y $%d", next_lvlres, next_rest,next_resct, cost_res);
	}
	else if(idrespawn[id] == max_respawn) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d3. Odrodzenie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r(\wT: %d%%\r/\wCT: %d%%\r)", idrespawn[id], a_rest, a_resct);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d3. Odrodzenie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r(\wT: %d%%\r/\wCT: %d%%\r)\y $%d", next_lvlres, next_rest,next_resct, cost_res );
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* FALLDMG REDUCOR */
	if(idmm[id] >= cost_fd && idfalldmg[id] != max_falldmg) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r4.\w Twarde buty: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlfd, next_fd, cost_fd);
	}
	else if(idfalldmg[id] == max_falldmg) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d4. Twarde buty: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w%d%%\r)", idfalldmg[id], a_fd);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d4. Twarde buty: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlfd, next_fd, cost_fd);
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* SUPER HE */
	if(idmm[id] >= cost_sh && idsuperhe[id] != max_superhe) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r5.\w Super HE: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\wFrom 1 to %d\r)\y $%d", next_lvlsh, next_sh, cost_sh);
	}
	else if(idsuperhe[id] == max_superhe) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d5. Super HE: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\wFrom 1 to %d\r)", idsuperhe[id], a_sh);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d5. Super HE: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\wFrom 1 to %d\r)\y $%d", next_lvlsh, next_sh, cost_sh);
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* BOUNS MONEY */
	if(idmm[id] >= cost_b && idbonus[id] != max_bonus) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r6.\w Wiecej kasy: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w+$%d\r)\y $%d", next_lvlb, next_b, cost_b);
	}
	else if(idbonus[id] == max_bonus) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d6. Wiecej kasy: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w+$%d\r)", idbonus[id], a_b);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d6. Wiecej kasy: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w+$%d\r)\y $%d", next_lvlb, next_b, cost_b);
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* ANTY FROST */
	if(idmm[id] >= cost_nos && idnosmoke[id] != max_nosmoke) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r7.\w Rozgrzewacz: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlnos, next_nos, cost_nos);
	}
	else if(idnosmoke[id] == max_nosmoke) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d7. Rozgrzewacz: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w%d%%\r)", idnosmoke[id], a_nos);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d7. Rozgrzewacz: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlnos, next_nos, cost_nos);
	}
 
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
	len += format(msg[len], sizeof(msg) - len - 1,	"^n\d8. Wroc");
	len += format(msg[len], sizeof(msg) - len - 1,	"^n\r9.\w Dalej");
 
	len += format(msg[len], sizeof(msg) - len - 1,	"^n\r0.\w Wyjdz");
 
	show_menu(id,ITEMS_KEYS, msg, -1,"ItemsMenu");
 
	return PLUGIN_HANDLED;
}
 
public cbItemsMenu(id, key) {
	switch(key) {
		case 0:{
			if(idmm[id] >= cost_hp && idhealth[id] != max_health) {
				item[id] = 1;
				questMenu(id);
			}
			else if(idhealth[id] == max_health) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie posiadasz wystarczajacej ilosci pieniedzy.", PREFIX);
				itemsMenu(id);
			}
		}
		case 1:{
			if(idmm[id] >= cost_arm && idarmor[id] != max_armor) {
				item[id] = 2;
				questMenu(id);
			}
			else if(idarmor[id] == max_armor) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX, cost_arm);
				itemsMenu(id);
			}
		}
		case 2:{
			if(idmm[id] >= cost_res && idrespawn[id] != max_respawn) {
				item[id] = 3;
				questMenu(id);
			}
			else if(idrespawn[id] == max_respawn) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
		}
		case 3:{
			if(idmm[id] >= cost_fd && idfalldmg[id] != max_falldmg) {
				item[id] = 4;
				questMenu(id);
			}
			else if(idfalldmg[id] == max_falldmg) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
		}
		case 4:{
			if(idmm[id] >= cost_sh && idsuperhe[id] != max_superhe) {
				item[id] = 5;
				questMenu(id);
			}
			else if(idsuperhe[id] == max_superhe) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
		}
		case 5:{
			if(idmm[id] >= cost_b && idbonus[id] != max_bonus) {
				item[id] = 6;
				questMenu(id);
			}
			else if(idbonus[id] == max_bonus) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
		}
		case 6:{
			if(idmm[id] >= cost_nos && idnosmoke[id] != max_nosmoke) {
				item[id] = 7;
				questMenu(id);
			}
			else if(idnosmoke[id] == max_nosmoke) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				itemsMenu(id);
			}
		}
		case 7:{
			itemsMenu(id);
		}
		case 8:{
			items2Menu(id);
		}
		case 9:{
			moneyMenu(id);
		}
	}
}
 
public items2Menu(id) {
	cost_wa = (idwalk[id] + 1) * mm_cost_walk;
	cost_nof = (idnoflash[id] + 1) * mm_cost_noflash;
	cost_sho = (idshock[id] + 1) * mm_cost_shock;
 
	static msg[2500];
 
	new len = formatex(msg, sizeof(msg) - 1,	"\r[\y%s\r]\w^nUmiejetnosci 2/2^n^n", PREFIX);
 
	/* NO FLASH */
	if(idmm[id] >= cost_wa && idwalk[id] != max_walk) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r1.\w Ciche chodzenie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wNie kupione\r)\y $%d", cost_wa);
	}
	else if(idwalk[id] == max_walk) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d1. Ciche chodzenie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wKupione\r)");
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d1. Ciche chodzenie: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wNie kupione\r)\y $%d", cost_wa);
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* NO SMOKE */
	if(idmm[id] >= cost_nof && idnoflash[id] != max_noflash) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r2.\w Anty-flash: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wNie kupione\r)\y $%d", cost_nof);
	}
	else if(idnoflash[id] == max_noflash) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Anty-flash: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wKupione\r)");
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Anty-flash: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wNie kupione\r)\y $%d", cost_nof);
	}
 
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* NO SMOKE */
	if(idmm[id] >= cost_sho && idshock[id] != max_shock) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r3.\w Brak spowolnienia po strzale: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wNie kupione\r)\y $%d", cost_sho);
	}
	else if(idshock[id] == max_shock) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d3. Brak spowolnienia po strzale: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wKupione\r)");
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d3. Brak spowolnienia po strzale: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\r(\wNie kupione\r)\y $%d", cost_sho);
	}
 
	len += format(msg[len], sizeof(msg) - len - 1,	"^n^n^n^n^n");
	len += format(msg[len], sizeof(msg) - len - 1,	"^n\r8.\w Wroc");
	len += format(msg[len], sizeof(msg) - len - 1,	"^n\d9. Dalej");
 
	len += format(msg[len], sizeof(msg) - len - 1,	"^n\r0.\w Wyjdz");
 
	show_menu(id,ITEMS2_KEYS, msg, -1,"Items2Menu");
 
	return PLUGIN_HANDLED;
}
 
public cbItems2Menu(id, key) {
	switch(key) {
		case 0:{
			if(idmm[id] >= cost_wa && idwalk[id] != max_walk) {
				item[id] = 8;
				questMenu(id);
			}
			else if(idwalk[id] == max_walk) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				items2Menu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX);
				items2Menu(id);
			}
		}
		case 1:{
			if(idmm[id] >= cost_nof && idnoflash[id] != max_noflash) {
				item[id] = 9;
				questMenu(id);
			}
			else if(idnoflash[id] == max_noflash) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				items2Menu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX, cost_nof);
				items2Menu(id);
			}
		}
		case 2:{
			if(idmm[id] >= cost_sho && idshock[id] != max_shock) {
				item[id] = 21;
				questMenu(id);
			}
			else if(idshock[id] == max_shock) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				items2Menu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX, cost_sho);
				items2Menu(id);
			}
		}
		case 7:{
			itemsMenu(id);
		}
		case 8:{
			items2Menu(id);
		}
		case 9:{
			moneyMenu(id);
		}
	}
}
 
public weaponMenu(id) {
	next_lvlhe = idhe[id] + 1;
	next_he = (idhe[id] + 1) * chance_he;
	cost_he = (idhe[id] + 1) * mm_cost_he;
	new a_he = idhe[id] * chance_he;
 
	static msg[2500];
 
	new len = formatex(msg, sizeof(msg) - 1,	"\r[\y%s\r]\w^nBronie^n^n", PREFIX);
 
	/* HE */
	if(idmm[id] >= cost_he && idhe[id] != max_he) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\r1.\w HE: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlhe, next_he, cost_he);
	}
	else if(idhe[id] == max_he) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d1. HE: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w%d%%\r)", idhe[id], a_he);
	}
	else {
		len += format(msg[len], sizeof(msg) - len - 1,	"\d1. HE: ");
		len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlhe, next_he, cost_he);
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* USP */
	len += format(msg[len], sizeof(msg) - len - 1,	"\r2.\w USP");
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	/* SCOUT */
	len += format(msg[len], sizeof(msg) - len - 1,	"\r3.\w Scout");
	len += format(msg[len], sizeof(msg) - len - 1,	"^n");
 
	len += format(msg[len], sizeof(msg) - len - 1,	"^n^n\r0.\w Wyjdz");
 
	show_menu(id,WEAPON_KEYS, msg, -1,"WeaponMenu");
 
	return PLUGIN_HANDLED;
}
 
public cbWeaponMenu(id, key) {
	switch(key) {
		case 0:{
			if(idmm[id] >= cost_he && idhe[id] != max_he) {
				item[id] = 10;
				questMenu(id);
			}
			else if(idhe[id] == max_he) {
				ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
				weaponMenu(id);
			}
			else {
				ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX);
				weaponMenu(id);
			}
		}
		case 1:{
			gun[id] = 3;
			gunMenu(id);
		}
		case 2:{
			gun[id] = 4;
			gunMenu(id);
		}
		case 9:{
			moneyMenu(id)
		}
	}
}
 
public gunMenu(id) {
	static msg[2500];
	if(gun[id] == 3) {
		next_lvlusp = idusp[id] + 1;
		next_usp = (idusp[id] + 1) * chance_usp;
		cost_usp= (idusp[id] + 1) * mm_cost_usp;
		next_am_usp = idamusp[id] + 1
		cost_am_usp = idamusp[id] * mm_cost_am_usp;
		new a_usp = idusp[id] * chance_usp;
 
		new len = formatex(msg, sizeof(msg) - 1,	"\r[\y%s\r]\w^nUSP^n^n", PREFIX);
 
		/* GUN */
		if(idmm[id] >= cost_usp && idusp[id] != max_usp) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\r1.\w USP: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlusp, next_usp, cost_usp);
		}
		else if(idusp[id] == max_usp) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d1. USP: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w%d%%\r)", idusp[id], a_usp);
		}
		else {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d1. USP: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlusp, next_usp, cost_usp);
		}
		len += format(msg[len], sizeof(msg) - len - 1,	"^n^n^n^n^n");
 
		/* BULLETS */
		if(idmm[id] >= cost_am_usp && idamusp[id] != max_am_usp&& idusp[id] != 0) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\r2.\w Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r)\y $%d", next_am_usp, cost_am_usp);
		}
		else if(idamusp[id] == max_am_usp) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r/\yMax\r)", idamusp[id]);
		}
		else if(idusp[id] == 0) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r)\y", idamusp[id]);
		}
		else {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r)\y $%d", next_am_usp, cost_am_usp);
		}
		len += format(msg[len], sizeof(msg) - len - 1,	"^n^n^n^n^n\r0.\w Wyjdz");
 
	}
	else if(gun[id] == 4) {
		next_lvlsco = idscout[id] + 1;
		next_sco  = (idscout[id] + 1) * chance_scout;
		cost_sco  = (idscout[id] + 1) * mm_cost_scout;
		next_am_sco  = idamsco[id] + 1
		cost_am_sco  = idamsco[id] * mm_cost_am_scout;
		new a_sco  = idscout[id] * chance_scout;
		new len = formatex(msg, sizeof(msg) - 1,	"\r[\y%s\r]\w^nScout^n^n", PREFIX);
 
		/* GUN */
 
		if(idmm[id] >= cost_sco && idscout[id] != max_scout) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\r1.\w Scout: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlsco, next_sco, cost_sco);
		}
		else if(idscout[id] == max_scout) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d1. Scout: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r/\yMax\r (\w%d%%\r)", idscout[id], a_sco);
		}
		else {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d1. Scout: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\wPoziom %d\r (\w%d%%\r)\y $%d", next_lvlsco, next_sco, cost_sco);
		}
		len += format(msg[len], sizeof(msg) - len - 1,	"^n^n^n^n^n");
 
		/* BULLETS */
		if(idmm[id] >= cost_am_sco && idamsco[id] != max_am_scout && idscout[id] != 0) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\r2.\w Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r)\y $%d", next_am_sco, cost_am_sco);
		}
		else if(idamsco[id] == max_am_scout) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r/\yMax\r)", idamsco[id]);
		}
		else if(idscout[id] == 0) {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r)\y", idamsco[id]);
		}
		else {
			len += format(msg[len], sizeof(msg) - len - 1,	"\d2. Naboje: ");
			len += format(msg[len], sizeof(msg) - len - 1,	"\r(\w%d\r)\y $%d", next_am_sco, cost_am_sco);
		}
		len += format(msg[len], sizeof(msg) - len - 1,	"^n^n^n^n^n\r0.\w Wyjdz");
 
	}
	show_menu(id,GUN_KEYS, msg, -1,"GunMenu");
 
	return PLUGIN_HANDLED;
 
}
public cbGunMenu(id, key) {
	switch(key) {
		case 0:{
			 if(gun[id] == 3) {
				if(idmm[id] >= cost_usp && idusp[id] != max_usp) {
					item[id] = 17;
					questMenu(id);
				}
				else if(idusp [id] == max_usp) {
					ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
					gunMenu(id);
				}
				else {
					ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX);
					gunMenu(id);
				}
			}
			else if(gun[id] == 4) {
				if(idmm[id] >= cost_sco && idscout[id] != max_scout) {
					item[id] = 19;
					questMenu(id);
				}
				else if(idscout [id] == max_scout) {
					ColorChat(id, "!g[%s]!y Nie mozesz juz ulepszac tej umiejetnosci, jest na maksymalnym poziomie.", PREFIX);
					gunMenu(id);
				}
				else {
					ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX);
					gunMenu(id);
				}
			}
		}
		case 1:{
		 if(gun[id] == 3) {
				if(idmm[id] >= cost_am_usp && idamusp[id] != max_am_usp && idusp[id] != 0) {
					item[id] = 18;
					questMenu(id);
				}
				else if(idamusp[id] == max_am_usp) {
					ColorChat(id, "!g[%s]!y Nie mozesz kupic wiecej naboi.", PREFIX);
					gunMenu(id);
				}
				else if(idusp[id] == 0) {
					ColorChat(id, "!g[%s]!y Najpierw kup umiejetnosc.", PREFIX);
					gunMenu(id);
				}
				else {
					ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX);
					gunMenu(id);
				}
			}
			else if(gun[id] == 4) {
				if(idmm[id] >= cost_am_sco && idamsco[id] != max_am_scout && idscout[id] != 0) {
					item[id] = 20;
					questMenu(id);
				}
				else if(idamsco[id] == max_am_scout) {
					ColorChat(id, "!g[%s]!y Nie mozesz kupic wiecej naboi.", PREFIX);
					gunMenu(id);
				}
				else if(idscout[id] == 0) {
					ColorChat(id, "!g[%s]!y Najpierw kup umiejetnosc.", PREFIX);
					gunMenu(id);
				}
				else {
					ColorChat(id, "!g[%s]!y Nie masz wystarczajacej ilosci kasy.", PREFIX);
					gunMenu(id);
				}
			}
		}
		case 9: {
			weaponMenu(id);
		}
	}
 
 
}
 
public questMenu(id) {
	static msg[2500];
 
	new len = formatex(msg, sizeof(msg) - 1,	"\r[\y%s\r]\w ^nJestes pewien, ze chcesz kupic ", PREFIX);
 
	if(item[id] == 1) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rZycie\w for\y $%d\w?", cost_hp);
	}
	else if(item[id] == 2) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rOdbicie\w for\y $%d\w?", cost_arm);
	}
	else if(item[id] == 3) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rOdrodzenie\w for\y $%d\w?", cost_res);
	}
	else if(item[id] == 4) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rTwarde buty\w for\y $%d\w?", cost_fd);
	}
	else if(item[id] == 5) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rSuper HE\w for\y $%d\w?", cost_sh);
	}
	else if(item[id] == 6) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rWiecej kasy\w for\y $%d\w?", cost_b);
	}
	else if(item[id] == 7) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rAnty-smoke\w for\y $%d\w?", cost_nos);
	}
	else if(item[id] == 8) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rCiche chodzenie\w for\y $%d\w?", cost_wa);
	}
	else if(item[id] == 9) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rAnty-flash\w for\y $%d\w?", cost_nof);
	}
	else if(item[id] == 10) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rHE\w for\y $%d\w?", cost_he);
	}
	else if(item[id] == 11) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rUSP\w for\y $%d\w?", cost_usp);
	}
	else if(item[id] == 12) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rNaboje do USP\w for\y $%d\w?", cost_am_usp);
	}
	else if(item[id] == 13) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rScout\w for\y $%d\w?", cost_sco);
	}
	else if(item[id] == 14) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rNaboje do scouta\w for\y $%d\w?", cost_am_sco);
	}
	else if(item[id] == 15) {
		len += format(msg[len], sizeof(msg) - len - 1,	"\rBrak spowolnienia po strzale\w for\y $%d\w?", cost_sho);
	}
	len += format(msg[len], sizeof(msg) - len - 1,	"^n^n\r1.\w Tak");
	len += format(msg[len], sizeof(msg) - len - 1,	"^n\r2.\w Nie");
 
	show_menu(id,QUEST_KEYS, msg, -1,"QuestMenu");
 
	return PLUGIN_HANDLED;
}
 
public cbQuestMenu(id, key) {
	switch(key) {
		case 0:{
			if(item[id] == 1) {
				idmm[id] -= cost_hp;
				idhealth[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 2) {
				idmm[id] -= cost_arm;
				idarmor[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 3) {
				idmm[id] -= cost_res;
				idrespawn[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 4) {
				idmm[id] -= cost_fd;
				idfalldmg[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 5) {
				idmm[id] -= cost_sh;
				idsuperhe[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 6) {
				idmm[id] -= cost_b;
				idbonus[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 7) {
				idmm[id] -= cost_nos;
				idnosmoke[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 8) {
				idmm[id] -= cost_wa;
				idwalk[id] ++;
				set_user_footsteps(id, 1);
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 9) {
				idmm[id] -= cost_nof;
				idnoflash[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 10) {
				idmm[id] -= cost_he;
				idhe[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			else if(item[id] == 11) {
				idmm[id] -= cost_usp;
				idusp[id] ++;
				if(idusp[id] == 1) {
					idamusp[id] ++;
				}
				ColorChat(id, "!g[%s]!y Kupowanie broni powiodlo sie.", PREFIX);
			}
			else if(item[id] == 12) {
				idmm[id] -= cost_am_usp;
				idamusp[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie naboi powiodlo sie.", PREFIX);
			}
			else if(item[id] == 13) {
				idmm[id] -= cost_sco;
				idscout[id] ++;
				if(idscout[id] == 1) {
					idamsco[id] ++;
				}
				ColorChat(id, "!g[%s]!y Kupowanie broni powiodlo sie", PREFIX);
			}
			else if(item[id] == 14) {
				idmm[id] -= cost_am_sco;
				idamsco[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie naboi powiodlo sie.", PREFIX);
			}
			else if(item[id] == 15) {
				idmm[id] -= cost_sho;
				idshock[id] ++;
				ColorChat(id, "!g[%s]!y Kupowanie umiejetnosci powiodlo sie.", PREFIX);
			}
			func_save(id);
 
			if(item[id] > 0 && item[id] < 8) {
				itemsMenu(id);
			}
			else if(item[id] > 7 && item[id] < 10 || item[id] == 21) {
				items2Menu(id);
			}
			else if(item[id] > 9 && item[id] < 13) {
				weaponMenu(id);
			}
			else {
				gunMenu(id);
			}
		}
		case 1:{
			if(item[id] > 0 && item[id] < 8) {
				itemsMenu(id);
			}
			else if(item[id] > 7 && item[id] < 10  || item[id] == 21) {
				items2Menu(id);
			}
			else if(item[id] > 9 && item[id] < 13) {
				weaponMenu(id);
			}
			else {
				gunMenu(id);
			}
		}
	}
}
 
 
public playerInfoMenu(id) {
	new msg1[128]
	format(msg1,127,"\r[\y%s\r]\w ^nInfo o graczu", PREFIX);
 
	new menu = menu_create(msg1, "cbPlayerInfoMenu");
 
	new name[32], authid[35];
	for(new idd = 1; idd <= get_maxplayers(); idd++)
	{
		if(!is_user_connected(idd)) 
			continue;
 
		get_user_name(idd, name, sizeof(name) - 1);
		get_user_authid(idd, authid, sizeof(authid) - 1);
 
		menu_additem(menu, name, authid);
		menu_setprop(menu,MPROP_EXITNAME,"\wBack to Main Menu");
	}
	menu_display(id, menu);
}
 
public cbPlayerInfoMenu(id, menu, item) {
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		moneyMenu(id);
		return;
	}
 
	static _access, authid[35], callback;
	menu_item_getinfo(menu, item, _access, authid, sizeof(authid) - 1, _, _, callback);
	menu_destroy(menu);
 
	new player = find_player("c", authid);
	if(!is_user_connected(player)) {
		moneyMenu(id);
		return;
	}
 
	new name[32];
	get_user_name(player, name, sizeof(name) - 1);
 
	static motd[2500];
	new len = copy(motd, sizeof(motd) - 1, "<html>");
 
	len += format(motd[len], sizeof(motd) - len - 1, "<style type=^"text/css^"> body { background-image:url(http://i47.tinypic.com/xf50k5.png/); color:#FF8F00 } </style>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b><font size=^"4^">Nick:</font></b> %s<br><br>", name);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b><font size=^"4^">Kasa:</font></b> %i<br><br>", idmm[player]);
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Zycie:</b> %d/%d (%d/%d HP)<br>",idhealth[player], max_health, idhealth[player] * number_health, max_health * number_health);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Odbicie:</b> %d/%d (%d%%/%d%%)<br>",idarmor[player], max_armor, idarmor[player] * chance_armor, max_armor * chance_armor);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Twarde buty:</b> %d/%d (%d%%/%d%%)<br>",idfalldmg[player], max_falldmg, idfalldmg[player] * percent_falldmg, max_falldmg * percent_falldmg);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Odrodzenie:</b> %d/%d (T: %d%%/%d%% CT: %d%%/%d%%)<br>",idrespawn[player], max_respawn, idrespawn[player] * chance_respawnt,max_respawn *  chance_respawnt,idrespawn[player] * chance_respawnct, max_respawn *  chance_respawnct);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Super HE:</b> %d/%d (From 1 to %d/%d)<br>",idsuperhe[player], max_superhe, idsuperhe[player] * distance_superhe, max_superhe * distance_superhe);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Wiecej kasy:</b> %d/%d ($%d/$%d)<br>",idbonus[player], max_bonus, idbonus[player] * number_bonus, max_bonus * number_bonus);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Anty-smoke:</b> %d/%d (%d%%/%d%%)<br>",idnosmoke[player], max_nosmoke, idnosmoke[player] * percent_nosmoke, max_nosmoke * percent_nosmoke);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Ciche chodzenie:</b> %d/%d<br>",idwalk[player], max_walk);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Anty-flash:</b> %d/%d<br>",idnoflash[player], max_noflash);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>Brak spowolnienia po strzale:</b> %d/%d<br>",idshock[player], max_shock);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1, 	"<b>HE:</b> %d/%d (%d%%/%d%%)<br>",idhe[player], max_he, idhe[player] * chance_he, max_he * chance_he);
	len += format(motd[len], sizeof(motd) - len - 1, 	"<br>");
 
	len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
	len += format(motd[len], sizeof(motd) - len - 1, 	"</html>");
 
	show_motd(id, motd, "MoneyMod Player Info");
 
	playerInfoMenu(id);
}
 
public motd_help(id) {
 
	static motd[2500];
	new len = formatex(motd, sizeof(motd) - 1,	"<body style=^"background-image:url(http://i47.tinypic.com/xf50k5.png/); color:#FF8F00^">");
 
	len += format(motd[len], sizeof(motd) - len - 1,	"<p align=^"center^">");
	len += format(motd[len], sizeof(motd) - len - 1,	"Money Mod jest tylko dodatkiem.<br>");
	len += format(motd[len], sizeof(motd) - len - 1,	"Grajac zdobywasz pieniadze.<br>");
	len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
	len += format(motd[len], sizeof(motd) - len - 1,	"<table border=0>");
	len += format(motd[len], sizeof(motd) - len - 1,	"<tr><th>Akcja</th><th>Kasa</th></tr>");
	len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Zabicie</td><td>+%i</td></tr>", mm_kill);
	len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Przezycie rundy jako terrorysta</td><td>+%i</td></tr>", mm_survive);
	len += format(motd[len], sizeof(motd) - len - 1,	"</table>");
	len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
	len += format(motd[len], sizeof(motd) - len - 1,	"Za kase mozesz kupic dodatki.<br>");
	len += format(motd[len], sizeof(motd) - len - 1,	"Aby je zakupic, wpisz /mm.");
	len += format(motd[len], sizeof(motd) - len - 1,	"</p>");
	len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
 
	show_motd(id, motd, "MoneyMod Help");
}
public forward_touch(toucher, touched) {
 
	if(!is_user_alive(toucher) || !is_user_alive(touched)) 
		return;
 
	if(!get_cvar_num("amx_headsplash")) 
		return;
 
	if(falling_speed[touched]) 
		return;
 
	if(get_user_team(toucher) == get_user_team(touched) && !get_cvar_num("mp_friendlyfire")) 
		return;
 
	new touched_origin[3], toucher_origin[3];
	get_user_origin(touched, touched_origin); 
	get_user_origin(toucher, toucher_origin);
 
	new Float:toucher_minsize[3], Float:touched_minsize[3];
	pev(toucher,pev_mins,toucher_minsize);
	pev(touched,pev_mins,touched_minsize); 
 
	if(touched_minsize[2] != -18.0) 
	{
		if(!(toucher_origin[2] == touched_origin[2]+72 && toucher_minsize[2] != -18.0) && !(toucher_origin[2] == touched_origin[2]+54 && toucher_minsize[2] == -18.0))
		{
			return;
		}
	}
	else 
	{
		if(!(toucher_origin[2] == touched_origin[2]+68 && toucher_minsize[2] != -18.0) && !(toucher_origin[2] == touched_origin[2]+50 && toucher_minsize[2] == -18.0))
		{
			return;
		}
	}
 
	if(falling_speed[toucher] >= MINIMUM_FALL_SPEED)
	{
		new Float:damage = ((falling_speed[toucher] - MINIMUM_FALL_SPEED + 30) * (falling_speed[toucher] - MINIMUM_FALL_SPEED + 30)) / 1300;
		if(damage > MAXIMUM_DAMAGE_FROM_JUMP)
			damage = MAXIMUM_DAMAGE_FROM_JUMP;
		func_dmgplayer(touched, toucher, damage);
		damage_after[toucher][touched] = 0.0; 
	}
	if(is_user_alive(touched) && damage_after[toucher][touched] <= get_gametime())
	{
		damage_after[toucher][touched] = get_gametime() + DELAY;
		func_dmgplayer(touched, toucher, DAMAGE);
	}
 
}
 
public func_dmgplayer(pwned, pwnzor, Float:damage) {
	if(idarmor[pwned] > 0) {
		new chance_num = random_num(1, 100);
		new chance_player= idarmor[pwned] * chance_armor;
 
		if(chance_num <= chance_player && 0 < pwnzor <= get_maxplayers()) {
			new name[64];
			get_user_name(pwnzor, name, 63);
 
			damage = 0.0;
			SetHamParamFloat(3, damage);
		}
	}
 
	new health = get_user_health(pwned);
	if(get_user_team(pwned) == get_user_team(pwnzor))
		damage /= 1.4;
 
	new CsArmorType:armortype;
	cs_get_user_armor(pwned, armortype);
 
	if(armortype == CS_ARMOR_VESTHELM)
		damage *= 0.7;
 
	if(health >  damage)
	{
		new pwned_origin[3];
		get_user_origin(pwned, pwned_origin);
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
		write_byte(TE_BLOODSPRITE);
		write_coord(pwned_origin[0]+8);
		write_coord(pwned_origin[1]);
		write_coord(pwned_origin[2]+26);
		write_short(sprite_bloodspray);
		write_short(sprite_blood);
		write_byte(248);
		write_byte(4);
		message_end();
 
		new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "trigger_hurt"));
		if(!ent)
			return;
		new value[16];
		float_to_str(damage * 2, value, sizeof value - 1);
		set_kvd(0, KV_ClassName, "trigger_hurt");
		set_kvd(0, KV_KeyName, "dmg");
		set_kvd(0, KV_Value, value);
		set_kvd(0, KV_fHandled, 0);
		dllfunc(DLLFunc_KeyValue, ent, 0);
		num_to_str(DMG_GENERIC, value, sizeof value - 1);
		set_kvd(0, KV_ClassName, "trigger_hurt");
		set_kvd(0, KV_KeyName, "damagetype");
		set_kvd(0, KV_Value, value);
		set_kvd(0, KV_fHandled, 0);
		dllfunc(DLLFunc_KeyValue, ent, 0);
		set_kvd(0, KV_ClassName, "trigger_hurt");
		set_kvd(0, KV_KeyName, "origin");
		set_kvd(0, KV_Value, "8192 8192 8192");
		set_kvd(0, KV_fHandled, 0);
		dllfunc(DLLFunc_KeyValue, ent, 0);
		dllfunc(DLLFunc_Spawn, ent);
		set_pev(ent, pev_classname, "head_splash");
		dllfunc(DLLFunc_Touch, ent, pwned);
		engfunc(EngFunc_RemoveEntity, ent);
	}
	else
	{
		new pwned_origin[3];
		get_user_origin(pwned, pwned_origin);
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
		write_byte(TE_BLOODSPRITE);
		write_coord(pwned_origin[0]+8);
		write_coord(pwned_origin[1]);
		write_coord(pwned_origin[2]+26);
		write_short(sprite_bloodspray);
		write_short(sprite_blood);
		write_byte(248);
		write_byte(12);
		message_end();
 
		set_pev(pwned, pev_frags, float(get_user_frags(pwned) + 1));
		user_silentkill(pwned);
		make_deathmsg(pwnzor, pwned, 1, "his/her feet :)");
		if(get_user_team(pwnzor) != get_user_team(pwned)) {
			set_pev(pwnzor, pev_frags, float(get_user_frags(pwnzor) + 1));
			func_mm(pwnzor, mm_kill);
		}
		else
		{
			set_pev(pwnzor, pev_frags, float(get_user_frags(pwnzor) - 1));
		}
 
		message_begin(MSG_ALL, get_user_msgid("ScoreInfo"));
		write_byte(pwnzor);
		write_short(get_user_frags(pwnzor));
		write_short(cs_get_user_deaths(pwnzor));
		write_short(0);
		write_short(get_user_team(pwnzor));
		message_end();
 
		message_begin(MSG_ALL, get_user_msgid("ScoreInfo"));
		write_byte(pwned);
		write_short(get_user_frags(pwned));
		write_short(cs_get_user_deaths(pwned));
		write_short(0);
		write_short(get_user_team(pwned));
		message_end();
		set_pev(pwned, pev_frags, float(get_user_frags(pwned) - 1));
	}
 
}  
 
/* ===========================STOCKS=========================== */
 
stock get_velocity_from_origin(ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3]) {
	new Float:fEntOrigin[3];
	entity_get_vector(ent, EV_VEC_origin, fEntOrigin);
 
	// Velocity = Distance / Time
 
	new Float:fDistance[3];
	fDistance[0] = fEntOrigin[0] - fOrigin[0];
	fDistance[1] = fEntOrigin[1] - fOrigin[1];
	fDistance[2] = fEntOrigin[2] - fOrigin[2];
 
	new Float:fTime = (vector_distance( fEntOrigin,fOrigin ) / fSpeed);
 
	fVelocity[0] = fDistance[0] / fTime;
	fVelocity[1] = fDistance[1] / fTime;
	fVelocity[2] = fDistance[2] / fTime;
 
	return (fVelocity[0] && fVelocity[1] && fVelocity[2]);
}
 
 
stock set_velocity_from_origin(ent, Float:fOrigin[3], Float:fSpeed) {
	new Float:fVelocity[3];
	get_velocity_from_origin(ent, fOrigin, fSpeed, fVelocity);
 
	entity_set_vector(ent, EV_VEC_velocity, fVelocity);
 
	return (1);
} 
 
stock ColorChat(player, const textt[], any:...) {
 
	static szMessage[192];
	vformat(szMessage, 191, textt, 3);
 
	replace_all(szMessage, 191, "!y", "^x01");
	replace_all(szMessage, 191, "!t", "^x03");
	replace_all(szMessage, 191, "!g", "^x04");
 
	if(player==0) {
		new plist[32], playernum, player;
		get_players(plist, playernum);
		for(new i = 0; i < playernum; i++) {
			player = plist[i];
			message_begin(MSG_ONE, msgsaytext, {0,0,0}, player);
			write_byte(player);
			write_string(szMessage);
			message_end();
		}
	}
	else {
		message_begin(MSG_ONE, msgsaytext, {0,0,0}, player);
		write_byte(player);
		write_string(szMessage);
		message_end();
	}
}