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.
2320.
2321.
2322.
2323.
2324.
2325.
2326.
2327.
2328.
2329.
2330.
2331.
2332.
2333.
2334.
2335.
2336.
2337.
2338.
2339.
2340.
2341.
2342.
2343.
2344.
2345.
2346.
2347.
2348.
2349.
2350.
2351.
2352.
2353.
2354.
2355.
2356.
2357.
2358.
2359.
2360.
2361.
2362.
2363.
2364.
2365.
2366.
2367.
2368.
2369.
2370.
2371.
2372.
2373.
2374.
2375.
2376.
2377.
2378.
2379.
2380.
2381.
2382.
2383.
2384.
2385.
2386.
2387.
2388.
2389.
2390.
2391.
2392.
2393.
2394.
2395.
2396.
2397.
2398.
2399.
2400.
2401.
2402.
2403.
2404.
2405.
2406.
2407.
2408.
2409.
2410.
2411.
2412.
2413.
2414.
2415.
2416.
2417.
2418.
2419.
2420.
2421.
2422.
2423.
2424.
2425.
2426.
2427.
2428.
2429.
2430.
2431.
2432.
2433.
2434.
2435.
2436.
2437.
2438.
2439.
2440.
2441.
2442.
2443.
2444.
2445.
2446.
2447.
2448.
2449.
2450.
2451.
2452.
2453.
2454.
2455.
2456.
2457.
2458.
2459.
2460.
2461.
2462.
2463.
2464.
2465.
2466.
2467.
2468.
2469.
2470.
2471.
2472.
2473.
2474.
2475.
2476.
2477.
2478.
2479.
2480.
2481.
2482.
2483.
2484.
2485.
2486.
2487.
2488.
2489.
2490.
2491.
2492.
2493.
2494.
2495.
2496.
2497.
2498.
2499.
2500.
2501.
2502.
2503.
2504.
2505.
2506.
2507.
2508.
2509.
2510.
2511.
2512.
2513.
2514.
2515.
2516.
2517.
2518.
2519.
2520.
2521.
2522.
2523.
2524.
2525.
2526.
2527.
2528.
2529.
2530.
2531.
2532.
2533.
2534.
2535.
2536.
2537.
2538.
2539.
2540.
2541.
2542.
2543.
2544.
2545.
2546.
2547.
2548.
2549.
2550.
2551.
2552.
2553.
2554.
2555.
2556.
2557.
2558.
2559.
2560.
2561.
2562.
2563.
2564.
2565.
2566.
2567.
2568.
2569.
2570.
2571.
2572.
2573.
2574.
2575.
2576.
2577.
2578.
2579.
2580.
2581.
2582.
2583.
2584.
2585.
2586.
2587.
2588.
2589.
2590.
2591.
2592.
2593.
2594.
2595.
2596.
2597.
2598.
2599.
2600.
2601.
2602.
2603.
2604.
2605.
2606.
2607.
2608.
2609.
2610.
2611.
2612.
2613.
2614.
2615.
2616.
2617.
2618.
2619.
2620.
2621.
2622.
2623.
2624.
2625.
2626.
2627.
2628.
2629.
2630.
2631.
2632.
2633.
2634.
2635.
2636.
2637.
2638.
2639.
2640.
2641.
2642.
2643.
2644.
2645.
2646.
2647.
2648.
2649.
2650.
2651.
2652.
2653.
2654.
2655.
2656.
2657.
2658.
2659.
2660.
2661.
2662.
2663.
2664.
2665.
2666.
2667.
2668.
2669.
2670.
2671.
2672.
2673.
2674.
2675.
2676.
2677.
2678.
2679.
2680.
2681.
2682.
2683.
2684.
2685.
2686.
2687.
2688.
2689.
2690.
2691.
2692.
2693.
2694.
2695.
2696.
2697.
2698.
2699.
2700.
2701.
2702.
2703.
2704.
2705.
2706.
2707.
2708.
2709.
2710.
2711.
2712.
2713.
2714.
2715.
2716.
2717.
2718.
2719.
2720.
2721.
2722.
2723.
2724.
2725.
2726.
2727.
2728.
2729.
2730.
2731.
2732.
2733.
2734.
2735.
2736.
2737.
2738.
2739.
2740.
2741.
2742.
2743.
2744.
2745.
2746.
2747.
2748.
2749.
2750.
2751.
2752.
2753.
2754.
2755.
2756.
2757.
2758.
2759.
2760.
2761.
2762.
2763.
2764.
2765.
2766.
2767.
2768.
2769.
2770.
2771.
2772.
2773.
2774.
2775.
2776.
2777.
2778.
2779.
2780.
2781.
2782.
2783.
2784.
2785.
2786.
2787.
2788.
2789.
2790.
2791.
2792.
2793.
2794.
2795.
2796.
2797.
2798.
2799.
2800.
2801.
2802.
2803.
2804.
2805.
2806.
2807.
2808.
2809.
2810.
2811.
2812.
2813.
2814.
2815.
2816.
2817.
2818.
2819.
2820.
2821.
2822.
2823.
2824.
2825.
2826.
2827.
2828.
2829.
2830.
2831.
2832.
2833.
2834.
2835.
2836.
2837.
2838.
2839.
2840.
2841.
2842.
2843.
2844.
2845.
2846.
2847.
2848.
2849.
2850.
2851.
2852.
2853.
2854.
2855.
2856.
2857.
2858.
2859.
2860.
2861.
2862.
2863.
2864.
2865.
2866.
2867.
2868.
2869.
2870.
2871.
2872.
2873.
2874.
2875.
2876.
2877.
2878.
2879.
2880.
2881.
2882.
2883.
2884.
2885.
2886.
2887.
2888.
2889.
2890.
2891.
2892.
2893.
2894.
2895.
2896.
2897.
2898.
2899.
2900.
2901.
2902.
2903.
2904.
2905.
2906.
2907.
2908.
2909.
2910.
2911.
2912.
2913.
2914.
2915.
2916.
2917.
2918.
2919.
2920.
2921.
2922.
2923.
2924.
2925.
2926.
2927.
2928.
2929.
2930.
2931.
2932.
2933.
2934.
2935.
2936.
2937.
2938.
2939.
2940.
2941.
2942.
2943.
2944.
2945.
2946.
2947.
2948.
2949.
2950.
2951.
2952.
2953.
2954.
2955.
2956.
2957.
2958.
2959.
2960.
2961.
2962.
2963.
2964.
2965.
2966.
2967.
2968.
2969.
2970.
2971.
2972.
2973.
2974.
2975.
2976.
2977.
2978.
2979.
2980.
2981.
2982.
2983.
2984.
2985.
2986.
2987.
2988.
2989.
2990.
2991.
2992.
2993.
2994.
2995.
2996.
2997.
2998.
2999.
3000.
3001.
3002.
3003.
3004.
3005.
3006.
3007.
3008.
3009.
3010.
3011.
3012.
3013.
3014.
3015.
3016.
3017.
3018.
3019.
3020.
3021.
3022.
3023.
3024.
3025.
3026.
3027.
3028.
3029.
3030.
3031.
3032.
3033.
3034.
3035.
3036.
3037.
3038.
3039.
3040.
3041.
3042.
3043.
3044.
3045.
3046.
3047.
3048.
3049.
3050.
3051.
3052.
3053.
3054.
3055.
3056.
3057.
3058.
3059.
3060.
3061.
3062.
3063.
3064.
3065.
3066.
3067.
3068.
3069.
3070.
3071.
3072.
3073.
3074.
3075.
3076.
3077.
3078.
3079.
3080.
3081.
3082.
3083.
3084.
3085.
3086.
3087.
3088.
3089.
3090.
3091.
3092.
3093.
3094.
3095.
3096.
3097.
3098.
3099.
3100.
3101.
3102.
3103.
3104.
3105.
3106.
3107.
3108.
3109.
3110.
3111.
3112.
3113.
3114.
3115.
3116.
3117.
3118.
3119.
3120.
3121.
3122.
3123.
3124.
3125.
3126.
3127.
3128.
3129.
3130.
3131.
3132.
3133.
3134.
3135.
3136.
3137.
3138.
3139.
3140.
3141.
3142.
3143.
3144.
3145.
3146.
3147.
3148.
3149.
3150.
3151.
3152.
3153.
3154.
3155.
3156.
3157.
3158.
3159.
3160.
3161.
3162.
3163.
3164.
3165.
3166.
3167.
3168.
3169.
3170.
3171.
3172.
3173.
3174.
3175.
3176.
3177.
3178.
3179.
3180.
3181.
3182.
3183.
3184.
3185.
3186.
3187.
3188.
3189.
3190.
3191.
3192.
3193.
3194.
3195.
3196.
3197.
3198.
3199.
3200.
3201.
3202.
3203.
3204.
3205.
3206.
3207.
3208.
3209.
3210.
3211.
3212.
3213.
3214.
3215.
3216.
3217.
3218.
3219.
3220.
3221.
3222.
3223.
3224.
3225.
3226.
3227.
3228.
3229.
3230.
3231.
3232.
3233.
3234.
3235.
3236.
3237.
3238.
3239.
3240.
3241.
3242.
3243.
3244.
3245.
3246.
3247.
3248.
3249.
3250.
3251.
3252.
3253.
3254.
3255.
3256.
3257.
3258.
3259.
3260.
3261.
3262.
3263.
3264.
3265.
3266.
3267.
3268.
3269.
3270.
3271.
3272.
3273.
3274.
3275.
3276.
3277.
3278.
3279.
3280.
3281.
3282.
3283.
3284.
3285.
3286.
3287.
3288.
3289.
3290.
3291.
3292.
3293.
3294.
3295.
3296.
3297.
3298.
3299.
3300.
3301.
3302.
3303.
3304.
3305.
3306.
3307.
3308.
3309.
3310.
3311.
3312.
3313.
3314.
3315.
3316.
3317.
3318.
3319.
3320.
3321.
3322.
3323.
3324.
3325.
3326.
3327.
3328.
3329.
3330.
3331.
3332.
3333.
3334.
3335.
3336.
3337.
3338.
3339.
3340.
3341.
3342.
3343.
3344.
3345.
3346.
3347.
3348.
3349.
3350.
3351.
3352.
3353.
3354.
3355.
3356.
3357.
3358.
3359.
3360.
3361.
3362.
3363.
3364.
3365.
3366.
3367.
3368.
3369.
3370.
3371.
3372.
3373.
3374.
3375.
3376.
3377.
3378.
3379.
3380.
3381.
3382.
3383.
3384.
3385.
3386.
3387.
3388.
3389.
3390.
3391.
3392.
3393.
3394.
3395.
3396.
3397.
3398.
3399.
3400.
3401.
3402.
3403.
3404.
3405.
3406.
3407.
3408.
3409.
3410.
3411.
3412.
3413.
3414.
3415.
3416.
3417.
3418.
3419.
3420.
3421.
3422.
3423.
3424.
3425.
3426.
3427.
3428.
3429.
3430.
3431.
3432.
3433.
3434.
3435.
3436.
3437.
3438.
3439.
3440.
3441.
3442.
3443.
3444.
3445.
3446.
3447.
3448.
3449.
3450.
3451.
3452.
3453.
3454.
3455.
3456.
3457.
3458.
3459.
3460.
3461.
3462.
3463.
3464.
3465.
3466.
3467.
3468.
3469.
3470.
3471.
3472.
3473.
3474.
3475.
3476.
3477.
3478.
3479.
3480.
3481.
3482.
3483.
3484.
3485.
3486.
3487.
3488.
3489.
3490.
3491.
3492.
3493.
3494.
3495.
3496.
3497.
3498.
3499.
3500.
3501.
3502.
3503.
3504.
3505.
3506.
3507.
3508.
3509.
3510.
3511.
3512.
3513.
3514.
3515.
3516.
3517.
3518.
3519.
3520.
3521.
3522.
3523.
3524.
3525.
3526.
3527.
3528.
3529.
3530.
3531.
3532.
3533.
3534.
3535.
3536.
3537.
3538.
3539.
3540.
3541.
3542.
3543.
3544.
3545.
3546.
3547.
3548.
3549.
3550.
3551.
3552.
3553.
3554.
3555.
3556.
3557.
3558.
3559.
3560.
3561.
3562.
3563.
3564.
3565.
3566.
3567.
3568.
3569.
3570.
3571.
3572.
3573.
3574.
3575.
3576.
3577.
3578.
3579.
3580.
3581.
3582.
3583.
3584.
3585.
3586.
3587.
3588.
3589.
3590.
3591.
3592.
3593.
3594.
3595.
3596.
3597.
3598.
3599.
3600.
3601.
3602.
3603.
3604.
3605.
3606.
3607.
3608.
3609.
3610.
3611.
3612.
3613.
3614.
3615.
3616.
3617.
3618.
3619.
3620.
3621.
3622.
3623.
3624.
3625.
3626.
3627.
3628.
3629.
3630.
3631.
3632.
3633.
3634.
3635.
3636.
3637.
3638.
3639.
3640.
3641.
3642.
3643.
3644.
3645.
3646.
3647.
3648.
3649.
3650.
3651.
3652.
3653.
3654.
3655.
3656.
3657.
3658.
3659.
3660.
3661.
3662.
3663.
3664.
3665.
3666.
3667.
3668.
3669.
3670.
3671.
3672.
3673.
3674.
3675.
3676.
3677.
3678.
3679.
3680.
3681.
3682.
3683.
3684.
3685.
3686.
3687.
3688.
3689.
3690.
3691.
3692.
3693.
3694.
3695.
3696.
3697.
3698.
3699.
3700.
3701.
3702.
3703.
3704.
3705.
3706.
3707.
3708.
3709.
3710.
3711.
3712.
3713.
3714.
3715.
3716.
3717.
3718.
3719.
3720.
3721.
3722.
3723.
3724.
3725.
3726.
3727.
3728.
3729.
3730.
3731.
3732.
3733.
3734.
3735.
3736.
3737.
3738.
3739.
3740.
3741.
3742.
3743.
3744.
3745.
3746.
3747.
3748.
3749.
3750.
3751.
3752.
3753.
3754.
3755.
3756.
3757.
3758.
3759.
3760.
3761.
3762.
3763.
3764.
3765.
3766.
3767.
3768.
3769.
3770.
3771.
3772.
3773.
3774.
3775.
3776.
3777.
3778.
3779.
3780.
3781.
3782.
3783.
3784.
3785.
3786.
3787.
3788.
3789.
3790.
3791.
3792.
3793.
3794.
3795.
3796.
3797.
3798.
3799.
3800.
3801.
3802.
3803.
3804.
3805.
3806.
3807.
3808.
3809.
3810.
3811.
3812.
3813.
3814.
3815.
3816.
3817.
3818.
3819.
3820.
3821.
3822.
3823.
3824.
3825.
3826.
3827.
3828.
3829.
3830.
3831.
3832.
3833.
3834.
3835.
3836.
3837.
3838.
3839.
3840.
3841.
3842.
3843.
3844.
3845.
3846.
3847.
3848.
3849.
3850.
3851.
3852.
3853.
3854.
3855.
3856.
3857.
3858.
3859.
3860.
3861.
3862.
3863.
3864.
3865.
3866.
3867.
3868.
3869.
3870.
3871.
3872.
3873.
3874.
3875.
3876.
3877.
3878.
3879.
3880.
3881.
3882.
3883.
3884.
3885.
3886.
3887.
3888.
3889.
3890.
3891.
3892.
3893.
3894.
3895.
3896.
3897.
3898.
3899.
3900.
3901.
3902.
3903.
3904.
3905.
3906.
3907.
3908.
3909.
3910.
3911.
3912.
3913.
3914.
3915.
3916.
3917.
3918.
3919.
3920.
3921.
3922.
3923.
3924.
3925.
3926.
3927.
3928.
3929.
3930.
3931.
3932.
3933.
3934.
3935.
3936.
3937.
3938.
3939.
3940.
3941.
3942.
3943.
3944.
3945.
3946.
3947.
3948.
3949.
3950.
3951.
3952.
3953.
3954.
3955.
3956.
3957.
3958.
3959.
3960.
3961.
3962.
3963.
3964.
3965.
3966.
3967.
3968.
3969.
3970.
3971.
3972.
3973.
3974.
3975.
3976.
3977.
3978.
3979.
3980.
3981.
3982.
3983.
3984.
3985.
3986.
3987.
3988.
3989.
3990.
3991.
3992.
3993.
3994.
3995.
3996.
3997.
3998.
3999.
4000.
4001.
4002.
4003.
4004.
4005.
4006.
4007.
4008.
4009.
4010.
4011.
4012.
4013.
4014.
4015.
4016.
4017.
4018.
4019.
4020.
4021.
4022.
4023.
4024.
4025.
4026.
4027.
4028.
4029.
4030.
4031.
4032.
4033.
4034.
4035.
4036.
4037.
4038.
4039.
4040.
4041.
4042.
4043.
4044.
4045.
4046.
4047.
4048.
4049.
4050.
4051.
4052.
4053.
4054.
4055.
4056.
4057.
4058.
4059.
4060.
4061.
4062.
4063.
4064.
4065.
4066.
4067.
4068.
4069.
4070.
4071.
4072.
4073.
4074.
4075.
4076.
4077.
4078.
4079.
4080.
4081.
4082.
4083.
4084.
4085.
4086.
4087.
4088.
4089.
4090.
4091.
4092.
4093.
4094.
4095.
4096.
4097.
4098.
4099.
4100.
4101.
4102.
4103.
4104.
4105.
4106.
4107.
4108.
4109.
4110.
4111.
4112.
4113.
4114.
4115.
4116.
4117.
4118.
4119.
4120.
4121.
4122.
4123.
4124.
4125.
4126.
4127.
4128.
4129.
4130.
4131.
4132.
4133.
4134.
4135.
4136.
4137.
4138.
4139.
4140.
4141.
4142.
4143.
4144.
4145.
4146.
4147.
4148.
4149.
4150.
4151.
4152.
4153.
4154.
4155.
4156.
4157.
4158.
4159.
4160.
4161.
4162.
4163.
4164.
4165.
4166.
4167.
4168.
4169.
4170.
4171.
4172.
4173.
4174.
4175.
4176.
4177.
4178.
4179.
4180.
4181.
4182.
4183.
4184.
4185.
4186.
4187.
4188.
4189.
4190.
4191.
4192.
4193.
4194.
4195.
4196.
4197.
4198.
4199.
4200.
4201.
4202.
4203.
4204.
4205.
4206.
4207.
4208.
4209.
4210.
4211.
4212.
4213.
4214.
4215.
4216.
4217.
4218.
4219.
4220.
4221.
4222.
4223.
4224.
4225.
4226.
4227.
4228.
4229.
4230.
4231.
4232.
4233.
4234.
4235.
4236.
4237.
4238.
4239.
4240.
4241.
4242.
4243.
4244.
4245.
4246.
4247.
4248.
4249.
4250.
4251.
4252.
4253.
4254.
4255.
4256.
4257.
4258.
4259.
4260.
4261.
4262.
4263.
4264.
4265.
4266.
4267.
4268.
4269.
4270.
4271.
4272.
4273.
4274.
4275.
4276.
4277.
4278.
4279.
4280.
4281.
4282.
4283.
4284.
4285.
4286.
4287.
4288.
4289.
4290.
4291.
4292.
4293.
4294.
4295.
4296.
4297.
4298.
4299.
4300.
4301.
4302.
4303.
4304.
4305.
4306.
4307.
4308.
4309.
4310.
4311.
4312.
4313.
4314.
4315.
4316.
4317.
4318.
4319.
4320.
4321.
4322.
4323.
4324.
4325.
4326.
4327.
4328.
4329.
4330.
4331.
4332.
4333.
4334.
4335.
4336.
4337.
4338.
4339.
4340.
4341.
4342.
4343.
4344.
4345.
4346.
4347.
4348.
4349.
4350.
4351.
4352.
4353.
4354.
4355.
4356.
4357.
4358.
4359.
4360.
4361.
4362.
4363.
4364.
4365.
4366.
4367.
4368.
4369.
4370.
4371.
4372.
4373.
4374.
4375.
4376.
4377.
4378.
4379.
4380.
4381.
4382.
4383.
4384.
4385.
4386.
4387.
4388.
4389.
4390.
4391.
4392.
4393.
4394.
4395.
4396.
4397.
4398.
4399.
4400.
4401.
4402.
4403.
4404.
4405.
4406.
4407.
4408.
4409.
4410.
4411.
4412.
4413.
4414.
4415.
4416.
4417.
4418.
4419.
4420.
4421.
4422.
4423.
4424.
4425.
4426.
4427.
4428.
4429.
4430.
4431.
4432.
4433.
4434.
4435.
4436.
4437.
4438.
4439.
4440.
4441.
4442.
4443.
4444.
4445.
4446.
4447.
4448.
4449.
4450.
4451.
4452.
4453.
4454.
4455.
4456.
4457.
4458.
4459.
4460.
4461.
4462.
4463.
4464.
4465.
4466.
4467.
4468.
4469.
4470.
4471.
4472.
4473.
4474.
4475.
4476.
4477.
4478.
4479.
4480.
4481.
4482.
4483.
4484.
4485.
4486.
4487.
4488.
4489.
4490.
4491.
4492.
4493.
4494.
4495.
4496.
4497.
4498.
4499.
4500.
4501.
4502.
4503.
4504.
4505.
4506.
4507.
4508.
4509.
4510.
4511.
4512.
4513.
4514.
4515.
4516.
4517.
4518.
4519.
4520.
4521.
4522.
4523.
4524.
4525.
4526.
4527.
4528.
4529.
4530.
4531.
4532.
4533.
4534.
4535.
4536.
4537.
4538.
4539.
4540.
4541.
4542.
4543.
4544.
4545.
4546.
4547.
4548.
4549.
4550.
4551.
4552.
4553.
4554.
4555.
4556.
4557.
4558.
4559.
4560.
4561.
4562.
4563.
4564.
4565.
4566.
4567.
4568.
4569.
4570.
4571.
4572.
4573.
4574.
4575.
4576.
4577.
4578.
4579.
4580.
4581.
4582.
4583.
4584.
4585.
4586.
4587.
4588.
4589.
4590.
4591.
4592.
4593.
4594.
4595.
4596.
4597.
4598.
4599.
4600.
4601.
4602.
4603.
4604.
4605.
4606.
4607.
4608.
4609.
4610.
4611.
4612.
4613.
4614.
4615.
4616.
4617.
4618.
4619.
4620.
4621.
4622.
4623.
4624.
4625.
4626.
4627.
4628.
4629.
4630.
4631.
4632.
4633.
4634.
4635.
4636.
4637.
4638.
4639.
4640.
4641.
4642.
4643.
4644.
4645.
4646.
4647.
4648.
4649.
4650.
4651.
4652.
4653.
4654.
4655.
4656.
4657.
4658.
4659.
4660.
4661.
4662.
4663.
4664.
4665.
4666.
4667.
4668.
4669.
4670.
4671.
4672.
4673.
4674.
4675.
4676.
4677.
4678.
4679.
4680.
4681.
4682.
4683.
4684.
4685.
4686.
4687.
4688.
4689.
4690.
4691.
4692.
4693.
4694.
4695.
4696.
4697.
4698.
4699.
4700.
4701.
4702.
4703.
4704.
4705.
4706.
4707.
4708.
4709.
4710.
4711.
4712.
4713.
4714.
4715.
4716.
4717.
4718.
4719.
4720.
4721.
4722.
4723.
4724.
4725.
4726.
4727.
4728.
4729.
4730.
4731.
4732.
4733.
4734.
4735.
4736.
4737.
4738.
4739.
4740.
4741.
4742.
4743.
4744.
4745.
4746.
4747.
4748.
4749.
4750.
4751.
4752.
4753.
4754.
4755.
4756.
4757.
4758.
4759.
4760.
4761.
4762.
4763.
4764.
4765.
4766.
4767.
4768.
4769.
4770.
4771.
4772.
4773.
4774.
4775.
4776.
4777.
4778.
4779.
4780.
4781.
4782.
4783.
4784.
4785.
4786.
4787.
4788.
4789.
4790.
4791.
4792.
4793.
4794.
4795.
4796.
4797.
4798.
4799.
4800.
4801.
4802.
4803.
4804.
4805.
4806.
4807.
4808.
4809.
4810.
4811.
4812.
4813.
4814.
4815.
4816.
4817.
4818.
4819.
4820.
4821.
4822.
4823.
4824.
4825.
4826.
4827.
4828.
4829.
4830.
4831.
4832.
4833.
4834.
4835.
4836.
4837.
4838.
4839.
4840.
4841.
4842.
4843.
4844.
4845.
4846.
4847.
4848.
4849.
4850.
4851.
4852.
4853.
4854.
4855.
4856.
4857.
4858.
4859.
4860.
4861.
4862.
4863.
4864.
4865.
4866.
4867.
4868.
4869.
4870.
4871.
4872.
4873.
4874.
4875.
4876.
4877.
4878.
4879.
4880.
4881.
4882.
4883.
4884.
4885.
4886.
4887.
4888.
4889.
4890.
4891.
4892.
4893.
4894.
4895.
4896.
4897.
4898.
4899.
4900.
4901.
4902.
4903.
4904.
4905.
4906.
4907.
4908.
4909.
4910.
4911.
4912.
4913.
4914.
4915.
4916.
4917.
4918.
4919.
4920.
4921.
4922.
4923.
4924.
4925.
4926.
4927.
4928.
4929.
4930.
4931.
4932.
4933.
4934.
4935.
4936.
4937.
4938.
4939.
4940.
4941.
4942.
4943.
4944.
4945.
4946.
4947.
4948.
4949.
4950.
4951.
4952.
4953.
4954.
4955.
4956.
4957.
4958.
4959.
4960.
4961.
4962.
4963.
4964.
4965.
4966.
4967.
4968.
4969.
4970.
4971.
4972.
4973.
4974.
4975.
4976.
4977.
4978.
4979.
4980.
4981.
4982.
4983.
4984.
4985.
4986.
4987.
4988.
4989.
4990.
4991.
4992.
4993.
4994.
4995.
4996.
4997.
4998.
4999.
5000.
5001.
5002.
5003.
5004.
5005.
5006.
5007.
5008.
5009.
5010.
5011.
5012.
5013.
5014.
5015.
5016.
5017.
5018.
5019.
5020.
5021.
5022.
5023.
5024.
5025.
5026.
5027.
5028.
5029.
5030.
5031.
5032.
5033.
5034.
5035.
5036.
5037.
5038.
5039.
5040.
5041.
5042.
5043.
5044.
5045.
5046.
5047.
5048.
5049.
5050.
5051.
5052.
5053.
5054.
5055.
5056.
5057.
5058.
5059.
5060.
5061.
5062.
5063.
5064.
5065.
5066.
5067.
5068.
5069.
5070.
5071.
5072.
5073.
5074.
5075.
5076.
5077.
5078.
5079.
5080.
5081.
5082.
5083.
5084.
5085.
5086.
5087.
5088.
5089.
5090.
5091.
5092.
5093.
5094.
5095.
5096.
5097.
5098.
5099.
5100.
5101.
5102.
5103.
5104.
5105.
5106.
5107.
5108.
5109.
5110.
5111.
5112.
5113.
5114.
5115.
5116.
5117.
5118.
5119.
5120.
5121.
5122.
5123.
5124.
5125.
5126.
5127.
5128.
5129.
5130.
5131.
5132.
5133.
5134.
5135.
5136.
5137.
5138.
5139.
5140.
5141.
5142.
5143.
5144.
5145.
5146.
5147.
5148.
5149.
5150.
5151.
5152.
5153.
5154.
5155.
5156.
5157.
5158.
5159.
5160.
5161.
5162.
5163.
5164.
5165.
5166.
5167.
5168.
5169.
5170.
5171.
5172.
5173.
5174.
5175.
5176.
5177.
5178.
5179.
5180.
5181.
5182.
5183.
5184.
5185.
5186.
5187.
5188.
5189.
5190.
5191.
5192.
5193.
5194.
5195.
5196.
5197.
5198.
5199.
5200.
5201.
5202.
5203.
5204.
5205.
5206.
5207.
5208.
5209.
5210.
5211.
5212.
5213.
5214.
5215.
5216.
5217.
5218.
5219.
5220.
5221.
5222.
5223.
5224.
5225.
5226.
5227.
5228.
5229.
5230.
5231.
5232.
5233.
5234.
5235.
5236.
5237.
5238.
5239.
5240.
5241.
5242.
5243.
5244.
5245.
5246.
5247.
5248.
5249.
5250.
5251.
5252.
5253.
5254.
5255.
5256.
5257.
5258.
5259.
5260.
5261.
5262.
5263.
5264.
5265.
5266.
5267.
5268.
5269.
5270.
5271.
5272.
5273.
5274.
5275.
5276.
5277.
5278.
5279.
5280.
5281.
5282.
5283.
5284.
5285.
5286.
5287.
5288.
5289.
5290.
5291.
5292.
5293.
5294.
5295.
5296.
5297.
5298.
5299.
5300.
5301.
5302.
5303.
5304.
5305.
5306.
5307.
5308.
5309.
5310.
5311.
5312.
5313.
5314.
5315.
5316.
5317.
5318.
5319.
5320.
5321.
5322.
5323.
5324.
5325.
5326.
5327.
5328.
5329.
5330.
5331.
5332.
5333.
5334.
5335.
5336.
5337.
5338.
5339.
5340.
5341.
5342.
5343.
5344.
5345.
5346.
5347.
5348.
5349.
5350.
5351.
5352.
5353.
5354.
5355.
5356.
5357.
5358.
5359.
5360.
5361.
5362.
5363.
5364.
5365.
5366.
5367.
5368.
5369.
5370.
5371.
5372.
5373.
5374.
5375.
5376.
5377.
5378.
5379.
5380.
5381.
5382.
5383.
5384.
5385.
5386.
5387.
5388.
5389.
5390.
5391.
5392.
5393.
5394.
5395.
5396.
5397.
5398.
5399.
5400.
5401.
5402.
5403.
5404.
5405.
5406.
5407.
5408.
5409.
5410.
5411.
5412.
5413.
5414.
5415.
5416.
5417.
5418.
5419.
5420.
5421.
5422.
5423.
5424.
5425.
5426.
5427.
5428.
5429.
5430.
5431.
5432.
5433.
5434.
5435.
5436.
5437.
5438.
5439.
5440.
5441.
5442.
5443.
5444.
5445.
5446.
5447.
5448.
5449.
5450.
5451.
5452.
5453.
5454.
5455.
5456.
5457.
5458.
5459.
5460.
5461.
5462.
5463.
5464.
5465.
5466.
5467.
5468.
5469.
5470.
5471.
5472.
5473.
5474.
5475.
5476.
5477.
5478.
5479.
5480.
5481.
5482.
5483.
5484.
5485.
5486.
5487.
5488.
5489.
5490.
5491.
5492.
5493.
5494.
5495.
5496.
5497.
5498.
5499.
5500.
5501.
5502.
5503.
5504.
5505.
5506.
5507.
5508.
5509.
5510.
5511.
5512.
5513.
5514.
5515.
5516.
5517.
5518.
5519.
5520.
5521.
5522.
5523.
5524.
5525.
5526.
5527.
5528.
5529.
5530.
5531.
5532.
5533.
5534.
5535.
5536.
5537.
5538.
5539.
5540.
5541.
5542.
5543.
5544.
5545.
5546.
5547.
5548.
5549.
5550.
5551.
5552.
5553.
5554.
5555.
5556.
5557.
5558.
5559.
5560.
5561.
5562.
5563.
5564.
5565.
5566.
5567.
5568.
5569.
5570.
5571.
5572.
5573.
5574.
5575.
5576.
5577.
5578.
5579.
5580.
5581.
5582.
5583.
5584.
5585.
5586.
5587.
5588.
5589.
5590.
5591.
5592.
5593.
5594.
5595.
5596.
5597.
5598.
5599.
5600.
5601.
5602.
5603.
5604.
5605.
5606.
5607.
5608.
5609.
5610.
5611.
5612.
5613.
5614.
5615.
5616.
5617.
5618.
5619.
5620.
5621.
5622.
5623.
5624.
5625.
5626.
5627.
5628.
5629.
5630.
5631.
5632.
5633.
5634.
5635.
5636.
5637.
5638.
5639.
5640.
5641.
5642.
5643.
5644.
5645.
5646.
5647.
5648.
5649.
5650.
5651.
5652.
5653.
5654.
5655.
5656.
5657.
5658.
5659.
5660.
5661.
5662.
5663.
5664.
5665.
5666.
5667.
5668.
5669.
5670.
5671.
5672.
5673.
5674.
5675.
5676.
5677.
5678.
5679.
5680.
5681.
5682.
5683.
5684.
5685.
5686.
5687.
5688.
5689.
5690.
5691.
5692.
5693.
5694.
5695.
5696.
5697.
5698.
5699.
5700.
5701.
5702.
5703.
5704.
5705.
5706.
5707.
5708.
5709.
5710.
5711.
5712.
5713.
5714.
5715.
5716.
5717.
5718.
5719.
5720.
5721.
5722.
5723.
5724.
5725.
5726.
5727.
5728.
5729.
5730.
5731.
5732.
5733.
5734.
5735.
5736.
5737.
5738.
5739.
5740.
5741.
5742.
5743.
5744.
5745.
5746.
5747.
5748.
5749.
5750.
5751.
5752.
5753.
5754.
5755.
5756.
5757.
5758.
5759.
5760.
5761.
5762.
5763.
5764.
5765.
5766.
5767.
5768.
5769.
5770.
5771.
5772.
5773.
5774.
5775.
5776.
5777.
5778.
5779.
5780.
5781.
5782.
5783.
5784.
5785.
5786.
5787.
5788.
5789.
5790.
5791.
5792.
5793.
5794.
5795.
5796.
5797.
5798.
5799.
5800.
5801.
5802.
5803.
5804.
5805.
5806.
5807.
5808.
5809.
5810.
5811.
5812.
5813.
5814.
5815.
5816.
5817.
5818.
5819.
5820.
5821.
5822.
5823.
5824.
5825.
5826.
5827.
5828.
5829.
5830.
5831.
5832.
5833.
5834.
5835.
5836.
5837.
5838.
5839.
5840.
5841.
5842.
5843.
5844.
5845.
5846.
5847.
5848.
5849.
5850.
5851.
5852.
5853.
5854.
5855.
5856.
5857.
5858.
5859.
5860.
5861.
5862.
5863.
5864.
5865.
5866.
5867.
5868.
5869.
5870.
5871.
5872.
5873.
5874.
5875.
5876.
5877.
5878.
5879.
5880.
5881.
5882.
5883.
5884.
5885.
5886.
5887.
5888.
5889.
5890.
5891.
5892.
5893.
5894.
5895.
5896.
5897.
5898.
5899.
5900.
5901.
5902.
5903.
5904.
5905.
5906.
5907.
5908.
5909.
5910.
5911.
5912.
5913.
5914.
5915.
5916.
5917.
5918.
5919.
5920.
5921.
5922.
5923.
5924.
5925.
5926.
5927.
5928.
5929.
5930.
5931.
5932.
5933.
5934.
5935.
5936.
5937.
5938.
5939.
5940.
5941.
5942.
5943.
5944.
5945.
5946.
5947.
5948.
5949.
5950.
5951.
5952.
5953.
5954.
5955.
5956.
5957.
5958.
5959.
5960.
5961.
5962.
5963.
5964.
5965.
5966.
5967.
5968.
5969.
5970.
5971.
5972.
5973.
5974.
5975.
5976.
5977.
5978.
5979.
5980.
5981.
5982.
5983.
5984.
5985.
5986.
5987.
5988.
5989.
5990.
5991.
5992.
5993.
5994.
5995.
5996.
5997.
5998.
5999.
6000.
6001.
6002.
6003.
6004.
6005.
6006.
6007.
6008.
6009.
6010.
6011.
6012.
6013.
6014.
6015.
6016.
6017.
6018.
6019.
6020.
6021.
6022.
6023.
6024.
6025.
6026.
6027.
6028.
6029.
6030.
6031.
6032.
6033.
6034.
6035.
6036.
6037.
6038.
6039.
6040.
6041.
6042.
6043.
6044.
6045.
6046.
6047.
6048.
6049.
6050.
6051.
6052.
6053.
6054.
6055.
6056.
6057.
6058.
6059.
6060.
6061.
6062.
6063.
6064.
6065.
6066.
6067.
6068.
6069.
6070.
6071.
6072.
6073.
6074.
6075.
6076.
6077.
6078.
6079.
6080.
6081.
6082.
6083.
6084.
6085.
6086.
6087.
6088.
6089.
6090.
6091.
6092.
6093.
6094.
6095.
6096.
6097.
6098.
6099.
6100.
6101.
6102.
6103.
6104.
6105.
6106.
6107.
6108.
6109.
6110.
6111.
6112.
6113.
6114.
6115.
6116.
6117.
6118.
6119.
6120.
6121.
6122.
6123.
6124.
6125.
6126.
6127.
6128.
6129.
6130.
6131.
6132.
6133.
6134.
6135.
6136.
6137.
6138.
6139.
6140.
6141.
6142.
6143.
6144.
6145.
6146.
6147.
6148.
6149.
6150.
6151.
6152.
6153.
6154.
6155.
6156.
6157.
6158.
6159.
6160.
6161.
6162.
6163.
6164.
6165.
6166.
6167.
6168.
6169.
6170.
6171.
6172.
6173.
6174.
6175.
6176.
6177.
6178.
6179.
6180.
6181.
6182.
6183.
6184.
6185.
6186.
6187.
6188.
6189.
6190.
6191.
6192.
6193.
6194.
6195.
6196.
6197.
6198.
6199.
6200.
6201.
6202.
6203.
6204.
6205.
6206.
6207.
6208.
6209.
6210.
6211.
6212.
6213.
6214.
6215.
6216.
6217.
6218.
6219.
6220.
6221.
6222.
6223.
6224.
6225.
6226.
6227.
6228.
6229.
6230.
6231.
6232.
6233.
6234.
6235.
6236.
6237.
6238.
6239.
6240.
6241.
6242.
6243.
6244.
6245.
6246.
6247.
6248.
6249.
6250.
6251.
6252.
6253.
6254.
6255.
6256.
6257.
6258.
6259.
6260.
6261.
6262.
6263.
6264.
6265.
6266.
6267.
6268.
6269.
6270.
6271.
6272.
6273.
6274.
6275.
6276.
6277.
6278.
6279.
6280.
6281.
6282.
6283.
6284.
6285.
6286.
6287.
6288.
6289.
6290.
6291.
6292.
6293.
6294.
6295.
6296.
6297.
6298.
6299.
6300.
6301.
6302.
6303.
6304.
6305.
6306.
6307.
6308.
6309.
6310.
6311.
6312.
6313.
6314.
6315.
6316.
6317.
6318.
6319.
6320.
6321.
6322.
6323.
6324.
6325.
6326.
6327.
6328.
6329.
6330.
6331.
6332.
6333.
6334.
6335.
6336.
6337.
6338.
6339.
6340.
6341.
6342.
6343.
6344.
6345.
6346.
6347.
6348.
6349.
6350.
6351.
6352.
6353.
6354.
6355.
6356.
6357.
6358.
6359.
6360.
6361.
6362.
6363.
6364.
6365.
6366.
6367.
6368.
6369.
6370.
6371.
6372.
6373.
6374.
6375.
6376.
6377.
6378.
6379.
6380.
6381.
6382.
6383.
6384.
6385.
6386.
6387.
6388.
6389.
6390.
6391.
6392.
6393.
6394.
6395.
6396.
6397.
6398.
6399.
6400.
6401.
6402.
6403.
6404.
6405.
6406.
6407.
6408.
6409.
6410.
6411.
6412.
6413.
6414.
6415.
6416.
6417.
6418.
6419.
6420.
6421.
6422.
6423.
6424.
6425.
6426.
6427.
6428.
6429.
6430.
6431.
6432.
6433.
6434.
6435.
6436.
6437.
6438.
6439.
6440.
6441.
6442.
6443.
6444.
6445.
6446.
6447.
6448.
6449.
6450.
6451.
6452.
6453.
6454.
6455.
6456.
6457.
6458.
6459.
6460.
6461.
6462.
6463.
6464.
6465.
6466.
6467.
6468.
6469.
6470.
6471.
6472.
6473.
6474.
6475.
6476.
6477.
6478.
6479.
6480.
6481.
6482.
6483.
6484.
6485.
6486.
6487.
6488.
6489.
6490.
6491.
6492.
6493.
6494.
6495.
6496.
6497.
6498.
6499.
6500.
6501.
6502.
6503.
6504.
6505.
6506.
6507.
6508.
6509.
6510.
6511.
6512.
6513.
6514.
6515.
6516.
6517.
6518.
6519.
6520.
6521.
6522.
6523.
6524.
6525.
6526.
6527.
6528.
6529.
6530.
6531.
6532.
6533.
6534.
6535.
6536.
6537.
6538.
6539.
6540.
6541.
6542.
6543.
6544.
6545.
6546.
6547.
6548.
6549.
6550.
6551.
6552.
6553.
6554.
6555.
6556.
6557.
6558.
6559.
6560.
6561.
6562.
6563.
6564.
6565.
6566.
6567.
6568.
6569.
6570.
6571.
6572.
6573.
6574.
6575.
6576.
6577.
6578.
6579.
6580.
6581.
6582.
6583.
6584.
6585.
6586.
6587.
6588.
6589.
6590.
6591.
6592.
6593.
6594.
6595.
6596.
6597.
6598.
6599.
6600.
6601.
6602.
6603.
6604.
6605.
6606.
6607.
6608.
6609.
6610.
6611.
6612.
6613.
6614.
6615.
6616.
6617.
6618.
6619.
6620.
6621.
6622.
6623.
6624.
6625.
6626.
6627.
6628.
6629.
6630.
6631.
6632.
6633.
6634.
6635.
6636.
6637.
6638.
6639.
6640.
6641.
6642.
6643.
6644.
6645.
6646.
6647.
6648.
6649.
6650.
6651.
6652.
6653.
6654.
6655.
6656.
6657.
6658.
6659.
6660.
6661.
6662.
6663.
6664.
6665.
6666.
6667.
6668.
6669.
6670.
6671.
6672.
6673.
6674.
6675.
6676.
6677.
6678.
6679.
6680.
6681.
6682.
6683.
6684.
6685.
6686.
6687.
6688.
6689.
6690.
6691.
6692.
6693.
6694.
6695.
6696.
6697.
6698.
6699.
6700.
6701.
6702.
6703.
6704.
6705.
6706.
6707.
6708.
6709.
6710.
6711.
6712.
6713.
6714.
6715.
6716.
6717.
6718.
6719.
6720.
6721.
6722.
6723.
6724.
6725.
6726.
6727.
6728.
6729.
6730.
6731.
6732.
6733.
6734.
6735.
6736.
6737.
6738.
6739.
6740.
6741.
6742.
6743.
6744.
6745.
6746.
6747.
6748.
6749.
6750.
6751.
6752.
6753.
6754.
6755.
6756.
6757.
6758.
6759.
6760.
6761.
6762.
6763.
6764.
6765.
6766.
6767.
6768.
6769.
6770.
6771.
6772.
6773.
6774.
6775.
6776.
6777.
6778.
6779.
6780.
6781.
6782.
6783.
6784.
6785.
6786.
6787.
6788.
6789.
6790.
6791.
6792.
6793.
6794.
6795.
6796.
6797.
6798.
6799.
6800.
6801.
6802.
6803.
6804.
6805.
6806.
6807.
6808.
6809.
6810.
6811.
6812.
6813.
6814.
6815.
6816.
6817.
6818.
6819.
6820.
6821.
6822.
6823.
6824.
6825.
6826.
6827.
6828.
6829.
6830.
6831.
6832.
6833.
6834.
6835.
6836.
6837.
6838.
6839.
6840.
6841.
6842.
6843.
6844.
6845.
6846.
6847.
6848.
6849.
6850.
6851.
6852.
6853.
6854.
6855.
6856.
6857.
6858.
6859.
6860.
6861.
6862.
6863.
6864.
6865.
6866.
6867.
6868.
6869.
6870.
6871.
6872.
6873.
6874.
6875.
6876.
6877.
6878.
6879.
6880.
6881.
6882.
6883.
6884.
6885.
6886.
6887.
6888.
6889.
6890.
6891.
6892.
6893.
6894.
6895.
6896.
6897.
6898.
6899.
6900.
6901.
6902.
6903.
6904.
6905.
6906.
6907.
6908.
6909.
6910.
6911.
6912.
6913.
6914.
6915.
6916.
6917.
6918.
6919.
6920.
6921.
6922.
6923.
6924.
6925.
6926.
6927.
6928.
6929.
6930.
6931.
6932.
6933.
6934.
6935.
6936.
6937.
6938.
6939.
6940.
6941.
6942.
6943.
6944.
6945.
6946.
6947.
6948.
6949.
6950.
6951.
6952.
6953.
6954.
6955.
6956.
6957.
6958.
6959.
6960.
6961.
6962.
6963.
6964.
6965.
6966.
6967.
6968.
6969.
6970.
6971.
6972.
6973.
6974.
6975.
6976.
6977.
6978.
6979.
6980.
6981.
6982.
6983.
6984.
6985.
6986.
6987.
6988.
6989.
6990.
6991.
6992.
6993.
6994.
6995.
6996.
6997.
6998.
6999.
7000.
7001.
7002.
7003.
7004.
7005.
7006.
7007.
7008.
7009.
7010.
7011.
7012.
7013.
7014.
7015.
7016.
7017.
7018.
7019.
7020.
7021.
7022.
7023.
7024.
7025.
7026.
7027.
7028.
7029.
7030.
7031.
7032.
7033.
7034.
7035.
7036.
7037.
7038.
7039.
7040.
7041.
7042.
7043.
7044.
7045.
7046.
7047.
7048.
7049.
7050.
7051.
7052.
7053.
7054.
7055.
7056.
7057.
7058.
7059.
7060.
7061.
7062.
7063.
7064.
7065.
7066.
7067.
7068.
7069.
7070.
7071.
7072.
7073.
7074.
7075.
7076.
7077.
7078.
7079.
7080.
7081.
7082.
7083.
7084.
7085.
7086.
7087.
7088.
7089.
7090.
7091.
7092.
7093.
7094.
7095.
7096.
7097.
7098.
7099.
7100.
7101.
7102.
7103.
7104.
7105.
7106.
7107.
7108.
7109.
7110.
7111.
7112.
7113.
7114.
7115.
7116.
7117.
7118.
7119.
7120.
7121.
7122.
7123.
7124.
7125.
7126.
7127.
7128.
7129.
7130.
7131.
7132.
7133.
7134.
7135.
7136.
7137.
7138.
7139.
7140.
7141.
7142.
7143.
7144.
7145.
7146.
7147.
7148.
7149.
7150.
7151.
7152.
7153.
7154.
7155.
7156.
7157.
7158.
7159.
7160.
7161.
7162.
7163.
7164.
7165.
7166.
7167.
7168.
7169.
7170.
7171.
7172.
7173.
7174.
7175.
7176.
7177.
7178.
7179.
7180.
7181.
7182.
7183.
7184.
7185.
7186.
7187.
7188.
7189.
7190.
7191.
7192.
7193.
7194.
7195.
7196.
7197.
7198.
7199.
7200.
7201.
7202.
7203.
7204.
7205.
7206.
7207.
7208.
7209.
7210.
7211.
7212.
7213.
7214.
7215.
7216.
7217.
7218.
7219.
7220.
7221.
7222.
7223.
7224.
7225.
7226.
7227.
7228.
7229.
7230.
7231.
7232.
7233.
7234.
7235.
7236.
7237.
7238.
7239.
7240.
7241.
7242.
7243.
7244.
7245.
7246.
7247.
7248.
7249.
7250.
7251.
7252.
7253.
7254.
7255.
7256.
7257.
7258.
7259.
7260.
7261.
7262.
7263.
7264.
7265.
7266.
7267.
7268.
7269.
7270.
7271.
7272.
7273.
7274.
7275.
7276.
7277.
7278.
7279.
7280.
7281.
7282.
7283.
7284.
7285.
7286.
7287.
7288.
7289.
7290.
7291.
7292.
7293.
7294.
7295.
7296.
7297.
7298.
7299.
7300.
7301.
7302.
7303.
7304.
7305.
7306.
7307.
7308.
7309.
7310.
7311.
7312.
7313.
7314.
7315.
7316.
7317.
7318.
7319.
7320.
7321.
7322.
7323.
7324.
7325.
7326.
7327.
7328.
7329.
7330.
7331.
7332.
7333.
7334.
7335.
7336.
7337.
7338.
7339.
7340.
7341.
7342.
7343.
7344.
7345.
7346.
7347.
7348.
7349.
7350.
7351.
7352.
7353.
7354.
7355.
7356.
7357.
7358.
7359.
7360.
7361.
7362.
7363.
7364.
7365.
7366.
7367.
7368.
7369.
7370.
7371.
7372.
7373.
7374.
7375.
7376.
7377.
7378.
7379.
7380.
7381.
7382.
7383.
7384.
7385.
7386.
7387.
7388.
7389.
7390.
7391.
7392.
7393.
7394.
7395.
7396.
7397.
7398.
7399.
7400.
7401.
7402.
7403.
7404.
7405.
7406.
7407.
7408.
7409.
7410.
7411.
7412.
7413.
7414.
7415.
7416.
7417.
7418.
7419.
7420.
7421.
7422.
7423.
7424.
7425.
7426.
7427.
7428.
7429.
7430.
7431.
7432.
7433.
7434.
7435.
7436.
7437.
7438.
7439.
7440.
7441.
7442.
7443.
7444.
7445.
7446.
7447.
7448.
7449.
7450.
7451.
7452.
7453.
7454.
7455.
7456.
7457.
7458.
7459.
7460.
7461.
7462.
7463.
7464.
7465.
7466.
7467.
7468.
7469.
7470.
7471.
7472.
7473.
7474.
7475.
7476.
7477.
7478.
7479.
7480.
7481.
7482.
7483.
7484.
7485.
7486.
7487.
7488.
7489.
7490.
7491.
7492.
7493.
7494.
7495.
7496.
7497.
7498.
7499.
7500.
7501.
7502.
7503.
7504.
7505.
7506.
7507.
7508.
7509.
7510.
7511.
7512.
7513.
7514.
7515.
7516.
7517.
7518.
7519.
7520.
7521.
7522.
7523.
7524.
7525.
7526.
7527.
7528.
7529.
7530.
7531.
7532.
7533.
7534.
7535.
7536.
7537.
7538.
7539.
7540.
7541.
7542.
7543.
7544.
7545.
7546.
7547.
7548.
7549.
7550.
7551.
7552.
7553.
7554.
7555.
7556.
7557.
7558.
7559.
7560.
7561.
7562.
7563.
7564.
7565.
7566.
7567.
7568.
7569.
7570.
7571.
7572.
7573.
7574.
7575.
7576.
7577.
7578.
7579.
7580.
7581.
7582.
7583.
7584.
7585.
7586.
7587.
7588.
7589.
7590.
7591.
7592.
7593.
7594.
7595.
7596.
7597.
7598.
7599.
7600.
7601.
7602.
7603.
7604.
7605.
7606.
7607.
7608.
7609.
7610.
7611.
7612.
7613.
7614.
7615.
7616.
7617.
7618.
7619.
7620.
7621.
7622.
7623.
7624.
7625.
7626.
7627.
7628.
7629.
7630.
7631.
7632.
7633.
7634.
7635.
7636.
7637.
7638.
7639.
7640.
7641.
7642.
7643.
7644.
7645.
7646.
7647.
7648.
7649.
7650.
7651.
7652.
7653.
7654.
7655.
7656.
7657.
7658.
7659.
7660.
7661.
7662.
7663.
7664.
7665.
7666.
7667.
7668.
7669.
7670.
7671.
7672.
7673.
7674.
7675.
7676.
7677.
7678.
7679.
7680.
7681.
7682.
7683.
7684.
7685.
7686.
7687.
7688.
7689.
7690.
7691.
7692.
7693.
7694.
7695.
7696.
7697.
7698.
7699.
7700.
7701.
7702.
7703.
7704.
7705.
7706.
7707.
7708.
7709.
7710.
7711.
7712.
7713.
7714.
7715.
7716.
7717.
7718.
7719.
7720.
7721.
7722.
7723.
7724.
7725.
7726.
7727.
7728.
7729.
7730.
7731.
7732.
7733.
7734.
7735.
7736.
7737.
7738.
7739.
7740.
7741.
7742.
7743.
7744.
7745.
7746.
7747.
7748.
7749.
7750.
7751.
7752.
7753.
7754.
7755.
7756.
7757.
7758.
7759.
7760.
7761.
7762.
7763.
7764.
7765.
7766.
7767.
7768.
7769.
7770.
7771.
7772.
7773.
7774.
7775.
7776.
7777.
7778.
7779.
7780.
7781.
7782.
7783.
7784.
7785.
7786.
7787.
7788.
7789.
7790.
7791.
7792.
7793.
7794.
7795.
7796.
7797.
7798.
7799.
7800.
7801.
7802.
7803.
7804.
7805.
7806.
7807.
7808.
7809.
7810.
7811.
7812.
7813.
7814.
7815.
7816.
7817.
7818.
7819.
7820.
7821.
7822.
7823.
7824.
7825.
7826.
7827.
7828.
7829.
7830.
7831.
7832.
7833.
7834.
7835.
7836.
7837.
7838.
7839.
7840.
7841.
7842.
7843.
7844.
7845.
7846.
7847.
7848.
7849.
7850.
7851.
7852.
7853.
7854.
7855.
7856.
7857.
7858.
7859.
7860.
7861.
7862.
7863.
7864.
7865.
7866.
7867.
7868.
7869.
7870.
7871.
7872.
7873.
7874.
7875.
7876.
7877.
7878.
7879.
7880.
7881.
7882.
7883.
7884.
7885.
7886.
7887.
7888.
7889.
7890.
7891.
7892.
7893.
7894.
7895.
7896.
7897.
7898.
7899.
7900.
7901.
7902.
7903.
7904.
7905.
7906.
7907.
7908.
7909.
7910.
7911.
7912.
7913.
7914.
7915.
7916.
7917.
7918.
7919.
7920.
7921.
7922.
7923.
7924.
7925.
7926.
7927.
7928.
7929.
7930.
7931.
7932.
7933.
7934.
7935.
7936.
7937.
7938.
7939.
7940.
7941.
7942.
7943.
7944.
7945.
7946.
7947.
7948.
7949.
7950.
7951.
7952.
7953.
7954.
7955.
7956.
7957.
7958.
7959.
7960.
7961.
7962.
7963.
7964.
7965.
7966.
7967.
7968.
7969.
7970.
7971.
7972.
7973.
7974.
7975.
7976.
7977.
7978.
7979.
7980.
7981.
7982.
7983.
7984.
7985.
7986.
7987.
7988.
7989.
7990.
7991.
7992.
7993.
7994.
7995.
7996.
7997.
7998.
7999.
8000.
8001.
8002.
8003.
8004.
8005.
8006.
8007.
8008.
8009.
8010.
8011.
8012.
8013.
8014.
8015.
8016.
8017.
8018.
8019.
8020.
8021.
8022.
8023.
8024.
8025.
8026.
8027.
8028.
8029.
8030.
8031.
8032.
8033.
8034.
8035.
8036.
8037.
8038.
8039.
8040.
8041.
8042.
8043.
8044.
8045.
8046.
8047.
8048.
8049.
8050.
8051.
8052.
8053.
8054.
8055.
8056.
8057.
8058.
8059.
8060.
8061.
8062.
8063.
8064.
8065.
8066.
8067.
8068.
8069.
8070.
8071.
8072.
8073.
8074.
8075.
8076.
8077.
8078.
8079.
8080.
8081.
8082.
8083.
8084.
8085.
8086.
8087.
8088.
8089.
8090.
8091.
8092.
8093.
8094.
8095.
8096.
8097.
8098.
8099.
8100.
8101.
8102.
8103.
8104.
8105.
8106.
8107.
8108.
8109.
8110.
8111.
8112.
8113.
8114.
8115.
8116.
8117.
8118.
8119.
8120.
8121.
8122.
8123.
8124.
8125.
8126.
8127.
8128.
8129.
8130.
8131.
8132.
8133.
8134.
8135.
8136.
8137.
8138.
8139.
8140.
8141.
8142.
8143.
8144.
8145.
8146.
8147.
8148.
8149.
8150.
8151.
8152.
8153.
8154.
8155.
8156.
8157.
8158.
8159.
8160.
8161.
8162.
8163.
8164.
8165.
8166.
8167.
8168.
8169.
8170.
8171.
8172.
8173.
8174.
8175.
8176.
8177.
8178.
8179.
8180.
8181.
8182.
8183.
8184.
8185.
8186.
8187.
8188.
8189.
8190.
8191.
8192.
8193.
8194.
8195.
8196.
8197.
8198.
8199.
8200.
8201.
8202.
8203.
8204.
8205.
8206.
8207.
8208.
8209.
8210.
8211.
8212.
8213.
8214.
8215.
8216.
8217.
8218.
8219.
8220.
8221.
8222.
8223.
8224.
8225.
8226.
8227.
8228.
8229.
8230.
8231.
8232.
8233.
8234.
8235.
8236.
8237.
8238.
8239.
8240.
8241.
8242.
8243.
8244.
8245.
8246.
8247.
8248.
8249.
8250.
8251.
8252.
8253.
8254.
8255.
8256.
8257.
8258.
8259.
8260.
8261.
8262.
8263.
8264.
8265.
8266.
8267.
8268.
8269.
8270.
8271.
8272.
8273.
8274.
8275.
8276.
8277.
8278.
8279.
8280.
8281.
8282.
8283.
8284.
8285.
8286.
8287.
8288.
8289.
8290.
8291.
8292.
8293.
8294.
8295.
8296.
8297.
8298.
8299.
8300.
8301.
8302.
8303.
8304.
8305.
8306.
8307.
8308.
8309.
8310.
8311.
8312.
8313.
8314.
8315.
8316.
8317.
8318.
8319.
8320.
8321.
8322.
8323.
8324.
8325.
8326.
8327.
8328.
8329.
8330.
8331.
8332.
8333.
8334.
8335.
8336.
8337.
8338.
8339.
8340.
8341.
8342.
8343.
8344.
8345.
8346.
8347.
8348.
8349.
8350.
8351.
8352.
8353.
8354.
8355.
8356.
8357.
8358.
8359.
8360.
8361.
8362.
8363.
8364.
8365.
8366.
8367.
8368.
8369.
8370.
8371.
8372.
8373.
8374.
8375.
8376.
8377.
8378.
8379.
8380.
8381.
8382.
8383.
8384.
8385.
8386.
8387.
8388.
8389.
8390.
8391.
8392.
8393.
8394.
8395.
8396.
8397.
8398.
8399.
8400.
8401.
8402.
8403.
8404.
8405.
8406.
8407.
8408.
8409.
8410.
8411.
8412.
8413.
8414.
8415.
8416.
8417.
8418.
8419.
8420.
8421.
8422.
8423.
8424.
8425.
8426.
8427.
8428.
8429.
8430.
8431.
8432.
8433.
8434.
8435.
8436.
8437.
8438.
8439.
8440.
8441.
8442.
8443.
8444.
8445.
8446.
8447.
8448.
8449.
8450.
8451.
8452.
8453.
8454.
8455.
8456.
8457.
8458.
8459.
8460.
8461.
8462.
8463.
8464.
8465.
8466.
8467.
8468.
8469.
8470.
8471.
8472.
8473.
8474.
8475.
8476.
8477.
8478.
8479.
8480.
8481.
8482.
8483.
8484.
8485.
8486.
8487.
8488.
8489.
8490.
8491.
8492.
8493.
8494.
8495.
8496.
8497.
8498.
8499.
8500.
8501.
8502.
8503.
8504.
8505.
8506.
8507.
8508.
8509.
8510.
8511.
8512.
8513.
8514.
8515.
8516.
8517.
8518.
8519.
8520.
8521.
8522.
8523.
8524.
8525.
8526.
8527.
8528.
8529.
8530.
8531.
8532.
8533.
8534.
8535.
8536.
8537.
8538.
8539.
8540.
8541.
8542.
8543.
8544.
8545.
8546.
8547.
8548.
8549.
8550.
8551.
8552.
8553.
8554.
8555.
8556.
8557.
8558.
8559.
8560.
8561.
8562.
8563.
8564.
8565.
8566.
8567.
8568.
8569.
8570.
8571.
8572.
8573.
8574.
8575.
8576.
8577.
8578.
8579.
8580.
8581.
8582.
8583.
8584.
8585.
8586.
8587.
8588.
8589.
8590.
8591.
8592.
8593.
8594.
8595.
8596.
8597.
8598.
8599.
8600.
8601.
8602.
8603.
8604.
8605.
8606.
8607.
8608.
8609.
8610.
8611.
8612.
8613.
8614.
8615.
8616.
8617.
8618.
8619.
8620.
8621.
8622.
8623.
8624.
8625.
8626.
8627.
8628.
8629.
8630.
8631.
8632.
8633.
8634.
8635.
8636.
8637.
8638.
8639.
8640.
8641.
8642.
8643.
8644.
8645.
8646.
8647.
8648.
8649.
8650.
8651.
8652.
8653.
8654.
8655.
8656.
8657.
8658.
8659.
8660.
8661.
8662.
8663.
8664.
8665.
8666.
8667.
8668.
8669.
8670.
8671.
8672.
8673.
8674.
8675.
8676.
8677.
8678.
8679.
8680.
8681.
8682.
8683.
8684.
8685.
8686.
8687.
8688.
8689.
8690.
8691.
8692.
8693.
8694.
8695.
8696.
8697.
8698.
8699.
8700.
8701.
8702.
8703.
8704.
8705.
8706.
8707.
8708.
8709.
8710.
8711.
8712.
8713.
8714.
8715.
8716.
8717.
8718.
8719.
8720.
8721.
8722.
8723.
8724.
8725.
8726.
8727.
8728.
8729.
8730.
8731.
8732.
8733.
8734.
8735.
8736.
8737.
8738.
8739.
8740.
8741.
8742.
8743.
8744.
8745.
8746.
8747.
8748.
8749.
8750.
8751.
8752.
8753.
8754.
8755.
8756.
8757.
8758.
8759.
8760.
8761.
8762.
8763.
8764.
8765.
8766.
8767.
8768.
8769.
8770.
8771.
8772.
8773.
8774.
8775.
8776.
8777.
8778.
8779.
8780.
8781.
8782.
8783.
8784.
8785.
8786.
8787.
8788.
8789.
8790.
8791.
8792.
8793.
8794.
8795.
8796.
8797.
8798.
8799.
8800.
8801.
8802.
8803.
8804.
8805.
8806.
8807.
8808.
8809.
8810.
8811.
8812.
8813.
8814.
8815.
8816.
8817.
8818.
8819.
8820.
8821.
8822.
8823.
8824.
8825.
8826.
8827.
8828.
8829.
8830.
8831.
8832.
8833.
8834.
8835.
8836.
8837.
8838.
8839.
8840.
8841.
8842.
8843.
8844.
8845.
8846.
8847.
8848.
8849.
8850.
8851.
8852.
8853.
8854.
8855.
8856.
8857.
8858.
8859.
8860.
8861.
8862.
8863.
8864.
8865.
8866.
8867.
8868.
8869.
8870.
8871.
8872.
8873.
8874.
8875.
8876.
8877.
8878.
8879.
8880.
8881.
8882.
8883.
8884.
8885.
8886.
8887.
8888.
8889.
8890.
8891.
8892.
8893.
8894.
8895.
8896.
8897.
8898.
8899.
8900.
8901.
8902.
8903.
8904.
8905.
8906.
8907.
8908.
8909.
8910.
8911.
8912.
8913.
8914.
8915.
8916.
8917.
8918.
8919.
8920.
8921.
8922.
8923.
8924.
8925.
8926.
8927.
8928.
8929.
8930.
8931.
8932.
8933.
8934.
8935.
8936.
8937.
8938.
8939.
8940.
8941.
8942.
8943.
8944.
8945.
8946.
8947.
8948.
8949.
8950.
8951.
8952.
8953.
8954.
8955.
8956.
8957.
8958.
8959.
8960.
8961.
8962.
8963.
8964.
8965.
8966.
8967.
8968.
8969.
8970.
8971.
8972.
8973.
8974.
8975.
8976.
8977.
8978.
8979.
8980.
8981.
8982.
8983.
8984.
8985.
8986.
8987.
8988.
8989.
8990.
8991.
8992.
8993.
8994.
8995.
8996.
8997.
8998.
8999.
9000.
9001.
9002.
9003.
9004.
9005.
9006.
9007.
9008.
9009.
9010.
9011.
9012.
9013.
9014.
9015.
9016.
9017.
9018.
9019.
9020.
9021.
9022.
9023.
9024.
9025.
9026.
9027.
9028.
9029.
9030.
9031.
9032.
9033.
9034.
9035.
9036.
9037.
9038.
9039.
9040.
9041.
9042.
9043.
9044.
9045.
9046.
9047.
9048.
9049.
9050.
9051.
9052.
9053.
9054.
9055.
9056.
9057.
9058.
9059.
9060.
9061.
9062.
9063.
9064.
9065.
9066.
9067.
9068.
9069.
9070.
9071.
9072.
9073.
9074.
9075.
9076.
9077.
9078.
9079.
9080.
9081.
9082.
9083.
9084.
9085.
9086.
9087.
9088.
9089.
9090.
9091.
9092.
9093.
9094.
9095.
9096.
9097.
9098.
9099.
9100.
9101.
9102.
9103.
9104.
9105.
9106.
9107.
9108.
9109.
9110.
9111.
9112.
9113.
9114.
9115.
9116.
9117.
9118.
9119.
9120.
9121.
9122.
9123.
9124.
9125.
9126.
9127.
9128.
9129.
9130.
9131.
9132.
9133.
9134.
9135.
9136.
9137.
9138.
9139.
9140.
9141.
9142.
9143.
9144.
9145.
9146.
9147.
9148.
9149.
9150.
9151.
9152.
9153.
9154.
9155.
9156.
9157.
9158.
9159.
9160.
9161.
9162.
9163.
9164.
9165.
9166.
9167.
9168.
9169.
9170.
9171.
9172.
9173.
9174.
9175.
9176.
9177.
9178.
9179.
9180.
9181.
9182.
9183.
9184.
9185.
9186.
9187.
9188.
9189.
9190.
9191.
9192.
9193.
9194.
9195.
9196.
9197.
9198.
9199.
9200.
9201.
9202.
9203.
9204.
9205.
9206.
9207.
9208.
9209.
9210.
9211.
9212.
9213.
9214.
9215.
9216.
9217.
9218.
9219.
9220.
9221.
9222.
9223.
9224.
9225.
9226.
9227.
9228.
9229.
9230.
9231.
9232.
9233.
9234.
9235.
9236.
9237.
9238.
9239.
9240.
9241.
9242.
9243.
9244.
9245.
9246.
9247.
9248.
9249.
9250.
9251.
9252.
9253.
9254.
9255.
9256.
9257.
9258.
9259.
9260.
9261.
9262.
9263.
9264.
9265.
9266.
9267.
9268.
9269.
9270.
9271.
9272.
9273.
9274.
9275.
9276.
9277.
9278.
9279.
9280.
9281.
9282.
9283.
9284.
9285.
9286.
9287.
9288.
9289.
9290.
9291.
9292.
9293.
9294.
9295.
9296.
9297.
9298.
9299.
9300.
9301.
9302.
9303.
9304.
9305.
9306.
9307.
9308.
9309.
9310.
9311.
9312.
9313.
9314.
9315.
9316.
9317.
9318.
9319.
9320.
9321.
9322.
9323.
9324.
9325.
9326.
9327.
9328.
9329.
9330.
9331.
9332.
9333.
9334.
9335.
9336.
9337.
9338.
9339.
9340.
9341.
9342.
9343.
9344.
9345.
9346.
9347.
9348.
9349.
9350.
9351.
9352.
9353.
9354.
9355.
9356.
9357.
9358.
9359.
9360.
9361.
9362.
9363.
9364.
9365.
9366.
9367.
9368.
9369.
9370.
9371.
9372.
9373.
9374.
9375.
9376.
9377.
9378.
9379.
9380.
9381.
9382.
9383.
9384.
9385.
9386.
9387.
9388.
9389.
9390.
9391.
9392.
9393.
9394.
9395.
9396.
9397.
9398.
9399.
9400.
9401.
9402.
9403.
9404.
9405.
9406.
9407.
9408.
9409.
9410.
9411.
9412.
9413.
9414.
9415.
9416.
9417.
9418.
9419.
9420.
9421.
9422.
9423.
9424.
9425.
9426.
9427.
9428.
9429.
9430.
9431.
9432.
9433.
9434.
9435.
9436.
9437.
9438.
9439.
9440.
9441.
9442.
9443.
9444.
9445.
9446.
9447.
9448.
9449.
9450.
9451.
9452.
9453.
9454.
9455.
9456.
9457.
9458.
9459.
9460.
9461.
9462.
9463.
9464.
9465.
9466.
9467.
9468.
9469.
9470.
9471.
9472.
9473.
9474.
9475.
9476.
9477.
9478.
9479.
9480.
9481.
9482.
9483.
9484.
9485.
9486.
9487.
9488.
9489.
9490.
9491.
9492.
9493.
9494.
9495.
9496.
9497.
9498.
9499.
9500.
9501.
9502.
9503.
9504.
9505.
9506.
9507.
9508.
9509.
9510.
9511.
9512.
9513.
9514.
9515.
9516.
9517.
9518.
9519.
9520.
9521.
9522.
9523.
9524.
9525.
9526.
9527.
9528.
9529.
9530.
9531.
9532.
9533.
9534.
9535.
9536.
9537.
9538.
9539.
9540.
9541.
9542.
9543.
9544.
9545.
9546.
9547.
9548.
9549.
9550.
9551.
9552.
9553.
9554.
9555.
9556.
9557.
9558.
9559.
9560.
9561.
9562.
9563.
9564.
9565.
9566.
9567.
9568.
9569.
9570.
9571.
9572.
9573.
9574.
9575.
9576.
9577.
9578.
9579.
9580.
9581.
9582.
9583.
9584.
9585.
9586.
9587.
9588.
9589.
9590.
9591.
9592.
9593.
9594.
9595.
9596.
9597.
9598.
9599.
9600.
9601.
9602.
9603.
9604.
9605.
9606.
9607.
9608.
9609.
9610.
9611.
9612.
9613.
9614.
9615.
9616.
9617.
9618.
9619.
9620.
9621.
9622.
9623.
9624.
9625.
9626.
9627.
9628.
9629.
9630.
9631.
9632.
9633.
9634.
9635.
9636.
9637.
9638.
9639.
9640.
9641.
9642.
9643.
9644.
9645.
9646.
9647.
9648.
9649.
9650.
9651.
9652.
9653.
9654.
9655.
9656.
9657.
9658.
9659.
9660.
9661.
9662.
9663.
9664.
9665.
9666.
9667.
9668.
9669.
9670.
9671.
9672.
9673.
9674.
9675.
9676.
9677.
9678.
9679.
9680.
9681.
9682.
9683.
9684.
9685.
9686.
9687.
9688.
9689.
9690.
9691.
9692.
9693.
9694.
9695.
9696.
9697.
9698.
9699.
9700.
9701.
9702.
9703.
9704.
9705.
9706.
9707.
9708.
9709.
9710.
9711.
9712.
9713.
9714.
9715.
9716.
9717.
9718.
9719.
9720.
9721.
9722.
9723.
9724.
9725.
9726.
9727.
9728.
9729.
9730.
9731.
9732.
9733.
9734.
9735.
9736.
9737.
9738.
9739.
9740.
9741.
9742.
9743.
9744.
9745.
9746.
9747.
9748.
9749.
9750.
9751.
9752.
9753.
9754.
9755.
9756.
9757.
9758.
9759.
9760.
9761.
9762.
9763.
9764.
9765.
9766.
9767.
9768.
9769.
9770.
9771.
9772.
9773.
9774.
9775.
9776.
9777.
9778.
9779.
9780.
9781.
9782.
9783.
9784.
9785.
9786.
9787.
9788.
9789.
9790.
9791.
9792.
9793.
9794.
9795.
9796.
9797.
9798.
9799.
9800.
9801.
9802.
9803.
9804.
9805.
9806.
9807.
9808.
9809.
9810.
9811.
9812.
9813.
9814.
9815.
9816.
9817.
9818.
9819.
9820.
9821.
9822.
9823.
9824.
9825.
9826.
9827.
9828.
9829.
9830.
9831.
9832.
9833.
9834.
9835.
9836.
9837.
9838.
9839.
9840.
9841.
9842.
9843.
9844.
9845.
9846.
9847.
9848.
9849.
9850.
9851.
9852.
9853.
9854.
9855.
9856.
9857.
9858.
9859.
9860.
9861.
9862.
9863.
9864.
9865.
9866.
9867.
9868.
9869.
9870.
9871.
9872.
9873.
9874.
9875.
9876.
9877.
9878.
9879.
9880.
9881.
9882.
9883.
9884.
9885.
9886.
9887.
9888.
9889.
9890.
9891.
9892.
9893.
9894.
9895.
9896.
9897.
9898.
9899.
9900.
9901.
9902.
9903.
9904.
9905.
9906.
9907.
9908.
9909.
9910.
9911.
9912.
9913.
9914.
9915.
9916.
9917.
9918.
9919.
9920.
9921.
9922.
9923.
9924.
9925.
9926.
9927.
9928.
9929.
9930.
9931.
9932.
9933.
9934.
9935.
9936.
9937.
9938.
9939.
9940.
9941.
9942.
9943.
9944.
9945.
9946.
9947.
9948.
9949.
9950.
9951.
9952.
9953.
9954.
9955.
9956.
9957.
9958.
9959.
9960.
9961.
9962.
9963.
9964.
9965.
9966.
9967.
9968.
9969.
9970.
9971.
9972.
9973.
9974.
9975.
9976.
9977.
9978.
9979.
9980.
9981.
9982.
9983.
9984.
9985.
9986.
9987.
9988.
9989.
9990.
9991.
9992.
9993.
9994.
9995.
9996.
9997.
9998.
9999.
10000.
10001.
10002.
10003.
10004.
10005.
10006.
10007.
10008.
10009.
10010.
10011.
10012.
10013.
10014.
10015.
10016.
10017.
10018.
10019.
10020.
10021.
10022.
10023.
10024.
10025.
10026.
10027.
10028.
10029.
10030.
10031.
10032.
10033.
10034.
10035.
10036.
10037.
10038.
10039.
10040.
10041.
10042.
10043.
10044.
10045.
10046.
10047.
10048.
10049.
10050.
10051.
10052.
10053.
10054.
10055.
10056.
10057.
10058.
10059.
10060.
10061.
10062.
10063.
10064.
10065.
10066.
10067.
10068.
10069.
10070.
10071.
10072.
10073.
10074.
10075.
10076.
10077.
10078.
10079.
10080.
10081.
10082.
10083.
10084.
10085.
10086.
10087.
10088.
10089.
10090.
10091.
10092.
10093.
10094.
10095.
10096.
10097.
10098.
10099.
10100.
10101.
10102.
10103.
10104.
10105.
10106.
10107.
10108.
10109.
10110.
10111.
10112.
10113.
10114.
10115.
10116.
10117.
10118.
10119.
10120.
10121.
10122.
10123.
10124.
10125.
10126.
10127.
10128.
10129.
10130.
10131.
10132.
10133.
10134.
10135.
10136.
10137.
10138.
10139.
10140.
10141.
10142.
10143.
10144.
10145.
10146.
10147.
10148.
10149.
10150.
10151.
10152.
10153.
10154.
10155.
10156.
10157.
10158.
10159.
10160.
10161.
10162.
10163.
10164.
10165.
10166.
10167.
10168.
10169.
10170.
10171.
10172.
10173.
10174.
10175.
10176.
10177.
10178.
10179.
10180.
10181.
10182.
10183.
10184.
10185.
10186.
10187.
10188.
10189.
10190.
10191.
10192.
10193.
10194.
10195.
10196.
10197.
10198.
10199.
10200.
10201.
10202.
10203.
10204.
10205.
10206.
10207.
10208.
10209.
10210.
10211.
10212.
10213.
10214.
10215.
10216.
10217.
10218.
10219.
10220.
10221.
10222.
10223.
10224.
10225.
10226.
10227.
10228.
10229.
10230.
10231.
10232.
10233.
10234.
10235.
10236.
10237.
10238.
10239.
10240.
10241.
10242.
10243.
10244.
10245.
10246.
10247.
10248.
10249.
10250.
10251.
10252.
10253.
10254.
10255.
10256.
10257.
10258.
10259.
10260.
10261.
10262.
10263.
10264.
10265.
10266.
10267.
10268.
10269.
10270.
10271.
10272.
10273.
10274.
10275.
10276.
10277.
10278.
10279.
10280.
10281.
10282.
10283.
10284.
10285.
10286.
10287.
10288.
10289.
10290.
10291.
10292.
10293.
10294.
10295.
10296.
10297.
10298.
10299.
10300.
10301.
10302.
10303.
10304.
10305.
10306.
10307.
10308.
10309.
10310.
10311.
10312.
10313.
10314.
10315.
10316.
10317.
10318.
10319.
10320.
10321.
10322.
10323.
10324.
10325.
10326.
10327.
10328.
10329.
10330.
10331.
10332.
10333.
10334.
10335.
10336.
10337.
10338.
10339.
10340.
10341.
10342.
10343.
10344.
10345.
10346.
10347.
10348.
10349.
10350.
10351.
10352.
10353.
10354.
10355.
10356.
10357.
10358.
10359.
10360.
10361.
10362.
10363.
10364.
10365.
10366.
10367.
10368.
10369.
10370.
10371.
10372.
10373.
10374.
10375.
10376.
10377.
10378.
10379.
10380.
10381.
10382.
10383.
10384.
10385.
10386.
10387.
10388.
10389.
10390.
10391.
10392.
10393.
10394.
10395.
10396.
10397.
10398.
10399.
10400.
10401.
10402.
10403.
10404.
10405.
10406.
10407.
10408.
10409.
10410.
10411.
10412.
10413.
10414.
10415.
10416.
10417.
10418.
10419.
10420.
10421.
10422.
10423.
10424.
10425.
10426.
10427.
10428.
10429.
10430.
10431.
10432.
10433.
10434.
10435.
10436.
10437.
10438.
10439.
10440.
10441.
10442.
10443.
10444.
10445.
10446.
10447.
10448.
10449.
10450.
10451.
10452.
10453.
10454.
10455.
10456.
10457.
10458.
10459.
10460.
10461.
10462.
10463.
10464.
10465.
10466.
10467.
10468.
10469.
10470.
10471.
10472.
10473.
10474.
10475.
10476.
10477.
10478.
10479.
10480.
10481.
10482.
10483.
10484.
10485.
10486.
10487.
10488.
10489.
10490.
10491.
10492.
10493.
10494.
10495.
10496.
10497.
10498.
10499.
10500.
10501.
10502.
10503.
10504.
10505.
10506.
10507.
10508.
10509.
10510.
10511.
10512.
10513.
10514.
10515.
10516.
10517.
10518.
10519.
10520.
10521.
10522.
10523.
10524.
10525.
10526.
10527.
10528.
10529.
10530.
10531.
10532.
10533.
10534.
10535.
10536.
10537.
10538.
10539.
10540.
10541.
10542.
10543.
10544.
10545.
10546.
10547.
10548.
10549.
10550.
10551.
10552.
10553.
10554.
10555.
10556.
10557.
10558.
10559.
10560.
10561.
10562.
10563.
10564.
10565.
10566.
10567.
10568.
10569.
10570.
10571.
10572.
10573.
10574.
10575.
10576.
10577.
10578.
10579.
10580.
10581.
10582.
10583.
10584.
10585.
10586.
10587.
10588.
10589.
10590.
10591.
10592.
10593.
10594.
10595.
10596.
10597.
10598.
10599.
10600.
10601.
10602.
10603.
10604.
10605.
10606.
10607.
10608.
10609.
10610.
10611.
10612.
10613.
10614.
10615.
10616.
10617.
10618.
10619.
10620.
10621.
10622.
10623.
10624.
10625.
10626.
10627.
10628.
10629.
10630.
10631.
10632.
10633.
10634.
10635.
10636.
10637.
10638.
10639.
10640.
10641.
10642.
10643.
10644.
10645.
10646.
10647.
10648.
10649.
10650.
10651.
10652.
10653.
10654.
10655.
10656.
10657.
10658.
10659.
10660.
10661.
10662.
10663.
10664.
10665.
10666.
10667.
10668.
10669.
10670.
10671.
10672.
10673.
10674.
10675.
10676.
10677.
10678.
10679.
10680.
10681.
10682.
10683.
10684.
10685.
10686.
10687.
10688.
10689.
10690.
10691.
10692.
10693.
10694.
10695.
10696.
10697.
10698.
10699.
10700.
10701.
10702.
10703.
10704.
10705.
10706.
10707.
10708.
10709.
10710.
10711.
10712.
10713.
10714.
10715.
10716.
10717.
10718.
10719.
10720.
10721.
10722.
10723.
10724.
10725.
10726.
10727.
10728.
10729.
10730.
10731.
10732.
10733.
10734.
10735.
10736.
10737.
10738.
10739.
10740.
10741.
10742.
10743.
10744.
10745.
10746.
10747.
10748.
10749.
10750.
10751.
10752.
10753.
10754.
10755.
10756.
10757.
10758.
10759.
10760.
10761.
10762.
10763.
10764.
10765.
10766.
10767.
10768.
10769.
10770.
10771.
10772.
10773.
10774.
10775.
10776.
10777.
10778.
10779.
10780.
10781.
10782.
10783.
10784.
10785.
10786.
10787.
10788.
10789.
10790.
10791.
10792.
10793.
10794.
10795.
10796.
10797.
10798.
10799.
10800.
10801.
10802.
10803.
10804.
10805.
10806.
10807.
10808.
10809.
10810.
10811.
10812.
10813.
10814.
10815.
10816.
10817.
10818.
10819.
10820.
10821.
10822.
10823.
10824.
10825.
10826.
10827.
10828.
10829.
10830.
10831.
10832.
10833.
10834.
10835.
10836.
10837.
10838.
10839.
10840.
10841.
10842.
10843.
10844.
10845.
10846.
10847.
10848.
10849.
10850.
10851.
10852.
10853.
10854.
10855.
10856.
10857.
10858.
10859.
10860.
10861.
10862.
10863.
10864.
10865.
10866.
10867.
10868.
10869.
10870.
10871.
10872.
10873.
10874.
10875.
10876.
10877.
10878.
10879.
10880.
10881.
10882.
10883.
10884.
10885.
10886.
10887.
10888.
10889.
10890.
10891.
10892.
10893.
10894.
10895.
10896.
10897.
10898.
10899.
10900.
10901.
10902.
10903.
10904.
10905.
10906.
10907.
10908.
10909.
10910.
10911.
10912.
10913.
10914.
10915.
10916.
10917.
10918.
10919.
10920.
10921.
10922.
10923.
10924.
10925.
10926.
10927.
10928.
10929.
10930.
10931.
10932.
10933.
10934.
10935.
10936.
10937.
10938.
10939.
10940.
10941.
10942.
10943.
10944.
10945.
10946.
10947.
10948.
10949.
10950.
10951.
10952.
10953.
10954.
10955.
10956.
10957.
10958.
10959.
10960.
10961.
10962.
10963.
10964.
10965.
10966.
10967.
10968.
10969.
10970.
10971.
10972.
10973.
10974.
10975.
10976.
10977.
10978.
10979.
10980.
10981.
10982.
10983.
10984.
10985.
10986.
10987.
10988.
10989.
10990.
10991.
10992.
10993.
10994.
10995.
10996.
10997.
10998.
10999.
11000.
11001.
11002.
11003.
11004.
11005.
11006.
11007.
11008.
11009.
11010.
11011.
11012.
11013.
11014.
11015.
11016.
11017.
11018.
11019.
11020.
11021.
11022.
11023.
11024.
11025.
11026.
11027.
11028.
11029.
11030.
11031.
11032.
11033.
11034.
11035.
11036.
11037.
11038.
11039.
11040.
11041.
11042.
11043.
11044.
11045.
11046.
11047.
11048.
11049.
11050.
11051.
11052.
11053.
11054.
11055.
11056.
11057.
11058.
11059.
11060.
11061.
11062.
11063.
11064.
11065.
11066.
11067.
11068.
11069.
11070.
11071.
11072.
11073.
11074.
11075.
11076.
11077.
11078.
11079.
11080.
11081.
11082.
11083.
11084.
11085.
11086.
11087.
11088.
11089.
11090.
11091.
11092.
11093.
11094.
11095.
11096.
11097.
11098.
11099.
11100.
11101.
11102.
11103.
11104.
11105.
11106.
11107.
11108.
11109.
11110.
11111.
11112.
11113.
11114.
11115.
11116.
11117.
11118.
11119.
11120.
11121.
11122.
11123.
11124.
11125.
11126.
11127.
11128.
11129.
11130.
11131.
11132.
11133.
11134.
11135.
11136.
11137.
11138.
11139.
11140.
11141.
11142.
11143.
11144.
11145.
11146.
11147.
11148.
11149.
11150.
11151.
11152.
11153.
11154.
11155.
11156.
11157.
11158.
11159.
11160.
11161.
11162.
11163.
11164.
11165.
11166.
11167.
11168.
11169.
11170.
11171.
11172.
11173.
11174.
11175.
11176.
11177.
11178.
11179.
11180.
11181.
11182.
11183.
11184.
11185.
11186.
11187.
11188.
11189.
11190.
11191.
11192.
11193.
11194.
11195.
11196.
11197.
11198.
11199.
11200.
11201.
11202.
11203.
11204.
11205.
11206.
11207.
11208.
11209.
11210.
11211.
11212.
11213.
11214.
11215.
11216.
11217.
11218.
11219.
11220.
11221.
11222.
11223.
11224.
11225.
11226.
11227.
11228.
11229.
11230.
11231.
11232.
11233.
11234.
11235.
11236.
11237.
11238.
11239.
11240.
11241.
11242.
11243.
11244.
11245.
11246.
11247.
11248.
11249.
11250.
11251.
11252.
11253.
11254.
11255.
11256.
11257.
11258.
11259.
11260.
11261.
11262.
11263.
11264.
11265.
11266.
11267.
11268.
11269.
11270.
11271.
11272.
11273.
11274.
11275.
11276.
11277.
11278.
11279.
11280.
11281.
11282.
11283.
11284.
11285.
11286.
11287.
11288.
11289.
11290.
11291.
11292.
11293.
11294.
11295.
11296.
11297.
11298.
11299.
11300.
11301.
11302.
11303.
11304.
11305.
11306.
11307.
11308.
11309.
11310.
11311.
11312.
11313.
11314.
11315.
11316.
11317.
11318.
11319.
11320.
11321.
11322.
11323.
11324.
11325.
11326.
11327.
11328.
11329.
11330.
11331.
11332.
11333.
11334.
11335.
11336.
11337.
11338.
11339.
11340.
11341.
11342.
11343.
11344.
11345.
11346.
11347.
11348.
11349.
11350.
11351.
11352.
11353.
11354.
11355.
11356.
11357.
11358.
11359.
11360.
11361.
11362.
11363.
11364.
11365.
11366.
11367.
11368.
11369.
11370.
11371.
11372.
11373.
11374.
11375.
11376.
11377.
11378.
11379.
11380.
11381.
11382.
11383.
11384.
11385.
11386.
11387.
11388.
11389.
11390.
11391.
11392.
11393.
11394.
11395.
11396.
11397.
11398.
11399.
11400.
11401.
11402.
11403.
11404.
11405.
11406.
11407.
11408.
11409.
11410.
11411.
11412.
11413.
11414.
11415.
11416.
11417.
11418.
11419.
11420.
11421.
11422.
11423.
11424.
11425.
11426.
11427.
11428.
11429.
11430.
11431.
11432.
11433.
11434.
11435.
11436.
11437.
11438.
11439.
11440.
11441.
11442.
11443.
11444.
11445.
11446.
11447.
11448.
11449.
11450.
11451.
11452.
11453.
11454.
11455.
11456.
11457.
11458.
11459.
11460.
11461.
11462.
11463.
11464.
11465.
11466.
11467.
11468.
11469.
11470.
11471.
11472.
11473.
11474.
11475.
11476.
11477.
11478.
11479.
11480.
11481.
11482.
11483.
11484.
11485.
11486.
11487.
11488.
11489.
11490.
11491.
11492.
11493.
11494.
11495.
11496.
11497.
11498.
11499.
11500.
11501.
11502.
11503.
11504.
11505.
11506.
11507.
11508.
11509.
11510.
11511.
11512.
11513.
11514.
11515.
11516.
11517.
11518.
11519.
11520.
11521.
11522.
11523.
11524.
11525.
11526.
11527.
11528.
11529.
11530.
11531.
11532.
11533.
11534.
11535.
11536.
11537.
11538.
11539.
11540.
11541.
11542.
11543.
11544.
11545.
11546.
11547.
11548.
11549.
11550.
11551.
11552.
11553.
11554.
11555.
11556.
11557.
11558.
11559.
11560.
11561.
11562.
11563.
11564.
11565.
11566.
11567.
11568.
11569.
11570.
11571.
11572.
11573.
11574.
11575.
11576.
11577.
11578.
11579.
11580.
11581.
11582.
11583.
11584.
11585.
11586.
11587.
11588.
11589.
11590.
11591.
11592.
11593.
11594.
11595.
11596.
11597.
11598.
11599.
11600.
11601.
11602.
11603.
11604.
11605.
11606.
11607.
11608.
11609.
11610.
11611.
11612.
11613.
11614.
11615.
11616.
11617.
11618.
11619.
11620.
11621.
11622.
11623.
11624.
11625.
11626.
11627.
11628.
11629.
11630.
11631.
11632.
11633.
11634.
11635.
11636.
11637.
11638.
11639.
11640.
11641.
11642.
11643.
11644.
11645.
11646.
11647.
11648.
11649.
11650.
11651.
11652.
11653.
11654.
11655.
11656.
11657.
11658.
11659.
11660.
11661.
11662.
11663.
11664.
11665.
11666.
11667.
11668.
11669.
11670.
11671.
11672.
11673.
11674.
11675.
11676.
11677.
11678.
11679.
11680.
11681.
11682.
11683.
11684.
11685.
11686.
11687.
11688.
11689.
11690.
11691.
11692.
11693.
11694.
11695.
11696.
11697.
11698.
11699.
11700.
11701.
11702.
11703.
11704.
11705.
11706.
11707.
11708.
11709.
11710.
11711.
11712.
11713.
11714.
11715.
11716.
11717.
11718.
11719.
11720.
11721.
11722.
11723.
11724.
11725.
11726.
11727.
11728.
11729.
11730.
11731.
11732.
11733.
11734.
11735.
11736.
11737.
11738.
11739.
11740.
11741.
11742.
11743.
11744.
11745.
11746.
11747.
11748.
11749.
11750.
11751.
11752.
11753.
11754.
11755.
11756.
11757.
11758.
11759.
11760.
11761.
11762.
11763.
11764.
11765.
11766.
11767.
11768.
11769.
11770.
11771.
11772.
11773.
11774.
11775.
11776.
11777.
11778.
11779.
11780.
11781.
11782.
11783.
11784.
11785.
11786.
11787.
11788.
11789.
11790.
11791.
11792.
11793.
11794.
11795.
11796.
11797.
11798.
11799.
11800.
11801.
11802.
11803.
11804.
11805.
11806.
11807.
11808.
11809.
11810.
11811.
11812.
11813.
11814.
11815.
11816.
11817.
11818.
11819.
11820.
11821.
11822.
11823.
11824.
11825.
11826.
11827.
11828.
11829.
11830.
11831.
11832.
11833.
11834.
11835.
11836.
11837.
11838.
11839.
11840.
11841.
11842.
11843.
11844.
11845.
11846.
11847.
11848.
11849.
11850.
11851.
11852.
11853.
11854.
11855.
11856.
11857.
11858.
11859.
11860.
11861.
11862.
11863.
11864.
11865.
11866.
11867.
11868.
11869.
11870.
11871.
11872.
11873.
11874.
11875.
11876.
11877.
11878.
11879.
11880.
11881.
11882.
11883.
11884.
11885.
11886.
11887.
11888.
11889.
11890.
11891.
11892.
11893.
11894.
11895.
11896.
11897.
11898.
11899.
11900.
11901.
11902.
11903.
11904.
11905.
11906.
11907.
11908.
11909.
11910.
11911.
11912.
11913.
11914.
11915.
11916.
11917.
11918.
11919.
11920.
11921.
11922.
11923.
11924.
11925.
11926.
11927.
11928.
11929.
11930.
11931.
11932.
11933.
11934.
11935.
11936.
11937.
11938.
11939.
11940.
11941.
11942.
11943.
11944.
11945.
11946.
11947.
11948.
11949.
11950.
11951.
11952.
11953.
11954.
11955.
11956.
11957.
11958.
11959.
11960.
11961.
11962.
11963.
11964.
11965.
11966.
11967.
11968.
11969.
11970.
11971.
11972.
11973.
11974.
11975.
11976.
11977.
11978.
11979.
11980.
11981.
11982.
11983.
11984.
11985.
11986.
11987.
11988.
11989.
11990.
11991.
11992.
11993.
11994.
11995.
11996.
11997.
11998.
11999.
12000.
12001.
12002.
12003.
12004.
12005.
12006.
12007.
12008.
12009.
12010.
12011.
12012.
12013.
12014.
12015.
12016.
12017.
12018.
12019.
12020.
12021.
12022.
12023.
12024.
12025.
12026.
12027.
12028.
12029.
12030.
12031.
12032.
12033.
12034.
12035.
12036.
12037.
12038.
12039.
12040.
12041.
12042.
12043.
12044.
12045.
12046.
12047.
12048.
12049.
12050.
12051.
12052.
12053.
12054.
12055.
12056.
12057.
12058.
12059.
12060.
12061.
12062.
12063.
12064.
12065.
12066.
12067.
12068.
12069.
12070.
12071.
12072.
12073.
12074.
12075.
12076.
12077.
12078.
12079.
12080.
12081.
12082.
12083.
12084.
12085.
12086.
12087.
12088.
12089.
12090.
12091.
12092.
12093.
12094.
12095.
12096.
12097.
12098.
12099.
12100.
12101.
12102.
12103.
12104.
12105.
12106.
12107.
12108.
12109.
12110.
12111.
12112.
12113.
12114.
12115.
12116.
12117.
12118.
12119.
12120.
12121.
12122.
12123.
12124.
12125.
12126.
12127.
12128.
12129.
12130.
12131.
12132.
12133.
12134.
12135.
12136.
12137.
12138.
12139.
12140.
12141.
12142.
12143.
12144.
12145.
12146.
12147.
12148.
12149.
12150.
12151.
12152.
12153.
12154.
12155.
12156.
12157.
12158.
12159.
12160.
12161.
12162.
12163.
12164.
12165.
12166.
12167.
12168.
12169.
12170.
12171.
12172.
12173.
12174.
12175.
12176.
12177.
12178.
12179.
12180.
12181.
12182.
12183.
12184.
12185.
12186.
12187.
12188.
12189.
12190.
12191.
12192.
12193.
12194.
12195.
12196.
12197.
12198.
12199.
12200.
12201.
12202.
12203.
12204.
12205.
12206.
12207.
12208.
12209.
12210.
12211.
12212.
12213.
12214.
12215.
12216.
12217.
12218.
12219.
12220.
12221.
12222.
12223.
12224.
12225.
12226.
12227.
12228.
12229.
12230.
12231.
12232.
12233.
12234.
12235.
12236.
12237.
12238.
12239.
12240.
12241.
12242.
12243.
12244.
12245.
12246.
12247.
12248.
12249.
12250.
12251.
12252.
12253.
12254.
12255.
12256.
12257.
12258.
12259.
12260.
12261.
12262.
12263.
12264.
12265.
12266.
12267.
12268.
12269.
12270.
12271.
12272.
12273.
12274.
12275.
12276.
12277.
12278.
12279.
12280.
12281.
12282.
12283.
12284.
12285.
12286.
12287.
12288.
12289.
12290.
12291.
12292.
12293.
12294.
12295.
12296.
12297.
12298.
12299.
12300.
12301.
12302.
12303.
12304.
12305.
12306.
12307.
12308.
12309.
12310.
12311.
12312.
12313.
12314.
12315.
12316.
12317.
12318.
12319.
12320.
12321.
12322.
12323.
12324.
12325.
12326.
12327.
12328.
12329.
12330.
12331.
12332.
12333.
12334.
12335.
12336.
12337.
12338.
12339.
12340.
12341.
12342.
12343.
12344.
12345.
12346.
12347.
12348.
12349.
12350.
12351.
12352.
12353.
12354.
12355.
12356.
12357.
12358.
12359.
12360.
12361.
12362.
12363.
12364.
12365.
12366.
12367.
12368.
12369.
12370.
12371.
12372.
12373.
12374.
12375.
12376.
12377.
12378.
12379.
12380.
12381.
12382.
12383.
12384.
12385.
12386.
12387.
12388.
12389.
12390.
12391.
12392.
12393.
12394.
12395.
12396.
12397.
12398.
12399.
12400.
12401.
12402.
12403.
12404.
12405.
12406.
12407.
12408.
12409.
12410.
12411.
12412.
12413.
12414.
12415.
12416.
12417.
12418.
12419.
12420.
12421.
12422.
12423.
12424.
12425.
12426.
12427.
12428.
12429.
12430.
12431.
12432.
12433.
12434.
12435.
12436.
12437.
12438.
12439.
12440.
12441.
12442.
12443.
12444.
12445.
12446.
12447.
12448.
12449.
12450.
12451.
12452.
12453.
12454.
12455.
12456.
12457.
12458.
12459.
12460.
12461.
12462.
12463.
12464.
12465.
12466.
12467.
12468.
12469.
12470.
12471.
12472.
12473.
12474.
12475.
12476.
12477.
12478.
12479.
12480.
12481.
12482.
12483.
12484.
12485.
12486.
12487.
12488.
12489.
12490.
12491.
12492.
12493.
12494.
12495.
12496.
12497.
12498.
12499.
12500.
12501.
12502.
12503.
12504.
12505.
12506.
12507.
12508.
12509.
12510.
12511.
12512.
12513.
12514.
12515.
12516.
12517.
12518.
12519.
12520.
12521.
12522.
12523.
12524.
12525.
12526.
12527.
12528.
12529.
12530.
12531.
12532.
12533.
12534.
12535.
12536.
12537.
12538.
12539.
12540.
12541.
12542.
12543.
12544.
12545.
12546.
12547.
12548.
12549.
12550.
12551.
12552.
12553.
12554.
12555.
12556.
12557.
12558.
12559.
12560.
12561.
12562.
12563.
12564.
12565.
12566.
12567.
12568.
12569.
12570.
12571.
12572.
12573.
12574.
12575.
12576.
12577.
12578.
12579.
12580.
12581.
12582.
12583.
12584.
12585.
12586.
12587.
12588.
12589.
12590.
12591.
12592.
12593.
12594.
12595.
12596.
12597.
12598.
12599.
12600.
12601.
12602.
12603.
12604.
12605.
12606.
12607.
12608.
12609.
12610.
12611.
12612.
12613.
12614.
12615.
12616.
12617.
12618.
12619.
12620.
12621.
12622.
12623.
12624.
12625.
12626.
12627.
12628.
12629.
12630.
12631.
12632.
12633.
12634.
12635.
12636.
12637.
12638.
12639.
12640.
12641.
12642.
12643.
12644.
12645.
12646.
12647.
12648.
12649.
12650.
12651.
12652.
12653.
12654.
12655.
12656.
12657.
12658.
12659.
12660.
12661.
12662.
12663.
12664.
12665.
12666.
12667.
12668.
12669.
12670.
12671.
12672.
12673.
12674.
12675.
12676.
12677.
12678.
12679.
12680.
12681.
12682.
12683.
12684.
12685.
12686.
12687.
12688.
12689.
12690.
12691.
12692.
12693.
12694.
12695.
12696.
12697.
12698.
12699.
12700.
12701.
12702.
12703.
12704.
12705.
12706.
12707.
12708.
12709.
12710.
12711.
12712.
12713.
12714.
12715.
12716.
12717.
12718.
12719.
12720.
12721.
12722.
12723.
12724.
12725.
12726.
12727.
12728.
12729.
12730.
12731.
12732.
12733.
12734.
12735.
12736.
12737.
12738.
12739.
12740.
12741.
12742.
12743.
12744.
12745.
12746.
12747.
12748.
12749.
12750.
12751.
12752.
12753.
12754.
12755.
12756.
12757.
12758.
12759.
12760.
12761.
12762.
12763.
12764.
12765.
12766.
12767.
12768.
12769.
12770.
12771.
12772.
12773.
12774.
12775.
12776.
12777.
12778.
12779.
12780.
12781.
12782.
12783.
12784.
12785.
12786.
12787.
12788.
12789.
12790.
12791.
12792.
12793.
12794.
12795.
12796.
12797.
12798.
12799.
12800.
12801.
12802.
12803.
12804.
12805.
12806.
12807.
12808.
12809.
12810.
12811.
12812.
12813.
12814.
12815.
12816.
12817.
12818.
12819.
12820.
12821.
12822.
12823.
12824.
12825.
12826.
12827.
12828.
12829.
12830.
12831.
12832.
12833.
12834.
12835.
12836.
12837.
12838.
12839.
12840.
12841.
12842.
12843.
12844.
12845.
12846.
12847.
12848.
12849.
12850.
12851.
12852.
12853.
12854.
12855.
12856.
12857.
12858.
12859.
12860.
12861.
12862.
12863.
12864.
12865.
12866.
12867.
12868.
12869.
12870.
12871.
12872.
12873.
12874.
12875.
12876.
12877.
12878.
12879.
12880.
12881.
12882.
12883.
12884.
12885.
12886.
12887.
12888.
12889.
12890.
12891.
12892.
12893.
12894.
12895.
12896.
12897.
12898.
12899.
12900.
12901.
12902.
12903.
12904.
12905.
12906.
12907.
12908.
12909.
12910.
12911.
12912.
12913.
12914.
12915.
12916.
12917.
12918.
12919.
12920.
12921. | /* ================================================================================================ /
*
* WWE Mod
* ------------------
*
* Need: This compiled and items files
* Works with: AMXX § Cs 1.6
*
* Installation:
* -------------------
* Copy script into plugins and edit plugins.ini
* Copy item diablo directory into addons/amxmodx
* If you amx directory is not called addons/amxmodx/.. just create a new path
*
* Credits:
* -----------------
* Spacedude
* Some others back when amx mod started :]
* twistedeuphoria
*
* diablo_xpbonus = Xp on each kill (without bonus)
* diablo_durability = Will your item loose durability on damage? And how much each time
* diablo_saveitems = Save items when map changes
* diablo_spawnchance = 1/x chance to spawn powerup on each roundstart
*
* Kontakt: efee
* -----------------
* GG : 31837550
*
/ ================================================================================================= */
new Basepath[128] //Path from Cstrike base directory
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <cstrike>
#include <fun>
#include <fakemeta_util>
#include <sqlx>
#include <csx>
#include <colorchat>
#include <hamsandwich>
#include <nvault>
#pragma tabsize 0
#define RESTORETIME 30.0 //How long from server start can players still get their item trasferred (s)
#define MAX 32 //Max number of valid player entities
//#define CHEAT 1 //Cheat for testing purposes
#define TE_BEAMFOLLOW 22
#define CS_PLAYER_HEIGHT 72.0
#define GLOBAL_COOLDOWN 0.5
#define TASK_GREET 240
#define TASK_HUD 120
#define TASK_HOOK 360
#define MAX_PLAYERS 32
#define BASE_SPEED 245.0
#define GLUTON 95841
new Float:agi=BASE_SPEED
new round_status
new DemageTake[33]
new DemageTake1[33]
//new weapon, clip, ammo
#define x 0
#define y 1
#define z 2
#define STR_T 33
#define TASK_CHARGE 100
#define TASK_NAME 48424
#define TASK_FLASH_LIGHT 81184
#define TASKID_REVIVE 1337
#define TASKID_RESPAWN 1338
#define TASKID_CHECKRE 1339
#define TASKID_CHECKST 13310
#define TASKID_ORIGIN 13311
#define TASKID_SETUSER 13312
#define KeysKlasy (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<9) // Keys: 123456790
#define KeysKlasy1 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<9) // Keys: 123456790
#define KeysKlasy2 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<9) // Keys: 123456790
#define KeysKlasy3 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)
#define keyss (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) // Keys: 1234567890
#define pev_zorigin pev_fuser4
#define seconds(%1) ((1<<12) * (%1))
#define OFFSET_CAN_LONGJUMP 356
#define MAX_FLASH 15 //pojemnosc barejii maga (sekund)
#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)
#define message_begin_f(%1,%2,%3,%4) engfunc(EngFunc_MessageBegin, %1, %2, %3, %4)
#define write_coord_f(%1) engfunc(EngFunc_WriteCoord, %1)
new SOUND_START[] = "items/medshot4.wav"
new SOUND_FINISHED[] = "items/smallmedkit2.wav"
new SOUND_FAILED[] = "items/medshotno1.wav"
new SOUND_EQUIP[] = "items/ammopickup2.wav"
#define SPRAWDZ 3431
enum
{
ICON_HIDE = 0,
ICON_SHOW,
ICON_FLASH
}
new g_haskit[MAX+1]
new Float:g_revive_delay[MAX+1]
new Float:g_body_origin[MAX+1][3]
new bool:g_wasducking[MAX+1]
new g_msg_bartime
new g_vault;
new g_msg_screenfade
new g_msg_statusicon
new g_msg_clcorpse
new cvar_revival_time
new cvar_revival_health
new cvar_revival_dis
new wait1[33]
new attacker
new attacker1
new flashlight[33]
new flashbattery[33]
new flashlight_r
new flashlight_g
new flashlight_b
new planter
new defuser
new map_end = 0
// max clip
stock const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
// max bpammo
stock const maxAmmo[31] = { -1, 52, -1, 90, -1, 32, -1, 100, 90, -1, 120, 100, 100, 90, 90, 90, 100, 100,
30, 120, 200, 32, 90, 120, 60, -1, 35, 90, 90, -1, 100 };
new gmsgDeathMsg
new gmsgStatusText
new gmsgBartimer
new gmsgScoreInfo
new gmsgHealth
new bool:freeze_ended
new c4state[33]
new c4bombc[33][3]
new c4fake[33]
new fired[33]
new bool:ghost_check
new ghosttime[33]
new ghoststate[33]
new sprite_blood_drop = 0
new sprite_blood_spray = 0
new sprite_gibs = 0
new sprite_white = 0
new sprite_fire = 0
new sprite_beam = 0
new sprite_boom = 0
new sprite_line = 0
new sprite_lgt = 0
new sprite_laser = 0
new sprite_ignite = 0
new sprite_smoke = 0
new sprite_kula = 0
new player_xp[33] = 0 //Holds players experience
new player_lvl[33] = 1 //Holds players level
new player_point[33] = 0
new player_item_id[33] = 0 //Items id
new player_item_name[33][128] //The items name
new player_intelligence[33]
new player_strength[33]
new player_agility[33]
new player_armor[33]
new Float:player_damreduction[33]
new player_dextery[33]
new player_expstat[33]
new player_dama[33]
new player_men[33]
new player_kas[33]
new player_niew[33]
new player_class[33]
new player_pkt[33]
new Float:player_huddelay[33]
new kasabandyta[33]
new ilerazy[33]
new ilerazy1[33]
new itemlos[33]
new piorundmg[33]
new piorundmg1[33]
new piorundmg2[33]
new kuladmg[33]
new kuladmg1[33]
new kuladmg2[33]
new ammogolem[33]
new grawitacja[33]
new Float:grawitacja2[33]
new grawitacja3[33]
//Item attributes
new player_b_vampire[33] = 1 //Vampyric damage
new player_b_hpitem[33] = 1
new player_b_luneta[33] = 1 // luneta
new player_b_zombi[33] = 1 //Vampyric damage
new player_b_damage[33] = 1 //Bonus damage
new player_b_tanker[33] = 1 //Bonus damage
new player_b_money[33] = 1 //Money bonus
new player_b_gravity[33] = 1 //Gravity bonus : 1 = best
new player_b_redbull[33] = 1
new player_b_4move[33] = 1
new player_b_magneto[33] = 1
new player_b_inv[33] = 1 //Invisibility bonus
new player_b_grenade[33] = 1 //Grenade bonus = 1/chance to kill
new player_b_theif[33] = 1 //Amount of money to steal
new player_b_respawn[33] = 1 //Chance to respawn upon death
new player_b_explode[33] = 1 //Radius to explode upon death
new player_b_heal[33] = 1 //Ammount of hp to heal each 5 second
new player_b_gamble[33] = 1
new player_b_totemy[33] = 1
new player_b_exp[33] = 1
new player_b_exp2[33] = 1
new player_b_blind[33] = 1 //Chance 1/Value to blind the enemy
new player_b_fireshield[33] = 1 //Protects against explode and grenade bonus
new player_b_meekstone[33] = 1 //Ability to lay a fake c4 and detonate
new player_b_teamheal[33] = 1 //How many hp to heal when shooting a teammate
new player_b_zamroz[33] = 1
new player_b_grawi[33] = 1
new player_b_nies[33] = 1
new player_b_redirect[33] = 1 //How much damage will the player redirect
new player_b_fireball[33] = 1 //Ability to shot off a fireball value = radius
new player_b_ghost[33] = 1 //Ability to walk through stuff
new player_b_eye[33] = 1 //Ability to place camera
new player_b_blink[33] = 1 //Ability to get a railgun
new player_b_windwalk[33] = 1 //Ability to windwalk away
new player_b_usingwind[33] = 1 //Is ayer using windwalk
new player_b_froglegs[33] = 1 //Ability to hold down duck for 4 sec to frog-jump
new player_b_silent[33] = 1 //Is player silent
new player_b_dagon[33] = 1 //Ability to nuke an opponent
new player_b_sniper[33] = 1 //Ability to kill in 1/sniper with scout
new player_b_m4master[33] = 1
new player_b_mp5master[33] = 1 //Ability to kill in 1/sniper with mp5
new player_b_m3master[33] = 1
new player_b_glockmaster[33] = 1
new player_b_deaglmaster[33] = 1 //Ability to kill in 1/x with deagl
new player_b_knife[33] = 1 //Ability to kill in 1/sniper with knife
new player_b_awp[33] = 1 //Ability to kill in 1/sniper with awp
new player_b_jumpx[33] = 1 //Ability to double jump
new player_b_smokehit[33] = 1 //Ability to hit and kill with smoke :]
new player_b_extrastats[33] = 1 //Ability to gain extra stats
new player_b_firetotem[33] = 1 //Ability to put down a fire totem that explodes after 7 seconds
new player_b_hook[33] = 1 //Ability to grap a player a hook him towards you
new player_b_darksteel[33] = 1 //Ability to damage double from behind the target
new player_b_illusionist[33] = 1 //Ability to use the illusionist escape
new player_b_mine[33] = 1 //Ability to lay down mines
new player_b_latarka[33] = 1
new player_b_alatarka[33] = 1
new player_b_antyarchy[33] = 1
new player_b_mnoznik[33] =1
new player_b_snajper[33] = 1
new player_b_burn[33] = 1
new player_b_glowa[33] = 1
new player_b_mom[33] = 1
new player_b_2damage[33] = 1
new player_b_kasatotem[33] = 1
new skinchanged[33]
new player_dc_name[33][99] //Information about last disconnected players name
new player_dc_item[33] //Information about last disconnected players item
new player_sword[33] //nowyitem
new player_m4[33]
new player_ring[33] //ring stats bust +5
/////////////////////////////////////////////////////////////////////
new player_b_ninja[33]
new player_nozninja[33]
/////////////////////////////////////////////////////////////////////
new player_ultra_armor[33]
new player_ultra_armor_left[33]
/////////////////////////////////////////////////////////////////////
new player_b_antymeek[33]
new c_antymeek[33]
new player_b_antyorb[33]
new c_antyorb[33]
new player_b_antyfs[33]
new c_antyfs[33]
new niewidzialnosc_kucanie[33];
new player_b_autobh[33] = 1
/////////////////////////////////////////////////////////////////////
new Float:player_b_oldsen[33] //Players old sens
new bool:player_b_dagfired[33] //Fired dagoon?
new bool:used_item[33]
new jumps[33] //Keeps charge with the number of jumps the user has made
new bool:dojump[33] //Are we jumping?
new item_boosted[33] //Has this user boosted his item?
new earthstomp[33]
new bool:falling[33]
new gravitytimer[33]
new item_durability[33] //Durability of hold item
new CTSkins[4][]={"sas","gsg9","urban","gign"}
new TSkins[4][]={"arctic","leet","guerilla","terror"}
new SWORD_VIEW[] = "models/wwemod/v_knife.mdl"
new SWORD_PLAYER[] = "models/wwemod/p_knife.mdl"
new KOSA_VIEW[] = "models/wwemod/v_kosa.mdl"
new LASKA_VIEW[] = "models/wwemod/v_koska.mdl"
new SZPONY_VIEW[] = "models/wwemod/v_master.mdl"
new BAR_VIEW[] = "models/wwemod/v_bar.mdl"
new SAP_VIEW[] = "models/wwemod/v_sap.mdl"
new KAM_VIEW[] = "models/wwemod/v_kam.mdl"
new DIABLO_VIEW[] = "models/wwemod/v_pro.mdl"
new DEMON_VIEW[] = "models/wwemod/v_klasa.mdl"
new KNIFE_VIEW[] = "models/v_knife.mdl"
new KNIFE_PLAYER[] = "models/p_knife.mdl"
new C4_VIEW[] = "models/v_c4.mdl"
new C4_PLAYER[] = "models/p_c4.mdl"
new HE_VIEW[] = "models/v_hegrenade.mdl"
new HE_PLAYER[] = "models/p_hegrenade.mdl"
new FL_VIEW[] = "models/v_flashbang.mdl"
new FL_PLAYER[] = "models/p_flashbang.mdl"
new SE_VIEW[] = "models/v_smokegrenade.mdl"
new SE_PLAYER[] = "models/p_smokegrenade.mdl"
new cbow_VIEW[] = "models/wwemod/v_strzelec.mdl"
new cvow_PLAYER[]= "models/diablomod/p_strzelec.mdl"
new cbow_bolt[] = "models/diablomod/strzelec_bolt.mdl"
new LeaderCT = -1
new LeaderT = -1
new JumpsLeft[33]
new JumpsMax[33]
new loaded_xp[33]
new sqlstart = 40 // Tyle prob jest na mape na poprawne polaczenie - bo cos sie zapetla gdy wylancza sie serwer (zmiena mapy?)
new asked_sql[33]
new asked_klass[33]
new olny_one_time=0
new Odliczanie[33]
enum { NONE = 0, Xardas, Merial, Paladyn, Ball, Nekromanta, Wiking, Ninja, Hunter, Morderca, Magneto, Wampir, Diablo, Skoczek, Golem, Skrytobojca, Tele, Mnich, Marlok, Druid, Rambo, Demon, Lucznik, Assasin, Hefasto, Zlodziej }
new Race[26][23] = { "None","Edge","Triple H","Steve Austin","UnderTaker","Shawn Michaels","Big Show", "Rey Mysterio", "Santino Marella", "Wade Barret", "Heath Slater", "Ted Dibiase", "John Cena", "CM Punk", "Sheamus", "The Rock", "Bourne", "Sheamus", "JTG", "Kofi Kingston", "Justin Gabriel", "Kane", "Alberto Del Rio", "R-Truth", "Randy Orton", "Mark Henry"}
new race_heal[26] = { 100,80,110,120,105,120,110,170,120,100,115,105,110,125,145,75,90,120,100,110,145,120,140,140,100,135}
new const LevelXP[1001] = {
0,36,54,216,396,666,720,783,855,1341,
1701,2097,2421,2772,3528,3933,4653,4806,5292,5976,
6876,7065,8055,8469,9765,10215,10449,11421,12933,13194,
14004,15399,17127,18612,20448,21708,23652,25317,27369,28071,
28431,30276,31788,33336,35316,36126,36954,39492,41652,42975,
43875,44793,46665,47619,50535,51525,54045,56097,57141,59265,
59805,61452,63126,65394,67698,68868,72432,75447,77283,81009,
81639,84195,86787,89415,90747,91422,95526,96219,100431,102564,
103284,104013,108441,109188,111456,116046,119142,123840,127008,131814,
135864,136683,137511,141696,145926,150201,153657,155403,156285,161631,
163431,167067,171657,174438,176310,177255,180117,184932,190764,191745,
197685,203679,209727,210744,215874,216909,222129,226341,230589,233802,
240282,242460,247950,252378,255726,257976,262512,269370,273978,275139,
280989,286884,288072,292860,297684,302544,307440,314838,317322,322326,
328626,334971,337527,342675,343971,347886,355770,361062,363726,366408,
373158,375876,377244,381375,384147,392517,396729,403794,406638,415224,
420984,422433,428265,434133,441513,444483,445977,451989,456525,462609,
467199,470277,476469,481140,490536,493686,501606,506385,509589,517644,
519264,524151,533979,540567,545535,548865,558909,563958,569034,577539,
584379,589536,591264,596475,598221,599976,607032,608805,610587,615960,
619560,621369,626823,637785,645129,648819,658089,663678,674910,684315,
693765,695664,707112,718614,728244,734049,737937,747702,757512,761454,
769374,771363,773361,783396,785412,791487,793521,799650,809910,814032,
824382,830619,832707,843192,853722,857952,864324,874989,883557,896463,
905103,913779,926847,935595,939987,946602,951030,962145,964377,975582,
980082,986859,993663,1007325,1018755,1021050,1025658,1032597,1046529,1055853,
1062873,1074618,1088766,1100601,1114857,1122012,1133982,1138788,1150848,1155690,
1162980,1175175,1187415,1202157,1216953,1226853,1231821,1244286,1259298,1264320,
1269360,1276947,1279485,1294767,1297323,1305018,1307592,1317924,1328292,1341297,
1351737,1362213,1377981,1391166,1407042,1417662,1433646,1447011,1449693,1463148,
1468548,1473966,1479402,1495764,1503972,1520442,1528704,1534230,1548090,1556433,
1573173,1578771,1584387,1592838,1595664,1601334,1607022,1618434,1632744,1635615,
1641375,1650042,1658736,1667457,1676205,1690830,1699632,1702575,1714383,1720305,
1738125,1750041,1756017,1768005,1786041,1801116,1813212,1822311,1834479,1840581,
1855881,1865088,1877400,1883574,1892862,1905282,1911510,1914633,1930293,1939716,
1946016,1955493,1971333,1974510,1977696,1980891,1984095,1990521,2009853,2019546,
2032506,2048751,2055267,2068335,2084715,2091285,2101167,2107773,2117709,2134314,
2154294,2160972,2167668,2174382,2181114,2194614,2201382,2204775,2221785,2225196,
2238876,2249163,2262915,2266362,2276730,2290590,2294064,2304513,2308005,2325510,
2332530,2350125,2360709,2378394,2381940,2403270,2421090,2428236,2438982,2446164,
2464164,2478600,2493072,2511207,2518479,2536704,2547666,2565981,2584341,2599065,
2621205,2643399,2654523,2658240,2665692,2673162,2676906,2695671,2703195,2725821,
2744721,2759877,2771271,2786499,2809395,2813220,2824722,2828565,2836269,2859435,
2867175,2871054,2890494,2898288,2906100,2910015,2925711,2941443,2965095,2972997,
2996757,3004695,3008673,3032595,3056571,3060576,3084660,3100752,3116880,3129003,
3133053,3157407,3165543,3177774,3190032,3206412,3222828,3235167,3239289,3251682,
3268242,3284838,3301470,3322305,3334833,3351573,3376737,3393549,3401973,3414636,
3431556,3448512,3465504,3486789,3495321,3503871,3512439,3521025,3529629,3533940,
3551220,3559878,3568554,3572901,3590325,3603420,3620916,3634065,3642849,3651651,
3660471,3669309,3687021,3709206,3722544,3726999,3744855,3767220,3776184,3785166,
3789666,3798684,3807720,3834882,3848490,3853035,3875805,3903183,3907755,3926079,
3935259,3944457,3972105,3976722,3985974,4013784,4027716,4046328,4069638,4097664,
4107024,4116402,4144590,4168125,4191705,4215330,4234266,4253238,4272246,4296051,
4305591,4324707,4339071,4353462,4372686,4401576,4430520,4440186,4469238,4474089,
4488669,4498407,4527675,4537449,4557033,4581558,4611042,4630734,4645530,4675176,
4680126,4699962,4719834,4729788,4754718,4779693,4799709,4824774,4834818,4859973,
4865013,4890258,4915548,4930749,4961205,4966290,4986666,5017284,5027508,5032629,
5063409,5094243,5119983,5140611,5161275,5176800,5207904,5239062,5254668,5259879,
5270319,5275548,5286024,5301765,5322789,5349114,5359662,5375511,5396679,5407281,
5412591,5423229,5444541,5460552,5487282,5508702,5530158,5546277,5573187,5594751,
5627151,5643378,5675886,5697594,5708466,5724801,5746617,5752080,5757552,5773995,
5806935,5828931,5856471,5873022,5906178,5933853,5944941,5967153,6000525,6006096,
6033996,6061941,6073137,6101172,6118020,6123645,6157449,6191307,6202611,6230916,
6242256,6247935,6259311,6270705,6287823,6299253,6316425,6350823,6379533,6408288,
6425568,6431337,6460227,6494949,6512337,6541362,6570432,6587901,6617061,6622902,
6628752,6634611,6640479,6646356,6658128,6681708,6699420,6728985,6740829,6776415,
6782355,6794253,6818085,6824052,6853932,6877872,6889860,6919875,6937911,6943932,
6968052,6986169,6992217,7016445,7040709,7046784,7052868,7058961,7095573,7107795,
7120035,7138422,7162974,7169121,7193745,7199910,7224606,7249338,7280298,7298901,
7317531,7342407,7379775,7386012,7417242,7448517,7479837,7486110,7492392,7517556,
7549056,7567983,7605891,7637526,7669206,7707276,7739046,7745409,7770897,7783659,
7796439,7828434,7866882,7892550,7911828,7950438,7982658,8021376,8047224,8086050,
8099010,8105499,8131491,8151012,8190108,8216208,8235810,8268525,8294733,8334099,
8366949,8393265,8426205,8445996,8465814,8498889,8505513,8538678,8558604,8565255,
8585235,8605242,8618598,8645346,8678826,8719056,8745912,8772804,8779536,8786277,
8820027,8847063,8860599,8894484,8908056,8928441,8955657,8989722,9017010,9037503,
9071703,9105948,9147096,9153963,9181467,9209007,9236583,9278001,9319473,9354078,
9388728,9430362,9451206,9465120,9486018,9513918,9527886,9555858,9562860,9569871,
9576891,9605007,9633159,9675441,9689553,9717813,9746109,9760275,9781551,9795753,
9831303,9845541,9874053,9909738,9924030,9931185,9967005,10010043,10024407,10045980,
10053180,10096434,10125306,10154214,10168686,10183176,10197684,10219473,10226745,10255869,
10299609,10343403,10372635,10387269,10401921,10431261,10438605,10475370,10490094,10526949,
10534329,10578663,10623051,10652679,10682343,10712043,10749213,10793871,10823679,10853523,
10868463,10905858,10920834,10965816,10988334,10995849,11025945,11071143,11101311,11139066,
11176866,11192004,11199582,11222343,11267919,11313549,11344005,11389743,11427903,11466108,
11481408,11504385,11535057,11542734,11588850,11596545,11642769,11658195,11704527,11727720,
11735460,11758707,11797497,11805264,11820816,11844171,11890935,11929950,11945574,11969037,
12000357,12016035,12031731,12063159,12086757,12094632,12141936,12157722,12189330,12228885,
12244725,12260583,12284397,12300291,12340071,12387861,12411783,12419766,12443742,12483747,
12507777,12515796,12523824,12572046,12580092,12628422,12668742,12692961,12725289,12773835,
12814335,12846771,12854889,12895524,12936204,12985074,12993228,13001391,13050423,13083147,
13132287,13165083,13206123,13247208,13280112,13321287,13362507,13403772,13420296,13469922,
13519602,13569336,13585932,13619160,13652424,13694049,13719051,13735737,13777497,13810941,
13827681,13852818,13903146,13945131,13970349,14004009,14020857,14037723,14046165,14096871,
14139171,14147640,14190030,14240952,14249448,14291973,14326029,14334552,14360148,14402853,
14428503,14437062,14445630,14488515,14497101,14522886,14531490,14557329,14591817,14634972,
14669532,14721426,14747400,14773401,14799429,14825484,14851566,14903784,14929920,14982246,
14999706,15052140,15095880,15113394,15122160,15148485,15174837,15227595,15254001,15289245,
15333345,15351003,15377517,15386364,15404076,15412941,15448437,15475086,15510654,15555159,
15572979,15608655,15644367,15689052,15724836,15760656,15778584,15832422,15859368,15913314,
15949314}
new player_class_lvl[33][26]
new player_class_lvl_save[33]
new player_xp_old[33]
new database_user_created[33]
new srv_avg[26] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
//For Hook and powerup sy
new hooked[33]
new Float:player_global_cooldown[33]
//For optimization
new last_update_xp[33]
new Float:last_update_perc[33]
new bool:use_addtofullpack
#define ICON_HIDE 0
#define ICON_SHOW 1
#define ICON_FLASH 2
#define ICON_S "suithelmet_full"
new wear_sun[33]
//Flags a user can have
enum
{
Flag_Ignite = 0,
Flag_Hooking,
Flag_Rot,
Flag_Dazed,
Flag_Illusion,
Flag_Moneyshield,
Flag_Teamshield,
Flag_Teamshield_Target,
num_of_flags
}
//Flags
new afflicted[33][num_of_flags]
//noze
new max_knife[33]
new player_knife[33]
new Float:tossdelay[33]
//luk
new Float:bowdelay[33]
new bow[33]
new button[33]
// hunter - slad
#define TARACE_TASK 91203
new trace_bool[33]
#define NADE_VELOCITY EV_INT_iuser1
#define NADE_ACTIVE EV_INT_iuser2
#define NADE_TEAM EV_INT_iuser3
#define NADE_PAUSE EV_INT_iuser4
new cvar_throw_vel = 90 // def: 90
new cvar_activate_dis = 175 // def 190
new cvar_nade_vel = 280 //def 280
new Float: cvar_explode_delay = 0.5 // def 0.50
new g_TrapMode[33]
new g_GrenadeTrap[33] = {0, ... }
new Float:g_PreThinkDelay[33]
new Float:gfBlockSizeMin1[3]= {-32.0,-4.0,-32.0};
new Float:gfBlockSizeMax1[3]= { 32.0, 4.0, 32.0};
new Float:vAngles1[3] = {90.0,90.0,0.0}
new Float:gfBlockSizeMin2[3]= {-4.0,-32.0,-32.0}
new Float:gfBlockSizeMax2[3]= { 4.0, 32.0, 32.0}
new Float:vAngles2[3] = {90.0,0.0,0.0}
new g_msgHostageAdd, g_msgHostageDel;
new casting[33]
new Float:cast_end[33]
new on_knife[33]
new golden_bulet[33]
new ultra_armor[33]
new lustrzany_pocisk[33]
new after_bullet[33]
new num_shild[33]
new invisible_cast[33]
new player_dmg[33]
new plus_obrazenia[33]
new c_theif[33]
new c_blind[33]
new c_redirect[33]
new c_respawn[33]
new c_knife[33]
new c_awp[33]
new c_flesh[33]
new c_antyarchy[33]
new c_bandyta[33]
new c_wampir[33]
new c_woj[33]
new g_piorun[MAX+1]
new g_kula[MAX+1]
new c_magneto[33]
new c_shake[33]
new c_jump[33]
new radar[33]
new c_grenade[33]
new c_fireshield[33]
new c_antymoc[33]
new c_krowa[33]
/* PLUGIN CORE REDIRECTING TO FUNCTIONS ========================================================== */
// SQL //
new Handle:g_SqlTuple
new g_sqlTable[64] = "dbmod_tables"
new g_boolsqlOK=0
new quest_gracza[33];
new ile_juz[33];
// SQL //
new questy[][]={
{1,2,Ninja,500,0},
{1,3,Xardas,1200,1},
{1,6,Skrytobojca,2000,0},
{2,6,Merial,5000,0},
{2,15,Wiking,15000,1},
{2,20,Paladyn,20000,1},
{3,65,Demon,150000,1},
{3,120,Ball,200000,1}
}
new vault_questy;
new vault_questy2;
//od , do , hp
new prze[][]={
{1,50,20},
{51,80,40},
{81,140,60}
}
new prze_wybrany[33]
new questy_info[][]={
"Zabij 2 Rey Mysteriow (Nagroda 500 doswiadczenia)",
"Zabij 3 Edge(Nagroda 1200 doswiadczenia)",
"Zabij 6 The Rockow (Nagroda 2000 doswiadczenia)",
"Zabij 6 Triple H (Nagroda 5000 doswiadczenia)",
"Zabij 15 Big Showow (Nagroda 15000 doswiadczenia)",
"Zabij 20 Steve Austinow (Nagroda 20000 doswiadczenia)",
"Zabij 65 Kanow (Nagroda 150000 doswiadczenia)",
"Zabij 120 UnderTakerow (Nagroda 200000 doswiadczenia)"
}
new questy_zabil[][]={
"Rey Mysteriow",
"Edge",
"The Rock",
"Triple H",
"Big Showow",
"Steve Austin",
"Kanow",
"UnderTakerow"
}
public plugin_init()
{
new map[32]
get_mapname(map,31)
new times[64]
get_time("%m/%d/%Y - %H:%M:%S" ,times,63)
log_to_file("addons/amxmodx/logs/diablo.log","%s ### MAPA: %s ### ",times,map)
register_cvar("diablo_sql_host","localhost",FCVAR_PROTECTED)
register_cvar("diablo_sql_user","root",FCVAR_PROTECTED)
register_cvar("diablo_sql_pass","root",FCVAR_PROTECTED)
register_cvar("diablo_sql_database","dbmod",FCVAR_PROTECTED)
register_cvar("diablo_sql_table","dbmod_tablet",FCVAR_PROTECTED)
register_cvar("diablo_sql_save","0",FCVAR_PROTECTED) // 0 - nick
// 1 - ip
// 2 - steam id
register_cvar("diablo_classes", "abcdefghijklmnoprst")
// a mga
// b Paladyn
// c Mnich
// d Pogromca
// e Barbarzynca
// f Nekromanta
// g Ninja
// h Hunter
register_cvar("diablo_avg", "1")
cvar_revival_time = register_cvar("amx_revkit_time", "3")
cvar_revival_health = register_cvar("amx_revkit_health", "25")
cvar_revival_dis = register_cvar("amx_revkit_distance", "70.0")
g_msg_bartime = get_user_msgid("BarTime")
g_msg_clcorpse = get_user_msgid("ClCorpse")
g_msg_screenfade= get_user_msgid("ScreenFade")
g_msg_statusicon= get_user_msgid("StatusIcon")
register_message(g_msg_clcorpse, "message_clcorpse")
register_event("HLTV", "event_hltv", "a", "1=0", "2=0")
register_forward(FM_Touch, "fwd_touch")
register_forward(FM_EmitSound, "fwd_emitsound")
register_forward(FM_PlayerPostThink, "fwd_playerpostthink")
register_plugin("DiabloMod","5.9i PL","Miczu & GuTeK")
register_cvar("diablomod_version","5.9i PL",FCVAR_SERVER)
register_cvar("flashlight_custom","1");
register_cvar("flashlight_drain","1.0");
register_cvar("flashlight_charge","0.5");
register_cvar("flashlight_radius","8");
register_cvar("flashlight_decay","90");
register_event("Flashlight","event_flashlight","b");
register_event("CurWeapon","CurWeapon","be", "1=1")
register_event("ResetHUD", "ResetHUD", "abe")
register_event("ScreenFade","det_fade","be","1!0","2!0","7!0")
register_event("DeathMsg","DeathMsg","ade")
register_event("Damage", "Damage", "b", "2!0")
register_event("SendAudio","freeze_over","b","2=%!MRAD_GO","2=%!MRAD_MOVEOUT","2=%!MRAD_LETSGO","2=%!MRAD_LOCKNLOAD")
register_event("SendAudio","freeze_begin","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
register_event("SendAudio", "WygrywaTT", "a", "2&%!MRAD_terwin");
register_event("SendAudio", "WygrywaCT", "a", "2&%!MRAD_ctwin");
register_event("SendAudio", "award_defuse", "a", "2&%!MRAD_BOMBDEF")
register_event("BarTime", "bomb_defusing", "be", "1=10", "1=5")
register_logevent("award_plant", 3, "2=Planted_The_Bomb");
register_event("StatusIcon", "got_bomb", "be", "1=1", "1=2", "2=c4")
register_event("TextMsg", "award_hostageALL", "a", "2&#All_Hostages_R" );
register_event("TextMsg","host_killed","b","2&#Killed_Hostage")
register_event("SendAudio","eventGrenade","bc","2=%!MRAD_FIREINHOLE")
register_event("TextMsg", "freeze_begin", "a", "2=#Game_will_restart_in")
register_clcmd("say drop","dropitem")
register_clcmd("say /drop","dropitem")
register_clcmd("say /przedmiot","iteminfo")
register_clcmd("say /item","iteminfo")
register_clcmd("przedmiot","iteminfo")
register_clcmd("/przedmiot","iteminfo")
register_clcmd("say /przedmiot","iteminfo")
register_clcmd("say /Pomoc","helpme")
register_clcmd("say /Vip","vip")
register_clcmd("say /vip","vip")
register_clcmd("say /Klasa","changerace")
register_clcmd("say /postac","changerace")
register_clcmd("say /speed","speed")
register_clcmd("say klasa","changerace")
register_clcmd("say /gracze","cmd_who")
register_clcmd("klasa","changerace")
register_clcmd("say /klasa","changerace")
register_clcmd("say /klasy","show_menu_klasy")
register_clcmd("say /zmianaklasy","changerace")
register_clcmd("say zmianaklasy","changerace")
register_clcmd("say /czary", "showskills")
register_clcmd("say czary", "showskills")
register_clcmd("say /menu","showmenu")
register_clcmd("menu","showmenu")
register_clcmd("say /komendy","komendy")
register_clcmd("pomoc","helpme")
register_clcmd("vip","vip")
register_clcmd("say /rune","buyrune")
register_clcmd("/rune","buyrune")
register_clcmd("rune","buyrune")
register_clcmd("/czary","showskills")
register_clcmd("/czary","showskills")
register_clcmd("noze","wybor")
register_clcmd("say /czary","showskills")
register_clcmd("say /czary","showskills")
register_clcmd("say /savexp","savexpcom")
//register_clcmd("say /loadxp","LoadXP")
register_clcmd("say /reset","reset_skill")
register_clcmd("reset","reset_skill")
register_clcmd("/reset","reset_skill")
register_clcmd("say /xp", "exp")
register_clcmd("say exp", "exp")
register_clcmd("say xp", "exp")
register_clcmd("say /exp", "exp")
register_clcmd("menu","showmenu")
register_clcmd("say /zadania","menu_questow")
register_clcmd("say /zadanie","menu_questow")
register_clcmd("say /speed","speed")
register_menucmd(register_menuid("Wybierz Staty"), 1023, "skill_menu")
register_menucmd(register_menuid("Nowe klasy1"), 1023, "klasy")
register_menucmd(register_menuid("Nowe klasy2"), 1023, "klasy2")
register_menucmd(register_menuid("Nowe klasy3"), 1023, "klasy3")
register_menucmd(register_menuid("Nowe klasy4"), 1023, "klasy4")
register_menucmd(register_menuid("Noz Ninja"), 1023, "nozninja")
register_menucmd(register_menuid("Opcje"), 1023, "option_menu")
register_menucmd(register_menuid("Klasy3"), 1023, "select_class_menu")
register_menucmd(register_menuid("Klasy1"), KeysKlasy, "select_class_menu1")
register_menucmd(register_menuid("Sklep z Runami"), 1023, "select_rune_menu")
register_menucmd(register_menuid("Sklep dla VIPa"), 1023, "select_rune_menu2")
register_menucmd(register_menuid("Informacja"), 1023, "vipbrak_menu")
register_menucmd(register_menuid("ultardiablokalsy"), KeysKlasy2, "PressedKlasy")
register_menucmd(register_menuid("Premium"), KeysKlasy1, "select_class_menu3")
register_menucmd(register_menuid("Mutanty"), KeysKlasy3, "PressedKlassy")
gmsgDeathMsg = get_user_msgid("DeathMsg")
gmsgStatusText = get_user_msgid("StatusText")
gmsgBartimer = get_user_msgid("BarTime")
gmsgScoreInfo = get_user_msgid("ScoreInfo")
register_cvar("diablo_dmg_exp","20",0)
register_cvar("diablo_xpbonus","5",0)
register_cvar("diablo_xpbonus2","100",0)
register_cvar("diablo_durability","10",0)
register_cvar("SaveXP", "1")
register_cvar("diablo_winxp", "5",0);
set_msg_block ( gmsgDeathMsg, BLOCK_SET )
set_task(5.0, "Timed_Healing", 0, "", 0, "b")
set_task(1.0, "Timed_Ghost_Check", 0, "", 0, "b")
set_task(0.8, "UpdateHUD",0,"",0,"b")
register_think("PlayerCamera","Think_PlayerCamera");
register_think("PowerUp","Think_PowerUp")
register_think("Effect_Rot","Effect_Rot_Think")
register_logevent("RoundStart", 2, "0=World triggered", "1=Round_Start")
register_clcmd("fullupdate","fullupdate")
register_clcmd("amx_giveitem", "giveitem",ADMIN_KICK, "Uzycie <amx_giveitem NICK idITemku")
register_forward(FM_WriteString, "FW_WriteString")
register_think("Effect_Ignite_Totem", "Effect_Ignite_Totem_Think")
register_think("Effect_Ignite", "Effect_Ignite_Think")
register_think("Effect_Slow","Effect_Slow_Think")
register_think("Effect_Timedflag","Effect_Timedflag_Think")
register_think("Effect_MShield","Effect_MShield_Think")
register_think("Effect_Teamshield","Effect_Teamshield_Think")
register_think("Effect_Healing_Totem","Effect_Healing_Totem_Think")
register_think("Effect_Zamroz_Totem","Effect_Zamroz_Totem_Think")
register_think("Effect_Grawi_Totem","Effect_Grawi_Totem_Think")
register_think("Effect_Nies_Totem","Effect_Nies_Totem_Think")
register_think("Effect_Trz_Totem","Effect_Trz_Totem_Think")
register_think("Effect_Kasa_Totem","Effect_Kasa_Totem_Think")
register_forward(FM_AddToFullPack, "client_AddToFullPack")
register_event("SendAudio","freeze_over1","b","2=%!MRAD_GO","2=%!MRAD_MOVEOUT","2=%!MRAD_LETSGO","2=%!MRAD_LOCKNLOAD")
register_event("SendAudio","freeze_begin1","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
register_cvar("diablo_dir", "addons/amxmodx/wwe/")
get_cvar_string("diablo_dir",Basepath,127)
register_event("Health", "Health", "be", "1!255")
register_cvar("diablo_show_health","1")
gmsgHealth = get_user_msgid("Health")
//noze
register_touch("throwing_knife", "player", "touchKnife")
register_touch("throwing_knife", "worldspawn", "touchWorld")
register_touch("throwing_knife", "func_wall", "touchWorld")
register_touch("throwing_knife", "func_door", "touchWorld")
register_touch("throwing_knife", "func_door_rotating", "touchWorld")
register_touch("throwing_knife", "func_wall_toggle", "touchWorld")
register_touch("throwing_knife", "dbmod_shild", "touchWorld")
register_touch("throwing_knife", "func_breakable", "touchbreakable")
register_touch("func_breakable", "throwing_knife", "touchbreakable")
register_cvar("diablo_knife","20")
register_cvar("diablo_knife_speed","1000")
register_touch("xbow_arrow", "player", "toucharrow")
register_touch("xbow_arrow", "worldspawn", "touchWorld2")
register_touch("xbow_arrow", "func_wall", "touchWorld2")
register_touch("xbow_arrow", "func_door", "touchWorld2")
register_touch("xbow_arrow", "func_door_rotating", "touchWorld2")
register_touch("xbow_arrow", "func_wall_toggle", "touchWorld2")
register_touch("xbow_arrow", "dbmod_shild", "touchWorld2")
register_touch("xbow_arrow", "func_breakable", "touchbreakable")
register_touch("func_breakable", "xbow_arrow", "touchbreakable")
register_cvar("diablo_klass_delay","2.5")
//Koniec noze
register_think("grenade", "think_Grenade")
register_think("think_bot", "think_Bot")
_create_ThinkBot()
g_vault = nvault_open("mana");
vault_questy = nvault_open("Questy");
vault_questy2 = nvault_open("Questy2");
register_forward(FM_TraceLine,"fw_traceline")
RegisterHam(Ham_TakeDamage, "player", "lustrzanypocisk");
g_msgHostageAdd = get_user_msgid("HostagePos");
g_msgHostageDel = get_user_msgid("HostageK");
set_task (2.0,"radar_scan",_,_,_,"b");
return PLUGIN_CONTINUE
}
public client_authorized(id)
{
client_cmd(id,"bind ^"v^" ^"say /menu^"")
client_cmd(id,"bind ^"n^" ^"noze^"")
}
public sql_start()
{
if(sqlstart<0) return
if(g_boolsqlOK) return
new host[128]
new user[64]
new pass[64]
new database[64]
get_cvar_string("diablo_sql_database",database,63)
get_cvar_string("diablo_sql_host",host,127)
get_cvar_string("diablo_sql_user",user,63)
get_cvar_string("diablo_sql_pass",pass,63)
g_SqlTuple = SQL_MakeDbTuple(host,user,pass,database)
get_cvar_string("diablo_sql_table",g_sqlTable,63)
new q_command[512]
format(q_command,511,"CREATE TABLE IF NOT EXISTS `%s` ( `nick` VARCHAR( 64 ),`ip` VARCHAR( 64 ),`sid` VARCHAR( 64 ), `klasa` integer( 2 ) , `lvl` integer( 3 ) DEFAULT 1, `exp` integer( 9 ) DEFAULT 0, `str` integer( 3 ) DEFAULT 0, `int` integer( 3 ) DEFAULT 0, `dex` integer( 3 ) DEFAULT 0,`pak` integer( 3 ) DEFAULT 0,`agi` integer( 3 ) DEFAULT 0,`kas` integer( 3 ) DEFAULT 0,`dam` integer( 3 ) DEFAULT 0,`men` integer( 3 ) DEFAULT 0, `niew` integer( 3 ) DEFAULT 0 ) ",g_sqlTable)
SQL_ThreadQuery(g_SqlTuple,"TableHandle",q_command)
}
//sql//
public TableHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
// lots of error checking
g_boolsqlOK=1
if(Errcode)
{
g_boolsqlOK=0
log_to_file("addons/amxmodx/logs/diablo.log","Error on Table query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
g_boolsqlOK=0
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Table Query failed.")
g_boolsqlOK=0
return PLUGIN_CONTINUE
}
LoadAVG()
return PLUGIN_CONTINUE
}
public create_klass(id)
{
if(g_boolsqlOK)
{
if(!is_user_bot(id) && database_user_created[id]==0)
{
new name[64]
new ip[64]
new sid[64]
get_user_name(id,name,63)
replace_all ( name, 63, "'", "Q" )
replace_all ( name, 63, "`", "Q" )
get_user_ip ( id, ip, 63, 1 )
get_user_authid(id, sid ,63)
log_to_file("addons/amxmodx/logs/test_log.log","*** %s %s *** Create Class ***",name,sid)
for(new i=1;i<26;i++)
{
new q_command[512]
format(q_command,511,"INSERT INTO `%s` (`nick`,`ip`,`sid`,`klasa`,`lvl`,`exp`) VALUES ('%s','%s','%s',%i,%i,%i ) ",g_sqlTable,name,ip,sid,i,srv_avg[i],LevelXP[srv_avg[i]-1])
SQL_ThreadQuery(g_SqlTuple,"create_klass_Handle",q_command)
}
database_user_created[id]=1
}
}
else sql_start()
}
public create_klass_Handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
// lots of error checking
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on create klass query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","create klass Query failed.")
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public load_xp(id)
{
if(g_boolsqlOK /*&& */)
{
if(!is_user_bot(id))
{
new name[64]
new data[1]
data[0]=id
if(get_cvar_num("diablo_sql_save")==0)
{
get_user_name(id,name,63)
replace_all ( name, 63, "'", "Q" )
replace_all ( name, 63, "`", "Q" )
new q_command[512]
format(q_command,511,"SELECT `klasa` FROM `%s` WHERE `nick`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"SelectHandle",q_command,data,1)
}
else if(get_cvar_num("diablo_sql_save")==1)
{
get_user_ip(id, name ,63,1)
new q_command[512]
format(q_command,511,"SELECT `klasa` FROM `%s` WHERE `ip`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"SelectHandle",q_command,data,1)
}
else if(get_cvar_num("diablo_sql_save")==2)
{
get_user_authid(id, name ,63)
new q_command[512]
format(q_command,511,"SELECT `klasa` FROM `%s` WHERE `sid`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"SelectHandle",q_command,data,1)
}
loaded_xp[id]=1
}
}
else sql_start()
}
public SelectHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on load_xp query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","load_xp Query failed.")
return PLUGIN_CONTINUE
}
if(SQL_MoreResults(Query)) return PLUGIN_CONTINUE
else create_klass(Data[0])
return PLUGIN_CONTINUE
}
//sql//
public Health(id)
{
if(get_cvar_num("diablo_show_health")==1)
{
new health = read_data(1)
if(health>255)
{
message_begin( MSG_ONE, gmsgHealth, {0,0,0}, id )
write_byte( 255 )
message_end()
}
}
}
public plugin_precache()
{
precache_model("models/rpgrocket.mdl")
precache_model("models/bag.mdl")
precache_model("models/zombie.mdl")
precache_model("addons/amxmodx/wwe/mine.mdl")
precache_model("addons/amxmodx/wwe/totem_ignite.mdl")
precache_model("addons/amxmodx/wwe/totem_heal.mdl")
precache_model("models/player/arctic/arctic.mdl")
precache_model("models/player/leet/leet.mdl")
precache_model("models/player/guerilla/guerilla.mdl")
precache_model("models/player/terror/terror.mdl")
precache_model("models/player/urban/urban.mdl")
precache_model("models/player/sas/sas.mdl")
precache_model("models/player/gsg9/gsg9.mdl")
precache_model("models/player/gign/gign.mdl")
precache_model(SWORD_VIEW)
precache_model(SWORD_PLAYER)
precache_model(KOSA_VIEW)
precache_model(SZPONY_VIEW)
precache_model(BAR_VIEW)
precache_model(SAP_VIEW)
precache_model(KAM_VIEW)
precache_model(DIABLO_VIEW)
precache_model(LASKA_VIEW)
precache_model(DEMON_VIEW)
precache_model(KNIFE_VIEW)
precache_model(KNIFE_PLAYER)
precache_model(C4_VIEW)
precache_model(C4_PLAYER)
precache_model(HE_VIEW)
precache_model(HE_PLAYER)
precache_model(FL_VIEW)
precache_model(FL_PLAYER)
precache_model(SE_VIEW)
precache_model(SE_PLAYER)
precache_sound("weapons/xbow_hit2.wav")
precache_sound("weapons/xbow_fire1.wav")
precache_sound("wwesound/levelup.wav");
precache_sound("wwesound/menu.wav");
precache_sound("wwesound/select.wav");
precache_sound("wwesound/odrodzenie.wav");
precache_sound("wwesound/speed.wav");
precache_sound("wwesound/hit.wav");
precache_sound("wwesound/piorun.wav");
precache_sound("wwesound/smackdown.wav");
precache_sound("wwesound/raw.wav");
sprite_blood_drop = precache_model("sprites/blood.spr")
sprite_blood_spray = precache_model("sprites/bloodspray.spr")
sprite_ignite = precache_model("addons/amxmodx/wwe/flame.spr")
sprite_smoke = precache_model("sprites/steam1.spr")
sprite_laser = precache_model("sprites/laserbeam.spr")
sprite_boom = precache_model("sprites/zerogxplode.spr")
sprite_line = precache_model("sprites/dot.spr")
sprite_lgt = precache_model("sprites/lgtning.spr")
sprite_white = precache_model("sprites/white.spr")
sprite_fire = precache_model("sprites/explode1.spr")
sprite_gibs = precache_model("models/hgibs.mdl")
sprite_beam = precache_model("sprites/zbeam4.spr")
sprite_lgt=precache_model("sprites/muzzleflash1.spr")
sprite_kula = precache_model("sprites/aeroblast.spr")
precache_model("models/player/arctic/arctic.mdl")
precache_model("models/player/terror/terror.mdl")
precache_model("models/player/leet/leet.mdl")
precache_model("models/player/guerilla/guerilla.mdl")
precache_model("models/player/gign/gign.mdl")
precache_model("models/player/sas/sas.mdl")
precache_model("models/player/gsg9/gsg9.mdl")
precache_model("models/player/urban/urban.mdl")
precache_model("models/player/vip/vip.mdl")
precache_sound(SOUND_START)
precache_sound(SOUND_FINISHED)
precache_sound(SOUND_FAILED)
precache_sound(SOUND_EQUIP)
precache_sound("wwemodsound/4MOVE.mp3")
precache_sound("weapons/knife_hitwall1.wav")
precache_sound("weapons/knife_hit4.wav")
precache_sound("weapons/knife_deploy1.wav")
precache_model("models/wwemod/w_throwingknife.mdl")
precache_model("models/wwemod/bm_block_platform.mdl")
precache_model(cbow_VIEW)
precache_model(cvow_PLAYER)
precache_model(cbow_bolt)
}
public plugin_cfg() {
server_cmd("sv_maxspeed 1500")
}
public savexpcom(id)
{
if(get_cvar_num("SaveXP") == 1 && player_class[id]!=0 && player_class_lvl[id][player_class[id]]==player_lvl[id] )
{
SubtractStats(id,player_b_extrastats[id])
SubtractRing(id)
SaveXP(id)
BoostStats(id,player_b_extrastats[id])
BoostRing(id)
}
}
public SaveXP(id)
{
if(g_boolsqlOK)
{
if(!is_user_bot(id) && player_xp[id]!=player_xp_old[id])
{
new name[64]
new ip[64]
new sid[64]
get_user_name(id,name,63)
replace_all ( name, 63, "'", "Q" )
replace_all ( name, 63, "`", "Q" )
get_user_ip(id, ip ,63,1)
get_user_authid(id, sid ,63)
if(get_cvar_num("diablo_sql_save")==0)
{
new q_command[512]
format(q_command,511,"UPDATE `%s` SET `ip`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`pak`='%i',`kas`='%i',`dam`='%i',`men`='%i',`agi`='%i',`niew`='%i' WHERE `nick`='%s' AND `klasa`='%i' ",g_sqlTable,ip,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_expstat[id],player_kas[id],player_dama[id],player_men[id],player_agility[id],player_niew[id],name,player_class[id])
SQL_ThreadQuery(g_SqlTuple,"Save_xp_handle",q_command)
}
else if(get_cvar_num("diablo_sql_save")==1)
{
new q_command[512]
format(q_command,511,"UPDATE `%s` SET `nick`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`pak`='%i',`kas`='%i',`dam`='%i',`men`='%i',`agi`='%i',`niew`='%i' WHERE `ip`='%s' AND `klasa`='%i' ",g_sqlTable,name,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_expstat[id],player_kas[id],player_dama[id],player_men[id],player_agility[id],player_niew[id],ip,player_class[id])
SQL_ThreadQuery(g_SqlTuple,"Save_xp_handle",q_command)
}
else if(get_cvar_num("diablo_sql_save")==2)
{
new q_command[512]
format(q_command,511,"UPDATE `%s` SET `nick`='%s',`ip`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`pak`='%i',`kas`='%i',`dam`='%i',`men`='%i',`agi`='%i',`niew`='%i' WHERE `sid`='%s' AND `klasa`='%i' ",g_sqlTable,name,ip,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_expstat[id],player_kas[id],player_dama[id],player_men[id],player_agility[id],player_niew[id],sid,player_class[id])
SQL_ThreadQuery(g_SqlTuple,"Save_xp_handle",q_command)
}
player_xp_old[id]=player_xp[id]
}
}
else sql_start()
return PLUGIN_HANDLED
}
public Save_xp_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on Save_xp query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Save_xp Query failed.")
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public LoadXP(id, klasa){
if(is_user_bot(id) || asked_sql[id]==1) return PLUGIN_HANDLED
if(player_class[id]==0)load_xp(id)
if(g_boolsqlOK )
{
new name[64]
new data[2]
data[0]=id
data[1]=klasa
if(get_cvar_num("diablo_sql_save")==0)
{
get_user_name(id,name,63)
replace_all ( name, 63, "'", "Q" )
replace_all ( name, 63, "`", "Q" )
new q_command[512]
format(q_command,511,"SELECT * FROM `%s` WHERE `nick`='%s' AND `klasa`='%i'", g_sqlTable, name, player_class[id])
SQL_ThreadQuery(g_SqlTuple,"Load_xp_handle",q_command,data,2)
asked_sql[id]=1
}
else if(get_cvar_num("diablo_sql_save")==1)
{
get_user_ip(id, name ,63,1)
new q_command[512]
format(q_command,511,"SELECT * FROM `%s` WHERE `ip`='%s' AND `klasa`='%i'", g_sqlTable, name, player_class[id])
SQL_ThreadQuery(g_SqlTuple,"Load_xp_handle",q_command,data,2)
asked_sql[id]=1
}
else if(get_cvar_num("diablo_sql_save")==2)
{
get_user_authid(id, name ,63)
new q_command[512]
format(q_command,511,"SELECT * FROM `%s` WHERE `sid`='%s' AND `klasa`='%i'", g_sqlTable, name, player_class[id])
SQL_ThreadQuery(g_SqlTuple,"Load_xp_handle",q_command,data,2)
asked_sql[id]=1
}
}
else sql_start()
return PLUGIN_HANDLED
}
public Load_xp_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
new id = Data[0]
asked_sql[id]=0
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on Load_xp query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Load_xp Query failed.")
return PLUGIN_CONTINUE
}
if(SQL_MoreResults(Query))
{
player_class[id] = Data[1]
player_lvl[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"lvl"))
player_xp[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"exp"))
player_xp_old[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"exp"))
player_intelligence[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"int"))
player_strength[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"str"))
player_agility[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"agi"))
player_dextery[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"dex"))
player_expstat[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"pak"))
player_kas[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"kas"))
player_dama[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"dam"))
player_men[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"men"))
player_niew[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"niew"))
player_point[id]=(player_lvl[id]-1)*2-player_intelligence[id]-player_strength[id]-player_dextery[id]-player_agility[id]-player_niew[id]-(player_expstat[id]*25)-(player_kas[id]*10)-(player_dama[id]*30)-(player_men[id]*30)
if(player_point[id]<0) player_point[id]=0
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.006798*float(player_agility[id])))/100)
}
return PLUGIN_CONTINUE
}
public LoadAVG()
{
if(g_boolsqlOK)
{
new data[2]
data[0]= get_cvar_num("diablo_avg")
if(data[0])
{
for(new i=1;i<26;i++)
{
new q_command[512]
data[1]=i
//format(q_command,511,"SELECT AVG(`lvl`) FROM `%s` WHERE `lvl` > '%d' AND `klasa`='%d'", g_sqlTable, data[0]-1,i)
format(q_command,511,"SELECT `klasa`,AVG(`lvl`) AS `AVG` FROM `%s` WHERE `lvl` > '%d' GROUP BY `klasa`", g_sqlTable, data[0]-1)
SQL_ThreadQuery(g_SqlTuple,"Load_AVG_handle",q_command,data,2)
}
}
}
else sql_start()
return PLUGIN_HANDLED
}
public Load_AVG_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on Load_AVG query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Load_AVG Query failed.")
return PLUGIN_CONTINUE
}
/*
if(SQL_MoreResults(Query))
{
new Float: avg
SQL_ReadResult(Query, 0, avg)
srv_avg[Data[1]]=floatround(avg)
//client_print(0,print_chat,"srednia: %f",srv_avg)
}*/
while(SQL_MoreResults(Query))
{
new i = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "klasa"))
srv_avg[i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AVG"))
SQL_NextRow(Query)
}
if(olny_one_time==0)
{
olny_one_time=1
look_for_none()
}
return PLUGIN_CONTINUE
}
public look_for_none()
{
for(new i=1;i<26;i++)
{
if(is_user_alive(i))
{
if(player_class[i]==0)
{
select_class_query(i)
}
}
}
}
public reset_skill(id)
{
player_point[id] = player_lvl[id]*2-2
player_intelligence[id] = 0
player_strength[id] = 0
player_agility[id] = 0
player_niew[id] = 0
player_dextery[id] = 0
player_expstat[id] = 0
player_kas[id] = 0
player_dama[id] = 0
player_men[id] = 0
BoostRing(id)
BoostStats(id,player_b_extrastats[id])
skilltree(id)
set_speedchange(id)
set_armorchange(id)
set_invchange(id)
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.006798*float(player_agility[id])))/200)
}
public freeze_over()
{
//new Float: timea
//timea=get_cvar_float("diablo_klass_delay")
set_task(get_cvar_float("diablo_klass_delay"), "freezeover", 3659, "", 0, "")
}
public freezeover()
{
freeze_ended = true
}
public freeze_begin()
{
freeze_ended = false
}
public RoundStart(){
for (new i=0; i < 33; i++){
if (player_class[i] == Demon && is_user_alive(i) && random_num(1,5)==1)
{
new CsTeams:team=cs_get_user_team(i)
if(team==CS_TEAM_CT)
cs_set_user_team(i,CS_TEAM_T,CS_DONTCHANGE)
if(team==CS_TEAM_T)
cs_set_user_team(i,CS_TEAM_CT,CS_DONTCHANGE)
ExecuteHam(Ham_Spawn,i)
cs_set_user_team(i,team,CS_DONTCHANGE)
return 0
}
if(player_class[i] == Merial && !(task_exists (i))) check_medic(i)
if(player_class[i] == Druid && !(task_exists (i))) check_medic2(i)
}
for (new i=0; i < 33; i++){
if(player_class[i] == Wampir && player_item_id[i] == 0)
{
award_item(i,0)
}
}
for (new i=0; i < 33; i++){
plus_obrazenia[i] = 0
used_item[i] = false
DemageTake1[i]=1
count_jumps(i)
give_knife(i)
RemoveFlag(i,Flag_Rot) // to dodalem
JumpsLeft[i]=JumpsMax[i]
if(player_class[i] == Nekromanta) g_haskit[i]=1
else g_haskit[i]=0
golden_bulet[i]=0
invisible_cast[i]=0
ultra_armor[i]=0
ilerazy[i]=0
ilerazy1[i]=0
lustrzany_pocisk[i]=0
player_b_ninja[i]=0
plus_obrazenia[i] = 0
num_shild[i]=2+floatround(player_intelligence[i]/25.0,floatround_floor)
set_renderchange(i)
}
for (new i=0; i < 33; i++){
if(player_class[i]==Nekromanta)
changeskin(i,0)
}
kill_all_entity("throwing_knife")
Bot_Setup()
ghost_check = false
check_class()
use_addtofullpack = false
}
#if defined CHEAT
public giveitem(id)
{
award_item(id, 25)
return PLUGIN_HANDLED
}
public benchmark(id)
{
new Float:nowtime = halflife_time();
new iterations = 10
for (new i=0; i < iterations; i++)
{
UpdateHUD()
}
new Float:timespent = halflife_time()-nowtime
}
#endif
/* BASIC FUNCTIONS ================================================================================ */
public csw_c44(id)
{
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}
public CurWeapon(id)
{
after_bullet[id]=1
new clip,ammo
new weapon=get_user_weapon(id,clip,ammo)
invisible_cast[id]=0
if(weapon == CSW_KNIFE) on_knife[id]=1
else on_knife[id]=0
if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja)&& (player_item_id[id] != 127))
{
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}
if ((weapon != CSW_C4 && weapon != CSW_GLOCK18 && weapon != CSW_USP && weapon != CSW_P228 && weapon != CSW_DEAGLE && weapon != CSW_ELITE && weapon != CSW_FIVESEVEN && weapon != CSW_HEGRENADE && weapon != CSW_M3 && weapon != CSW_XM1014 && weapon != CSW_MP5NAVY && weapon != CSW_P90 && weapon != CSW_UMP45) && !on_knife[id] && (player_class[id] == Skrytobojca))
{
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}
if ((weapon != CSW_C4 ) && !on_knife[id] && (player_item_id[id] == 116))
{
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}
if (is_user_connected(id))
{
//if (player_item_id[id] == 17 || player_b_usingwind[id] == 1)// engclient_cmd(id,"weapon_knife")
if(player_sword[id] == 1)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER)
}
if(weapon == CSW_C4){
entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)
}
if(weapon == CSW_HEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)
}
if(weapon == CSW_FLASHBANG){
entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)
}
if(weapon == CSW_SMOKEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)
}
}
if(player_sword[id] == 0)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER)
}
if(weapon == CSW_C4){
entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)
}
if(weapon == CSW_HEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)
}
if(weapon == CSW_FLASHBANG){
entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)
}
if(weapon == CSW_SMOKEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)
}
}
if(player_class[id] == Xardas)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, LASKA_VIEW)
}
}
if(player_class[id] == Merial || player_class[id] == Druid)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, LASKA_VIEW)
}
}
if(player_class[id] == Ball)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Nekromanta)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, KOSA_VIEW)
}
}
if(player_class[id] == Wiking)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Paladyn)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW)
}
}
if(player_class[id] == Morderca)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Magneto)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Wampir)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Diablo)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, DIABLO_VIEW)
}
}
if(player_class[id] == Skoczek)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, SZPONY_VIEW)
}
}
if(player_class[id] == Demon)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, DEMON_VIEW)
}
}
if(player_nozninja[id] == 1)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, KAM_VIEW)
}
}
if(player_nozninja[id] == 2)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Skrytobojca)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Golem)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
if(player_class[id] == Tele)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, BAR_VIEW)
}
}
set_gravitychange(id)
set_speedchange(id)
set_armorchange(id)
set_invchange(id)
set_renderchange(id)
if(player_class[id] == Nekromanta) g_haskit[id] = true
else g_haskit[id] = false
write_hud(id)
}
}
public ResetHUD(id)
{
if (is_user_connected(id))
{
remove_task(id+GLUTON)
change_health(id,9999,0,"")
if (c4fake[id] > 0)
{
remove_entity(c4fake[id])
c4fake[id] = 0
}
SubtractStats(id,player_b_extrastats[id])
SubtractRing(id)
BoostStats(id,player_b_extrastats[id])
BoostRing(id)
fired[id] = 0
player_ultra_armor_left[id]=player_ultra_armor[id]
player_b_dagfired[id] = false
ghoststate[id] = 0
earthstomp[id] = 0
if (player_b_blink[id] > 0)
player_b_blink[id] = 1
if (player_b_usingwind[id] > 0)
{
player_b_usingwind[id] = 0
}
if (player_point[id] > 0 ) skilltree(id)
if (player_class[id] == 0) select_class_query(id)
add_bonus_gamble(id)//MUST be first
add_bonus_totemy(id)// losowanie Legion-d
add_zycie_bonus(id)
kasanarunde(id)
add_bonus_exp(id)
c4state[id] = 0
client_cmd(id,"hud_centerid 0")
auto_help(id)
add_money_bonus(id)
set_gravitychange(id)
add_redhealth_bonus(id)
SelectBotRace(id)
set_renderchange(id)
add_burn_bonus(id)
add_glowa_bonus(id)
}
}
public DeathMsg(id)
{
new weaponname[20]
new kid = read_data(1)
new vid = read_data(2)
new headshot = read_data(3)
read_data(4,weaponname,31)
reset_player(vid)
msg_bartime(id, 0)
static Float:minsize[3]
pev(vid, pev_mins, minsize)
if(minsize[2] == -18.0)
g_wasducking[vid] = true
else
g_wasducking[vid] = false
set_task(0.5, "task_check_dead_flag", vid)
flashbattery[vid] = MAX_FLASH;
flashlight[vid] = 0;
if(player_sword[id] == 1){
if(on_knife[id]){
if(get_user_team(kid) != get_user_team(vid)) {
set_user_frags(kid, get_user_frags(kid) + 1)
award_kill(kid,vid)
}
}
}
if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid))
{
show_deadmessage(kid,vid,headshot,weaponname)
award_item(kid,0)
award_kill(kid,vid)
add_respawn_bonus(vid)
add_bonus_explode(vid)
add_barbarian_bonus(kid)
if (player_class[kid] == Wiking)
refill_ammo(kid)
set_renderchange(kid)
player_pkt[kid]+=1
savexpcom(vid)
if(quest_gracza[kid] != -1){
if(player_class[vid] == questy[quest_gracza[kid]][2]){
ile_juz[kid]++;
zapisz_aktualny_quest(kid)
}
if(ile_juz[kid] == questy[quest_gracza[kid]][1]){
client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3])
zapisz_questa(kid,quest_gracza[kid])
Give_Xp(kid,questy[quest_gracza[kid]][3]);
quest_gracza[kid] = -1;
zapisz_aktualny_quest(kid)
}
else
{
client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]])
}
}
}
}
public Damage(id)
{
if (is_user_connected(id))
{
new weapon
new bodypart
if(get_user_attacker(id,weapon,bodypart)!=0)
{
new damage = read_data(2)
new attacker_id = get_user_attacker(id,weapon,bodypart)
if (is_user_connected(attacker_id) && attacker_id != id)
{
if(get_user_team(id) != get_user_team(attacker_id))
{
if(damage>175) player_dmg[attacker_id]+=damage/2
else player_dmg[attacker_id]+=damage
dmg_exp(attacker_id)
}
add_damage_bonus(id,damage,attacker_id)
add_vampire_bonus(id,damage,attacker_id)
add_bandyta_bonus(attacker_id,id)
add_bonus_magnez(attacker_id,id)
add_bonus_shake(attacker_id,id)
add_grenade_bonus(id,attacker_id,weapon)
add_theif_bonus(id,attacker_id)
add_bonus_blind(id,attacker_id,weapon,damage)
add_bonus_redirect(id)
add_bonus_necromancer(attacker_id,id)
add_bonus_scoutdamage(attacker_id,id,weapon)
add_bonus_m4masterdamage(attacker_id,id,weapon)
add_bonus_mp5masterdamage(attacker_id,id,weapon)
add_bonus_m3masterdamage(attacker_id,id,weapon)
add_bonus_glockmasterdamage(attacker_id,id,weapon)
add_bonus_deaglmasterdamage(attacker_id,id,weapon)
add_bonus_krowamasterdamage(attacker_id,id,weapon)
add_bonus_knifedamage(attacker_id,id,weapon)
add_bonus_awpdamage(attacker_id,id,weapon)
add_bonus_darksteel(attacker_id,id,damage)
add_bonus_illusion(attacker_id,id,weapon)
item_take_damage(id,damage)
if((player_sword[attacker_id] == 1 ) && weapon==CSW_KNIFE )
change_health(id,-35,attacker_id,"world")
if (HasFlag(attacker_id,Flag_Ignite))
RemoveFlag(attacker_id,Flag_Ignite)
if((HasFlag(id,Flag_Illusion) || HasFlag(id,Flag_Teamshield))&& get_user_health(id) - damage > 0)
{
new weaponname[32]; get_weaponname( weapon, weaponname, 31 ); replace(weaponname, 31, "weapon_", "")
UTIL_Kill(attacker_id,id,weaponname)
}
if (HasFlag(id,Flag_Moneyshield))
change_health(id,damage/2,0,"")
if (damage > 0 && player_agility[id] > 0)
{
new heal = floatround(player_damreduction[id]*damage)
if (is_user_alive(id)) change_health(id,heal,0,"")
}
if (HasFlag(id,Flag_Teamshield_Target))
{
new owner = find_owner_by_euser(id,"Effect_Teamshield")
new weaponname[32]; get_weaponname( weapon, weaponname, 31 ); replace(weaponname, 31, "weapon_", "")
if (is_user_alive(owner))
{
change_health(attacker_id,-damage,owner,weaponname)
change_health(id,damage/2,0,"")
}
}
if(weapon == CSW_DEAGLE && player_item_id[attacker_id] == 129)
change_health(id,-65,attacker_id,"world")
if(weapon == CSW_GLOCK18 || weapon == CSW_USP || weapon == CSW_P228 || weapon == CSW_DEAGLE || weapon == CSW_ELITE || weapon == CSW_FIVESEVEN)
{
if(plus_obrazenia[attacker_id] > 0 && get_user_health(id) > plus_obrazenia[attacker_id])
{
change_health(id,-plus_obrazenia[attacker_id],attacker_id,"")
if(random(3) == 1) Effect_Bleed(id,248)
}
switch(player_class[attacker_id])
{
case Magneto:
{
agi=(BASE_SPEED / 2)
set_speedchange(id)
if(DemageTake[id]==0)
{
DemageTake[id]=1
set_task(11.0, "funcReleaseVic", id)
set_task(11.0, "funcReleaseVic2", id)
set_task(2.0, "funcDemageVic", id+GLUTON)
}
}
case Ball:
{
if (random_num(1,6)==1)
set_task(0.5, "wywal", id)
}
case Hunter:
{
if (random_num(1,8)==1)
set_task(0.5,"beamfollow",id)
}
}
}
}
}
}
}
public un_rander(task_id){
new id = task_id - TASK_FLASH_LIGHT
if(is_user_connected(id)){
if (player_class[id] == Ninja) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 100)
Display_Icon(id,0,"dmg_bio",255,0,0)
}
}
public client_PreThink ( id )
{
if(!is_user_alive(id)||is_user_bot(id)) return PLUGIN_CONTINUE
new clip,ammo
new weapon = get_user_weapon(id,clip,ammo)
new button2 = get_user_button(id);
if(player_class[id]==Paladyn && weapon == CSW_KNIFE && freeze_ended)
{
if((button2 & IN_DUCK) && (button2 & IN_JUMP))
{
if(JumpsLeft[id]>0)
{
new flags = pev(id,pev_flags)
if(flags & FL_ONGROUND)
{
set_pev ( id, pev_flags, flags-FL_ONGROUND )
JumpsLeft[id]--
new Float:va[3],Float:v[3]
entity_get_vector(id,EV_VEC_v_angle,va)
v[0]=floatcos(va[1]/180.0*M_PI)*560.0
v[1]=floatsin(va[1]/180.0*M_PI)*560.0
v[2]=300.0
entity_set_vector(id,EV_VEC_velocity,v)
write_hud(id)
}
}
}
}
if (button2 & IN_ATTACK2 && (player_class[id]==Diablo || player_b_luneta[id]==1) && !(get_user_oldbutton(id) & IN_ATTACK2)){
if (weapon !=CSW_KNIFE && weapon != CSW_AWP && weapon != CSW_SCOUT){
if (cs_get_user_zoom(id)==CS_SET_NO_ZOOM) cs_set_user_zoom ( id, CS_SET_AUGSG552_ZOOM, 1 )
else cs_set_user_zoom(id,CS_SET_NO_ZOOM,1)
}
}
if(get_user_button(id) & IN_ATTACK)
{
new Float:punchangle[3];
if(player_class[id] == Merial)
{
entity_get_vector(id, EV_VEC_punchangle, punchangle);
for(new i=0; i<3;i++)
punchangle[i]*=0.9;
entity_set_vector(id, EV_VEC_punchangle, punchangle);
}
}
if( get_user_button(id) & IN_ATTACK2 && player_class[id]==Xardas && !(get_user_oldbutton(id) & IN_ATTACK2) && is_user_alive(id))
{
if (on_knife[id])
{
if (halflife_time()-player_b_blink[id] <= 3) return PLUGIN_HANDLED
player_b_blink[id] = floatround(halflife_time())
UTIL_Teleport(id,500+15*player_intelligence[id]+50*ilerazy[id])
}
}
if( get_user_button(id) & IN_USE && player_class[id]==Merial && !(get_user_oldbutton(id) & IN_ATTACK2) && is_user_alive(id))
{
if (on_knife[id])
{
if(player_lvl[id] < 50)
piorun(id)
if(player_lvl[id] >50 && player_lvl[id] < 90)
piorun1(id)
if(player_lvl[id] > 89)
piorun2(id)
}
}
if( get_user_button(id) & IN_USE && player_class[id]==Xardas && !(get_user_oldbutton(id) & IN_ATTACK2) && is_user_alive(id))
{
if (on_knife[id])
{
item_mine(id)
}
}
if( get_user_button(id) & IN_USE && player_class[id]==Diablo && !(get_user_oldbutton(id) & IN_ATTACK2) && is_user_alive(id))
{
if (on_knife[id])
{
item_zamroz(id)
}
}
if (get_user_button(id) & IN_DUCK && player_class[id]==Skoczek )
{
//start holding down button here, set to halflife time
if (player_b_froglegs[id] == 1)
{
player_b_froglegs[id] = floatround(halflife_time())
}
else
{
if (floatround(halflife_time())-player_b_froglegs[id] >= 2.0)
{
new Float:fl_iNewVelocity[3]
VelocityByAim(id, 1000, fl_iNewVelocity)
fl_iNewVelocity[2] = 210.0
entity_set_vector(id, EV_VEC_velocity, fl_iNewVelocity)
player_b_froglegs[id] = 1
}
}
}
if (flashlight[id] && flashbattery[id] && (get_cvar_num("flashlight_custom")) && (player_class[id] == Xardas || player_class[id] == Mnich || player_b_latarka[id] == 1)) {
new num1, num2, num3
num1=random_num(0,2)
num2=random_num(-1,1)
num3=random_num(-1,1)
flashlight_r+=1+num1
if (flashlight_r>250) flashlight_r-=245
flashlight_g+=1+num2
if (flashlight_g>250) flashlight_g-=245
flashlight_b+=-1+num3
if (flashlight_b<5) flashlight_b+=240
new origin[3];
get_user_origin(id,origin,3);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(27); // TE_DLIGHT
write_coord(origin[0]); // X
write_coord(origin[1]); // Y
write_coord(origin[2]); // Z
write_byte(get_cvar_num("flashlight_radius")); // radius
write_byte(flashlight_r); // R
write_byte(flashlight_g); // G
write_byte(flashlight_b); // B
write_byte(1); // life
write_byte(get_cvar_num("flashlight_decay")); // decay rate
message_end();
new index1, bodypart1
get_user_aiming(id,index1,bodypart1)
if ((get_user_team(id)!=get_user_team(index1)) && (index1!=0))
if (( player_class[id] == Mnich || player_class[id] == Xardas || player_b_latarka[id] == 1))
{
if ((index1!=54) && (is_user_connected(index1))) set_user_rendering(index1,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)
remove_task(TASK_FLASH_LIGHT+index1);
set_task(7.5, "un_rander",TASK_FLASH_LIGHT+index1)
//set_task(15.0,"un_rander",TASK_NAME,index1)
if(player_class[id] == Ninja)
{
message_begin(MSG_ONE,g_msg_statusicon,{0,0,0},index1)
write_byte(2)
write_string("dmg_bio")
write_byte(255)
write_byte(0)
write_byte(0)
message_end()
}
}
}
if (entity_get_int(id, EV_INT_button) & 2 && player_class[id]==Druid)
{
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
//Before freeze_ended check
if (((player_b_silent[id] > 0) || (player_class[id] == Skrytobojca) || (player_class[id] == Wampir)) && is_user_alive(id))
entity_set_int(id, EV_INT_flTimeStepSound, 300)
new Float:vect[3]
entity_get_vector(id,EV_VEC_velocity,vect)
new Float: sped= floatsqroot(vect[0]*vect[0]+vect[1]*vect[1]+vect[2]*vect[2])
if((get_user_maxspeed(id)*5)>(sped*9))
entity_set_int(id, EV_INT_flTimeStepSound, 300)
//bow model
if (button2 & IN_RELOAD && on_knife[id] && button[id]==0){
bow[id]++
button[id] = 1;
command_bow(id)
}
if ((!(button2 & IN_RELOAD)) && on_knife[id] && button[id]==1) button[id]=0
//
if (!freeze_ended)
return PLUGIN_CONTINUE
if (earthstomp[id] != 0 && is_user_alive(id))
{
static Float:fallVelocity;
pev(id,pev_flFallVelocity,fallVelocity);
if(fallVelocity) falling[id] = true
else falling[id] = false;
}
if (player_b_jumpx[id] > 0 || c_jump[id] > 0) Prethink_Doublejump(id)
if (player_b_blink[id] > 0) Prethink_Blink(id)
if (player_b_usingwind[id] == 1) Prethink_usingwind(id)
if (player_b_oldsen[id] > 0) Prethink_confuseme(id)
if (player_b_froglegs[id] > 0) Prethink_froglegs(id)
//USE Button actives USEMAGIC
if (get_entity_flags(id) & FL_ONGROUND && (!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)) || (player_class[id] == Skrytobojca)) && is_user_alive(id) && !bow[id] && (on_knife[id] || (player_class[id] == NONE)) && player_class[id]!=NONE && invisible_cast[id]==0)
{
if(casting[id]==1 && halflife_time()>cast_end[id])
{
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( 0 )
write_byte( 0 )
message_end()
casting[id]=0
call_cast(id)
}
else if(casting[id]==0)
{
new Float: time_delay = 5.0-(player_intelligence[id]/50.0)
if(player_class[id] == Ninja) time_delay*=2.0
else if(player_class[id] == Xardas) time_delay*=1.0
else if(player_class[id] == Ball) time_delay*=1.6
else if(player_class[id] == Paladyn) time_delay*=1.4
else if(player_class[id] == Nekromanta) time_delay*=1.4
else if(player_class[id] == Skrytobojca) time_delay*=0.0
else if(player_class[id] == Diablo) time_delay*=1.6
else if(player_class[id] == Morderca) time_delay*=1.6
cast_end[id]=halflife_time()+time_delay
new bar_delay = floatround(time_delay,floatround_ceil)
casting[id]=1
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( bar_delay )
write_byte( 0 )
message_end()
}
}
else
{
if(casting[id]==1)
{
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( 0 )
write_byte( 0 )
message_end()
}
casting[id]=0
}
if (pev(id,pev_button) & IN_USE && !casting[id])
Use_Spell(id)
if(player_class[id]==Ninja && (pev(id,pev_button) & IN_RELOAD)) command_knife(id)
else if (pev(id,pev_button) & IN_RELOAD && on_knife[id] && max_knife[id]>0) command_knife(id)
///////////////////// BOW /////////////////////////
if(player_class[id]==Hunter)
{
new clip,ammo
new weapon = get_user_weapon(id,clip,ammo)
if(bow[id] == 1)
{
if((bowdelay[id] + 4.5 - float(player_intelligence[id]/50))< get_gametime() && button2 & IN_ATTACK)
{
new rd2 = floatround(4.25 - float(player_intelligence[id]/50), floatround_ceil)
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( rd2 )
write_byte( 0 )
client_cmd(id, "spk diablosound/hit.wav")
message_end()
bowdelay[id] = get_gametime()
command_arrow(id)
}
entity_set_int(id, EV_INT_button, (button2 & ~IN_ATTACK) & ~IN_ATTACK2)
}
// nade
if(g_GrenadeTrap[id] && button2 & IN_ATTACK2)
{
switch(weapon)
{
case CSW_HEGRENADE, CSW_FLASHBANG, CSW_SMOKEGRENADE:
{
if((g_PreThinkDelay[id] + 0.28) < get_gametime())
{
switch(g_TrapMode[id])
{
case 0: g_TrapMode[id] = 1
case 1: g_TrapMode[id] = 0
}
client_print(id, print_center, "Grenade Trap %s", g_TrapMode[id] ? "[Wlaczony]" : "[Wylaczony]")
g_PreThinkDelay[id] = get_gametime()
}
}
default: g_TrapMode[id] = 0
}
}
}
///////////////////////////////////////////////////
return PLUGIN_CONTINUE
}
public client_PostThink( id )
{
if (player_b_jumpx[id] > 0 || c_jump[id] > 0 )Postthink_Doubeljump(id)
if (earthstomp[id] != 0 && is_user_alive(id))
{
if (!falling[id]) add_bonus_stomp(id)
else set_pev(id,pev_watertype,-3)
}
}
public client_AddToFullPack(ent_state,e,edict_t_ent,edict_t_host,hostflags,player,pSet)
{
//No players need this rather cpu consuming function - dont run
if (!use_addtofullpack)
return FMRES_HANDLED
if (!pev_valid(e)|| !pev_valid(edict_t_ent) || !pev_valid(edict_t_host))
return FMRES_HANDLED
new classname[32]
pev(e,pev_classname,classname,31)
new hostclassname[32]
pev(edict_t_host,pev_classname,hostclassname,31)
if (equal(classname,"player") && equal(hostclassname,"player") && player)
{
// only take effect if both players are alive & and not somthing else like a ladder
if (is_user_alive(e) && is_user_alive(edict_t_host) && e != edict_t_host)
{
//host looks at e
if (HasFlag(e,Flag_Illusion))
return FMRES_SUPERCEDE
//E Is looking at t and t has the flag
if (HasFlag(edict_t_host,Flag_Illusion))
return FMRES_SUPERCEDE
}
}
return FMRES_HANDLED
}
/* FUNCTIONS ====================================================================================== */
public skilltree(id)
{
new texte[513]
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
format(texte, 512, "\yWybierz Staty- \rPunkty: %i^n^n\w1. Inteligencja [%i] ^n\w2. Sila [%i] [Dodaje ci %i hp]^n\w3. Odpornosc [%i] [Bronie zadaja ci mniejsze o %0.0f%% obrazenia]^n\w4. Szbykosc [%i]^n\w5. Kradziez \yPoziom \w[%i] [\yDodaje Wiecej kasy \r( + %i ) \w]^n6. Pancerz \yPoziom \w[%i] [\yWiecej Pancerza \w]^n7. Adrenalina \yPoziom \w[%i] [\y Szansa Na Krytyczne Uderzenie \r( %i%% ) \w] ^n8. Mentalnosc \yPoziom \w[%i] [\y Wiecej Obrony \r( %i ) \w]^n\w9. Grawitacja [%i] ",
player_point[id],player_intelligence[id],player_strength[id],
player_strength[id]*2,player_agility[id],player_damreduction[id]*100,player_dextery[id],
player_expstat[id],player_expstat[id]*1500,player_kas[id],
player_dama[id],player_dama[id]*5,
player_men[id],player_men[id]*5,player_niew[id])
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
show_menu(id, keys, texte)
return PLUGIN_HANDLED
}
public skill_menu(id, key)
{
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
if (player_intelligence[id]<250){
player_point[id]-=1
player_intelligence[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom inteligencji osiagniety")
}
case 1:
{
if (player_class[id] != Marlok)
{
if (player_strength[id]<200){
player_point[id]-=1
player_strength[id]+=1
}
}
else if (player_strength[id]<250){
player_point[id]-=1
player_strength[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom sily osiagniety")
}
case 2:
{
if (player_agility[id]<50){
player_point[id]-=1
player_agility[id]+=1
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.006798*float(player_agility[id])))/100)
}
else client_print(id,print_center,"Maxymalny poziom odpornosci osiagniety")
}
case 3:
{
if (player_dextery[id]<250){
player_point[id]-=1
player_dextery[id]+=1
set_speedchange(id)
}
else client_print(id,print_center,"Maxymalny poziom zwinnosci osiagniety")
}
case 4:
{
if (player_expstat[id]<5 && player_point[id]>25){
player_point[id]-=25
player_expstat[id]+=1
client_print(id,print_center,"Poziom %i",player_expstat[id])
}
else client_print(id,print_center,"Potrzebujesz 25pkt Lub osiagnoles juz maksymalny 5 Poziom")
}
case 5:
{
if (player_kas[id]<40 && player_point[id]>20){
player_point[id]-=5
player_kas[id]+=1
set_armorchange(id)
client_print(id,print_center,"Poziom %i",player_kas[id])
}
else client_print(id,print_center,"Potrzebujesz 20pkt Lub osiagnoles juz maksymalny 40 Poziom")
}
case 6:
{
if (player_dama[id]<2 && player_point[id]>29){
player_point[id]-=30
player_dama[id]+=1
client_print(id,print_center,"Poziom %i",player_dama[id])
}
else client_print(id,print_center,"Potrzebujesz 30pkt Lub osiagnoles juz maksymalny 2 Poziom")
}
case 7:
{
if (player_men[id]<2 && player_point[id]>29){
player_point[id]-=30
player_men[id]+=1
client_print(id,print_center,"Poziom %i",player_men[id])
}
else client_print(id,print_center,"Potrzebujesz 30pkt Lub osiagnoles juz maksymalny 2 Poziom")
}
case 8:
{
if (player_niew[id]<35 && player_point[id]>19){
player_point[id]-=20
player_niew[id]+=1
set_invchange(id)
}
else client_print(id,print_center,"Potrzebujesz 20 punktow lub osiagnoles juz maksymalnie 35 poziom")
}
}
if (player_point[id] > 0)
skilltree(id)
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public show_deadmessage(killer_id,victim_id,headshot,weaponname[])
{
if (!(killer_id==victim_id && !headshot && equal(weaponname,"world")))
{
message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0)
write_byte(killer_id)
write_byte(victim_id)
write_byte(headshot)
write_string(weaponname)
message_end()
}
}
/* ==================================================================================================== */
public got_bomb(id){
planter = id;
return PLUGIN_CONTINUE
}
public award_plant()
{
new Players[32], playerCount, id
get_players(Players, playerCount, "aeh", "TERRORIST")
for (new i=0; i<playerCount; i++)
{
id = Players[i]
Give_Xp(id,get_cvar_num("diablo_xpbonus"))
if( get_user_flags(id) & ADMIN_LEVEL_H)
client_print(id,print_chat,"Jako VIP dostales *%i* doswiadczenia za podlozenie bomby przez twoj team",get_cvar_num("diablo_xpbonus2")*2)
else client_print(id,print_chat,"Dostales *%i* doswiadczenia za podlozenie bomby przez twoj team",get_cvar_num("diablo_xpbonus2"))
}
Give_Xp(planter,get_cvar_num("diablo_xpbonus2"))
}
public bomb_defusing(id){
defuser = id;
return PLUGIN_CONTINUE
}
public award_defuse()
{
new Players[32], playerCount, id
get_players(Players, playerCount, "aeh", "CT")
for (new i=0; i<playerCount; i++)
{
id = Players[i]
Give_Xp(id,get_cvar_num("diablo_xpbonus"))
if( get_user_flags(id) & ADMIN_LEVEL_H)
client_print(id,print_chat,"Jako VIP dostales *%i* doswiadczenia za rozbrojenie bomby przez twoj team",get_cvar_num("diablo_xpbonus2")*2)
else client_print(id,print_chat,"Dostales *%i* doswiadczenia za rozbrojenie bomby przez twoj team",get_cvar_num("diablo_xpbonus2"))
}
Give_Xp(defuser,get_cvar_num("diablo_xpbonus2"))
}
public award_hostageALL(id)
{
if (is_user_connected(id) == 1)
Give_Xp(id,get_cvar_num("diablo_xpbonus2")/2)
}
/* ==================================================================================================== */
public award_kill(killer_id,victim_id)
{
if (!is_user_connected(killer_id) || !is_user_connected(victim_id))
return PLUGIN_CONTINUE
new xp_award = get_cvar_num("diablo_xpbonus")
new Team[32]
get_user_team(killer_id,Team,31)
if (LeaderCT > 0 && equal(Team,"CT") && !is_user_alive(LeaderCT))
xp_award-= get_cvar_num("diablo_xpbonus")/4
if (LeaderT > 0 && equal(Team,"TERRORIST") && !is_user_alive(LeaderT))
xp_award-= get_cvar_num("diablo_xpbonus")/4
if (player_class[killer_id] == Merial)
xp_award+=get_cvar_num("diablo_xpbonus")/3
if (player_xp[killer_id]<player_xp[victim_id])
xp_award+=get_cvar_num("diablo_xpbonus")/4
new more_lvl=player_lvl[victim_id]-player_lvl[killer_id]
if(more_lvl>0) xp_award += floatround((get_cvar_num("diablo_xpbonus")/7)*(more_lvl*((2.0-more_lvl/501.0)/3.0)))
else if(more_lvl<-50)xp_award -= get_cvar_num("diablo_xpbonus")*(2/3)
else if(more_lvl<-40)xp_award -= get_cvar_num("diablo_xpbonus")/2
else if(more_lvl<-30)xp_award -= get_cvar_num("diablo_xpbonus")/3
else if(more_lvl<-20)xp_award -= get_cvar_num("diablo_xpbonus")/4
else if(more_lvl<-10)xp_award -= get_cvar_num("diablo_xpbonus")/7
Give_Xp(killer_id,xp_award)
return PLUGIN_CONTINUE
}
public Give_Xp(id,amount)
{
if(player_class_lvl[id][player_class[id]]==player_lvl[id])
{
if(player_xp[id]+amount!=0 && get_playersnum()>1){
if (player_b_mnoznik[id]>0) amount*=2
if( get_user_flags(id) & ADMIN_LEVEL_H) amount *= 2
player_xp[id]+=amount
set_hudmessage(255, 0, 0, -1.0, 0.01)
if (player_xp[id] > LevelXP[player_lvl[id]])
{
player_lvl[id]+=1
player_point[id]+=2
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Awansowales do poziomu %i", player_lvl[id])
new name[32]
get_user_name(id, name, 31)
ColorChat(0, GREEN, "^x04 %s^x01 awansowal^x03 %s^x01 (do poziomu^x04 %i^x01)", name, Race[player_class[id]], player_lvl[id])
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
client_cmd(id, "spk wwesound/levelup.wav")
}
if (player_xp[id] < LevelXP[player_lvl[id]-1])
{
player_lvl[id]-=1
player_point[id]-=2
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
}
write_hud(id)
}
}
}
/* ==================================================================================================== */
public client_connect(id)
{
// reset_item_skills(id) - nie tutaj bo nie loaduje poziomow O.o
asked_sql[id]=0
flashbattery[id] = MAX_FLASH
player_xp[id] = 0
player_lvl[id] = 1
player_point[id] = 0
player_item_id[id] = 0
player_agility[id] = 0
player_strength[id] = 0
player_intelligence[id] = 0
player_dextery[id] = 0
player_kas[id] = 0
player_dama[id] = 0
player_expstat[id] = 0
player_men[id] = 0
player_niew[id] = 0
player_b_oldsen[id] = 0.0
player_class[id] = 0
player_damreduction[id] = 0.0
last_update_xp[id] = -1
player_item_name[id] = "Brak"
DemageTake[id]=0
player_b_gamble[id] = 0
player_b_totemy[id] = 0
player_b_exp[id] = 0
player_b_exp2[id] = 0
kasabandyta[id] = 0
g_GrenadeTrap[id] = 0
g_TrapMode[id] = 0
lustrzany_pocisk[id] = 0
WczytajMane(id);
player_ring[id]=0
reset_item_skills(id) // Juz zaladowalo xp wiec juz nic nie zepsuje <lol2>
reset_player(id)
set_task(15.0, "Greet_Player", id+TASK_GREET, "", 0, "a", 1)
}
public client_putinserver(id)
{
loaded_xp[id]=0
player_class_lvl_save[id]=0
database_user_created[id]=0
count_jumps(id)
JumpsLeft[id]=JumpsMax[id]
}
public client_disconnect(id)
{
new ent
new playername[40]
get_user_name(id,playername,39)
player_dc_name[id] = playername
player_dc_item[id] = player_item_id[id]
ZapiszMane(id);
if (player_b_oldsen[id] > 0.0) client_cmd(id,"sensitivity %f",player_b_oldsen[id])
savexpcom(id)
remove_task(TASK_CHARGE+id)
while((ent = fm_find_ent_by_owner(ent, "fake_corpse", id)) != 0)
fm_remove_entity(ent)
player_class_lvl_save[id]=0
loaded_xp[id]=0
}
/* ==================================================================================================== */
public write_hud(id)
{
if (player_lvl[id] == 0)
player_lvl[id] = 1
new Float:xp_now
new Float:xp_need
new Float:perc
if (last_update_xp[id] == player_xp[id])
{
perc = last_update_perc[id]
}
else
{
//Calculate percentage of xp required to level
if (player_lvl[id] == 1)
{
xp_now = float(player_xp[id])
xp_need = float(LevelXP[player_lvl[id]])
perc = xp_now*100.0/xp_need
}
else
{
xp_now = float(player_xp[id])-float( LevelXP[player_lvl[id]-1])
xp_need = float(LevelXP[player_lvl[id]])-float(LevelXP[player_lvl[id]-1])
perc = xp_now*100.0/xp_need
}
}
new Msg123[512]
set_hudmessage(255, 255, 255, -1.0, 0.85, 0, 6.0, 3.0)
format(Msg123,511,"Dolary: %i", player_pkt[id])
show_hudmessage(id, Msg123)
last_update_xp[id] = player_xp[id]
last_update_perc[id] = perc
new hapek = get_user_health(id);
if(player_class[id]!=Paladyn) {
set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 0.9, 0.0, 0.3);
show_hudmessage(id, "HP: %i Postac: %s Lvl: %i (%0.0f%s)^nItem: %s Wytrzymalosc: %i", hapek, Race[player_class[id]], player_lvl[id], perc, "%", player_item_name[id], item_durability[id]);
}
else {
set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 0.9, 0.0, 0.3);
show_hudmessage(id, "HP: %i Postac: %s Lvl: %i (%0.0f%s) Skoki: %i/%i^nItem: %s Wytrzymalosc: %i", hapek, Race[player_class[id]], player_lvl[id], perc, "%", JumpsLeft[id], JumpsMax[id], player_item_name[id], item_durability[id]);
}
message_begin(MSG_ONE,gmsgStatusText,{0,0,0}, id)
write_byte(0)
message_end()
}
/* ==================================================================================================== */
public UpdateHUD()
{
//Update HUD for each player
for (new id=0; id < 32; id++)
{
//If user is not connected, don't do anything
if (!is_user_connected(id))
continue
if (is_user_alive(id)) write_hud(id)
else
{
//Show info about the player we're looking at
new index,bodypart
get_user_aiming(id,index,bodypart)
if(index >= 0 && index < MAX && is_user_connected(index) && is_user_alive(index))
{
new pname[32]
get_user_name(index,pname,31)
new Msg[512]
set_hudmessage(255, 255, 255, 0.78, 0.65, 0, 6.0, 3.0)
format(Msg,511,"Nick: %s^nPoziom: %i^nPostac: %s^nPrzedmiot: %s^nInteligencja: %i^nSila: %i^nSzybkosc: %i^nOdpornosc: %i^nKradziez: %i^nPancerz: %i^nWalecznosc: %i^nPrzebieglosc: %i^nGrawitacja: %i",pname,player_lvl[index],Race[player_class[index]],player_item_name[index], player_intelligence[index],
player_strength[index], player_dextery[index], player_agility[index],player_expstat[index],player_kas[index],player_dama[index],player_men[index],player_niew[index])
show_hudmessage(id, Msg)
}
}
}
}
/* ==================================================================================================== */
public check_magic(id) //Redirect and check which items will be triggered
{
if (player_b_meekstone[id] > 0) item_c4fake(id)
if (player_b_fireball[id] > 0) item_fireball(id)
if (player_b_ghost[id] > 0) item_ghost(id)
if (player_b_eye[id] != 0) item_eye(id)
if (player_b_windwalk[id] > 0) item_windwalk(id)
if (player_b_dagon[id] > 0) item_dagon(id)
if (player_b_theif[id] > 0) item_convertmoney(id)
if (player_b_firetotem[id] > 0) item_firetotem(id)
if (player_b_hook[id] > 0) item_hook(id)
if (player_b_gravity[id] > 0) item_gravitybomb(id)
if (player_b_fireshield[id] > 0 || on_knife[id] == 1 && c_fireshield[id]) item_rot(id)
if (player_b_illusionist[id] > 0) item_illusion(id)
if (player_b_money[id] > 0) item_money_shield(id)
if (player_b_mine[id] > 0) item_mine(id)
if (player_b_teamheal[id] > 0) item_teamshield(id)
if (player_b_heal[id] > 0) item_totemheal(id)
if (player_b_zamroz[id] > 0) item_zamroz(id)
if (player_b_hpitem[id] > 0) item_hp(id)
if (player_b_grawi[id] > 0) item_grawi(id)
if (player_b_nies[id] > 0) item_nies(id)
if (player_b_kasatotem[id] > 0) item_kasa(id)
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public dropitem(id)
{
if (player_item_id[id] == 0)
{
hudmsg(id,2.0,"Nie masz przedmiotu do wyrzucenia!")
return PLUGIN_HANDLED
}
if (item_durability[id] <= 0)
{
hudmsg(id,3.0,"Przedmiot stracil swoja wytrzymalosc!")
}
else
{
set_hudmessage(100, 200, 55, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Przedmiot wyrzucony")
}
player_item_id[id] = 0
player_item_name[id] = "Nic"
player_b_gamble[id] = 0 //Because gamble uses reset skills
player_b_totemy[id] = 0
player_b_exp[id] = 0
player_b_exp2[id] = 0
if (player_b_extrastats[id] > 0)
{
SubtractStats(id,player_b_extrastats[id])
}
if(player_ring[id]>0) SubtractRing(id)
player_ring[id]=0
reset_item_skills(id)
set_task(3.0,"changeskin_id_1",id)
write_hud(id)
set_renderchange(id)
set_gravitychange(id)
if (player_b_oldsen[id] > 0.0)
{
client_cmd(id,"sensitivity %f",player_b_oldsen[id])
player_b_oldsen[id] = 0.0
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public pfn_touch ( ptr, ptd )
{
if (ptd == 0)
return PLUGIN_CONTINUE
new szClassName[32]
if(pev_valid(ptd)){
entity_get_string(ptd, EV_SZ_classname, szClassName, 31)
}
else return PLUGIN_HANDLED
if(equal(szClassName, "fireball"))
{
new owner = pev(ptd,pev_owner)
//Touch
if (get_user_team(owner) != get_user_team(ptr))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150)
remove_entity(ptd)
}
}
if (ptr != 0 && pev_valid(ptr))
{
new szClassNameOther[32]
entity_get_string(ptr, EV_SZ_classname, szClassNameOther, 31)
if(equal(szClassName, "PowerUp") && equal(szClassNameOther, "player"))
{
entity_set_int(ptd,EV_INT_iuser2,1)
}
if(equal(szClassName, "Mine") && equal(szClassNameOther, "player"))
{
new owner = pev(ptd,pev_owner)
//Touch
if (get_user_team(owner) != get_user_team(ptr))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150)
remove_entity(ptd)
}
}
if(equal(szClassName, "grenade") && equal(szClassNameOther, "player"))
{
new greModel[64]
entity_get_string(ptd, EV_SZ_model, greModel, 63)
if(equali(greModel, "models/w_smokegrenade.mdl" ))
{
new id = entity_get_edict(ptd,EV_ENT_owner)
if (is_user_connected(id)
&& is_user_connected(ptr)
&& is_user_alive(ptr)
&& player_b_smokehit[id] > 0
&& get_user_team(id) != get_user_team(ptr))
UTIL_Kill(id,ptr,"grenade")
}
}
}
/*if(equal(szClassName, "fireball"))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
new id = pev(ptd,pev_owner)
Explode_Origin(id,origin,100,player_b_fireball[id] + player_intelligence[id])
remove_entity(ptd)
}*/
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public Explode_Origin(id,Float:origin[3],damage,dist)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(3)
write_coord(floatround(origin[0]))
write_coord(floatround(origin[1]))
write_coord(floatround(origin[2]))
write_short(sprite_boom)
write_byte(50)
write_byte(15)
write_byte(0)
message_end()
new Players[32], playerCount, a
get_players(Players, playerCount, "ah")
for (new i=0; i<playerCount; i++)
{
a = Players[i]
new Float:aOrigin[3]
pev(a,pev_origin,aOrigin)
if (get_user_team(id) != get_user_team(a) && get_distance_f(aOrigin,origin) < dist+0.0)
{
new dam = damage-player_dextery[a]*2
change_health(a,-dam,id,"grenade")
Effect_Bleed(a,248)
}
}
}
/* ==================================================================================================== */
public Timed_Healing()
{
new Players[32], playerCount, a
get_players(Players, playerCount, "ah")
for (new i=0; i<playerCount; i++)
{
a = Players[i]
if (player_b_heal[a] <= 0)
continue
change_health(a,player_b_heal[a],0,"")
}
}
/* ==================================================================================================== */
public Timed_Ghost_Check(id)
{
if (ghost_check == true)
{
new Globaltime = floatround(halflife_time())
new Players[32], playerCount, a
get_players(Players, playerCount, "h")
for (new i=0; i<playerCount; i++)
{
a = Players[i]
if (ghoststate[a] == 2 && Globaltime - player_b_ghost[a] > ghosttime[a])
{
ghoststate[a] = 3
ghosttime[a] = 0
set_user_noclip(a,0)
ghost_check = false
new Float:aOrigin[3]
entity_get_vector(a,EV_VEC_origin,aOrigin)
if (PointContents (aOrigin) != -1)
{
user_kill(a,1)
}
else
{
aOrigin[2]+=10
entity_set_vector(a,EV_VEC_origin,aOrigin)
}
}
}
}
}
public reset_item_skills(id)
{
item_boosted[id] = 0
item_durability[id] = 0
jumps[id] = 0
gravitytimer[id] = 0
player_b_vampire[id] = 0 //Vampyric damage
player_b_hpitem[id] = 0
player_b_luneta[id] = 0
player_b_zombi[id] = 0
player_b_damage[id] = 0 //Bonus damage
player_b_tanker[id] = 0
player_b_money[id] = 0 //Money bonus
player_b_gravity[id] = 0 //Gravity bonus : 1 = best
player_b_redbull[id] = 0
player_b_4move[id] = 0
player_b_magneto[id] = 0
player_b_inv[id] = 0 //Invisibility bonus
player_b_grenade[id] = 0 //Grenade bonus = 1/chance to kill
player_b_theif[id] = 0 //Amount of money to steal
player_b_respawn[id] = 0 //Chance to respawn upon death
player_b_explode[id] = 0 //Radius to explode upon death
player_b_heal[id] = 0 //Ammount of hp to heal each 5 second
player_b_zamroz[id] = 0 // zamraza przeciwnika na 15 sekund
player_b_grawi[id] = 0 // Totem zmniejszajacy grawitacje twoja i osob z teamu na 20 sekund
player_b_nies[id] = 0 // niesmiertelnosc przebywajac w okregu totemu na 10 sekund
player_b_blind[id] = 0 //Chance 1/Value to blind the enemy
player_b_fireshield[id] = 0 //Protects against explode and grenade bonus
player_b_meekstone[id] = 0 //Ability to lay a fake c4 and detonate
player_b_teamheal[id] = 0 //How many hp to heal when shooting a teammate
player_b_redirect[id] = 0 //How much damage will the player redirect
player_b_fireball[id] = 0 //Ability to shot off a fireball value = radius *
player_b_ghost[id] = 0 //Ability to walk through walls
player_b_eye[id] = 0 //Ability to snarkattack
player_b_blink[id] = 0 //Abiliy to use railgun
player_b_windwalk[id] = 0 //Ability to windwalk
player_b_usingwind[id] = 0 //Is player using windwalk
player_b_froglegs[id] = 0
player_b_silent[id] = 0
player_b_dagon[id] = 0 //Abliity to nuke opponents
player_b_sniper[id] = 0 //Ability to kill faster with scout
player_b_m4master[id] = 0 //Ability to kill faster with
player_b_mp5master[id] = 0 //Ability to kill faster with mp5
player_b_m3master[id] = 0
player_b_glockmaster[id] = 0
player_b_deaglmaster[id] = 0 //Ability to kill faster with deagl
player_b_knife[id] = 0 //Ability to kill faster with knife
player_b_awp[id] = 0
player_b_jumpx[id] = 0
player_b_smokehit[id] = 0
player_b_extrastats[id] = 0
player_b_firetotem[id] = 0
player_b_hook[id] = 0
player_b_darksteel[id] = 0
player_b_illusionist[id] = 0
player_b_mine[id] = 0
player_b_latarka[id] = 0
player_b_alatarka[id] = 0
player_b_antyarchy[id] = 0
player_b_mnoznik[id] = 0
player_b_snajper[id] = 0
player_b_burn[id] = 0
player_b_mom[id] = 0
player_b_2damage[id] = 0
wear_sun[id] = 0
player_sword[id] = 0
player_m4[id] = 0
player_ultra_armor_left[id]=0
player_ultra_armor[id]=0
lustrzany_pocisk[id] = 0
player_b_antymeek[id] = 0
player_b_antyorb[id] = 0
player_b_antyfs[id] = 0
player_b_autobh[id] = 0
player_b_kasatotem[id] = 0
}
public changeskin_id_1(id)
{
changeskin(id,1)
}
/* =================================================================================================== */
public show_menu_klasy(id)
{
new text[513]
format(text, 512, "\yInfo klas - ^n\y1. \wSteve Austin ^n\y2. \wShawn Michaels^n\y3. \wBig Show^n\y4. \wRey Mysterio^n\y5. \wCM Punk^n\y6. \wSantino Marella^n\y7. \wThe Rock^n\y8. \wJTG^n^n\y9. \wDalej ^n\y0. \wKlasy Premium")
new keys
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
show_menu(id, keys, text, -1, "Nowe klasy1")
return PLUGIN_HANDLED
}
public klasy(id, key)
{
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
kojot(id)
}
case 1:
{
duch1(id)
}
case 2:
{
wilkolak(id)
}
case 3:
{
obronca(id)
}
case 4:
{
assasyn(id)
}
case 5:
{
paker(id)
}
case 6:
{
imada(id)
}
case 7:
{
imada3(id)
}
case 8:
{
show_menu_klasy2(id)
}
case 9:
{
show_menu_klasy3(id)
}
}
return PLUGIN_HANDLED
}
public kojot(id){
showitem(id,"Steve Austin"," "," ","<br>Na start ma 125hp i moze wykonywac tzw. Long Jump. <br>Na Nozu Laduje Pocisk 100 procent na Hs<br>")
}
public duch1(id){
showitem(id,"Shawn Michaels"," "," ","<br>Moze wskrzeszac graczy(dostaje za to exp i 50 HP).<br>1/3 na odrodzenie sie po smierci.Na nozu laduje sobie granaty.<br>Ma kameleona.<br>")
}
public wilkolak(id){
showitem(id,"Big Show"," "," ","<br>Za fraga dostaje ammo, armor, +50 hp.Na nozu laduje sobie magiczny pancerz (max 7)<br>")
}
public obronca(id){
showitem(id,"Rey Mysterio"," "," ","<br>Moze posiadac tylko noz.<br>Niewidzalny..Ma 5 nozy du rzucania.<br>Na nozu laduje sobie mniejsza grawitacje.<br>Wcisnij N aby otworzyc Podreczne menu<br>")
}
public assasyn(id){
showitem(id,"CM Punk"," "," ","<br>Szybki .<br>8 skokow w powietrzu , kucnij aby zrobic daleki skok<br> Mniejsza Gravi<br> 15 Procent na zatrzesienie ekranem Przeciwnika")
}
public paker(id){
showitem(id,"Santino Marella"," "," ","<br>Posiada Kusze (wybierz noz a potem reload by wyjac).<br>Moze zastawiac pulapki z granatow (zmiana trybow PPM).<br>Gdy postrzeli przeciwnika pistoletem, zostawia on za soba slad.<br>Zadaje o 5 wieksze dmg.<br>")
}
public imada(id){
showitem(id,"The Rock"," "," ","<br>Natychmiastowa niewidzialnosc na nozu.<br>20 % na oslepienie wroga<br>ale mozna uzywac tylko Pisoletow , shoganow i smg<br>Cicho Chodzi<br><br>")
}
public imada3(id){
showitem(id,"JTG"," "," ","<br>Moze miec 150 pkt sily <br> Na nozu laduje item<br>")
}
public show_menu_klasy2(id)
{
new text[513]
format(text, 512, "\yNowe klasy - ^n\y1. \wTed Dibiase^n\y2. \wHeath Slater^n\y3. \wKofi Kingston^n\y4. \wThe Miz^n\y5. \wWade Barret^n\y6. \wSheamus^n\y7. \wBourne^n\y8. \wJustin Gabriel^n^n\r9. \wWiecej^n\r0. \wWyjscie")
new keys
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
show_menu(id, keys, text, -1, "Nowe klasy2")
return PLUGIN_HANDLED
}
public klasy2(id, key)
{
switch(key)
{
case 0:
{
andriel(id)
}
case 1:
{
duriel2(id)
}
case 2:
{
diablo2(id)
}
case 3:
{
baal(id)
}
case 4:
{
telegra(id)
}
case 5:
{
wampir1(id)
}
case 6:
{
mefisto(id)
}
case 7:
{
klasarambo(id)
}
case 8:
{
show_menu_klasy4(id)
}
case 9:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
public andriel(id){
showitem(id,"Ted Dibiase"," "," ","<br> Na Nozu laduje kase (do 12500$) <br> 10 Procent na to ze przeciwnikowi wypadnie glowna bron np. ak47 <br>12 Procent na znieszczenie itemu przeciwnika<br>Strzel aby spowolnic przeciwnika<br>")
}
public duriel2(id){
showitem(id,"Heath Slater"," "," ","<br> FireShaid na noz+e<br> 5 Procent na Hs<br>Latarka Na Ninja<br>Wbudowane 1/3 z he<br>Ma Latarke Naswietlajaca Ninja")
}
public diablo2(id){
showitem(id,"Kofi Kingston"," "," ","<br> Najlepsza Klasa dla Team<br>Wbudowany Auto BH <br>Leczy team zaleznie od magi <br> 5 Procent na Trzesienie ekranem przeciwnika")
}
public baal(id){
showitem(id,"The Miz"," "," ","<br>Wysysa 5 hp przy trafieniu.<br>Cicho chodzi.1/5 na odrodzenie sie po smierci.<br>Odporny na kusze.<br> Jesli nie ma itemu to dostaje w nast Rundzie<br>Na nozu laduje sobie szybkosc.<br>")
}
public wampir1(id){
showitem(id,"Wade Barret"," "," ","<br>Dostaje AWP.1/8 na natychmiastowe zabicie z AWP.Widocznosc zredukowana do 80.Na nozu laduje sobie hp(1 pasek 15 hp)<br><br>")
}
public mefisto(id){
showitem(id,"Bourne"," "," ","<br>Obrona powiekszona o 8 .Wolny , Posiada Antyarch <br> Duzo Hp <br>.150 amoru na start Na Nozu Potrafi Zwiekszyc Sobie Ammo ponad max poziom tzn(np , ak ma w magazynku ponad 30 ammo).<br><br>")
}
public telegra(id){
showitem(id,"Sheamus"," "," ","<br>Mniej hp <br> Ma Radar pokazujacy zywych graczy<br> Na Nozu laduje sobie 20-50 hp<br>odporny na 1/x")
}
public klasarambo(id){
showitem(id,"Justin Gabriel"," "," ","<br>1/14 z krowy <br> na nozu laduje Krowe <br> wolny <br>duzo hp")
}
///////////////////////////////////////////////////
public show_menu_klasy3(id)
{
new text[513]
format(text, 512, "\yKlasy Premium - ^n\y1. \wEdge ^n\y2. \wTriple H^n\y3. \wUnderTaker^n\y4. \wJohn Cena^n^n\y9. \wWroc ^n\y0. \wWyjdz")
new keys
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<8)|(1<<9)
show_menu(id, keys, text, -1, "Nowe klasy3")
return PLUGIN_HANDLED
}
public klasy3(id, key)
{
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
champion(id)
}
case 1:
{
duriel(id)
}
case 2:
{
diablo(id)
}
case 3:
{
szkielet(id)
}
case 8:
{
return PLUGIN_HANDLED
}
case 9:
{
show_menu_klasy(id)
}
}
return PLUGIN_HANDLED
}
public champion(id){
showitem(id,"Edge"," "," ","<br>Masz latarke naswietlajaca ninje.Anty Flesh i <br> Duzy Teleport na PPm <br>Noz + E Aby podlozyc Pulapke Z 3 min <br>10 Procent na Hs<br>Zwieksza Teleport Na Nozu")
}
public duriel(id){
showitem(id,"Triple H"," "," ","<br>Klasa VIP <br>Mniejszy Rorzut<br>Czaruje Scianki , <br>Moze Uzyc Piorunu 3 Rodzaje (noz +e) Badzo Dobre <br>Jego Bycie W Team Uzdrawia Wszystkich o 2 hp co 1 sekunde Siebie tez<br>Szybszy Exp o 25 Procent<br>")
}
public diablo(id){
showitem(id,"UnderTaker"," "," ","<br>Szybki.1/4 na natychmiastowe zabicie z noza.<br>Wywala w gore strzalem z pistoletu.Posiada 10 nozy do zucania.<br>Na nozu laduje sobie szybkosc (25 pkt jeden pasek)<br>Z nozem Bardzo Szybki<br>")
}
public szkielet(id){
showitem(id,"John Cena"," "," ","<br>Zadaje 10 dmg wiecej.<br>Zomm PPm <br>Kradnie kase szansza na zabranie 1500$.<br>10% na odbicie pocisku <br>Totem Mroz(zeby go uzyc noz + e)<br>")
}
public show_menu_klasy4(id)
{
new text[513]
format(text, 512, "\yKlasy - ^n\y1. \wKane ^n\y2. \wAlberto Del Rio^n\w3.R-Truth^n\w4.Randy Orton^n\w5.Mark Henry^n^n\y9. \wWroc ^n\y0. \wWyjdz")
new keys
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<8)|(1<<9)
show_menu(id, keys, text, -1, "Nowe klasy4")
return PLUGIN_HANDLED
}
public klasy4(id, key)
{
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
demon(id)
}
case 1:
{
lucznik(id)
}
case 2:
{
assasin(id)
}
case 3:
{
hefasto(id)
}
case 4:
{
zlodziej(id)
}
case 8:
{
return PLUGIN_HANDLED
}
case 9:
{
show_menu_klasy(id)
}
}
return PLUGIN_HANDLED
}
public demon(id){
showitem(id,"Kane"," "," ","<br><br>Ma anty moc na 5 losowych itemow<br>Na nożu może zwiększyć redukcje obrażeń do 20.Ma 1/10 szans na zrespienie na respie przeciwnika<br>")
}
public lucznik(id){
showitem(id,"Alberto del Rio"," "," ","<br><br>Ma niespodzianke aby uzyc daj na noz i r<br>Na nozu jest niewidoczny na 30 sekund (z nozem)Moze miec max 400 inteligencji<br>")
}
public assasin(id){
showitem(id,"R-Truth"," "," ","<br><br>Co 5 sec rosnie mu 30 hp<br>Ma odpornosc na itemy<br>Ma szanse aby dostac +10 obrazen.<br>")
}
public hefasto(id){
showitem(id,"Randy Orton"," "," ","<br><br>Ma +20 wampirycznych obrazen.Ma 1/20 szans na trzesienie ekranu przeciwnika.Ma 1/5 szanse na odrodzenie sie po zgonie.<br>")
}
public zlodziej(id){
showitem(id,"Mark Henry"," "," ","<br><br>Na nozu albo normalnie dostaje od 5000 do 6000 ma 1/8 szanse na odrodzenie sie po zgonie.Odbije od 10 do 20 pociskow.Moze takze ukrasc pieniadze.<br>")
}
/* =====================================*/
public wybor(id)
{
if( player_class[id] == Ninja )
show_menu_nozninja(id)
else show_hudmessage(id, "Nie jestes Reyem Mysterio")
}
public show_menu_nozninja(id)
{
new text[513]
format(text, 512, "\yWybierz Noz - ^n\y1. \wSzybkosc ^n\y2. \wGrawitacja^n\y3. \wDmg \d[trwaja prace]^n^n\y0. \w Wyjdz")
new keys
keys = (1<<0)|(1<<1)|(1<<9)
show_menu(id, keys, text, -1, "Noz Ninja")
return PLUGIN_HANDLED
}
public nozninja(id, key)
{
player_nozninja[id] = 0
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
player_nozninja[id] = 1
}
case 1:
{
player_nozninja[id] = 2
}
case 9:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public auto_help(id)
{
new rnd = random_num(1,20)
if (rnd <= 5)
set_hudmessage(100, 200, 55, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
if (rnd == 1)
show_hudmessage(id, "Zapraszamy na Pro-Gamming.pl")
if (rnd == 2)
show_hudmessage(id, "WWE Mod By efee-")
if (rnd == 3)
show_hudmessage(id, "Masz problem pisz na GG: 31837550")
if (rnd == 4)
show_hudmessage(id, "Nacisnij V aby wybrac Menu ")
if (rnd == 5)
show_hudmessage(id, "System Zadan - /zadania")
}
/* ==================================================================================================== */
public helpme(id)
{
showitem(id,"Helpmenu","Common","None","Dostajesz przedmioty i doswiadczenie za zabijanie innych. Mozesz dostac go tylko wtedy, gdy nie masz na sobie innego<br><br>Aby dowiedziec sie wiecej o swoim przedmiocie napisz /przedmiot lub /item, a jak chcesz wyrzucic napisz /drop<br><br>Niektore przedmoty da sie uzyc za pomoca klawisza E<br><br>Napisz /czary zeby zobaczyc jakie masz staty<br><br>")
}
/* ==================================================================================================== */
public vip(id)
{
showitem(id,"Tryb Vip","Tylko 10 zl (sms)","","Posiadajac Tryb VIP : Otrzymujesz Uniklane Itemy (duzo lepsze niz te dostepne dla zwyklych graczy ) <br> oraz bardzo tani Sklep VIP<br>2x Wiekszy EXP!<br> Aby kupic Tryb VIP napisz do --> efee- <-- <br>GG :31837550 <br><br>")
}
/* ==================================================================================================== */
public premium(id)
{
showitem(id,"Tryb Premium","Tylko 17 zl (sms)","","Posiadajac Tryb Premium : <br>Mozesz korzystac z <br> 4 klas prenium<br> Aby kupic Tryb VIP napisz do --> efee- <-- <br>GG :31837550 Steam Darkvader128 <br><br>")
}
/* ==================================================================================================== */
public komendy(id)
{
showitem(id,"Komendy","Common","None","<br>/klasa albo /postac - zmiana klasy postaci<br>/klasy - opis postaci<br>/rune - sklep z runami<br>/przedmiot - informacja o przedmiocie<br>/menu - wyswietla menu wwe evo<br>/czary - stan styk<br>/drop - wyrzuca aktualny przedmiot<br>/ - nowe itemy opis nowych itemow<br>/reset -resetuje twoje staty<br>/savexp - zapisuje lvl,exp,staty<br>/gracze - wyswietla liste graczy<br>/zadania - Zadania np zabij 10 ninjy za ktore dostaje sie nagrode.<br>")
}
/* ==================================================================================================== */
public showitem(id,itemname[],itemvalue[],itemeffect[],Durability[])
{
new diabloDir[64]
new g_ItemFile[64]
new amxbasedir[64]
get_basedir(amxbasedir,63)
format(diabloDir,63,"%s/wwe",amxbasedir)
if (!dir_exists(diabloDir))
{
new errormsg[512]
format(errormsg,511,"Blad: Folder %s/wwe nie mogł być znaleziony. Prosze skopiowac ten folder z archiwum do folderu amxmodx",amxbasedir)
show_motd(id, errormsg, "An error has occured")
return PLUGIN_HANDLED
}
format(g_ItemFile,63,"%s/wwe/item.txt",amxbasedir)
if(file_exists(g_ItemFile))
delete_file(g_ItemFile)
new Data[768]
//Header
format(Data,767,"<html><head><title>Informacje o przedmiocie</title></head>")
write_file(g_ItemFile,Data,-1)
//Background
format(Data,767,"<body text=^"#FFFF00^" bgcolor=^"#000000^" background=^"%sdrkmotr.jpg^">",Basepath)
write_file(g_ItemFile,Data,-1)
//Table stuff
format(Data,767,"<table border=^"0^" cellpadding=^"0^" cellspacing=^"0^" style=^"border-collapse: collapse^" width=^"100%s^"><tr><td width=^"0^">","^%")
write_file(g_ItemFile,Data,-1)
//ss.gif image
format(Data,767,"<p align=^"center^"><img border=^"0^" src=^"%sss.gif^"></td>",Basepath)
write_file(g_ItemFile,Data,-1)
//item name
format(Data,767,"<td width=^"0^"><p align=^"center^"><font face=^"Arial^"><font color=^"#FFCC00^"><b>Przedmiot: </b>%s</font><br>",itemname)
write_file(g_ItemFile,Data,-1)
//item value
format(Data,767,"<font color=^"#FFCC00^"><b><br>Wartosc: </b>%s</font><br>",itemvalue)
write_file(g_ItemFile,Data,-1)
//Durability
format(Data,767,"<font color=^"#FFCC00^"><b><br>Wytrzymalosc: </b>%s</font><br><br>",Durability)
write_file(g_ItemFile,Data,-1)
//Effects
format(Data,767,"<font color=^"#FFCC00^"><b>Efekt:</b> %s</font></font></td>",itemeffect)
write_file(g_ItemFile,Data,-1)
//image ss
format(Data,767,"<td width=^"0^"><p align=^"center^"><img border=^"0^" src=^"%sgf.gif^"></td>", Basepath)
write_file(g_ItemFile,Data,-1)
//end
format(Data,767,"</tr></table></body></html>")
write_file(g_ItemFile,Data,-1)
//show window with message
show_motd(id, g_ItemFile, "Informacje Przedmiotu")
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public iteminfo(id)
{
new itemvalue[100]
if (player_item_id[id] <= 10) itemvalue = "Common"
if (player_item_id[id] <= 30)
itemvalue = "Uncommon"
else
itemvalue = "Rare"
if (player_item_id[id] > 42) itemvalue = "Uniklany Item"
if (player_item_id[id] > 80) itemvalue = "Nowy Item"
new itemEffect[200]
new TempSkill[11] //There must be a smarter way
if (player_b_vampire[id] > 0)
{
num_to_str(player_b_vampire[id],TempSkill,10)
add(itemEffect,199,"Kradnie ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," hp jak uderzysz wroga<br>")
}
if (player_b_hpitem[id] > 0)
{
num_to_str(player_b_hpitem[id],TempSkill,10)
add(itemEffect,199,"Mozesz uleczyc sobie")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"hp")
}
if (player_b_damage[id] > 0)
{
num_to_str(player_b_damage[id],TempSkill,10)
add(itemEffect,199,"Zadaje ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," dodatkowe obrazenia za kazdym razem jak uderzysz wroga<br>")
}
if (player_b_money[id] > 0)
{
num_to_str(player_b_money[id],TempSkill,10)
add(itemEffect,199,"Dadaje ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zlota i w kazdej rundzie na start otrzymasz 50 zlota. Mozesz takze uzyc tego przedmiotu by zredukowac normalne obrazenia o 50%<br>")
}
if (player_b_gravity[id] > 0)
{
num_to_str(player_b_gravity[id],TempSkill,10)
add(itemEffect,199,"Wysoki skok jest zredukowany do ")
add(itemEffect,199,TempSkill)
add(itemEffect,199,". Uzyj tego przedmiotu jak bedziesz w powietrzu. Uszkodzenia zaleza od wysokosci skoku i twojej sily<br>")
}
if (player_b_inv[id] > 0)
{
num_to_str(player_b_inv[id],TempSkill,10)
add(itemEffect,199,"Twoja widocznosc jest zredukowana z 255 do ")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"<br>")
}
if (player_b_grenade[id] > 0)
{
num_to_str(player_b_grenade[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199," szanse do natychmiastowego zabicia HE<br>")
}
if (player_b_theif[id] > 0)
{
num_to_str(player_b_theif[id],TempSkill,10)
add(itemEffect,199,"Masz 1/7 szans na okradniecie kogos z")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zlota, za kazdym razem gdy uderzysz swojego wroga. Mozesz uzyc tego przedmiotu zeby zamienic 1000 zlota na 15 HP<br>")
}
if (player_b_respawn[id] > 0)
{
num_to_str(player_b_respawn[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199," szanse do odrodzenia sie po zgonie<br>")
}
if (player_b_explode[id] > 0)
{
num_to_str(player_b_explode[id],TempSkill,10)
add(itemEffect,199,"Gdy umierasz wybuchniesz w promieniu ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zadaje 75 obrazen wokol ciebie - im wiecej masz magi tym wiekszy zasieg wybuchu<br>")
}
if (player_b_heal[id] > 0)
{
num_to_str(player_b_heal[id],TempSkill,10)
add(itemEffect,199,"Zyskasz +")
add(itemEffect,199,TempSkill)
add(itemEffect,199," HP co kazde 5 sekund. Uzyj aby polozyc leczacy totem na 7 sekund<br>")
}
if (player_b_gamble[id] > 0)
{
num_to_str(player_b_gamble[id],TempSkill,10)
add(itemEffect,199,"Zyskasz losowa umiejetnosc na poczatku rundy, Masz na to 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199," szans<br>")
}
if (player_b_totemy[id] > 0)
{
num_to_str(player_b_totemy[id],TempSkill,10)
add(itemEffect,199,"Zyskasz losowy totem taktyczny na poczatku rundy, Masz na to 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199," szans<br>")
}
if (player_b_blind[id] > 0)
{
num_to_str(player_b_blind[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"szans zeby twoj przeciwnik stracil wzrok<br>")
}
if (player_b_fireshield[id] > 0)
{
num_to_str(player_b_fireshield[id],TempSkill,10)
add(itemEffect,199,"Nie mozesz byc zabity przez chaos orb, hell orb albo firerope<br>")
add(itemEffect,199,"Uzyj, zeby zadac obrazenia, spowolnic i oslepic kazdego wroga wokol ciebie<br>")
}
if (player_b_meekstone[id] > 0)
{
num_to_str(player_b_meekstone[id],TempSkill,10)
add(itemEffect,199,"Mozesz polozyc falszywa bombe uzywajac klawisz E. Gdy przeciwna druzyna zblizy sie do niej, wybuchnie zadajac obrazenia<br>")
}
if (player_b_teamheal[id] > 0)
{
num_to_str(player_b_teamheal[id],TempSkill,10)
add(itemEffect,199,"Uzyj, aby aktywowac tarcze na graczu.<br>")
add(itemEffect,199," Cale uszkodzenia tarczy sa odzwierciedlone. Umrzesz jezeli zostaniesz trafiony")
}
if (player_b_redirect[id] > 0)
{
num_to_str(player_b_redirect[id],TempSkill,10)
add(itemEffect,199,"Obrazenia sa zredukowane o")
add(itemEffect,199,TempSkill)
add(itemEffect,199," hitpoints<br>")
}
if (player_b_fireball[id] > 0)
{
num_to_str(player_b_fireball[id],TempSkill,10)
add(itemEffect,199,"Mozesz wyczarowac ognista kule uzywajac tego przedmiotu. Zabije ona ludzi w zasiegu ")
add(itemEffect,199,TempSkill)
add(itemEffect,199,". Im wiecej masz magi tym wieksze zadasz obrazenia<br>")
}
if (player_b_ghost[id] > 0)
{
num_to_str(player_b_ghost[id],TempSkill,10)
add(itemEffect,199,"Uzyj tego przedmiotu, aby przenikac przez sciany przez")
add(itemEffect,199,TempSkill)
add(itemEffect,199," sekund<br>")
}
if (player_b_eye[id] > 0)
{
add(itemEffect,199,"Uzyj, aby polozyc magiczne oko(da sie tylko raz podlozyc) i uzyj ponownie zeby wlaczyc i wylaczyc je")
}
if (player_b_blink[id] > 0)
{
add(itemEffect,199,"Mozesz teleportowac sie przez uzywanie alternatywnego ataku twoim nozem (PPM). Im wiecej masz magi tym teleportujesz sie na wiekszy dystans")
}
if (player_b_windwalk[id] > 0)
{
num_to_str(player_b_windwalk[id],TempSkill,10)
add(itemEffect,199,"Uzyj, zeby stac sie niewidzialny. W tym czasie nie bedziesz mogl atakowac, ale za to staniesz sie szybszy na ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," sekund<br>")
}
if (player_b_froglegs[id] > 0)
{
add(itemEffect,199,"Kucnij na 3 sekundy, a zrobisz dlugi skok")
}
if (player_b_dagon[id] == 1)
{
add(itemEffect,199,"Uzyj, zeby udezyc wroga ognistym promieniem - mozesz ulepszyc ten przedmiot kupujac odpowiednie runy ")
add(itemEffect,199,"Magia zwiekszy zasieg przedmiotu")
}
if (player_b_sniper[id] > 0)
{
num_to_str(player_b_sniper[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika ze scouta<br>")
}
if (player_b_m4master[id] > 0)
{
num_to_str(player_b_m4master[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika ze m4")
}
if (player_b_mp5master [id] > 0)
{
num_to_str(player_b_mp5master[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika z mp5")
}
if (player_b_m3master [id] > 0)
{
num_to_str(player_b_m3master[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika z M3")
}
if (player_b_glockmaster [id] > 0)
{
num_to_str(player_b_glockmaster[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika z M3")
}
if (player_b_deaglmaster [id] > 0)
{
num_to_str(player_b_deaglmaster[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika z deagla")
}
if (player_b_knife[id] > 0)
{
num_to_str(player_b_knife[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika z Noza")
}
if (player_b_awp[id] > 0)
{
num_to_str(player_b_awp[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na natychmiastowe zabicie przeciwnika z Awp")
}
if (player_b_jumpx[id] > 0)
{
num_to_str(player_b_jumpx[id],TempSkill,10)
add(itemEffect,199,"Mozesz podskoczyc ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," razy w loscie, uzywajac klawisza, ktorym skaczesz<br>")
}
if (player_b_smokehit[id] > 0)
{
add(itemEffect,199,"Twoje granaty dymne zabija natychmiast wroga jezeli go dotknie")
}
if (player_b_extrastats[id] > 0)
{
num_to_str(player_b_extrastats[id],TempSkill,10)
add(itemEffect,199,"Zyskasz +")
add(itemEffect,199,TempSkill)
add(itemEffect,199," do wszystkich statystyk majac ten przedmiot<br>")
}
if (player_b_firetotem[id] > 0)
{
num_to_str(player_b_firetotem[id],TempSkill,10)
add(itemEffect,199,"Uzyj tego przedmiotu, zeby polozyc eksplodujacy totem na ziemie. Totem wybuchnie po 7 sekundach. I zapali osoby w zasiegu ")
add(itemEffect,199,TempSkill)
}
if (player_b_hook[id] > 0)
{
num_to_str(player_b_hook[id],TempSkill,10)
add(itemEffect,199,"Uzyj, zeby wyrzucic hak na zasieg 600 jezeli kogos trafisz przyciagnie go do siebie. Im wiecej masz magi tym szybszy bedzie hak")
}
if (player_b_darksteel[id] > 0)
{
new ddam = floatround(player_strength[id]*2*player_b_darksteel[id]/10.0)*3
num_to_str(player_b_darksteel[id],TempSkill,10)
add(itemEffect,199,"Dostales 15 + 0.")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"*sila: ")
num_to_str(ddam,TempSkill,10)
add(itemEffect,199,TempSkill)
add(itemEffect,199," dodatkowych obrazen kiedy uderzysz swojego wroga od tylu ")
}
if (player_b_illusionist[id] > 0)
{
add(itemEffect,199,"Uzyj tego przedmiotu, zeby stac sie niewiedzialnym przez 7sekund. Kazde obrazenia jak bedziesz zabija cie")
}
if (player_b_mine[id] > 0)
{
add(itemEffect,199,"Uzyj, zeby polozyc niewidzialna mine. Kiedy mina ekspoduje zada 50hp+obrazenia magia. 3 miny mozesz polozyc w jednej rundzie<br>")
}
if (player_b_latarka[id] > 0)
{
add(itemEffect, 199, "Możesz używać latarki takiej jak ma Xardas..<br>")
}
if (player_b_alatarka[id] > 0)
{
add(itemEffect, 199, "Jestes odporny na latarke maga.<br>")
}
if (player_b_antyarchy[id] > 0)
{
add(itemEffect,199,"Jestes odporny na Skrzydla Anielskie")
}
if (player_b_mnoznik[id] > 0)
{
add(itemEffect,199,"Masz 2x szybszy exp (NEW ITEM)")
}
if (player_m4[id] > 0)
{
add(itemEffect,199,"Zabojcze M4 .Posaidasz 400 naboi na M4 i broni Pomocniczej")
}
if (player_item_id[id]==66)
{
add(itemEffect,199,"Wygladasz jak przeciwnik! Postaraj sie nie dac zdemaskowac.")
}
if (player_ultra_armor[id]>0)
{
add(itemEffect,199,"Masz szanse, ze pocisk odbije sie od twojego pancerza")
}
if (player_b_zamroz[id] > 0)
{
add(itemEffect,199,"Uzyj, zeby polozyc zamrazajacy totem. Zatrzyma on twoich przeciwnikow<br>")
}
if (player_b_grawi[id] > 0)
{
add(itemEffect,199,"Uzyj, zeby polozyc antygrawitacyjny Totem Taktyczny(NEW ITEM).<br>")
}
if (player_b_nies[id] > 0)
{
add(itemEffect,199,"Uzyj, zeby na kilka sekund stac sie niesmiertelnym(NEW ITEM).<br>")
}
if (player_b_tanker[id] > 0)
{
add(itemEffect,199,"Masz 500 Amor i wybuchowy plecak(NEW ITEM).<br>")
}
if (player_b_redbull[id] > 0)
{
add(itemEffect,199,"Masz Redbull'a ,Doda Ci skrzydel")
}
if (player_b_4move[id] > 0)
{
add(itemEffect,199,"Masz magiczny napoj asterixa <br>Szybki bieg i ciche chodzenie")
}
if (player_b_magneto[id] > 0)
{
num_to_str(player_b_magneto[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199," ze Przeciwnik straci Glowna Bron (np Ak)")
}
if (player_b_zombi[id] > 0)
{
add(itemEffect,199,"Znalazles Zaginiona Fiolke Zombi !!!! Stales SIE Zombi!!!")
}
if (player_b_snajper[id] > 0)
{
add(itemEffect,199,"Znalazles Zaginione Awp i jego Kamizelke ")
}
if (player_b_burn[id] > 0)
{
add(itemEffect,199,"Stajesz Sie Duchem (50HP)")
}
if (player_b_mom[id] > 0)
{
add(itemEffect,199,"Rey Mysterio Mozesz Miec Bron Jednak masz 5 hp ")
}
if (player_b_2damage[id] > 0)
{
add(itemEffect,199,"Masz Podwojne Dmg z Deagl. ")
}
if (player_b_luneta[id] > 0)
{
add(itemEffect,199,"Nacisnij PPM aby wyjac swoja lunete ")
}
if (player_b_exp[id] > 0)
{
add(itemEffect,199,"Mozesz Zdobyc Male Doswiadczenie")
}
if (player_b_exp2[id] > 0)
{
add(itemEffect,199,"Mozesz Zdobyc Duze Doswiadczenie")
}
if (player_b_exp2[id] > 0)
{
add(itemEffect,199,"Dostajesz 10 do sily i magi")
}
if (player_b_glowa[id] > 0)
{
add(itemEffect,199,"Item wymyslil camper")
}
if (player_b_antymeek[id] > 0)
{
add(itemEffect,199,"Jestes odporny na meekstone")
}
if (player_b_antyorb[id] > 0)
{
add(itemEffect,199,"Jestes odporny na wybuchy po smierci")
}
if (player_b_antyfs[id] > 0)
{
add(itemEffect,199,"Jestes odporny na fire shielda")
}
new Durability[10]
num_to_str(item_durability[id],Durability,9)
if (equal(itemEffect,"")) showitem(id,"None","None","Zabij kogos, aby dostac item albo kup (/rune albo /menu)","None")
if (!equal(itemEffect,"")) showitem(id,player_item_name[id],itemvalue,itemEffect,Durability)
}
/* ==================================================================================================== */
public award_item(id, itemnum)
{
if (player_item_id[id] != 0)
return PLUGIN_HANDLED
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 4.0, 0.2, 0.3, 5)
new rannum = random_num(1,162)
new name[32]
get_user_name(id, name, 31)
new maxfind = player_agility[id]
if (maxfind > 15) maxfind = 15
new rf = random_num(1,25-maxfind)
if (itemnum > 0) rannum = itemnum
else if (itemnum < 0) return PLUGIN_HANDLED
if (rf == 3 && itemnum == 0) //We found a rare item
{
award_unique_item(id)
rannum = -1
}
//Set durability, make this item dependant?
item_durability[id] = 225
switch(rannum)
{
case 1:
{
player_item_name[id] = "Siła Marka Henrego"
player_item_id[id] = rannum
player_b_damage[id] = random_num(3,5)
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i",player_item_name[id],player_b_damage[id])
}
case 2:
{
player_item_name[id] = "619"
player_item_id[id] = rannum
player_b_damage[id] = random_num(5,7)
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i ",player_item_name[id],player_b_damage[id])
}
case 3:
{
player_item_name[id] = "S-O-S"
player_item_id[id] = rannum
player_b_damage[id] = random_num(7,10)
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i ",player_item_name[id],player_b_damage[id])
}
case 4:
{
player_item_name[id] = "Spear"
player_item_id[id] = rannum
player_b_vampire[id] = random_num(1,4)
show_hudmessage(id, "Znalazles przedmiot: %s :: wysysasz %i hp przeciwnikowi",player_item_name[id],player_b_vampire[id])
}
case 5:
{
player_item_name[id] = "Pas Mistrza Wagi Ciezkiej"
player_item_id[id] = rannum
player_b_vampire[id] = random_num(4,6)
show_hudmessage(id, "Znalazles przedmiot: %s :: wysysasz %i hp przeciwnikowi",player_item_name[id],player_b_vampire[id])
}
case 6:
{
player_item_name[id] = "Power Bomb"
player_item_id[id] = rannum
player_b_vampire[id] = random_num(6,9)
show_hudmessage(id, "Znalazles przedmiot: %s :: wysysasz %i hp przeciwnikowi",player_item_name[id],player_b_vampire[id])
}
case 7:
{
player_item_name[id] = "Frog Splash"
player_item_id[id] = rannum
player_b_money[id] = random_num(150,500)
show_hudmessage(id, "Znalazles przedmiot: %s :: dostajesz %i zloto w kazdej rundzie. Uzyj, zeby chronil cie.",player_item_name[id],player_b_money[id]+player_intelligence[id]*50)
}
case 8:
{
player_item_name[id] = "Cradle Suplex"
player_item_id[id] = rannum
player_b_money[id] = random_num(500,1200)
show_hudmessage(id, "Znalazles przedmiot: %s :: dostajesz %i zloto w kazdej rundzie. Uzyj, zeby chronil cie.",player_item_name[id],player_b_money[id]+player_intelligence[id]*50)
}
case 9:
{
player_item_name[id] = "Kenton Bomb"
player_item_id[id] = rannum
player_b_money[id] = random_num(1200,3000)
show_hudmessage(id, "Znalazles przedmiot: %s :: dostajesz %i zloto w kazdej rundzie. Uzyj, zeby chronil cie.",player_item_name[id],player_b_money[id]+player_intelligence[id]*50)
}
case 10:
{
player_item_name[id] = "Codebreaker"
player_item_id[id] = rannum
player_b_money[id] = random_num(5000,6000)
item_durability[id] = 200
show_hudmessage(id, "Znalazles przedmiot: %s :: dostajesz %i zloto w kazdej rundzie. Uzyj, zeby chronil cie.",player_item_name[id],player_b_money[id]+player_intelligence[id]*50)
}
case 11:
{
player_item_name[id] = "Walls Of Jericho"
player_item_id[id] = rannum
player_b_inv[id] = random_num(10,200)
item_durability[id] = 200
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x04 %s^x01 ", name, player_item_name[id])
}
case 12:
{
player_item_name[id] = "Finaly"
player_item_id[id] = rannum
player_b_inv[id] = random_num(150,200)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
}
case 13:
{
player_item_name[id] = "Bogey Bomb"
player_item_id[id] = rannum
player_b_inv[id] = random_num(110,150)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
}
case 14:
{
player_item_name[id] = "Niewidzialny Pancerz"
player_item_id[id] = rannum
player_b_inv[id] = random_num(70,110)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
}
case 15:
{
player_item_name[id] = "Diving Heat Put"
player_item_id[id] = rannum
player_b_grenade[id] = random_num(3,6)
show_hudmessage(id, "Znalazles przedmiot: %s :: +1/%i szans natychmiastowego zabicia granatem HE",player_item_name[id],player_b_grenade[id])
}
case 16:
{
player_item_name[id] = "Dominator"
player_item_id[id] = rannum
player_b_grenade[id] = random_num(2,4)
show_hudmessage(id, "Znalazles przedmiot: %s :: +1/%i szans natychmiastowego zabicia granatem HE",player_item_name[id],player_b_grenade[id])
}
case 17:
{
player_item_name[id] = "Killswitch"
player_item_id[id] = rannum
player_b_inv[id] = 8
item_durability[id] = 100
if (is_user_alive(id)) set_user_health(id,5)
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 5 zycia i noz, jestes prawie niewidoczny",player_item_name[id])
}
case 18:
{
player_item_name[id] = "Chokeslen"
player_item_id[id] = rannum
player_b_theif[id] = random_num(500,1000)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/5 szans by krasc zloto%i za kazdym razem jak uderzasz. Uzyj zeby zamienic zloto w zycia",player_item_name[id],player_b_theif[id])
}
case 19:
{
player_item_name[id] = "Swanton Bomb"
player_item_id[id] = rannum
player_b_respawn[id] = random_num(3,6)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do ponownego odrodzenia sie po smierci",player_item_name[id],player_b_respawn[id])
}
case 20:
{
player_item_name[id] = "Arial Lep Drop"
player_item_id[id] = rannum
player_b_respawn[id] = random_num(2,3)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do ponownego odrodzenia sie po smierci",player_item_name[id],player_b_respawn[id])
}
case 21:
{
player_item_name[id] = "Gigant Chokeslen"
player_item_id[id] = rannum
player_b_explode[id] = random_num(150,275)
show_hudmessage(id, "Znalazles przedmiot: %s :: Wybuchniesz zaraz po smierci w promieniu %i",player_item_name[id],player_b_explode[id])
}
case 22:
{
player_item_name[id] = "Studder"
player_item_id[id] = rannum
player_b_explode[id] = random_num(200,400)
show_hudmessage(id, "Znalazles przedmiot: %s :: Wybuchniesz zaraz po smierci w promieniu %i",player_item_name[id],player_b_explode[id])
}
case 23:
{
player_item_name[id] = "Back Stabber"
player_item_id[id] = rannum
player_b_heal[id] = random_num(5,10)
show_hudmessage(id, "Znalazles przedmiot: %s :: Regeneruje %i hp co kazde 5 sekund. Uzyj, zeby polozyc totem ktory bedzie leczyl wszystkich w zasiegu %i",player_item_name[id],player_b_heal[id],player_b_heal[id])
}
case 24:
{
player_item_name[id] = "Edecution"
player_item_id[id] = rannum
player_b_heal[id] = random_num(10,20)
show_hudmessage(id, "Znalazles przedmiot: %s :: Regeneruje %i hp co kazde 5 sekund. Uzyj, zeby polozyc totem ktory bedzie leczyl wszystkich w zasiegu %i",player_item_name[id],player_b_heal[id],player_b_heal[id])
}
case 25:
{
player_item_name[id] = "World Strongest Slam"
player_item_id[id] = rannum
player_b_heal[id] = random_num(20,35)
show_hudmessage(id, "Znalazles przedmiot: %s :: Regeneruje %i hp co kazde 5 sekund. Uzyj, zeby polozyc totem ktory bedzie leczyl wszystkich w zasiegu %i",player_item_name[id],player_b_heal[id],player_b_heal[id])
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal jeden z Nowych Totemow Taktycznych ^x04 %s^x01 ", name, player_item_name[id])
}
case 26:
{
player_item_name[id] = "Power Bomb"
player_item_id[id] = rannum
player_b_gamble[id] = random_num(2,3)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i daje ci dodatkowa premie w kazdej rundzie",player_item_name[id],player_b_gamble[id])
}
case 27:
{
player_item_name[id] = "Three Friends"
player_item_id[id] = rannum
player_b_gamble[id] = random_num(4,5)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i daje ci dodatkowa premie w kazdej rundzie",player_item_name[id],player_b_gamble[id])
}
case 28:
{
player_item_name[id] = "Five Kuncle Shuffle"
player_item_id[id] = rannum
player_b_blind[id] = random_num(6,9)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans na utrate wzroku kiedy uszkadzasz wroga",player_item_name[id],player_b_blind[id])
}
case 29:
{
player_item_name[id] = "Hells Cage"
player_item_id[id] = rannum
player_b_blind[id] = random_num(2,5)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans na utrate wzroku kiedy uszkadzasz wroga",player_item_name[id],player_b_blind[id])
}
case 30:
{
player_item_name[id] = "Arial Lep Drop"
player_item_id[id] = rannum
player_b_fireshield[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Chroni od natychmiastowego zabicia HE i orbami. Wcisnij e zeby go uzyc",player_item_name[id],player_b_fireshield[id])
}
case 31:
{
player_item_name[id] = "Mandible Claw"
player_item_id[id] = rannum
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Twoj bieg cichnie",player_item_name[id])
}
case 32:
{
player_item_name[id] = "Last Ride"
player_item_id[id] = rannum
player_b_meekstone[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj, aby podlozyc sztuczna bombe",player_item_name[id])
}
case 33:
{
player_item_name[id] = "DDIT"
player_item_id[id] = rannum
player_b_teamheal[id] = random_num(10,20)
show_hudmessage(id, "Znalazles przedmiot: %s :: Strzel do swojego, aby uleczyc %i hp - wcisnij E, zeby uzyc",player_item_name[id],player_b_teamheal[id])
}
case 34:
{
player_item_name[id] = "Spinebuse"
player_item_id[id] = rannum
player_b_teamheal[id] = random_num(20,30)
show_hudmessage(id, "Znalazles przedmiot: %s :: Strzel do swojego, aby uleczyc %i hp - wcisnij E, zeby uzyc",player_item_name[id],player_b_teamheal[id])
}
case 35:
{
player_item_name[id] = "BuM Drop"
player_item_id[id] = rannum
player_b_redirect[id] = random_num(3,6)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i Obniza uszkodzenia zadawane graczowi",player_item_name[id],player_b_redirect[id])
}
case 36:
{
player_item_name[id] = "Duble Slam"
player_item_id[id] = rannum
player_b_redirect[id] = random_num(6,11)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i Obniza uszkodzenia zadawane graczowi",player_item_name[id],player_b_redirect[id])
}
case 37:
{
player_item_name[id] = "Lige Hill"
player_item_id[id] = rannum
player_b_redirect[id] = random_num(10,15)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i Obniza uszkodzenia zadawane graczowi",player_item_name[id],player_b_redirect[id])
}
case 38:
{
player_item_name[id] = "Cast To Cost"
player_item_id[id] = rannum
player_b_fireball[id] = random_num(50,100)
show_hudmessage(id, "Znalazles przedmiot: %s :: Uszkadza wszystko w promieniu %i",player_item_name[id],player_b_fireball[id])
}
case 39:
{
player_item_name[id] = "RKO"
player_item_id[id] = rannum
player_b_fireball[id] = random_num(100,200)
show_hudmessage(id, "Znalazles przedmiot: %s :: Uszkadza wszystko w promieniu %i",player_item_name[id],player_b_fireball[id])
}
case 41:
{
player_item_name[id] = "Elbow Dolw"
player_item_id[id] = rannum
player_b_eye[id] = -1
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj aby polozyc kamere i uzyj ponownie zeby uzyc i zatrzymac",player_item_name[id],player_b_eye[id])
}
case 42:
{
player_item_name[id] = "Leg Drop"
player_item_id[id] = rannum
player_b_blink[id] = floatround(halflife_time())
show_hudmessage(id, "Znalazles przedmiot: %s :: Twoj noz pozwala ci teleportowac sie raz na 3 sekundy",player_item_name[id],player_b_blink[id])
}
case 43:
{
player_item_name[id] = "Przyspieszenie"
player_item_id[id] = rannum
player_b_windwalk[id] = random_num(4,7)
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj a staniesz sie niewidzialny przez %i sekund i w tym czasie nie mozesz atakowac ale za to szybko biegasz",player_item_name[id],player_b_windwalk[id])
}
case 44:
{
player_item_name[id] = "STF-U"
player_item_id[id] = rannum
player_sword[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: zadajesz wieksze obrazenia nozem",player_item_name[id],player_sword[id])
}
case 45:
{
player_item_name[id] = "Angle Lock"
player_item_id[id] = rannum
player_b_froglegs[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Kucnij na 3 sekundy, a zrobisz dlugi skok",player_item_name[id],player_b_froglegs[id])
}
case 46:
{
player_item_name[id] = "Star Frog Splash"
player_item_id[id] = rannum
player_b_dagon[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj zeby uderzyc twojego przeciwnika piorunem ognia",player_item_name[id],player_b_dagon[id])
}
case 48:
{
player_item_name[id] = "Ulepszony Scout"
player_item_id[id] = rannum
player_b_sniper[id] = random_num(2,3)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia scoutem",player_item_name[id],player_b_sniper[id])
}
case 49:
{
player_item_name[id] = "Zabojczy Smoke"
player_item_id[id] = rannum
player_b_smokehit[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Jezeli uderzasz kogos granatami dymym, to on zginie",player_item_name[id],player_b_smokehit[id])
}
case 50:
{
player_item_name[id] = "Ulepszacz"
player_item_id[id] = rannum
player_b_extrastats[id] = random_num(5,15)
BoostStats(id,player_b_extrastats[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: Zyskasz +%i do wszystkich statystyk",player_item_name[id],player_b_extrastats[id])
}
case 51:
{
player_item_name[id] = "Odwaga Randy Ortona"
player_item_id[id] = rannum
player_b_firetotem[id] = random_num(250,400)
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj, aby polozyc wybuchowy totem ognia",player_item_name[id],player_b_firetotem[id])
}
case 52:
{
player_item_name[id] = "Magiczny Hak"
player_item_id[id] = rannum
player_b_hook[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj, aby rzucic hakiem",player_item_name[id])
}
case 53:
{
player_item_name[id] = "Lekkie Rekawiczki"
player_item_id[id] = rannum
player_b_darksteel[id] = random_num(1,5)
show_hudmessage(id, "Znalazles przedmiot: %s :: Dodatkowe uszkodzenia, gdy trafisz kogos od tyłu",player_item_name[id])
}
case 54:
{
player_item_name[id] = "Silne Rekawiczki"
player_item_id[id] = rannum
player_b_darksteel[id] = random_num(7,9)
show_hudmessage(id, "Znalazles przedmiot: %s :: Dodatkowe uszkodzenia, gdy trafisz kogos od tyłu",player_item_name[id])
}
case 55:
{
player_item_name[id] = "Plaszcz Deathrunowca"
player_item_id[id] = rannum
player_b_illusionist[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj, aby stac sie niewidoczny dla wszystkich",player_item_name[id])
}
case 56:
{
player_item_name[id] = "Niewidzialne Miny"
player_item_id[id] = rannum
player_b_mine[id] = 3
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj, zeby polozyc niewidzialna mine",player_item_name[id])
}
case 57:
{
player_item_name[id] = "Pierscien Reya Mysterio"
player_item_id[id] = rannum
player_b_blink[id] = floatround(halflife_time())
player_b_froglegs[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Twoj noz pozwala ci teleportowac sie co 3 sekundy i zrobic dlugi skok jak kucniesz na 3 sekundy",player_item_name[id])
}
case 58:
{
player_item_name[id] = "Pierscien Johna Ceny"
player_item_id[id] = rannum
player_ring[id]=1
player_b_fireball[id] = random_num(50,80)
show_hudmessage(id, "Znalazles przedmiot : %s :: Ten przedmiot dodaje ci +5 magi i robi ognista kule, wcisnij E aby uzyc",player_item_name[id])
}
case 59:
{
player_item_name[id] = "Pierscien Triple H"
player_item_id[id] = rannum
player_b_respawn[id] = random_num(2,4)
player_b_vampire[id] = random_num(3,5)
show_hudmessage(id, "Znalazles przedmiot : %s :: Dzieki temu itemowi masz szanse na ponowne odrodzenie sie i wysysasz zycie wrogowi",player_item_name[id])
}
case 60:
{
player_item_name[id] = "Pierscien efee"
player_item_id[id] = rannum
player_b_explode[id] = random_num(120,330)
player_ring[id]=2
show_hudmessage(id, "Znalazles przedmiot : %s :: Ten item dodaje ci +5 sily i jak zginiesz wybuchasz",player_item_name[id])
}
case 61:
{
player_item_name[id] = "Pierscien Campera"
player_item_id[id] = rannum
player_b_redirect[id] = random_num(7,17)
player_b_blind[id] = random_num(3,4)
show_hudmessage(id, "Znalazles przedmiot : %s :: Redukuje normalne obrazenia i masz szanse na oslepienie wroga",player_item_name[id])
}
case 62:
{
player_item_name[id] = "Pierscien UnderTakera"
player_item_id[id] = rannum
player_b_grenade[id] = random_num(1,4)
player_b_heal[id] = random_num(20,35)
show_hudmessage(id, "Znalazles przedmiot : %s :: Masz szanse na natychmiastowe zabicie z HE. Twoje hp bedzie sie regenerowac co 5 sekund oraz mozesz polozyc leczacy totem na 7 sekund",player_item_name[id])
}
case 63:
{
player_item_name[id] = "Pierscien Zabojcy UnderTakera"
player_item_id[id] = rannum
player_b_jumpx[id] = 1
player_ring[id]=3
show_hudmessage(id, "Znalazles przedmiot : %s :: Dostajesz +5 do zwinnosci. Mozesz zrobic podwojny skok w powietrzu",player_item_name[id])
}
case 64:
{
player_item_name[id] = "Anty Flesh"
player_item_id[id] = rannum
wear_sun[id] = 1
show_hudmessage (id, "Znalazles przedmiot : %s :: Flashbangi na ciebie nie dzialaja",player_item_name[id])
}
case 65:
{
player_item_name[id] = "Kameleon"
player_item_id[id] = 66
changeskin(id,0)
show_hudmessage (id, "Znalazles przedmiot : %s :: Wygladasz jak przeciwnik",player_item_name[id])
}
case 66:
{
player_item_name[id] = "Lekki Pancerz"
player_item_id[id] = 67
player_ultra_armor[id]=random_num(3,6)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}
case 67:
{
player_item_name[id] = "Ciezki Pancerz"
player_item_id[id] = 68
player_ultra_armor[id]=random_num(7,11)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}
case 68:
{
player_item_name[id] = "Oslepienie"
player_item_id[id] = rannum
player_b_blind[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans na utrate wzroku kiedy uszkadzasz wroga",player_item_name[id],player_b_blind[id])
}
case 69:
{
player_item_name[id] = "Plecak Podroznika"
player_item_id[id] = rannum
player_b_extrastats[id] = random_num(5,20)
BoostStats(id,player_b_extrastats[id])
changeskin(id,0)
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Nowy Item ^x03 %s ^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: Zyskasz +%i do wszystkich statystyk, masz Kameleona",player_item_name[id],player_b_extrastats[id])
}
case 70:
{
player_item_name[id] = "Duszek"
player_item_id[id] = 70
player_b_inv[id] = random_num(20,50)
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Nowy Item ^x03 %s ^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
}
case 71:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Odrodzenie"
player_item_id[id] = rannum
player_b_respawn[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do ponownego odrodzenia sie po smierci",player_item_name[id],player_b_respawn[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako ^x03VIP^x01 Otrzymal unikalny przedmiot wweMix x04 %s^x01 ", name, player_item_name[id])
}
}
case 72:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Scout Super Master"
player_item_id[id] = rannum
player_b_sniper[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia scoutem",player_item_name[id],player_b_sniper[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako VIP Otrzymal unikalny przedmiot WWE+DR ^x04 %s^x01 ", name, player_item_name[id])
}
}
case 73:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Morderczy RKO"
player_item_id[id] = rannum
player_b_silent[id] = 1
changeskin(id,0)
show_hudmessage(id, "Znalazles przedmiot: %s :: Wygladasz jak przeciwnik oraz nie slychac twoich krokow",player_item_name[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako VIP Otrzymal unikalny przedmiot WWE+DR ^x04 %s^x01 ", name, player_item_name[id])
}
}
case 74:
{
player_item_name[id] = "Pierscien Kane"
player_item_id[id] = rannum
player_b_inv[id] = 150
if (is_user_alive(id)) set_user_health(id,50)
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 50 zycia, jestes w polowie niewidoczny",player_item_name[id])
}
case 75:
{
player_item_name[id] = "Pancerz Triple H"
player_item_id[id] = rannum
player_ultra_armor[id]=random_num(15,25)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}
case 76:
{
player_item_name[id] = "FireDevils"
player_item_id[id] = rannum
player_b_fireball[id] = random_num(300,500)
show_hudmessage(id, "Znalazles przedmiot: %s :: Uszkadza wszystko w promieniu %i",player_item_name[id],player_b_fireball[id])
}
case 77:
{
player_item_name[id] = "Niewidzialna Lina"
player_item_id[id] = rannum
player_b_ghost[id] = random_num(7,8)
show_hudmessage(id, "Znalazles przedmiot: %s :: Mozesz przenikac przez sciany przez %i sekund",player_item_name[id],player_b_ghost[id])
}
case 78:
{
player_item_name[id] = "Aura UnderTakera"
player_item_id[id] = rannum
player_b_vampire[id] = random_num(10,15)
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: wysysasz %i hp przeciwnikowi",player_item_name[id],player_b_vampire[id])
}
case 79:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Duzy Plecak Rocka"
player_item_id[id] = rannum
player_b_money[id] = random_num(4200,12000)
show_hudmessage(id, "Znalazles przedmiot: %s :: dostajesz %i zlota w kazdej rundzie. Uzyj, zeby chronil cie.",player_item_name[id],player_b_money[id]+player_intelligence[id]*50)
ColorChat(0, GREEN, "^x04 %s^x01 jako VIP Otrzymal unikalny przedmiot^x04 %s^x01 ", name, player_item_name[id])
}
}
case 80:
{
player_item_name[id] = "Pancerz Reya"
player_item_id[id] = rannum
player_b_respawn[id] = random_num(2,4)
player_ultra_armor[id]=random_num(10,20)
item_durability[id] = 100
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans na odrodzenie. Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id],player_b_respawn[id])
}
case 81:
{
player_item_name[id] = "Sila Triple H"
player_item_id[id] = rannum
player_b_mp5master[id] = random_num(11,13)
item_durability[id] = 200
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia z mp5",player_item_name[id],player_b_mp5master[id])
}
case 82:
{
player_item_name[id] = "Deagle Deathrun"
player_item_id[id] = rannum
player_b_deaglmaster[id] = random_num(7,8)
item_durability[id] = 200
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Nowy Item ^x03 %s ^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia deaglem",player_item_name[id],player_b_deaglmaster[id])
}
case 83:
{
player_item_name[id] = "Helm Deathrunowca"
player_item_id[id] = rannum
player_b_damage[id] = random_num(5,10)
player_b_inv[id] = 150
show_hudmessage(id, "Znalazles przedmiot: %s :: Dodaje obrazenia %i. Jestes w polowie niewidoczny ",player_item_name[id],player_b_damage[id],player_b_inv[id])
}
case 84:
{
player_item_name[id] = "Helm Deathrunowca"
player_item_id[id] = rannum
player_b_damage[id] = random_num(5,10)
player_b_inv[id] = 150
show_hudmessage(id, "Znalazles przedmiot: %s :: Dodaje obrazenia %i. Jestes w polowie niewidoczny ",player_item_name[id],player_b_damage[id],player_b_inv[id])
}
case 85:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Magiczne DMG"
player_item_id[id] = rannum
player_b_damage[id] = random_num(50,60)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i premia wiecej dmg",player_item_name[id],player_b_damage[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako VIP Otrzymal unikalny przedmiot^x04 %s^x01 ", name, player_item_name[id])
}
}
case 86:
{
player_item_name[id] = "JTG Ring"
player_item_id[id] = rannum
player_b_damage[id] = random_num(10,20)
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i",player_item_name[id],player_b_damage[id])
}
case 87:
{
player_item_name[id] = "Master DR"
player_item_id[id] = rannum
player_b_damage[id] = random_num(50,60)
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz dodatkowe obrazenia", player_item_name[id],player_b_alatarka[id])
}
case 88:
{
player_item_name[id] = "Torch of Magic"
player_item_id[id] = rannum
player_b_latarka[id] = 1
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: Mozesz uzywac latarki maga.", player_item_name[id],player_b_latarka[id])
}
case 89:
{
player_item_name[id] = "Anty Skrzydla"
player_item_id[id] = rannum
player_b_antyarchy[id] = 1
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: Jestes odporny na Arch, Small Angel Wings", player_item_name[id],player_b_antyarchy[id])
}
case 90:
{
player_item_name[id] = "Knife Power"
player_item_id[id] = rannum
player_b_knife[id] = random_num(5,10)
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia z noza", player_item_name[id],player_b_knife[id])
}
case 91:
{
player_item_name[id] = "Knife of Gods"
player_item_id[id] = rannum
player_b_knife[id] = random_num(3,5)
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal ^x03 %s^x01 ", name, player_item_name[id])
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia z noza", player_item_name[id],player_b_knife[id])
}
case 92:
{
player_item_name[id] = "Kamikaze"
player_item_id[id] = rannum
player_b_explode[id] = random_num(600,800)
show_hudmessage(id, "Znalazles przedmiot: %s :: Wybuchniesz zaraz po smierci w promieniu %i",player_item_name[id],player_b_explode[id])
}
case 93:
{
player_item_name[id] = "Skoki Chucka"
player_item_id[id] = rannum
player_b_jumpx[id] = 10
player_b_fireball[id] = random_num(100,200)
show_hudmessage (id, "Znalazles przedmiot : %s :: Mozesz zrobic 10 skokow w powietrzu i wyczarowac 1 fireball.",player_item_name[id],player_b_jumpx[id], player_b_fireball[id])
}
case 94:
{
player_item_name[id] = "Zolwia skorupa"
player_item_id[id] = rannum
player_b_damage[id] = 15
player_b_redirect[id] = random_num(20, 40)
player_b_blink[id] = 1
set_user_gravity(id,3.0)
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoja obrona jest wieksza o %i , zadajesz 20 wiecej dmg oraz mozesz sie teleportowac (ppm)",player_item_name[id],player_b_damage[id],player_b_redirect[id],player_b_blink[id])
}
case 95:
{
player_item_name[id] = "Magia efee"
player_item_id[id] = rannum
player_b_awp[id] = random_num(2,3)
item_durability[id] = 500
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia z AWP",player_item_name[id],player_b_awp[id])
}
case 96:
{
player_item_name[id] = "Paczka efee"
player_item_id[id] = 96
player_b_inv[id] = 8
player_b_knife[id] = random_num(4,5)
item_durability[id] = 200
if (is_user_alive(id)) set_user_health(id,5)
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 5 HP , jestes prawie niewidoczny i 1/4 a natychmiastowe zabicie z noza",player_item_name[id],player_item_id[id],player_b_inv[id],player_b_latarka[id],player_b_knife[id])
}
case 97:
{
player_item_name[id] = "Zaczarowane m4 v2"
player_item_id[id] = rannum
player_b_m4master[id] = random_num(6,15)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia z m4",player_item_name[id],player_b_m4master[id])
}
case 98:
{
player_item_name[id] = "Totem Mrozu"
player_item_id[id] = rannum
player_b_zamroz[id]=1
show_hudmessage(id, "Znalazles przedmiot: %s :: Posiadasz Totem Taktyczny Mroz", player_item_name[id],player_b_zamroz[id])
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Jeden Z nowych Totemow Taktycznych^x04 %s^x01 ", name, player_item_name[id])
}
case 99:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Camper Ring"
player_item_id[id] = rannum
player_b_inv[id] = 175
player_b_damage[id] = 20
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoja widzialnosc jest zmniejszona do 175 oraz posiadasz dodatkowe +20 obrazen",player_item_name[id],player_b_inv[id],player_b_damage[id])
}
}
case 100:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Latajacy Noz"
player_item_id[id] = rannum
player_b_knife[id] = random_num(3,4)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia z noza", player_item_name[id],player_b_knife[id])
}
}
case 101:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Pancerz Campera"
player_item_id[id] = 101
player_ultra_armor[id]=random_num(15,20)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako VIP Otrzymal unikalny przedmiot^x04 %s^x01 ", name, player_item_name[id])
}
}
case 102:
{
player_item_name[id] = "Totem Antygrawitacyjny"
player_item_id[id] = rannum
player_b_grawi[id]=1
show_hudmessage(id, "Znalazles przedmiot: %s :: Posiadasz Totem Taktyczny Antygrawitacja", player_item_name[id],player_b_grawi[id])
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Jeden Z nowych Totemow Taktycznych^x04 %s^x01 ", name, player_item_name[id])
}
case 103:
{
player_item_name[id] = "Totem GodMod"
player_item_id[id] = rannum
player_b_nies[id]=1
show_hudmessage(id, "Znalazles przedmiot: %s :: Posiadasz Totem Taktyczny Niesmiertelnosc", player_item_name[id],player_b_nies[id])
}
case 104:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Pierscien VIPa"
player_item_id[id] = rannum
player_b_inv[id] = 175
player_b_m4master[id] = random_num(6,10)
player_b_jumpx[id] = 3
show_hudmessage(id, "Znalazles przedmiot : %s :: 1/%i szans do natychmiastowego zabicia z m4. +%i premii niewidocznosci masz Kusze ",player_item_name[id], player_b_m4master[id], 255- player_b_inv[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako VIP Otrzymal unikalny przedmiot^x04 %s^x01 ", name, player_item_name[id])
}
}
case 105:
{
player_item_name[id] = "Losowanie (Duze)"
player_item_id[id] = rannum
player_b_exp2[id] = 4
show_hudmessage(id, "Znalazles przedmiot: %s :: Graj I wygrywaj ", player_item_name[id])
}
case 106:
{
player_item_name[id] = "Pierscien efee[2x Szybszy Exp]"
player_item_id[id] = rannum
player_b_mnoznik[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: 2x Wiekszy Exp ", player_item_name[id])
}
case 107:
{
player_item_name[id] = "Totemy"
player_item_id[id] = rannum
player_b_totemy[id] = random_num(2,3)
show_hudmessage(id, "Znalazles przedmiot: %s :: +%i daje ci dodatkowy totem taktyczny w kazdej rundzie",player_item_name[id],player_b_totemy[id])
}
case 108:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Klon Ring"
player_item_id[id] = 111
player_b_tanker[id] = 1
player_b_meekstone[id] = 1
if (is_user_alive(id)) set_user_armor(id,500)
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 500 Amor ,Uzyj aby podlozyc sztuczna bombe",player_item_name[id])
}
}
case 109:
{
if(player_class[id] == Morderca)
{
player_item_name[id] = "Siekacz"
player_item_id[id] = rannum
player_b_damage[id] = random_num(20,40)
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i",player_item_name[id],player_b_damage[id])
}
}
case 110:
{
if(player_class[id] == Merial)
{
player_item_name[id] = "Armageddon"
player_item_id[id] = rannum
changeskin(id,0)
player_b_damage[id] = random_num(5,15)
player_b_grenade[id] = 2
player_b_silent[id] = 1
item_durability[id] = 300
show_hudmessage(id, "Znalazles przedmiot: %s :: Zadajesz %i obrazen wiecej, cicho biegasz, Granat 1/%s i wygladasz jak przeciwnik",player_item_name[id],player_b_damage[id],player_b_grenade[id])
}
}
case 111:
{
if(player_class[id] == Ninja)
{
player_item_name[id] = "Taniec Ostrza"
player_item_id[id] = rannum
player_b_knife[id] = random_num(2,3)
item_durability[id] = 300
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i na natychmiastowe zabicie z noza",player_item_name[id],player_b_knife[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako ^x03Ninja^x01 Otrzymal unikalny przedmiot dla Klasy ^x04 %s^x01 ", name, player_item_name[id])
}
}
case 112:
{
if(player_class[id] == Skrytobojca)
{
player_item_name[id] = "Podrecznik The Rocka"
player_item_id[id] = rannum
player_b_m3master[id] = random_num(4,6)
player_b_grenade[id] = random_num(2,3)
item_durability[id] = 300
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i na natychmiastowe zabicie z M3 Granat 1/%s",player_item_name[id],player_b_m3master[id],player_b_grenade[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako ^x03The Rock^x01 Otrzymal unikalny przedmiot dla Klasy ^x04 %s^x01 ", name, player_item_name[id])
}
}
case 113:
{
player_item_name[id] = "Odpornosc Ceny"
player_item_id[id] = rannum
player_b_m3master[id] = random_num(1,2)
player_b_grenade[id] = random_num(1,2)
player_b_knife[id] = random_num(2,3)
player_b_glockmaster[id] = random_num(2,4)
player_b_magneto[id] = random_num(1,6)
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/% , na natychmiastowe zabicie z M3 Granat 1/%s aby dowiedziec sie wiecej wpisz /item",player_item_name[id],player_b_m3master[id],player_b_grenade[id])
ColorChat(0, GREEN, "^x04 %s^x01 jako ^x03The Rock^x01 Otrzymal unikalny przedmiot dla Klasy ^x04 %s^x01 ", name, player_item_name[id])
}
case 114:
{
player_item_name[id] = "Lotto"
player_item_id[id] = rannum
player_b_exp[id] = 3
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Nowy Item ^x03 %s^x01 ", name, player_item_name[id])
}
case 115:
{
player_item_name[id] = "Napoj Teda Dibiasego"
player_item_id[id] = rannum
player_b_redbull[id] = 1
if (is_user_alive(id))
set_gravitychange(id)
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Nowy Item WWE+Deathrun ^x03 %s^x01 ", name, player_item_name[id])
}
case 116:
{
if(player_class[id] == Magneto)
{
player_item_name[id] = "Fiolka Zombi"
player_item_id[id] = 116
player_b_zombi[id] = 1
if (is_user_alive(id)) set_user_health(id,2500)
show_hudmessage(id, "Znalazles przedmiot: %s :: Stales Sie ZOMBIE!!",player_item_name[id])
ColorChat(0, GREEN, "^x04 %s^x01 bedac ^x03 Magneto^x01 Znalazl zaginiony Artefakt : ^x04 %s^x01 ", name, player_item_name[id])
}
}
case 117:
{
player_item_name[id] = "Napoj Deathrunowca"
player_item_id[id] = 117
player_b_4move[id] = 1
player_b_silent[id] = 1
if (is_user_alive(id))
set_speedchange(id)
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Nowy Item ^x03 %s ^x01 ", name, player_item_name[id])
}
case 118:
{
player_item_name[id] = "Buty Johna Ceny"
player_item_id[id] = 118
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::", player_item_name[id])
ColorChat(0, GREEN, "^x04 %s^x01 Znalazl ^x04 %s^x01 ", name, player_item_name[id])
}
case 119:
{
player_item_name[id] = "Buty UnderTakera"
player_item_id[id] = 119
player_b_exp[id] = 3
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Posiadasz Ekwipunek Mordercy", player_item_name[id])
}
case 120:
{
if(player_class[id] == Magneto)
{
player_item_name[id] = "Ghost"
player_item_id[id] = 120
player_b_burn[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::!", player_item_name[id])
}
case 121:
{
player_item_name[id] = "Powrot The Rocka"
player_item_id[id] = 121
player_b_awp[id] = random_num(1,2)
player_b_knifemaster[id] = random_num(5,10)
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: ", player_item_name[id])
}
case 122:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
player_item_name[id] = "Bron Nowej Generacji"
player_item_id[id] = rannum
player_b_magneto[id] = random_num(1,10)
player_b_m4master[id] = random_num(5,10)
player_b_awp[id] = random_num(1,2)
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
ColorChat(0, GREEN, "^x04 %s^x01 Otrzymal Nowy Item ^x03 %s ^x01 Tylko ^x03 VIP ^x01", name, player_item_name[id])
}
}
case 123:
{
player_item_name[id] = "Luneta"
player_item_id[id] = 123
player_b_luneta[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 124:
{
player_item_name[id] = "Zaczarowany glock"
player_item_id[id] = rannum
player_b_glockmaster[id] = random_num(6,15)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do natychmiastowego zabicia z glocka",player_item_name[id],player_b_glockmaster[id])
}
case 125:
{
player_item_name[id] = "Napoj UnderTakera"
player_item_id[id] = rannum
player_b_hpitem[id] = 150
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj, zeby uleczyc 150 hp",player_item_name[id])
}
case 126:
{
player_item_name[id] = "Zabojcze M4"
player_item_id[id] = 126
player_m4[id] = 1
player_b_m4master[id] = random_num(5,8)
item_durability[id] = 150
fm_give_item(id, "weapon_m4a1")
plusammo1(id)
show_hudmessage(id, "Znalazles przedmiot: %s :: Zabojcza Bron",player_item_name[id])
}
case 127:
{
if(player_class[id] == Ninja)
{
player_item_name[id] = "Podrecznik Reya Mysterio"
player_item_id[id] = 127
player_b_mom[id] = 1
if (is_user_alive(id)) set_user_health(id,5)
show_hudmessage(id, "Znalazles przedmiot: %s :: Wyszkolenie Taktyczne!", player_item_name[id])
ColorChat(0, GREEN, "^x04 %s^x01 Znalazl ^x04 %s^x01 Tylko Dla Reya Mysterio", name, player_item_name[id])
}
}
case 128:
{
player_item_name[id] = "Deagle Kane"
player_item_id[id] = 129
player_b_2damage[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: Zloty Deagl",player_item_name[id])
}
case 129:
{
player_item_name[id] = "Napoj Kane"
player_item_id[id] = 129
player_b_hpitem[id] = 200
show_hudmessage(id, "Znalazles przedmiot: %s :: Uzyj Aby Uleczyc 200HP",player_item_name[id])
}
case 130:
{
player_item_name[id] = "Okulary The Rocka"
player_item_id[id] = 130
player_agility[id]+=40
wear_sun[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 131:
{
player_item_name[id] = "Tajemnicza Sila Triple H"
player_item_id[id] = 131
player_b_latarka[id] = 1
player_b_kusza[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 132:
{
player_item_name[id] = "Pierscien Campera"
player_item_id[id] = 132
wear_sun[id] = 1
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 133:
{
player_item_name[id] = "Sila Ortona"
player_item_id[id] = 133
player_strength[id]+=30
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 134:
{
player_item_name[id] = "Fast Xp Shawna Michaelsa"
player_item_id[id] = 134
player_b_mnoznik[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 135:
{
player_item_name[id] = "Swiety Napoj UnderTakera"
player_item_id[id] = 135
player_strength[id]+=10
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 136:
{
player_item_name[id] = "Szczescie Punka"
player_item_id[id] = 136
player_b_exp2[id] = 4
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 137:
{
player_item_name[id] = "Prezent"
player_item_id[id] = 137
player_b_exp2[id] = 4
show_hudmessage(id, "Znalazles przedmiot: %s ::Nie moga cie zabic strzelajac w glowe",player_item_name[id])
}
case 138:
{
player_item_name[id] = "Buty Campera"
player_item_id[id] = 138
player_b_silent[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::",player_item_name[id])
}
case 139:
{
player_item_name[id] = "Fart TripleH"
player_item_id[id] = 139
player_b_heal[id] = random_num(20,30)
player_b_darksteel[id] = 50
player_b_meekstone[id] = 1
item_durability[id] = 100
show_hudmessage(id, "Znalazles przedmiot: %s ::Masz magiczny totem, zadajesz 50 dmg wiecej w plecy, masz meekstona",player_item_name[id], player_b_hpitem[id])
}
case 140:
{
player_item_name[id] = "WH Ceny"
player_item_id[id] = 140
player_b_heal[id] = random_num(10,15)
player_b_respawn[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s ::Odradzasz sie co deda, magiczny totem + 10hp",player_item_name[id], player_b_hpitem[id])
}
case 141:
{
player_item_name[id] = "WH Steva Austina"
player_item_id[id] = 141
player_b_inv[id] = 7
player_b_ghost[id] = 10
if (is_user_alive(id)) set_user_health(id,4)
item_durability[id] = 50
show_hudmessage(id, "Znalazles przedmiot: %s ::Twoja widocznosc zmniejsza sie do 7,przenikasz przez sciany,masz 4hp",player_item_name[id], player_b_hpitem[id])
}
case 142:
{
player_item_name[id] = "Pancerz HBK"
player_item_id[id] = 142
player_ultra_armor[id]=random_num(10,15)
player_ultra_armor_left[id]=player_ultra_armor[id]
player_b_vampire[id] = random_num(10,20)
player_b_inv[id] = 50
item_durability[id] = 50
show_hudmessage(id, "Znalazles przedmiot: %s ::Twoja widocznosc zmniejsza sie do 50,odbijasz 10 pociskow,wysysasz 40 hp",player_item_name[id], player_b_hpitem[id])
}
case 143:
{
player_item_name[id] = "Precyzyjny Spear"
player_item_id[id] = 143
player_ultra_armor[id]=20
player_ultra_armor_left[id]=player_ultra_armor[id]
player_b_explode[id] = random_num(500,600)
item_durability[id] = 50
show_hudmessage(id, "Znalazles przedmiot: %s ::Redukuje obrażenia o 20, po śmierci wybuchasz zadając 450 dmg w promieniu 500.",player_item_name[id], player_b_hpitem[id])
}
case 144:
{
player_item_name[id] = "Tajemnicza sila Campera"
player_item_id[id] = 144
player_ultra_armor[id]=40
player_ultra_armor_left[id]=player_ultra_armor[id]
player_b_heal[id] = 40
item_durability[id] = 50
show_hudmessage(id, "Znalazles przedmiot: %s ::Redukuje obrażenia o 40 proc + totem leczący 40hp na 5sec.",player_item_name[id], player_b_hpitem[id])
}
case 145:
{
player_item_name[id] = "Buty Shawna Michealsa"
player_item_id[id] = 145
item_durability[id] = 50
player_b_respawn[id] = 4
player_b_silent[id] = 1
player_b_vampire[id] = random_num(20,21)
show_hudmessage(id, "Znalazles przedmiot: %s ::Dodaje obrażenia 20+, 1/4 ze zostaniesz wskszeszony po smierci, ciche Chodzenie ,1/3 ze przeciwnik straci wzrok .",player_item_name[id], player_b_hpitem[id])
}
case 146:
{
player_item_name[id] = "WH Klona"
player_item_id[id] = 146
item_durability[id] = 50
player_b_respawn[id] = 4
player_b_extrastats[id] = 10
BoostStats(id,player_b_extrastats[id])
show_hudmessage(id, "Znalazles przedmiot: %s ::+ 10 do statow, 1/1 na respawn.",player_item_name[id], player_b_hpitem[id])
}
case 147:
{
player_item_name[id] = "Wampir Kane"
player_item_id[id] = 147
item_durability[id] = 50
player_b_respawn[id] = 4
player_b_silent[id] = 1
player_b_vampire[id] = 10
show_hudmessage(id, "Znalazles przedmiot: %s ::Dodaje obrażenia 10+, 1/4 ze zostaniesz wskszeszony po smierci, ciche Chodzenie.",player_item_name[id], player_b_hpitem[id])
}
case 148:
{
player_item_name[id] = "Slaby Pancerz Ceny"
player_item_id[id] = 148
item_durability[id] = 50
player_b_respawn[id] = 1
player_b_silent[id] = 1
player_b_theif[id] = random_num(5000,6000)
show_hudmessage(id, "Znalazles przedmiot: %s ::1/1 ze zostaniesz wskszeszony po smierci, ciche Chodzenie ,kradniesz od 5 k zlota do 6 k zlota.",player_item_name[id], player_b_hpitem[id])
}
case 149:
{
player_item_name[id] = "Narty Malysza"
player_item_id[id] = 149
player_b_jumpx[id] = 8
show_hudmessage(id, "Znalazles przedmiot: %s :: Mozesz zrobic 8 skokow w powietrzu i masz wieksza grawite",player_item_name[id],player_b_sniper[id])
}
case 150:
{
player_item_name[id] = "Pierscien Hall OF Fame"
player_item_id[id] = 150
player_b_redirect[id] = random_num(15,50)
player_b_damage[id] = random_num(15,50)
player_b_blind[id] = random_num(3,4)
player_ultra_armor[id]=random_num(15,50)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage(id, "Znalazles przedmiot : %s :: Nikt do tej pory nie odkryl dzialania tego magicznego przedmiotu",player_item_name[id])
}
case 151:
{
player_item_name[id] = "Sakiewka Teda Dibiasego"
player_item_id[id] = 151
player_b_money[id] = random_num(1,16000)
show_hudmessage(id, "Znalazles przedmiot: %s :: dostajesz %i zloto w kazdej rundzie. Uzyj, zeby chronil cie.",player_item_name[id],player_b_money[id]+player_intelligence[id]*50)
}
case 152:
{
player_item_name[id] = "Krwawy But Marka Henrego"
player_item_id[id] = 152
player_b_vampire[id] = random_num(15,20)
show_hudmessage(id, "Znalazles przedmiot: %s :: wysysasz %i hp przeciwnikowi",player_item_name[id],player_b_vampire[id])
}
case 153:
{
player_item_name[id] = "Pierscien Sheamusa"
player_item_id[id] = 153
player_b_respawn[id] = 1
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans do ponownego odrodzenia sie po smierci",player_item_name[id],player_b_respawn[id])
}
case 154:
{
player_item_name[id] = "Zabojca Kanow"
player_item_id[id] = 154
player_b_heal[id] = random_num(30,55)
player_b_damage[id] = 50
show_hudmessage(id, "Znalazles przedmiot: %s :: Regeneruje %i hp co kazde 5 sekund. Uzyj, zeby polozyc totem ktory bedzie leczyl wszystkich w zasiegu %i. Zadajesz 50 dmg wiecej",player_item_name[id],player_b_heal[id],player_b_heal[id])
}
case 155:
{
player_item_name[id] = "Mistyczna Sila"
player_item_id[id] = 155
changeskin(id,0)
player_b_grenade[id] = random_num(1,2)
show_hudmessage (id, "Znalazles przedmiot : %s :: Wygladasz jak przeciwnik.Masz 1/%i na natychmiastowe zabicie z HE",player_item_name[id],player_b_grenade[id])
}
case 156:
{
player_item_name[id] = "Apocalypse Anihilation"
player_item_id[id] = 156
player_b_damage[id] = 100
player_b_silent[id] = 1
item_durability[id] = 100
show_hudmessage (id, "Znalazles przedmiot : %s :: Masz %i dodatkowych obrazen oraz cicho biegasz",player_item_name[id],player_b_damage[id],player_b_silent[id])
}
case 157:
{
player_item_name[id] = "Inferno"
player_item_id[id] = 157
player_b_redirect[id] = 10
player_b_damage[id] = 10
player_b_respawn[id] = 2
show_hudmessage (id, "Znalazles przedmiot : %s :: Wieksze dmg o 10. Dostajesz mniej o 10. 1/2 na odrodzenie.",player_item_name[id])
}
case 158:
{
player_item_name[id] = "WH Raczq"
player_item_id[id] = 158
player_b_grenade[id] = 5
player_b_inv[id] = random_num(70,110)
show_hudmessage (id, "Znalazles przedmiot : %s :: 1/5 na zabicie z granata.+%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
}
case 159:
{
player_item_name[id] = "Maly Pierscien efee-"
player_item_id[id] = 159
player_b_damage[id] = 25
player_b_inv[id] = random_num(70,110)
show_hudmessage (id, "Znalazles przedmiot : %s :: +25dmg || +%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
}
case 160:
{
player_item_name[id] = "Annihilus"
player_item_id[id] = 160
player_b_damage[id] = 15
player_b_vampire[id] = 50
show_hudmessage (id, "Znalazles przedmiot : %s :: Wieksze dmg o 15. Wysysasz 50 HP z kazdym uderzeniem",player_item_name[id])
}
case 161:
{
player_item_name[id] = "Tajemnica Klona"
player_item_id[id] = 161
player_b_damage[id] = 25
player_b_vampire[id] = 25
item_durability[id] = 100
show_hudmessage (id, "Znalazles przedmiot : %s :: Wieksze dmg o 25. Wysysasz 25 HP z kazdym uderzeniem",player_item_name[id])
}
case 162:
{
player_item_name[id] = "WH efee-"
player_item_id[id] = 162
player_b_damage[id] = 25
player_b_inv[id] = random_num(190,200)
show_hudmessage (id, "Znalazles przedmiot : %s :: 1/2 na oślepienie. +%i premii niewidocznosci",player_item_name[id],255-player_b_inv[id])
}
}
BoostRing(id)
return PLUGIN_CONTINUE
}
/* UNIQUE ITEMS ============================================================================================ */
//Names are generated from an array
public award_unique_item(id)
{
new Unique_names_Suffix[10][100]
new Unique_names_Prefix[10][100]
Unique_names_Suffix[1] = "Saintly amulet "
Unique_names_Suffix[2] = "Holy sword "
Unique_names_Suffix[3] = "Small staff "
Unique_names_Suffix[4] = "Bright rope "
Unique_names_Suffix[5] = "Shiny scepter "
Unique_names_Prefix[1] = "of the stars"
Unique_names_Prefix[2] = "of power"
Unique_names_Prefix[3] = "of zod"
Unique_names_Prefix[4] = "of life"
Unique_names_Prefix[5] = "of the sun"
//Generate the items name
new roll_1 = random_num(1,4)
new roll_2 = random_num(1,4)
new Unique_name[100]
add(Unique_name,99,Unique_names_Suffix[roll_1])
add(Unique_name,99,Unique_names_Prefix[roll_2])
player_item_name[id] = Unique_name
player_item_id[id] = 100
//Generate and apply the stats
if (roll_1 == 1) player_b_damage[id] = random_num(5,10)
if (roll_1 == 2) player_b_vampire[id] = random_num(5,10)
if (roll_1 == 3) player_b_money[id] = random_num(2500,5000)
if (roll_1 == 4) player_b_magneto[id] = random_num(5,15)
if (roll_1 == 5) player_b_blind[id] = random_num(3,5)
if (roll_2 == 1) player_b_grenade[id] = random_num(1,4)
if (roll_2 == 2) player_b_respawn[id] = random_num(2,4)
if (roll_2 == 3) player_b_explode[id] = random_num(150,400)
if (roll_2 == 4) player_b_redirect[id] = random_num(5,15)
if (roll_2 == 5) player_b_heal[id] = random_num(15,30)
item_durability[id] = 350
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Znalazles unikalny przedmiot: %s", Unique_name)
}
/* EFFECTS ================================================================================================= */
public add_damage_bonus(id,damage,attacker_id)
{
if (player_b_damage[attacker_id] > 0)
{
if (get_user_health(id) > player_b_damage[attacker_id])
{
set_user_health(id,get_user_health(id) - player_b_damage[attacker_id])
if (random_num(1,2) == 1) Effect_Bleed(id,248)
}
}
if (player_dama[attacker_id] > 0)
{
if (get_user_health(id) > 40)
{
new los = 22-player_dama[id]*2
if (random_num(1,los) == 1)set_user_health(id,get_user_health(id) - 30)
if (random_num(1,los) == 1)client_print(id, print_chat, "Krytyczne Uderzenie")
if (random_num(1,11) == 1) Effect_Bleed(id,248)
}
}
if (c_woj[attacker_id] > 0)
{
if (get_user_health(id) > c_woj[attacker_id])
{
set_user_health(id,get_user_health(id) - c_woj[attacker_id])
if (random_num(1,2) == 1) Effect_Bleed(id,248)
}
}
}
/* ==================================================================================================== */
public add_vampire_bonus(id,damage,attacker_id)
{
if (player_b_vampire[attacker_id] > 0)
{
change_health(attacker_id,player_b_vampire[attacker_id],0,"")
}
if (c_wampir[attacker_id] > 0)
{
change_health(attacker_id,c_wampir[attacker_id],0,"")
}
}
/* ==================================================================================================== */
public add_bandyta_bonus(attacker_id,id)
{
if (c_bandyta[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id))
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1,c_bandyta[attacker_id]) == 1)
dropitem(id)
}
return PLUGIN_HANDLED
}
public add_bonus_magnez(attacker_id,id)
{
if (player_b_magneto[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id))
{
new roll = random_num(1,player_b_magneto[attacker_id])
if (roll == 1)
{
new ammo, clip;
new iWeaponID = get_user_weapon( id, ammo, clip );
if ( iWeaponID == CSW_GALIL || iWeaponID == CSW_FAMAS || iWeaponID == CSW_M3 || iWeaponID == CSW_XM1014 || iWeaponID == CSW_MP5NAVY || iWeaponID == CSW_TMP || iWeaponID == CSW_P90 || iWeaponID == CSW_MAC10 || iWeaponID == CSW_UMP45 || iWeaponID == CSW_AK47 || iWeaponID == CSW_SG552 || iWeaponID == CSW_M4A1 || iWeaponID == CSW_AUG || iWeaponID == CSW_SCOUT || iWeaponID == CSW_AWP || iWeaponID == CSW_G3SG1 || iWeaponID == CSW_SG550 || iWeaponID == CSW_M249 )
{
client_cmd( id, "drop" );
}
}
}
if (c_magneto[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id))
{
new roll = random_num(1,c_magneto[attacker_id])
if (roll == 1)
{
new ammo, clip;
new iWeaponID = get_user_weapon( id, ammo, clip );
if ( iWeaponID == CSW_GALIL || iWeaponID == CSW_FAMAS || iWeaponID == CSW_M3 || iWeaponID == CSW_XM1014 || iWeaponID == CSW_MP5NAVY || iWeaponID == CSW_TMP || iWeaponID == CSW_P90 || iWeaponID == CSW_MAC10 || iWeaponID == CSW_UMP45 || iWeaponID == CSW_AK47 || iWeaponID == CSW_SG552 || iWeaponID == CSW_M4A1 || iWeaponID == CSW_AUG || iWeaponID == CSW_SCOUT || iWeaponID == CSW_AWP || iWeaponID == CSW_G3SG1 || iWeaponID == CSW_SG550 || iWeaponID == CSW_M249 )
{
client_cmd( id, "drop" );
}
}
}
return PLUGIN_CONTINUE;
}
public add_bonus_shake(attacker_id,id)
{
if(c_shake[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,c_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(2<<13);
write_short(3<<14);
message_end();
}
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_money_bonus(id)
{
if (player_b_money[id] > 0)
{
if (cs_get_user_money(id) < 16000 - player_b_money[id]+player_intelligence[id]*50)
{
cs_set_user_money(id,cs_get_user_money(id)+ player_b_money[id]+player_intelligence[id]*50)
}
else
{
cs_set_user_money(id,16000)
}
}
}
/* ==================================================================================================== */
public add_zycie_bonus(id)
{
if (player_b_zombi[id] > 0)
{
if(player_item_id[id]==116)
set_user_health(id,2500)
set_user_maxspeed(id,120.0)
}
}
public add_burn_bonus(id)
{
if (player_b_burn[id] > 0)
{
if(player_item_id[id]==121)
set_user_health(id,50)
set_user_noclip(id,1)
}
}
public add_glowa_bonus(id)
{
if (player_b_glowa[id] > 0)
{
if(player_item_id[id]==137)
set_task(0.1,"glowaon",id,"",0,"a",1);
}
}
/* ==================================================================================================== */
public add_grenade_bonus(id,attacker_id,weapon)
{
if (player_b_grenade[attacker_id] > 0 && weapon == CSW_HEGRENADE && player_b_fireshield[id] == 0) //Fireshield check
{
new roll = random_num(1,player_b_grenade[attacker_id])
if (roll == 1)
{
set_user_health(id, 0)
message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0)
write_byte(attacker_id)
write_byte(id)
write_byte(0)
write_string("grenade")
message_end()
set_user_frags(attacker_id, get_user_frags(attacker_id)+1)
set_user_frags(id, get_user_frags(id)+1)
cs_set_user_money(attacker_id, cs_get_user_money(attacker_id)+150)
}
}
if (c_grenade[attacker_id] > 0 && weapon == CSW_HEGRENADE && player_b_fireshield[id] == 0) //Fireshield check
{
new roll = random_num(1,c_grenade[attacker_id])
if (roll == 1)
{
set_user_health(id, 0)
message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0)
write_byte(attacker_id)
write_byte(id)
write_byte(0)
write_string("grenade")
message_end()
set_user_frags(attacker_id, get_user_frags(attacker_id)+1)
set_user_frags(id, get_user_frags(id)+1)
cs_set_user_money(attacker_id, cs_get_user_money(attacker_id)+150)
}
}
}
/* ==================================================================================================== */
public add_redhealth_bonus(id)
{
if(player_item_id[id]==17) //stalker ring
set_user_health(id,5)
if(player_item_id[id]==74)
set_user_health(id,5)
if(player_item_id[id]==96) //stalker paczka
set_user_health(id,5)
if(player_item_id[id]==127) /// ninja
set_user_health(id,5)
if(player_class[id] == Ninja)
{
if(player_b_inv[id] > 0)
set_user_health(id,5)
}
}
/* ==================================================================================================== */
public add_theif_bonus(id,attacker_id)
{
if (player_b_theif[attacker_id] > 0)
{
new roll1 = random_num(1,5)
if (roll1 == 1)
{
if (cs_get_user_money(id) > player_b_theif[attacker_id])
{
cs_set_user_money(id,cs_get_user_money(id)-player_b_theif[attacker_id])
if (cs_get_user_money(attacker_id) + player_b_theif[attacker_id] <= 16000)
{
cs_set_user_money(attacker_id,cs_get_user_money(attacker_id)+player_b_theif[attacker_id])
}
}
else
{
new allthatsleft = cs_get_user_money(id)
cs_set_user_money(id,0)
if (cs_get_user_money(attacker_id) + allthatsleft <= 16000)
{
cs_set_user_money(attacker_id,cs_get_user_money(attacker_id) + allthatsleft)
}
}
}
}
if (c_theif[attacker_id] > 0)
{
new roll1 = random_num(1,5)
if (roll1 == 1)
{
if (cs_get_user_money(id) > c_theif[attacker_id])
{
cs_set_user_money(id,cs_get_user_money(id)-c_theif[attacker_id])
if (cs_get_user_money(attacker_id) + c_theif[attacker_id] <= 16000)
{
cs_set_user_money(attacker_id,cs_get_user_money(attacker_id)+c_theif[attacker_id])
}
}
else
{
new allthatsleft = cs_get_user_money(id)
cs_set_user_money(id,0)
if (cs_get_user_money(attacker_id) + allthatsleft <= 16000)
{
cs_set_user_money(attacker_id,cs_get_user_money(attacker_id) + allthatsleft)
}
}
}
}
}
/* ==================================================================================================== */
public add_respawn_bonus(id)
{
if (player_b_respawn[id] > 0)
{
new svIndex[32]
num_to_str(id,svIndex,32)
new roll = random_num(1,player_b_respawn[id])
if (roll == 1)
{
new maxpl,players[32]
get_players(players, maxpl)
if (maxpl > 2)
{
cs_set_user_money(id,cs_get_user_money(id)+4000)
set_task(0.5,"respawn",0,svIndex,32)
}
else
{
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Wiecej niz 2 graczy jest wymagane do ponownego odrodzenia sie")
}
client_cmd(id, "spk wwesound/odrodzenie");
}
}
if (c_respawn[id] > 0)
{
new svIndex[32]
num_to_str(id,svIndex,32)
new roll = random_num(1,c_respawn[id])
if (roll == 1)
{
new maxpl,players[32]
get_players(players, maxpl)
if (maxpl > 2)
{
cs_set_user_money(id,cs_get_user_money(id)+4000)
set_task(0.5,"respawn",0,svIndex,32)
}
else
{
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Wiecej niz 2 graczy jest wymagane do ponownego odrodzenia sie")
}
client_cmd(id, "spk wwesound/odrodzenie");
}
}
}
public respawn(svIndex[])
{
new vIndex = str_to_num(svIndex)
RemoveFlag(vIndex,Flag_Rot) // to dodalem
spawn(vIndex);
}
/* ==================================================================================================== */
public add_bonus_explode(id)
{
if (player_b_explode[id] > 0)
{
new origin[3]
get_user_origin(id,origin)
explode(origin,id,0)
for(new a = 0; a < MAX; a++)
{
if (!is_user_connected(a) || !is_user_alive(a) || player_b_fireshield[a] != 0 || get_user_team(a) == get_user_team(id))
continue
if(player_b_antyorb[a] > 0 || c_antyorb[a] > 0)
continue
new origin1[3]
get_user_origin(a,origin1)
if(get_distance(origin,origin1) < player_b_explode[id] + player_intelligence[id]*2)
{
new dam = 75-(player_dextery[a]*2)
if(dam<1) dam=1
change_health(a,-dam,id,"grenade")
Display_Fade(id,2600,2600,0,255,0,0,15)
}
}
}
}
public explode(vec1[3],playerid, trigger)
{
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 21 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 32)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 1000)
write_short( sprite_white )
write_byte( 0 )
write_byte( 0 )
write_byte( 3 )
write_byte( 10 )
write_byte( 0 )
write_byte( 188 )
write_byte( 220 )
write_byte( 255 )
write_byte( 255 )
write_byte( 0 )
message_end()
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 12 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_byte( 188 )
write_byte( 10 )
message_end()
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 3 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_short( sprite_fire )
write_byte( 65 )
write_byte( 10 )
write_byte( 0 )
message_end()
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,{0,0,0},playerid)
write_byte(107)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_coord(175)
write_short (sprite_gibs)
write_short (25)
write_byte (10)
message_end()
if (trigger == 1)
{
set_user_rendering(playerid,kRenderFxNone, 0,0,0, kRenderTransAdd,0)
}
}
/* ==================================================================================================== */
public add_bonus_gamble(id)
{
if (player_b_gamble[id] > 0 && is_user_alive(id))
{
new durba=item_durability[id]
reset_item_skills(id)
item_durability[id]=durba
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
new roll = random_num(1,player_b_gamble[id])
if (roll == 1)
{
show_hudmessage(id, "Premia rundy: Mozesz sie teleportowac uzywajac PPM na Nozu")
player_b_blink[id] = floatround(halflife_time())
}
if (roll == 2)
{
show_hudmessage(id, "Premia rundy: Masz Skrzydla Anielskie +3")
player_b_gravity[id] = 3
}
if (roll == 3)
{
show_hudmessage(id, "Premia rundy: Masz Latarke")
player_b_latarka[id] = 1
}
if (roll == 4)
{
show_hudmessage(id, "Premia rundy: Masz Latarke")
player_b_latarka[id] = 1
}
if (roll == 5)
{
show_hudmessage(id, "Premia rundy: Masz Zamrazajacy Totem")
player_b_zamroz[id]=1
}
}
}
/* ==================================================================================================== */
public add_bonus_totemy(id)
{
if (player_b_totemy[id] > 0 && is_user_alive(id))
{
new durba2=item_durability[id]
reset_item_skills(id)
item_durability[id]=durba2
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
new roll1 = random_num(1,player_b_totemy[id])
if (roll1 == 1)
{
show_hudmessage(id, "Premia rundy: Masz Totem Zycia")
player_b_heal[id] = random_num(20,35)
}
if (roll1 == 2)
{
show_hudmessage(id, "Premia rundy: Masz Totem GodMoD ")
player_b_nies[id] = 1
}
if (roll1 == 3)
{
show_hudmessage(id, "Premia rundy: Masz Totem Antygrawitacyjny")
player_b_grawi[id] = 1
}
if (roll1 == 4)
{
show_hudmessage(id, "Premia rundy: Masz Zamrazajacy Totem")
player_b_zamroz[id]=1
}
}
}
/* ==================================================================================================== */
public add_bonus_exp(id)
{
if (player_b_exp[id] > 0 && is_user_alive(id))
{
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
new roll2 = random_num(1,player_b_exp[id])
if (roll2 == 1)
{
new exp2 = get_cvar_num("diablo_xpbonus")*random_num(5,15)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/60
Give_Xp(id,exp2)
client_print(id,print_center,"Majac Item Looto Zdobyles %d expa",exp2)
}
if (roll2 == 2)
{
}
if (roll2 == 3)
{
new exp3 = get_cvar_num("diablo_xpbonus")*random_num(10,15)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/20
Give_Xp(id,-exp3)
client_print(id,print_center,"O Nie Majac Item Looto Straciles %d expa",exp3)
}
}
if (player_b_exp2[id] > 0 && is_user_alive(id))
{
new name[32]
get_user_name(id, name, 31)
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
new roll2 = random_num(1,player_b_exp2[id])
if (roll2 == 1)
{
new exp11 = get_cvar_num("diablo_xpbonus")*random_num(5,15)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/20
Give_Xp(id,exp11)
client_print(id,print_center,"Majac Item Looto Zdobyles %d expa",exp11)
}
if (roll2 == 2)
{
new exp22 = get_cvar_num("diablo_xpbonus")*random_num(5,15)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/10
Give_Xp(id,exp22)
client_print(id,print_center,"Majac Item Looto Zdobyles %d expa",exp22)
}
if (roll2 == 3)
{
new exp44 = get_cvar_num("diablo_xpbonus")*random_num(5,15)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/60
Give_Xp(id,exp44)
client_print(id,print_center,"Majac Item Looto Zdobyles %d expa",exp44)
}
if (roll2 == 4)
{
new exp4 = get_cvar_num("diablo_xpbonus")*random_num(5,15)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/10
Give_Xp(id,-exp4)
client_print(id,print_center,"Majac Item Looto Straciles %d expa",exp4)
if (exp4 > 8000)
ColorChat(0, RED, "^x04 %s^x01 Starcil ^x03 %s ^x01 expa ", name, exp4)
}
}
}
/* ==================================================================================================== */
public add_bonus_blind(id,attacker_id,weapon,damage)
{
if (player_b_blind[attacker_id] > 0 && weapon != 4)
{
if (random_num(1,player_b_blind[attacker_id]) == 1) Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230)
}
if (c_blind[attacker_id] > 0)
{
if (random_num(1,c_blind[attacker_id]) == 1) Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230)
}
}
/* ==================================================================================================== */
public plusammo(id)
{
ammogolem[id] = 15+(player_strength[id]/10)
const BITSUM_NO_RELOAD = (1<<CSW_HEGRENADE)|(1<<CSW_C4)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE);
new iWeapons[32], iNum, i, szWeapName[32],ent
get_user_weapons(id, iWeapons, iNum)
for(i=0;i<iNum;i++)
{
if (!(BITSUM_NO_RELOAD&(1<<iWeapons[i])))
{
get_weaponname (iWeapons[i], szWeapName, 31 );
ent = find_ent_by_owner(-1, szWeapName, id);
if(ent)
{
cs_set_weapon_ammo(ent, cs_get_weapon_ammo(ent) + ammogolem[id]);
}
}
}
}
public plusammo1(id)
{
const BITSUM_NO_RELOAD = (1<<CSW_HEGRENADE)|(1<<CSW_C4)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE);
new iWeapons[32], iNum, i, szWeapName[32],ent
get_user_weapons(id, iWeapons, iNum)
for(i=0;i<iNum;i++)
{
if (!(BITSUM_NO_RELOAD&(1<<iWeapons[i])))
{
get_weaponname (iWeapons[i], szWeapName, 31 );
ent = find_ent_by_owner(-1, szWeapName, id);
if(ent)
{
cs_set_weapon_ammo(ent, cs_get_weapon_ammo(ent) + 400);
}
}
}
}
public item_c4fake(id)
{
if (c4state[id] > 1)
{
hudmsg(id,2.0,"Meekstone mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
if (player_b_meekstone[id] > 0 && c4state[id] == 1 && is_user_alive(id) == 1 && freeze_ended == true)
{
explode(c4bombc[id],id,0)
for(new a = 0; a < MAX; a++)
{
if (is_user_connected(a) && is_user_alive(a))
{
new origin1[3]
get_user_origin(a,origin1)
if(get_distance(c4bombc[id],origin1) < 300 && get_user_team(a) != get_user_team(id))
{
if(player_b_antymeek[a] > 0 || c_antymeek[a] > 0)
return PLUGIN_HANDLED;
UTIL_Kill(id,a,"grenade")
}
}
}
c4state[id] = 2
remove_entity(c4fake[id])
c4fake[id] = 0
}
if (player_b_meekstone[id] > 0 && c4state[id] == 0 && c4fake[id] == 0 && is_user_alive(id) == 1 && freeze_ended == true)
{
new Float:pOrigin[3]
entity_get_vector(id,EV_VEC_origin, pOrigin)
c4fake[id] = create_entity("info_target")
entity_set_model(c4fake[id],"models/w_backpack.mdl")
entity_set_origin(c4fake[id],pOrigin)
entity_set_string(c4fake[id],EV_SZ_classname,"fakec4")
entity_set_edict(c4fake[id],EV_ENT_owner,id)
entity_set_int(c4fake[id],EV_INT_movetype,6)
new Float:aOrigin[3]
entity_get_vector(c4fake[id],EV_VEC_origin, aOrigin)
c4bombc[id][0] = floatround(aOrigin[0])
c4bombc[id][1] = floatround(aOrigin[1])
c4bombc[id][2] = floatround(aOrigin[2])
c4state[id] = 1
}
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public item_fireball(id)
{
if (fired[id] > 0)
{
hudmsg(id,2.0,"Ognistej kuli mozesz uzyc raz na runde!")
return PLUGIN_HANDLED
}
if (fired[id] == 0 && is_user_alive(id) == 1)
{
fired[id] = 1
new Float:vOrigin[3]
new fEntity
entity_get_vector(id,EV_VEC_origin, vOrigin)
fEntity = create_entity("info_target")
entity_set_model(fEntity, "models/rpgrocket.mdl")
entity_set_origin(fEntity, vOrigin)
entity_set_int(fEntity,EV_INT_effects,64)
entity_set_string(fEntity,EV_SZ_classname,"fireball")
entity_set_int(fEntity, EV_INT_solid, SOLID_BBOX)
entity_set_int(fEntity,EV_INT_movetype,5)
entity_set_edict(fEntity,EV_ENT_owner,id)
//Send forward
new Float:fl_iNewVelocity[3]
VelocityByAim(id, 500, fl_iNewVelocity)
entity_set_vector(fEntity, EV_VEC_velocity, fl_iNewVelocity)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(22)
write_short(fEntity)
write_short(sprite_beam)
write_byte(45)
write_byte(0)
write_byte(100)
write_byte(255)
write_byte(0)
write_byte(25)
message_end()
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_redirect(id)
{
if (player_b_redirect[id] > 0)
{
if (get_user_health(id)+player_b_redirect[id] <= race_heal[player_class[id]]+player_strength[id]*2)
{
change_health(id,player_b_redirect[id],0,"")
}
}
if (c_redirect[id] > 0)
{
if (get_user_health(id)+player_b_redirect[id] <= race_heal[player_class[id]]+player_strength[id]*2)
{
change_health(id,c_redirect[id],0,"")
}
}
if (player_men[id] > 0)
{
if (get_user_health(id)+player_men[id]*5 <= race_heal[player_class[id]]+player_strength[id]*2)
{
change_health(id,player_men[id]*5 ,0,"")
}
}
}
/* ==================================================================================================== */
public item_ghost(id)
{
if (ghoststate[id] == 0 && player_b_ghost[id] > 0 && is_user_alive(id) && !ghost_check)
{
set_user_noclip(id,1)
ghoststate[id] = 2
ghosttime[id] = floatround(halflife_time())
ghost_check = true
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( player_b_ghost[id]+1 )
write_byte( 0 )
message_end()
}
else
{
hudmsg(id,3.0,"Tylko jeden gracz moze uzywac Ducha w tym samym czasie! / Przedmiot zostal uzyty!")
}
}
/* ==================================================================================================== */
public add_bonus_darksteel(attacker,id,damage)
{
if (player_b_darksteel[attacker] > 0)
{
if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
{
new dam = floatround (15+player_strength[id]*2*player_b_darksteel[id]/10.0)
Effect_Bleed(id,248)
change_health(id,-dam,attacker,"world")
}
}
}
/* ==================================================================================================== */
public item_eye(id)
{
if (player_b_eye[id] == -1)
{
//place camera
new Float:playerOrigin[3]
entity_get_vector(id,EV_VEC_origin,playerOrigin)
new ent = create_entity("info_target")
entity_set_string(ent, EV_SZ_classname, "PlayerCamera")
entity_set_int(ent, EV_INT_movetype, MOVETYPE_NOCLIP)
entity_set_int(ent, EV_INT_solid, SOLID_NOT)
entity_set_edict(ent, EV_ENT_owner, id)
entity_set_model(ent, "models/rpgrocket.mdl") //Just something
entity_set_origin(ent,playerOrigin)
entity_set_int(ent,EV_INT_iuser1,0) //Viewing through this camera
set_rendering (ent,kRenderFxNone, 0,0,0, kRenderTransTexture,0)
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
player_b_eye[id] = ent
}
else
{
//view through camera or stop viewing
new ent = player_b_eye[id]
if (!is_valid_ent(ent))
{
attach_view(id,id)
return PLUGIN_HANDLED
}
new viewing = entity_get_int(ent,EV_INT_iuser1)
if (viewing)
{
entity_set_int(ent,EV_INT_iuser1,0)
attach_view(id,id)
}
else
{
entity_set_int(ent,EV_INT_iuser1,1)
attach_view(id,ent)
}
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
//Called when PlayerCamera thinks
public Think_PlayerCamera(ent)
{
new id = entity_get_edict(ent,EV_ENT_owner)
//Check if player is still having the item and is still online
if (!is_valid_ent(id) || player_b_eye[id] == 0 || !is_user_connected(id))
{
//remove entity
if (is_valid_ent(id) && is_user_connected(id)) attach_view(id,id)
remove_entity(ent)
}
else
{
//Dont use cpu when not alive anyway or not viewing
if (!is_user_alive(id))
{
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 3.0)
return PLUGIN_HANDLED
}
if (!entity_get_int(ent,EV_INT_iuser1))
{
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.5)
return PLUGIN_HANDLED
}
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
//Find nearest player to camera
new Float:pOrigin[3],Float:plOrigin[3],Float:ret[3]
entity_get_vector(ent,EV_VEC_origin,plOrigin)
new Float:distrec = 2000.0, winent = -1
for (new i=0; i<MAX; i++)
{
if (is_user_connected(i) && is_user_alive(i))
{
entity_get_vector(i,EV_VEC_origin,pOrigin)
pOrigin[2]+=10.0
if (trace_line ( 0, plOrigin, pOrigin, ret ) == i && vector_distance(pOrigin,plOrigin) < distrec)
{
winent = i
distrec = vector_distance(pOrigin,plOrigin)
}
}
}
//Traceline and updown is still revresed
if (winent > -1)
{
new Float:toplayer[3], Float:ideal[3],Float:pOrigin[3]
entity_get_vector(winent,EV_VEC_origin,pOrigin)
pOrigin[2]+=10.0
toplayer[0] = pOrigin[0]-plOrigin[0]
toplayer[1] = pOrigin[1]-plOrigin[1]
toplayer[2] = pOrigin[2]-plOrigin[2]
vector_to_angle ( toplayer, ideal )
ideal[0] = ideal[0]*-1
entity_set_vector(ent,EV_VEC_angles,ideal)
}
}
return PLUGIN_CONTINUE
}
public Create_Line(id,origin1[3],origin2[3],bool:draw)
{
if (draw)
{
message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},id)
write_byte(0)
write_coord(origin1[0]) // starting pos
write_coord(origin1[1])
write_coord(origin1[2])
write_coord(origin2[0]) // ending pos
write_coord(origin2[1])
write_coord(origin2[2])
write_short(sprite_line) // sprite index
write_byte(1) // starting frame
write_byte(5) // frame rate
write_byte(2) // life
write_byte(3) // line width
write_byte(0) // noise
write_byte(255) // RED
write_byte(50) // GREEN
write_byte(50) // BLUE
write_byte(155) // brightness
write_byte(5) // scroll speed
message_end()
}
new Float:ret[3],Float:fOrigin1[3],Float:fOrigin2[3]
//So we dont hit ourself
origin1[2]+=50
IVecFVec(origin1,fOrigin1)
IVecFVec(origin2,fOrigin2)
new hit = trace_line ( 0, fOrigin1, fOrigin2, ret )
return hit
}
/* ==================================================================================================== */
public Prethink_Blink(id)
{
if( get_user_button(id) & IN_ATTACK2 && !(get_user_oldbutton(id) & IN_ATTACK2) && is_user_alive(id))
{
if (on_knife[id])
{
if (halflife_time()-player_b_blink[id] <= 3) return PLUGIN_HANDLED
player_b_blink[id] = floatround(halflife_time())
UTIL_Teleport(id,300+15*player_intelligence[id])
}
}
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
/*
Called on end or mapchange -- Save items for players
public plugin_end()
{
new Datafile[64], amxbasedir[64]
//build_path(Datafile,63,"$basedir/wwe/datafile.txt")
get_basedir(amxbasedir,63)
format(Datafile,63,"%s/wwe/datafile.txt",amxbasedir)
//if(file_exists(Datafile)) delete_file(Datafile)
Write name and item for each player
for (new i=0; i < MAX; i++)
{
if (player_dc_item[i] > 0 && player_dc_item[i] != 100) //unique
{
new data[100]
format(data,99,"%s^"%i^"",player_dc_name[i],player_dc_item[i])
write_file(Datafile,data)
}
}
}
*/
/* ==================================================================================================== */
/* ==================================================================================================== */
/* ==================================================================================================== */
/* ==================================================================================================== */
public item_convertmoney(id)
{
new maxhealth = race_heal[player_class[id]]+player_strength[id]*2
if (cs_get_user_money(id) < 1000)
hudmsg(id,2.0,"Nie masz wystarczajacej ilosci zlota, zeby zamienic je w zycie")
else if (get_user_health(id) == maxhealth)
hudmsg(id,2.0,"Masz maksymalna ilosc zycia")
else
{
cs_set_user_money(id,cs_get_user_money(id)-1000)
change_health(id,15,0,"")
Display_Fade(id,2600,2600,0,0,255,0,15)
}
}
public item_kasabandyta(id)
{
kasabandyta[id] = 500+player_intelligence[id]*10
if(cs_get_user_money(id) < 12000){
kasabandyta[id] = 1000+player_intelligence[id]*10
cs_set_user_money(id, cs_get_user_money(id)+ kasabandyta[id])
show_hudmessage(id,"Znalazles %i $", kasabandyta[id])
}
}
public item_windwalk(id)
{
//First time this round
if (player_b_usingwind[id] == 0)
{
new szId[10]
num_to_str(id,szId,9)
player_b_usingwind[id] = 1
set_renderchange(id)
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
set_user_maxspeed(id,500.0)
new Float:val = player_b_windwalk[id] + 0.0
set_task(val,"resetwindwalk",0,szId,32)
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( player_b_windwalk[id])
write_byte( 0 )
message_end()
}
//Disable again
else if (player_b_usingwind[id] == 1)
{
player_b_usingwind[id] = 2
set_renderchange(id)
set_user_maxspeed(id,270.0)
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( 0)
write_byte( 0 )
message_end()
}
//Already used
else if (player_b_usingwind[id] == 2)
{
set_hudmessage(220, 30, 30, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Ten przedmiot mozesz uzyc raz na runde!")
}
}
public resetwindwalk(szId[])
{
new id = str_to_num(szId)
if (id < 0 || id > MAX)
{
log_amx("Error in resetwindwalk, id: %i out of bounds", id)
}
if (player_b_usingwind[id] == 1)
{
player_b_usingwind[id] = 2
set_renderchange(id)
set_user_maxspeed(id,270.0)
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( 0)
write_byte( 0 )
message_end()
}
}
/* ==================================================================================================== */
public Prethink_usingwind(id)
{
if( get_user_button(id) & IN_ATTACK && is_user_alive(id))
{
new buttons = pev(id,pev_button)
set_pev(id,pev_button,(buttons & ~IN_ATTACK));
return FMRES_HANDLED;
}
if( get_user_button(id) & IN_ATTACK2 && is_user_alive(id))
{
new buttons = pev(id,pev_button)
set_pev(id,pev_button,(buttons & ~IN_ATTACK2));
return FMRES_HANDLED;
}
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public cvar_result_func(id, const cvar[], const value[])
{
player_b_oldsen[id] = str_to_float(value)
new svIndex[32]
num_to_str(id,svIndex,32)
set_task(2.5,"resetsens",0,svIndex,32)
}
public resetsens(svIndex[])
{
new id = str_to_num(svIndex)
if (player_b_oldsen[id] > 0.0)
{
client_cmd(id,"sensitivity %f",player_b_oldsen[id])
player_b_oldsen[id] = 0.0
}
message_begin( MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id )
write_byte( 0 )
write_string( "dmg_chem")
write_byte( 100 ) // red
write_byte( 100 ) // green
write_byte( 100 ) // blue
message_end()
}
/* ==================================================================================================== */
public Prethink_confuseme(id)
{
if (player_b_oldsen[id] > 0.0)
client_cmd(id,"sensitivity %f", 25.0)
}
public Bot_Setup()
{
for (new id=0; id < MAX; id++)
{
if (is_user_connected(id) && is_user_bot(id))
{
if (random_num(1,3) == 1 && player_item_id[id] > 0)
client_cmd(id,"say /drop")
while (player_point[id] > 0)
{
player_point[id]--
switch(random_num(1,4))
{
case 1: {
player_agility[id]++
}
case 2: {
player_strength[id]++
}
case 3: {
player_intelligence[id]++
}
case 4: {
player_dextery[id]++
}
}
}
}
}
}
/* ==================================================================================================== */
public host_killed(id)
{
if (player_lvl[id] > 1)
{
hudmsg(id,2.0,"Straciles doswiadczenie za zabicie zakladnikow")
Give_Xp(id,-floatround(3*player_lvl[id]/(1.65-player_lvl[id]/500)))
}
}
/* ==================================================================================================== */
/* ==================================================================================================== */
public showmenu(id)
{
client_cmd(id, "spk wwesound/menu");
new text[513]
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
format(text, 512, "\yOpcje \wWWE ^n\w1. \yInformacje o przedmiocie^n\w2. \yUpusc przedmiot^n\w3. \yWybierz/Zmien Klase^n\w4. \ySklep \r[V.I.P]^n\w5. \ySklep Gracza^n\w6. \yInformacje o Zwyklych Statystykach^n\w7. \yInformacje o Ultra\rSkill^n\w8. \yInformacje o \rPostaciach^n\w9. \yQuesty^n^n\w0. Zamknij ^n^n \r Aby wziac item musisz byc na tym modelu(podobne do butelki)^n \y Menu Pod Klawiszem V ^n \y Noze dla ninji pod klawiszem N^n \y /klasa - \r Zmien Postac ")
show_menu(id, keys, text)
return PLUGIN_HANDLED
}
public option_menu(id, key)
{
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
iteminfo(id)
}
case 1:
{
dropitem(id)
}
case 2:
{
changerace(id)
}
case 3:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
vipmenu(id)
else vipbrak(id)
}
case 4:
{
buyrune(id)
}
case 5:
{
showskills(id)
}
case 6:
{
showskills1(id)
}
case 7:
{
show_menu_klasy(id)
}
case 8:
{
client_cmd(id,"say /zadania")
}
case 9:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
public Prethink_froglegs(id)
{
if (get_user_button(id) & IN_DUCK)
{
//start holding down button here, set to halflife time
if (player_b_froglegs[id] == 1)
{
player_b_froglegs[id] = floatround(halflife_time())
}
else
{
if (floatround(halflife_time())-player_b_froglegs[id] >= 2.0)
{
new Float:fl_iNewVelocity[3]
VelocityByAim(id, 1000, fl_iNewVelocity)
fl_iNewVelocity[2] = 210.0
entity_set_vector(id, EV_VEC_velocity, fl_iNewVelocity)
player_b_froglegs[id] = 1
}
}
}
else
{
player_b_froglegs[id] = 1
}
}
/* ==================================================================================================== */
public select_class_query(id)
{
if(is_user_bot(id) || asked_klass[id]!=0) return PLUGIN_HANDLED
if(loaded_xp[id]==0)
{
load_xp(id)
return PLUGIN_HANDLED
}
if(g_boolsqlOK)
{
asked_klass[id]=1
new name[64]
new data[1]
data[0]=id
new lx[26]
if(player_class_lvl_save[id]==0)
{
if(get_cvar_num("diablo_sql_save")==0)
{
get_user_name(id,name,63)
replace_all ( name, 63, "'", "Q" )
replace_all ( name, 63, "`", "Q" )
new q_command[512]
format(q_command,511,"SELECT `klasa`,`lvl` FROM `%s` WHERE `nick`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"select_class_handle", q_command,data,1)
}
else if(get_cvar_num("diablo_sql_save")==1)
{
get_user_ip(id, name ,63,1)
new q_command[512]
format(q_command,511,"SELECT `klasa`,`lvl` FROM `%s` WHERE `ip`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"select_class_handle",q_command,data,1)
}
else if(get_cvar_num("diablo_sql_save")==2)
{
get_user_authid(id, name ,63)
new q_command[512]
format(q_command,511,"SELECT `klasa`,`lvl` FROM `%s` WHERE `sid`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"select_class_handle",q_command,data,1)
}
/*
if(ret == RESULT_FAILED)
{
new szError[126]
dbi_error(sql,szError,125)
log_to_file("addons/amxmodx/logs/diablo.log","[Command Log] nie moglem wczytac lvl'i dla %s | klasy :*** %s",name,szError)
dbi_free_result(ret)
g_boolsqlOK=0
player_class_lvl_save[id]=0
dbi_close(sql)
return PLUGIN_HANDLED
}
else if(ret == RESULT_NONE)
{
log_to_file("addons/amxmodx/logs/diablo.log","[Command Log] nie ma danych dla /klasa")
create_klass(id)
return PLUGIN_HANDLED
}
else while(ret && dbi_nextrow(ret)>0)
{
new i = dbi_result(ret, "klasa")
lx[i] = dbi_result(ret, "lvl")
player_class_lvl[id][i] = lx[i]
}
dbi_free_result(ret)
player_class_lvl_save[id]=1
*/
}
else
{
for(new i=1;i<26;i++) lx[i]=player_class_lvl[id][i]
select_class(id,lx)
}
}
else sql_start()
return PLUGIN_HANDLED
}
public select_class_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
new id=Data[0]
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on select_class_handle query: %s",Error)
asked_klass[id]=0
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
asked_klass[id]=0
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","select_class_handle Query failed.")
asked_klass[id]=0
return PLUGIN_CONTINUE
}
if(SQL_MoreResults(Query)&& is_user_connected(id))
{
new lx[26]
while(SQL_MoreResults(Query))
{
new i = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "klasa"))
lx[i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "lvl"))
player_class_lvl[id][i] = lx[i]
SQL_NextRow(Query)
}
if(asked_klass[id]==1)
{
asked_klass[id]=2
select_class(id,lx)
}
}
return PLUGIN_CONTINUE
}
public select_class(id,lx[])
{
if(is_user_bot(id)) return
new text[512]
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)
asked_klass[id]=0
format(text, 511,"\yWybierz Klasy - ^n\w1. \ySmackDown ^n\w2. \yRaw ^n\w3. \rKlasy Premium ^n\w4. \yByli Mistrzowie ^n^n \r Komendy ^n \y /zadania - Zadania za ktore dostaje sie nagrody ^n \y /xp - Zobacz ile brakuje ci do nastepnego poziomu ^n \y /vip - Jak Kupic Vipa ^n^n \r Przed Wyborem Postaci Odczekaj 10 sekund")
show_menu(id, keys, text, -1, "Klasy3")
}
public select_class_menu(id, key)
{
new lx[26]
for(new i=1;i<26;i++) lx[i]=player_class_lvl[id][i]
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
select_class1(id,lx)
}
case 1:
{
ShowKlasy(id,lx)
}
case 2:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
select_class2(id,lx)
else premium(id)
}
case 3:
{
Mutanty(id,lx)
}
case 4:
{
return PLUGIN_HANDLED
}
}
LoadXP(id, player_class[id])
CurWeapon(id)
give_knife(id)
quest_gracza[id] = wczytaj_aktualny_quest(id);
return PLUGIN_HANDLED
}
public select_class1(id,lx[])
{
if(is_user_bot(id)) return
new text1[512]
asked_klass[id]=0
format(text1, 511,"\yWybierz Klase 1^n\w1. \ySteve Austin \wLev :%i^n2. \yShawn Michaels \wLev :%i^n3. \yBig Show \wLev :%i^n4. \yRey Mysterio \wLev :%i^n5. \ySantino Marella \wLev :%i^n6. \yBourne \wLev :%i^n7. \yHeath Slater \wLev :%i^n8. \yJustin Gabriel \wLev :%i^n^n0.\yWroc ^n^n Przed Wyborem Postaci Odczekaj 10 sekund",
player_class_lvl[id][3],player_class_lvl[id][5],player_class_lvl[id][6],
player_class_lvl[id][7],player_class_lvl[id][8],player_class_lvl[id][16],
player_class_lvl[id][17],player_class_lvl[id][20])
show_menu(id, KeysKlasy,text1, -1, "Klasy1")
}
public select_class_menu1(id, key)
{
new lx[26]
g_haskit[id] = 0
c_respawn[id] = 0
c_woj[id] = 0
radar[id] = 0
c_grenade[id] = 0
c_fireshield[id] = 0
player_nozninja[id] = 0
c_antymoc[id] = 0
c_krowa[id] = 0
c_blind[id] = 0
c_redirect[id] = 0
c_awp[id] = 0
c_antyarchy[id] = 0
c_bandyta[id] = 0
c_wampir[id] = 0
c_magneto[id] = 0
c_shake[id] = 0
c_jump[id] = 0
c_theif[id] = 0
c_knife[id] = 0
c_flesh[id] = 0
g_piorun[id] = 0
g_kula[id] = 0
c_antymeek[id]=0
c_antyorb[id]=0
c_antyfs[id]=0
niewidzialnosc_kucanie[id] = 0;
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
player_class[id] = Paladyn
LoadXP(id, player_class[id])
}
case 1:
{
player_class[id] = Nekromanta
LoadXP(id, player_class[id])
c_respawn[id] = random_num(2,4)
g_haskit[id] = 1
}
case 2:
{
player_class[id] = Wiking
LoadXP(id, player_class[id])
}
case 3:
{
player_class[id] = Ninja
LoadXP(id, player_class[id])
}
case 4:
{
player_class[id] = Hunter
LoadXP(id, player_class[id])
g_GrenadeTrap[id] = 1
c_woj[id] = 5
}
case 5:
{
player_class[id] = Tele
LoadXP(id, player_class[id])
radar[id] = 1
c_antymoc[id] = 1
}
case 6:
{
player_class[id] = Mnich
LoadXP(id, player_class[id])
c_grenade[id] = 3
c_fireshield[id] = 1
}
case 7:
{
player_class[id] = Rambo
LoadXP(id, player_class[id])
c_krowa[id] = 12
}
case 9:
{
select_class(id,lx)
}
}
LoadXP(id, player_class[id])
CurWeapon(id)
give_knife(id)
quest_gracza[id] = wczytaj_aktualny_quest(id);
return PLUGIN_HANDLED
}
public ShowKlasy(id,lx[]) {
new text2[512]
asked_klass[id]=0
format(text2, 511,"\yWybierz Klase 2^n\w1. \yWade Barret \wLev :%i^n2. \yTed Dibiase \wLev :%i^n3. \yThe Miz \wLev :%i^n4. \yCM Punk \wLev :%i^n5. \ySheamus \wLev :%i^n6. \yThe Rock \wLev :%i^n7. \yJTG \wLev :%i^n8. \yKofi Kingston \wLev :%i ^n^n0.\yWyjscie^n^n Przed Wyborem Klasy Odczekaj 10 sekund",
player_class_lvl[id][9],player_class_lvl[id][10],player_class_lvl[id][11],player_class_lvl[id][13],
player_class_lvl[id][14],player_class_lvl[id][15],player_class_lvl[id][18],player_class_lvl[id][19])
show_menu(id, KeysKlasy2,text2, -1, "ultardiablokalsy")
}
public PressedKlasy(id, key,lx[]) {
g_haskit[id] = 0
c_respawn[id] = 0
c_woj[id] = 0
radar[id] = 0
c_grenade[id] = 0
c_fireshield[id] = 0
player_nozninja[id] = 0
c_antymoc[id] = 0
c_krowa[id] = 0
c_blind[id] = 0
c_redirect[id] = 0
c_awp[id] = 0
c_antyarchy[id] = 0
c_bandyta[id] = 0
c_wampir[id] = 0
c_magneto[id] = 0
c_shake[id] = 0
c_jump[id] = 0
c_theif[id] = 0
c_knife[id] = 0
c_flesh[id] = 0
g_piorun[id] = 0
g_kula[id] = 0
c_antymeek[id]=0
c_antyorb[id]=0
c_antyfs[id]=0
niewidzialnosc_kucanie[id] = 0;
client_cmd(id, "spk wwesound/select");
switch (key)
{
case 0:
{
player_class[id] = Morderca
LoadXP(id, player_class[id])
c_awp[id] = 8
}
case 1:
{
player_class[id] = Magneto
LoadXP(id, player_class[id])
c_bandyta[id] = 12
c_magneto[id] = 12
}
case 2:
{
player_class[id] = Wampir
LoadXP(id, player_class[id])
c_respawn[id] = 5
c_wampir[id] = 5
}
case 3:
{
player_class[id] = Skoczek
LoadXP(id, player_class[id])
c_shake[id] = 7
c_jump[id] = 8
}
case 4:
{
player_class[id] = Golem
LoadXP(id, player_class[id])
c_redirect[id] = 8
c_antyarchy[id] = 1
}
case 5:
{
player_class[id] = Skrytobojca
LoadXP(id, player_class[id])
c_blind[id] = random_num(5,6)
}
case 6:
{
player_class[id] = Marlok
LoadXP(id, player_class[id])
}
case 7:
{
player_class[id] = Druid
LoadXP(id, player_class[id])
c_shake[id] = 13
}
case 9:
{
select_class(id,lx)
}
}
LoadXP(id, player_class[id])
CurWeapon(id)
give_knife(id)
return PLUGIN_HANDLED
}
public select_class2(id,lx[])
{
if(is_user_bot(id)) return
new text1[512]
asked_klass[id]=0
format(text1, 511,"\rWybierz Premium ^n\w1. \yEdge \wLev :%i^n2. \yTriple H \wLev :%i^n3. \yJohn Cena \wLev :%i^n4. \yUnderTaker \wLev :%i^n^n0.\yWroc^n^n",
player_class_lvl[id][1],player_class_lvl[id][2],player_class_lvl[id][12],player_class_lvl[id][4])
show_menu(id, KeysKlasy1,text1, -1, "Premium")
}
public select_class_menu3(id, key)
{
new lx[26]
g_haskit[id] = 0
c_respawn[id] = 0
c_woj[id] = 0
radar[id] = 0
c_grenade[id] = 0
c_fireshield[id] = 0
player_nozninja[id] = 0
c_antymoc[id] = 0
c_krowa[id] = 0
c_blind[id] = 0
c_redirect[id] = 0
c_awp[id] = 0
c_antyarchy[id] = 0
c_bandyta[id] = 0
c_wampir[id] = 0
c_magneto[id] = 0
c_shake[id] = 0
c_jump[id] = 0
c_theif[id] = 0
c_knife[id] = 0
c_flesh[id] = 0
g_piorun[id] = 0
g_kula[id] = 0
c_antymeek[id]=0
c_antyorb[id]=0
c_antyfs[id]=0
niewidzialnosc_kucanie[id] = 0;
client_cmd(id, "spk wwesound/select");
switch(key)
{
case 0:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
player_class[id] = Xardas
LoadXP(id, player_class[id])
c_flesh[id] = 1
}
case 1:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
player_class[id] = Merial
LoadXP(id, player_class[id])
g_piorun[id] = 1
}
case 2:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
player_class[id] = Diablo
c_theif[id] = random_num(1000,1500)
LoadXP(id, player_class[id])
c_woj[id] = 10
}
case 3:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
player_class[id] = Ball
LoadXP(id, player_class[id])
c_knife[id] = 4
}
case 9:
{
select_class(id,lx)
}
}
LoadXP(id, player_class[id])
CurWeapon(id)
give_knife(id)
quest_gracza[id] = wczytaj_aktualny_quest(id);
return PLUGIN_HANDLED
}
public Mutanty(id,lx[])
{
if(is_user_bot(id)) return
new text4[512]
asked_klass[id]=0
format(text4, 511,"\rWybierz Klase ^n\w1. \yKane \wLev :%i^n2. \yAlberto Del Rio \wLev :%i^n3. \yR-Truth \wLev :%i^n4. \yRandy Orton \wLev :%i^n5. \yMark Henry \wLev :%i^n^n0.\yWroc^n^n",
player_class_lvl[id][21],player_class_lvl[id][22],player_class_lvl[id][23],player_class_lvl[id][24],player_class_lvl[id][25])
show_menu(id, KeysKlasy3,text4, -1, "Mutanty")
}
public PressedKlassy(id, key) {
/* Menu:
* Wybierz klase:
* 1:Demon
*/
new lx[26] // <-- tutaj wpisz liczbę swoich klas + 1(none)
g_haskit[id] = 0
c_respawn[id] = 0
c_woj[id] = 0
radar[id] = 0
c_grenade[id] = 0
c_fireshield[id] = 0
player_nozninja[id] = 0
c_antymoc[id] = 0
c_krowa[id] = 0
c_blind[id] = 0
c_redirect[id] = 0
c_awp[id] = 0
c_antyarchy[id] = 0
c_bandyta[id] = 0
c_wampir[id] = 0
c_magneto[id] = 0
c_shake[id] = 0
c_jump[id] = 0
c_theif[id] = 0
c_knife[id] = 0
c_flesh[id] = 0
g_piorun[id] = 0
g_kula[id] = 0
niewidzialnosc_kucanie[id] = 0
c_antymeek[id]=0
c_antyorb[id]=0
c_antyfs[id]=0
client_cmd(id, "spk wwesound/select");
switch (key) {
case 0:
{
player_class[id] = Demon
LoadXP(id, player_class[id])
c_antyarchy[id] = 1
}
case 1:
{
player_class[id] = Lucznik
LoadXP(id, player_class[id])
}
case 2:
{
player_class[id] = Assasin
LoadXP(id, player_class[id])
c_antymeek[id]=1
c_antyorb[id]=1
c_antyfs[id]=1
c_antyarchy[id] = 1
}
case 3:
{
player_class[id] = Hefasto
LoadXP(id, player_class[id])
c_wampir[id] = 10
c_shake[id] = 20
c_respawn[id] = random_num(1,5)
}
case 4:
{
player_class[id] = Zlodziej
LoadXP(id, player_class[id])
c_theif[id] = random_num(5000,6000)
c_respawn[id] = random_num(1,8)
c_blind[id] = random_num(10,20)
}
case 9:
{
select_class(id,lx)
}
}
CurWeapon(id)
give_knife(id)
quest_gracza[id] = wczytaj_aktualny_quest(id);
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public check_class()
{
for (new id=0; id < 33; id++)
{
if((player_class[id] == Ninja) && (is_user_connected(id)))
{
if (is_user_alive(id)) set_user_armor(id,100)
}
else if((player_class[id] == Golem) && (is_user_connected(id)))
{
if (is_user_alive(id)) set_user_armor(id,200)
}
set_gravitychange(id)
set_renderchange(id)
}
}
/* ==================================================================================================== */
public add_barbarian_bonus(id)
{
if (player_class[id] == Wiking)
{
change_health(id,50,0,"")
}
}
/* ==================================================================================================== */
public add_bonus_necromancer(attacker_id,id)
{
if (player_class[attacker_id] == Nekromanta)
{
if (get_user_health(id) - 10 <= 0)
{
set_user_health(id,random_num(1,3))
}
else
{
new dmg = random_num(6,12)
change_health(id,-dmg,0,"")
change_health(attacker_id,1,0,"")
}
}
}
/* ==================================================================================================== */
//What modules are required
public plugin_modules()
{
require_module("engine")
require_module("cstrike")
require_module("fun")
require_module("fakemeta")
require_module("hamsandwich")
require_module("sqlx")
require_module("nvault")
}
/* ==================================================================================================== */
//Find the nearest alive opponent in our view
public UTIL_FindNearestOpponent(id,maxdist)
{
new best = 99999
new entfound = -1
new MyOrigin[3]
get_user_origin(id,MyOrigin)
for (new i=1; i < MAX; i++)
{
if (i == id || !is_user_connected(i) || !is_user_alive(i) || get_user_team(id) == get_user_team(i))
continue
new TempOrigin[3],Float:fTempOrigin[3]
get_user_origin(i,TempOrigin)
IVecFVec(TempOrigin,fTempOrigin)
if (!UTIL_IsInView(id,i))
continue
new dist = get_distance ( MyOrigin,TempOrigin )
if ( dist < maxdist && dist < best)
{
best = dist
entfound = i
}
}
return entfound
}
/* ==================================================================================================== */
//Basicly see's if we can draw a straight line to the target without interference
public bool:UTIL_IsInView(id,target)
{
new Float:IdOrigin[3], Float:TargetOrigin[3], Float:ret[3]
new iIdOrigin[3], iTargetOrigin[3]
get_user_origin(id,iIdOrigin,1)
get_user_origin(target,iTargetOrigin,1)
IVecFVec(iIdOrigin,IdOrigin)
IVecFVec(iTargetOrigin, TargetOrigin)
if ( trace_line ( 1, IdOrigin, TargetOrigin, ret ) == target)
return true
if ( get_distance_f(TargetOrigin,ret) < 10.0)
return true
return false
}
/* ==================================================================================================== */
public item_dagon(id)
{
if (player_b_dagfired[id])
{
set_hudmessage(220, 30, 30, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Tego przedmiotu mozesz uzyc raz na runde")
return PLUGIN_HANDLED
}
//Target nearest non-friendly player
new target = UTIL_FindNearestOpponent(id,600+player_intelligence[id]*20)
if (target == -1)
return PLUGIN_HANDLED
new DagonDamage = player_b_dagon[id]*20
new Red = 0
if (player_b_dagon[id] == 1) Red = 175
else if (player_b_dagon[id] == 2) Red = 225
else if (player_b_dagon[id] > 2) Red = 255
//Dagon damage done is reduced by the targets dextery
DagonDamage-=player_dextery[target]*2
if (DagonDamage < 0)
DagonDamage = 0
new Hit[3]
get_user_origin(target,Hit)
//Create Lightning
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(1) // TE_BEAMENTPOINT
write_short(id)
write_coord(Hit[0])
write_coord(Hit[1])
write_coord(Hit[2])
write_short(sprite_lgt)
write_byte(0)
write_byte(1)
write_byte(3)
write_byte(10) //WITD
write_byte(60)
write_byte(Red)
write_byte(0)
write_byte(0)
write_byte(100) //BRIGT
write_byte(0)
message_end()
player_b_dagfired[id] = true
//Apply damage
change_health(target,-DagonDamage,id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
hudmsg(id,2.0,"Twoje ciosy dagon przyjol %i, %i", DagonDamage, player_dextery[target]*2)
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
/* ==================================================================================================== */
//Will return 1 if user has amount of money and then substractpublic bool:UTIL_Buyformoney(id,amount)
public UTIL_Buyforpkt(id,amount)
{
if (player_pkt[id] >= amount)
{
player_pkt[id]-=amount
return true
}
else
{
hudmsg(id,2.0,"Nie masz tyle many !")
return false
}
return false
}
public buyrune(id)
{
new text[513]
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<9)
format(text, 512, "\ySklep z Runami - ^n\r1. \yUlepsz Przedmiot - \r9$ ^n\r2. \yWylosuj Przedmiot - \r5$^n\r3. \yKup Male Doswiadczenie - \r8$^n\r4. \yKup Srednie Doswiadczenie - \r12$^n\r5. \yKup Duze Doswiadczenie - \r15$^n\r6. \yMenu dla VIPa - \r[V.i.P]^n\r7. \ySklep Kibica - \r[W Budowie]^n^n\r0. \wZamknij")
show_menu(id, keys, text)
return PLUGIN_HANDLED
}
public select_rune_menu(id, key)
{
client_cmd(id, "spk wwesound/select.wav")
switch(key)
{
case 0:
{
if (!UTIL_Buyforpkt(id,9))
return PLUGIN_HANDLED
upgrade_item(id)
}
case 1:
{
if (!UTIL_Buyforpkt(id,5))
return PLUGIN_HANDLED
award_item(id,0)
return PLUGIN_HANDLED
}
case 2:
{
if (!UTIL_Buyforpkt(id,8))
return PLUGIN_HANDLED
new exp = get_cvar_num("diablo_xpbonus")*random_num(3,7)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/300
Give_Xp(id,exp)
client_print(id,print_center,"Dostales %d expa!",exp)
return PLUGIN_HANDLED
}
case 3:
{
if (!UTIL_Buyforpkt(id,12))
return PLUGIN_HANDLED
new exp = get_cvar_num("diablo_xpbonus")*random_num(3,7)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/150
Give_Xp(id,exp)
client_print(id,print_center,"Dostales %d expa!",exp)
return PLUGIN_HANDLED
}
case 4:
{
if (!UTIL_Buyforpkt(id,15))
return PLUGIN_HANDLED
new exp = get_cvar_num("diablo_xpbonus")*random_num(3,7)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/100
Give_Xp(id,exp)
client_print(id,print_center,"Dostales %d expa!",exp)
return PLUGIN_HANDLED
}
case 5:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
vipmenu(id)
}
case 6:
{
if (!UTIL_Buyforpkt(id,20))
return PLUGIN_HANDLED
}
case 9:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
public vipmenu(id)
{
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)||(1<<5)|(1<<9)
new text[513]
if( get_user_flags(id) & ADMIN_LEVEL_H)
format(text, 512, "\ySklep dla VIPa - ^n\r1. \yUlepsz Przedmiot - \r5$ ^n\r2. \yWylosuj Przedmiot - \r4$^n\r3. \yKup Duze Doswiadczenie - \r16$^n\r4. \yRuletka \w[Mozesz Nie Trafic!] \y- \r5$^n\r5. \ySklep Kibica - \r[W Budowie] ^n\r7. \wWstecz^n\r0. \wZamknij")
show_menu(id, keys, text)
return PLUGIN_HANDLED
}
public select_rune_menu2(id, key)
{
client_cmd(id, "spk wwesound/select.wav")
switch(key)
{
case 0:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
if (!UTIL_Buyforpkt(id,5))
return PLUGIN_HANDLED
upgrade_item(id)
}
case 1:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
if (!UTIL_Buyforpkt(id,4))
return PLUGIN_HANDLED
award_item(id,0)
return PLUGIN_HANDLED
}
case 2:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
if (!UTIL_Buyforpkt(id,16))
return PLUGIN_HANDLED
new exp = get_cvar_num("diablo_xpbonus")*random_num(6,15)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/10
Give_Xp(id,exp)
client_print(id,print_center,"Dostales %d expa!",exp)
return PLUGIN_HANDLED
}
case 3:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
if (!UTIL_Buyforpkt(id,5))
return PLUGIN_HANDLED
new iRandom = random_num(1,5)
new itema = random_num (1,121)
new zycie = get_user_health(id)
new kasa = cs_get_user_money(id)
new hajs = random_num(1,16000)
new exp = get_cvar_num("diablo_xpbonus")*random_num(3,10)+player_lvl[id]*get_cvar_num("diablo_xpbonus")/50
new hp = random_num(1,255)
if (iRandom==1)
if (iRandom==2)
{
award_item(id,itema)
}
if (iRandom==3)
{
Give_Xp(id,exp)
client_print(id,print_center,"Wylosowales %d expa!",exp)
}
if (iRandom==4)
{
cs_set_user_money(id, kasa + hajs)
client_print(id, print_chat, "Wygrales %d $!",hajs)
}
if (iRandom==5)
{
set_user_health(id, zycie + hp)
client_print(id, print_chat, "Wygrales %d HP!",hp)
}
return PLUGIN_HANDLED
}
case 4:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
if (!UTIL_Buyforpkt(id,14))
award_item(id,0)
return PLUGIN_HANDLED
}
case 5:
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
if (!UTIL_Buyforpkt(id,14))
return PLUGIN_HANDLED
}
case 9:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
public vipbrak(id)
{
new keys = (1<<9)
new text[513]
format(text, 512, "\yInforamcja ^n \wNie Posiadasz Trybu \rVIP ^n \wAby go otrzymac napisz na GG: 31837550 ^n\r0. \wWstecz")
show_menu(id, keys, text)
return PLUGIN_HANDLED
}
public vipbrak_menu(id, key)
{
client_cmd(id, "spk wwesound/select.wav")
switch(key)
{
case 9:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
public upgrade_item(id)
{
if(item_durability[id]>0) item_durability[id] += random_num(-50,50)
if(item_durability[id]<1)
{
dropitem(id)
return
}
if(player_b_jumpx[id]>0) player_b_jumpx[id] += random_num(0,1)
if(player_b_vampire[id]>0)
{
if(player_b_vampire[id]>20) player_b_vampire[id] += random_num(-1,2)
else if(player_b_vampire[id]>10) player_b_vampire[id] += random_num(0,2)
else player_b_vampire[id]+= random_num(1,3)
}
if(player_b_damage[id]>0) player_b_damage[id] += random_num(0,3)
if(player_b_money[id]!=0) player_b_money[id]+= random_num(-100,300)
if(player_b_gravity[id]>0)
{
if(player_b_gravity[id]<3) player_b_gravity[id]+=random_num(0,2)
else if(player_b_gravity[id]<5) player_b_gravity[id]+=random_num(1,3)
else if(player_b_gravity[id]<8) player_b_gravity[id]+=random_num(-1,3)
else if(player_b_gravity[id]<10) player_b_gravity[id]+=random_num(0,1)
}
if(player_b_inv[id]>0)
{
if(player_b_inv[id]>200) player_b_inv[id]-=random_num(0,50)
else if(player_b_inv[id]>100) player_b_inv[id]-=random_num(-25,50)
else if(player_b_inv[id]>50) player_b_inv[id]-=random_num(-10,20)
else if(player_b_inv[id]>25) player_b_inv[id]-=random_num(-10,10)
}
if(player_b_grenade[id]>0)
{
if(player_b_grenade[id]>4) player_b_grenade[id]-=random_num(0,2)
else if(player_b_grenade[id]>2) player_b_grenade[id]-=random_num(0,1)
else if(player_b_grenade[id]==2) player_b_grenade[id]-=random_num(-1,1)
}
if(player_b_theif[id]>0) player_b_theif[id] += random_num(0,250)
if(player_b_respawn[id]>0)
{
if(player_b_respawn[id]>2) player_b_respawn[id]-=random_num(0,1)
else if(player_b_respawn[id]>1) player_b_respawn[id]-=random_num(-1,1)
}
if(player_b_explode[id]>0)player_b_explode[id] += random_num(0,50)
if(player_b_heal[id]>0)
{
if(player_b_heal[id]>20) player_b_heal[id]+= random_num(-1,3)
else if(player_b_heal[id]>10) player_b_heal[id]+= random_num(0,4)
else player_b_heal[id]+= random_num(2,6)
}
if(player_b_blind[id]>0)
{
if(player_b_blind[id]>5) player_b_blind[id]-= random_num(0,2)
else if(player_b_blind[id]>1) player_b_blind[id]-= random_num(0,1)
}
if(player_b_teamheal[id]>0) player_b_teamheal[id] += random_num(0,5)
if(player_b_redirect[id]>0) player_b_redirect[id]+= random_num(0,2)
if(player_b_fireball[id]>0) player_b_fireball[id]+= random_num(0,33)
if(player_b_ghost[id]>0) player_b_ghost[id]+= random_num(0,1)
if(player_b_windwalk[id]>0) player_b_windwalk[id] += random_num(0,1)
if(player_b_dagon[id]>0) player_b_dagon[id] += random_num(0,1)
if(player_b_sniper[id]>0)
{
if(player_b_sniper[id]>5) player_b_sniper[id]-=random_num(0,2)
else if(player_b_sniper[id]>2) player_b_sniper[id]-=random_num(0,1)
else if(player_b_sniper[id]>1) player_b_sniper[id]-=random_num(-1,1)
}
if(player_b_m4master[id]>0)
{
if(player_b_m4master[id]>5) player_b_m4master[id]-=random_num(0,2)
else if(player_b_m4master[id]>2) player_b_m4master[id]-=random_num(0,1)
else if(player_b_m4master[id]>1) player_b_m4master[id]-=random_num(-1,1)
}
if(player_b_mp5master[id]>0)
{
if(player_b_mp5master[id]>5) player_b_mp5master[id]-=random_num(0,2)
else if(player_b_mp5master[id]>2) player_b_mp5master[id]-=random_num(0,1)
else if(player_b_mp5master[id]>1) player_b_mp5master[id]-=random_num(-1,1)
}
if(player_b_m3master[id]>0)
{
if(player_b_m3master[id]>5) player_b_m3master[id]-=random_num(0,2)
else if(player_b_m3master[id]>2) player_b_m3master[id]-=random_num(0,1)
else if(player_b_m3master[id]>1) player_b_m3master[id]-=random_num(-1,1)
}
if(player_b_glockmaster[id]>0)
{
if(player_b_glockmaster[id]>5) player_b_glockmaster[id]-=random_num(0,2)
else if(player_b_glockmaster[id]>2) player_b_glockmaster[id]-=random_num(0,1)
else if(player_b_glockmaster[id]>1) player_b_glockmaster[id]-=random_num(-1,1)
}
if(player_b_deaglmaster[id]>0)
{
if(player_b_deaglmaster[id]>5) player_b_deaglmaster[id]-=random_num(0,2)
else if(player_b_deaglmaster[id]>2) player_b_deaglmaster[id]-=random_num(0,1)
else if(player_b_deaglmaster[id]>1) player_b_deaglmaster[id]-=random_num(-1,1)
}
if(player_b_knife[id]>0)
{
if(player_b_knife[id]>5) player_b_knife[id]-=random_num(0,2)
else if(player_b_knife[id]>2) player_b_knife[id]-=random_num(0,1)
else if(player_b_knife[id]>1) player_b_knife[id]-=random_num(-1,1)
}
if(player_b_awp[id]>0)
{
if(player_b_awp[id]>5) player_b_awp[id]-=random_num(0,2)
else if(player_b_awp[id]>2) player_b_awp[id]-=random_num(0,1)
else if(player_b_awp[id]>1) player_b_awp[id]-=random_num(-1,1)
}
if(player_b_extrastats[id]>0) player_b_extrastats[id] += random_num(0,2)
if(player_b_firetotem[id]>0) player_b_firetotem[id] += random_num(0,50)
if(player_b_darksteel[id]>0) player_b_darksteel[id] += random_num(0,2)
if(player_b_mine[id]>0) player_b_mine[id] += random_num(0,1)
if(player_sword[id]>0)
{
if(player_b_jumpx[id]==0 && random_num(0,10)==10) player_b_jumpx[id]=1
if(player_b_vampire[id]==0 && random_num(0,10)==10) player_b_vampire[id]=1
if(player_b_gravity[id]==0 && random_num(0,10)==10) player_b_gravity[id]=1
if(player_b_respawn[id]==0 && random_num(0,10)==5) player_b_respawn[id]=15
else if(player_b_respawn[id]>2 && random_num(0,10)==5) player_b_respawn[id]+=random_num(0,1)
if(player_b_ghost[id]==0 && random_num(0,10)==10) player_b_ghost[id]=1
if(player_b_darksteel[id]==0 && random_num(0,10)==10) player_b_darksteel[id]=1
}
if(player_ultra_armor[id]>0) player_ultra_armor[id]++
}
/* ==================================================================================================== */
//Blocks fullupdate (can reset hud)
public fullupdate(id)
{
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_scoutdamage(attacker_id,id,weapon)
{
if (player_b_sniper[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_SCOUT && player_class[attacker_id]!=Ninja)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_sniper[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"scout")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_m4masterdamage(attacker_id,id,weapon)
{
if (player_b_m4master[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_M4A1 && player_class[attacker_id]!=Ninja)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_m4master[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"m4a1")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_mp5masterdamage(attacker_id,id,weapon)
{
if (player_b_mp5master[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_MP5NAVY && player_class[attacker_id]!=Ninja)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_mp5master[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"mp5navy")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_m3masterdamage(attacker_id,id,weapon)
{
if (player_b_m3master[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_M3 && player_class[attacker_id]!=Ninja)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_m3master[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"m3")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_glockmasterdamage(attacker_id,id,weapon)
{
if (player_b_glockmaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_GLOCK18 && player_class[attacker_id]!=Ninja)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_glockmaster[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"glock")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_deaglmasterdamage(attacker_id,id,weapon)
{
if (player_b_deaglmaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_DEAGLE && player_class[attacker_id]!=Ninja)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_deaglmaster[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"deagl")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_krowamasterdamage(attacker_id,id,weapon)
{
if (c_krowa[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_M249)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,c_krowa[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"m249")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_knifedamage(attacker_id,id,weapon)
{
if (player_b_knife[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_KNIFE)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_knife[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"knife")
}
if (c_knife[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_KNIFE)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,c_knife[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"knife")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_awpdamage(attacker_id,id,weapon)
{
if (player_b_awp[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_AWP)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,player_b_awp[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"awp")
}
if (c_awp[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_AWP)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1, c_antymoc[id]) == 1)
return PLUGIN_HANDLED
if (random_num(1,c_awp[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"awp")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public add_bonus_illusion(attacker_id,id,weapon)
{
if(HasFlag(id,Flag_Illusion))
{
new weaponname[32]
get_weaponname( weapon, weaponname, 31 )
replace(weaponname, 31, "weapon_", "")
UTIL_Kill(attacker_id,id,weaponname)
}
}
/* ==================================================================================================== */
public item_take_damage(id,damage)
{
new itemdamage = get_cvar_num("diablo_durability")
if (player_item_id[id] > 0 && item_durability[id] >= 0 && itemdamage> 0 && damage > 5)
{
//Make item take damage
if (item_durability[id] - itemdamage <= 0)
{
item_durability[id]-=itemdamage
dropitem(id)
}
else
{
item_durability[id]-=itemdamage
}
}
}
/* ==================================================================================================== */
//From twistedeuphoria plugin
public Prethink_Doublejump(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
if((get_user_button(id) & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(get_user_oldbutton(id) & IN_JUMP))
{
if(jumps[id] < player_b_jumpx[id] || jumps[id] < c_jump[id])
{
dojump[id] = true
jumps[id]++
return PLUGIN_HANDLED
}
}
if((get_user_button(id) & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
jumps[id] = 0
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
public Postthink_Doubeljump(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
if(dojump[id] == true)
{
new Float:velocity[3]
entity_get_vector(id,EV_VEC_velocity,velocity)
velocity[2] = random_float(265.0,285.0)
entity_set_vector(id,EV_VEC_velocity,velocity)
dojump[id] = false
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
public eventGrenade(id)
{
new id = read_data(1)
if (player_b_grenade[id] > 0 || player_b_smokehit[id] > 0)
{
set_task(0.1, "makeGlow", id)
}
}
public makeGlow(id)
{
new grenade
new greModel[100]
grenade = get_grenade(id)
if( grenade )
{
entity_get_string(grenade, EV_SZ_model, greModel, 99)
if(equali(greModel, "models/w_hegrenade.mdl" ) && player_b_grenade[id] > 0 )
set_rendering(grenade, kRenderFxGlowShell, 255,0,0, kRenderNormal, 255)
if(equali(greModel, "models/w_smokegrenade.mdl" ) && player_b_smokehit[id] > 0 )
{
set_rendering(grenade, kRenderFxGlowShell, 0,255,255, kRenderNormal, 255)
}
}
}
/* ==================================================================================================== */
public BoostStats(id,amount)
{
player_strength[id]+=amount
player_dextery[id]+=amount
player_agility[id]+=amount
player_intelligence[id]+=amount
}
public SubtractStats(id,amount)
{
player_strength[id]-=amount
player_dextery[id]-=amount
player_agility[id]-=amount
player_intelligence[id]-=amount
}
public BoostRing(id)
{
switch(player_ring[id])
{
case 1: player_intelligence[id]+=5
case 2: player_strength[id]+=5
case 3: player_agility[id]+=5
case 4: player_intelligence[id]+=50
case 5: player_strength[id]+=50
}
}
public SubtractRing(id)
{
switch(player_ring[id])
{
case 1: player_intelligence[id]-=5
case 2: player_strength[id]-=5
case 3: player_agility[id]-=5
}
}
/* ==================================================================================================== */
public SelectBotRace(id)
{
if (!is_user_bot(id))
return PLUGIN_HANDLED
if (player_class[id] == 0)
{
player_class[id] = random_num(1,18)
//load_xp(id)
}
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public showskills(id)
{
new Skillsinfo[768]
format(Skillsinfo,767,"Masz %i sily - to daje tobie %i zycia<br><br>Masz %i zwinnosci - to daje tobie szybsze bieganie o %i punkow i redukuje sile atakow magia %i%%<br><br>Masz %i odpornosci - Redukuje obrazenia z normalnych atkow %0.0f%%<br><br>Masz %i magi - to daje im wieksza moc przedmiotom ktorych da sie uzyc<br>",
player_strength[id],
player_strength[id]*2,
player_dextery[id],
floatround(player_dextery[id]*1.3),
player_dextery[id]*3,
player_agility[id],
player_damreduction[id]*100,
player_intelligence[id])
showitem(id,"Skills","None","None", Skillsinfo)
}
public showskills1(id)
{
new Skillsinfo1[768]
format(Skillsinfo1,767,"Masz %i Poziom Kradziezy - to daje Ci Wiecej kasy %i $<br><br>Masz %i Poziom Pancerza - to daje ci coraz wiecej pancerza co runde<br><br>Masz %i Poziom Walecznosci - to daje Ci Szanse na Krytyka o %i<br><br>Masz %i b Przebieglosci - to daje Ci Zwiekszona obrone o %i<br><br>Masz %i poziom grawitacji to daje ci zmniejszona grawitacje o %i<br>",
player_expstat[id],
player_expstat[id]*1500,
player_kas[id],
player_dama[id],
player_dama[id]*5,
player_men[id],
player_men[id]*5,
player_niew[id],
player_niew[id]*0.9)
showitem(id,"Skills","None","None", Skillsinfo1)
}
/* ==================================================================================================== */
public UTIL_Teleport(id,distance)
{
Set_Origin_Forward(id,distance)
new origin[3]
get_user_origin(id,origin)
//Particle burst ie. teleport effect
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY) //message begin
write_byte(TE_PARTICLEBURST )
write_coord(origin[0]) // origin
write_coord(origin[1]) // origin
write_coord(origin[2]) // origin
write_short(25) // radius
write_byte(2) // particle color
write_byte(5) // duration * 10 will be randomized a bit
message_end()
}
stock Set_Origin_Forward(id, distance)
{
new Float:origin[3]
new Float:angles[3]
new Float:teleport[3]
new Float:heightplus = 10.0
new Float:playerheight = 64.0
new bool:recalculate = false
new bool:foundheight = false
pev(id,pev_origin,origin)
pev(id,pev_angles,angles)
teleport[0] = origin[0] + distance * floatcos(angles[1],degrees) * floatabs(floatcos(angles[0],degrees));
teleport[1] = origin[1] + distance * floatsin(angles[1],degrees) * floatabs(floatcos(angles[0],degrees));
teleport[2] = origin[2]+heightplus
while (!Can_Trace_Line_Origin(origin,teleport) || Is_Point_Stuck(teleport,48.0))
{
if (distance < 10)
break;
//First see if we can raise the height to MAX playerheight, if we can, it's a hill and we can teleport there
for (new i=1; i < playerheight+20.0; i++)
{
teleport[2]+=i
if (Can_Trace_Line_Origin(origin,teleport) && !Is_Point_Stuck(teleport,48.0))
{
foundheight = true
heightplus += i
break
}
teleport[2]-=i
}
if (foundheight)
break
recalculate = true
distance-=10
teleport[0] = origin[0] + (distance+32) * floatcos(angles[1],degrees) * floatabs(floatcos(angles[0],degrees));
teleport[1] = origin[1] + (distance+32) * floatsin(angles[1],degrees) * floatabs(floatcos(angles[0],degrees));
teleport[2] = origin[2]+heightplus
}
if (!recalculate)
{
set_pev(id,pev_origin,teleport)
return PLUGIN_CONTINUE
}
teleport[0] = origin[0] + distance * floatcos(angles[1],degrees) * floatabs(floatcos(angles[0],degrees));
teleport[1] = origin[1] + distance * floatsin(angles[1],degrees) * floatabs(floatcos(angles[0],degrees));
teleport[2] = origin[2]+heightplus
set_pev(id,pev_origin,teleport)
return PLUGIN_CONTINUE
}
stock bool:Can_Trace_Line_Origin(Float:origin1[3], Float:origin2[3])
{
new Float:Origin_Return[3]
new Float:temp1[3]
new Float:temp2[3]
temp1[x] = origin1[x]
temp1[y] = origin1[y]
temp1[z] = origin1[z]-30
temp2[x] = origin2[x]
temp2[y] = origin2[y]
temp2[z] = origin2[z]-30
trace_line(-1, temp1, temp2, Origin_Return)
if (get_distance_f(Origin_Return,temp2) < 1.0)
return true
return false
}
stock bool:Is_Point_Stuck(Float:Origin[3], Float:hullsize)
{
new Float:temp[3]
new Float:iterator = hullsize/3
temp[2] = Origin[2]
for (new Float:i=Origin[0]-hullsize; i < Origin[0]+hullsize; i+=iterator)
{
for (new Float:j=Origin[1]-hullsize; j < Origin[1]+hullsize; j+=iterator)
{
//72 mod 6 = 0
for (new Float:k=Origin[2]-CS_PLAYER_HEIGHT; k < Origin[2]+CS_PLAYER_HEIGHT; k+=6)
{
temp[0] = i
temp[1] = j
temp[2] = k
if (point_contents(temp) != -1)
return true
}
}
}
return false
}
stock Effect_Bleed(id,color)
{
new origin[3]
get_user_origin(id,origin)
new dx, dy, dz
for(new i = 0; i < 3; i++)
{
dx = random_num(-15,15)
dy = random_num(-15,15)
dz = random_num(-20,25)
for(new j = 0; j < 2; j++)
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(TE_BLOODSPRITE)
write_coord(origin[0]+(dx*j))
write_coord(origin[1]+(dy*j))
write_coord(origin[2]+(dz*j))
write_short(sprite_blood_spray)
write_short(sprite_blood_drop)
write_byte(color) // color index
write_byte(8) // size
message_end()
}
}
}
/* ==================================================================================================== */
public Use_Spell(id)
{
if (player_global_cooldown[id] + GLOBAL_COOLDOWN >= halflife_time())
return PLUGIN_CONTINUE
else
player_global_cooldown[id] = halflife_time()
if (!is_user_alive(id) || !freeze_ended)
return PLUGIN_CONTINUE
/*See if USE button is used for anything else..
1) Close to bomb
2) Close to hostage
3) Close to switch
4) Close to door
*/
new Float:origin[3]
pev(id, pev_origin, origin)
//Func door and func door rotating
new aimid, body
get_user_aiming ( id, aimid, body )
if (aimid > 0)
{
new classname[32]
pev(aimid,pev_classname,classname,31)
if (equal(classname,"func_door_rotating") || equal(classname,"func_door") || equal(classname,"func_button"))
{
new Float:doororigin[3]
pev(aimid, pev_origin, doororigin)
if (get_distance_f(origin, doororigin) < 70 && UTIL_In_FOV(id,aimid))
return PLUGIN_CONTINUE
}
}
//Bomb condition
new bomb
if ((bomb = find_ent_by_model(-1, "grenade", "models/w_c4.mdl")))
{
new Float:bombpos[3]
pev(bomb, pev_origin, bombpos)
//We are near the bomb and have it in FOV.
if (get_distance_f(origin, bombpos) < 100 && UTIL_In_FOV(id,bomb))
return PLUGIN_CONTINUE
}
//Hostage
new hostage = engfunc(EngFunc_FindEntityByString, -1,"classname", "hostage_entity")
while (hostage)
{
new Float:hospos[3]
pev(hostage, pev_origin, hospos)
if (get_distance_f(origin, hospos) < 70 && UTIL_In_FOV(id,hostage))
return PLUGIN_CONTINUE
hostage = engfunc(EngFunc_FindEntityByString, hostage,"classname", "hostage_entity")
}
check_magic(id)
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
//Angle to all targets in fov
stock Float:Find_Angle(Core,Target,Float:dist)
{
new Float:vec2LOS[2]
new Float:flDot
new Float:CoreOrigin[3]
new Float:TargetOrigin[3]
new Float:CoreAngles[3]
pev(Core,pev_origin,CoreOrigin)
pev(Target,pev_origin,TargetOrigin)
if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
return 0.0
pev(Core,pev_angles, CoreAngles)
for ( new i = 0; i < 2; i++ )
vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i]
new Float:veclength = Vec2DLength(vec2LOS)
//Normalize V2LOS
if (veclength <= 0.0)
{
vec2LOS[x] = 0.0
vec2LOS[y] = 0.0
}
else
{
new Float:flLen = 1.0 / veclength;
vec2LOS[x] = vec2LOS[x]*flLen
vec2LOS[y] = vec2LOS[y]*flLen
}
//Do a makevector to make v_forward right
engfunc(EngFunc_MakeVectors,CoreAngles)
new Float:v_forward[3]
new Float:v_forward2D[2]
get_global_vector(GL_v_forward, v_forward)
v_forward2D[x] = v_forward[x]
v_forward2D[y] = v_forward[y]
flDot = vec2LOS[x]*v_forward2D[x]+vec2LOS[y]*v_forward2D[y]
if ( flDot > 0.5 )
{
return flDot
}
return 0.0
}
stock Float:Vec2DLength( Float:Vec[2] )
{
return floatsqroot(Vec[x]*Vec[x] + Vec[y]*Vec[y] )
}
stock bool:UTIL_In_FOV(id,target)
{
if (Find_Angle(id,target,9999.9) > 0.0)
return true
return false
}
/* ==================================================================================================== */
public Greet_Player(id)
{
id-=TASK_GREET
new name[32]
get_user_name(id,name,31)
if( get_user_flags(id) & ADMIN_LEVEL_H)
client_print(id,print_chat, "Witaj %s w WWE MOD .Posiadasz VIPa", name, "5.6 PL")
else client_print(id,print_chat, "Witaj %s w WWE Mod.Menu pod klawiszem V", name, "5.6 PL")
}
/* ==================================================================================================== */
/* ==================================================================================================== */
public changerace(id)
{
if(freeze_ended && player_class[id]!=NONE ) set_user_health(id,0)
if(player_class[id]!=NONE) savexpcom(id)
player_class[id]=NONE
client_connect(id)
select_class_query(id)
}
/* ==================================================================================================== */
//Disable autohelp messages and display our own.
public FW_WriteString(string[])
{
if (equal(string,""))
return FMRES_IGNORED
//Disable autohelp
if (equal(string,"#Hint_press_buy_to_purchase") || equal(string,"#Hint_press_buy_to_purchase "))
{
write_string( "" );
return FMRES_SUPERCEDE
}
if (equal(string, "#Hint_spotted_a_friend") || equal(string, "#Hint_you_have_the_bomb"))
{
write_string( "" );
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}
stock hudmsg(id,Float:display_time,const fmt[], {Float,Sql,Result,_}:...)
{
if (player_huddelay[id] >= 0.03*4)
return PLUGIN_CONTINUE
new buffer[512]
vformat(buffer, 511, fmt, 4)
set_hudmessage ( 255, 0, 0, -1.0, 0.4 + player_huddelay[id], 0, display_time/2, display_time, 0.1, 0.2, -1 )
show_hudmessage(id, buffer)
player_huddelay[id]+=0.03
remove_task(id+TASK_HUD)
set_task(display_time, "hudmsg_clear", id+TASK_HUD, "", 0, "a", 3)
return PLUGIN_CONTINUE
}
public hudmsg_clear(id)
{
new pid = id-TASK_HUD
player_huddelay[pid]=0.0
}
/* ==================================================================================================== */
public item_firetotem(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Mozesz uzyc raz w rundzie totemu ognia")
}
else
{
used_item[id] = true
Effect_Ignite_Totem(id,7)
}
}
stock Effect_Ignite_Totem(id,seconds)
{
new origin[3]
pev(id,pev_origin,origin)
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Ignite_Totem")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_TRIGGER)
set_pev(ent,pev_origin,origin)
set_pev(ent,pev_ltime, halflife_time() + seconds + 0.1)
engfunc(EngFunc_SetModel, ent, "addons/amxmodx/wwe/totem_ignite.mdl")
set_rendering ( ent, kRenderFxGlowShell, 250,150,0, kRenderFxNone, 255 )
engfunc(EngFunc_DropToFloor,ent)
set_pev(ent,pev_euser3,0)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
}
public Effect_Ignite_Totem_Think(ent)
{
//Safe check because effect on death
if (!freeze_ended)
remove_entity(ent)
if (!is_valid_ent(ent))
return PLUGIN_CONTINUE
new id = pev(ent,pev_owner)
//Apply and destroy
if (pev(ent,pev_euser3) == 1)
{
new entlist[513]
new numfound = find_sphere_class(ent,"player",player_b_firetotem[id]+0.0,entlist,512)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
//This totem can hit the caster
if (pid == id && is_user_alive(id))
{
Effect_Ignite(pid,id,4)
hudmsg(pid,3.0,"Palisz sie. Strzel do kogos aby przestac sie palic!")
continue
}
if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid))
continue
//Dextery makes the fire damage less
if (player_dextery[pid] > 20)
Effect_Ignite(pid,id,1)
else if (player_dextery[pid] > 15)
Effect_Ignite(pid,id,2)
else if (player_dextery[pid] > 10)
Effect_Ignite(pid,id,3)
else
Effect_Ignite(pid,id,4)
hudmsg(pid,3.0,"Palisz sie. Strzel do kogos aby przestac sie palic!")
}
remove_entity(ent)
return PLUGIN_CONTINUE
}
//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time())
{
set_pev(ent,pev_euser3,1)
//Show animation and die
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + player_b_firetotem[id]);
write_coord( origin[2] + player_b_firetotem[id]);
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 150 ); // r, g, b
write_byte( 150 ); // r, g, b
write_byte( 0 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();
set_pev(ent,pev_nextthink, halflife_time() + 0.2)
}
else
{
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
}
return PLUGIN_CONTINUE
}
stock Spawn_Ent(const classname[])
{
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, classname))
set_pev(ent, pev_origin, {0.0, 0.0, 0.0})
dllfunc(DLLFunc_Spawn, ent)
return ent
}
stock Effect_Ignite(id,attacker,damage)
{
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Ignite")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_ltime, halflife_time() + 99 + 0.1)
set_pev(ent,pev_solid,SOLID_NOT)
set_pev(ent,pev_euser1,attacker)
set_pev(ent,pev_euser2,damage)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
AddFlag(id,Flag_Ignite)
}
//euser3 = destroy and apply effect
public Effect_Ignite_Think(ent)
{
new id = pev(ent,pev_owner)
attacker = pev(ent,pev_euser1)
new damage = pev(ent,pev_euser2)
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id) || !HasFlag(id,Flag_Ignite))
{
RemoveFlag(id,Flag_Ignite)
Remove_All_Tents(id)
Display_Icon(id ,0 ,"dmg_heat" ,200,0,0)
remove_entity(ent)
return PLUGIN_CONTINUE
}
//Display ignite tent and icon
Display_Tent(id,sprite_ignite,2)
Display_Icon(id ,1 ,"dmg_heat" ,200,0,0)
new origin[3]
get_user_origin(id,origin)
//Make some burning effects
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( TE_SMOKE ) // 5
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_short( sprite_smoke )
write_byte( 22 ) // 10
write_byte( 10 ) // 10
message_end()
//Decals
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( TE_GUNSHOTDECAL ) // decal and ricochet sound
write_coord( origin[0] ) //pos
write_coord( origin[1] )
write_coord( origin[2] )
write_short (0) // I have no idea what thats supposed to be
write_byte (random_num(199,201)) //decal
message_end()
//Do the actual damage
change_health(id,-damage,attacker,"world")
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
return PLUGIN_CONTINUE
}
stock AddFlag(id,flag)
{
afflicted[id][flag] = 1
}
stock RemoveFlag(id,flag)
{
afflicted[id][flag] = 0
}
stock bool:HasFlag(id,flag)
{
if (afflicted[id][flag])
return true
return false
}
stock Display_Tent(id,sprite, seconds)
{
message_begin(MSG_ALL,SVC_TEMPENTITY)
write_byte(TE_PLAYERATTACHMENT)
write_byte(id)
write_coord(40) //Offset
write_short(sprite)
write_short(seconds*10)
message_end()
}
stock Remove_All_Tents(id)
{
message_begin(MSG_ALL ,SVC_TEMPENTITY) //message begin
write_byte(TE_KILLPLAYERATTACHMENTS)
write_byte(id) // entity index of player
message_end()
}
stock Find_Best_Angle(id,Float:dist, same_team = false)
{
new Float:bestangle = 0.0
new winner = -1
for (new i=0; i < MAX; i++)
{
if (!is_user_alive(i) || i == id || (get_user_team(i) == get_user_team(id) && !same_team))
continue
if (get_user_team(i) != get_user_team(id) && same_team)
continue
//User has spell immunity, don't target
new Float:c_angle = Find_Angle(id,i,dist)
if (c_angle > bestangle && Can_Trace_Line(id,i))
{
winner = i
bestangle = c_angle
}
}
return winner
}
//This is an interpolation. We make tree lines with different height as to make sure
stock bool:Can_Trace_Line(id, target)
{
for (new i=-35; i < 60; i+=35)
{
new Float:Origin_Id[3]
new Float:Origin_Target[3]
new Float:Origin_Return[3]
pev(id,pev_origin,Origin_Id)
pev(target,pev_origin,Origin_Target)
Origin_Id[z] = Origin_Id[z] + i
Origin_Target[z] = Origin_Target[z] + i
trace_line(-1, Origin_Id, Origin_Target, Origin_Return)
if (get_distance_f(Origin_Return,Origin_Target) < 25.0)
return true
}
return false
}
public item_zamroz(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Totemu mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
used_item[id] = true
new origin[3]
pev(id,pev_origin,origin)
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Zamroz_Totem")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_TRIGGER)
set_pev(ent,pev_origin,origin)
set_pev(ent,pev_ltime, halflife_time() + 15 + 0.1)
engfunc(EngFunc_SetModel, ent, "addons/amxmodx/wwe/totem_heal.mdl")
set_rendering ( ent, kRenderFxGlowShell, 0,100,255, kRenderFxNone, 255 )
engfunc(EngFunc_DropToFloor,ent)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
return PLUGIN_CONTINUE
}
public Effect_Zamroz_Totem_Think(ent)
{
new id = pev(ent,pev_owner)
new totem_dist = 600
//We have emitted beam. Apply effect (this is delayed)
if (pev(ent,pev_euser2) == 1)
{
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and damage them
new entlist[513]
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if (get_user_team(pid) == get_user_team(id))
continue
if (is_user_alive(pid)){
set_user_maxspeed(pid, 1.0)
set_task(15.0, "off_zamroz", pid)
}
}
set_pev(ent,pev_euser2,0)
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
return PLUGIN_CONTINUE
}
//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent)
return PLUGIN_CONTINUE
}
//If this object is almost dead, apply some render to make it fade out
if (pev(ent,pev_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 )
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );
write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 0 ); // r, g, b
write_byte( 100 ); // r, g, b
write_byte( 255 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();
set_pev(ent,pev_euser2,1)
set_pev(ent,pev_nextthink, halflife_time() + 0.5)
return PLUGIN_CONTINUE
}
public off_zamroz(pid){
set_user_maxspeed(pid, 270.0)
}
public item_hp(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Uleczenia mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
new m_health = race_heal[player_class[id]]+player_strength[id]*2
new CurHealth = get_user_health(id)
new NewHealth = (CurHealth+player_b_hpitem[id]<m_health)? CurHealth+player_b_hpitem[id]:m_health
set_user_health(id, NewHealth)
used_item[id] = true
return PLUGIN_CONTINUE
}
public item_grawi(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Totemu grawitacij mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
used_item[id] = true
new origin[3]
pev(id,pev_origin,origin)
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Grawi_Totem")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_TRIGGER)
set_pev(ent,pev_origin,origin)
set_pev(ent,pev_ltime, halflife_time() + 20 + 0.1)
engfunc(EngFunc_SetModel, ent, "addons/amxmodx/wwe/totem_heal.mdl")
set_rendering ( ent, kRenderFxGlowShell, 0,100,255, kRenderFxNone, 255 )
engfunc(EngFunc_DropToFloor,ent)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
return PLUGIN_CONTINUE
}
public Effect_Grawi_Totem_Think(ent)
{
new id = pev(ent,pev_owner)
new totem_dist = 750
//We have emitted beam. Apply effect (this is delayed)
if (pev(ent,pev_euser2) == 1)
{
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and damage them
new entlist[513]
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if (get_user_team(pid) != get_user_team(id))
continue
if (is_user_alive(pid)){
set_user_gravity(pid, 0.25)
set_task(15.0, "off_grawi", pid)
}
}
set_pev(ent,pev_euser2,0)
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
return PLUGIN_CONTINUE
}
//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent)
return PLUGIN_CONTINUE
}
//If this object is almost dead, apply some render to make it fade out
if (pev(ent,pev_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 )
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );
write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 0 ); // r, g, b
write_byte( 255 ); // r, g, b
write_byte( 10 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();
set_pev(ent,pev_euser2,1)
set_pev(ent,pev_nextthink, halflife_time() + 0.5)
return PLUGIN_CONTINUE
}
public off_grawi(pid){
set_user_gravity(pid, 1.00)
}
public item_nies(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Totemu Niesmiertelnosci mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
used_item[id] = true
new origin[3]
pev(id,pev_origin,origin)
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Nies_Totem")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_TRIGGER)
set_pev(ent,pev_origin,origin)
set_pev(ent,pev_ltime, halflife_time() + 10 + 0.1)
engfunc(EngFunc_SetModel, ent, "addons/amxmodx/wwe/totem_heal.mdl")
set_rendering ( ent, kRenderFxGlowShell, 0,100,255, kRenderFxNone, 255 )
engfunc(EngFunc_DropToFloor,ent)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
return PLUGIN_CONTINUE
}
public Effect_Nies_Totem_Think(ent)
{
new id = pev(ent,pev_owner)
new totem_dist = 300
//We have emitted beam. Apply effect (this is delayed)
if (pev(ent,pev_euser2) == 1)
{
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and damage them
new entlist[513]
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if (get_user_team(pid) != get_user_team(id))
continue
if (is_user_alive(pid)){
change_health(id,999,0,"")
set_user_godmode(id, 1)
new newarg[1]
newarg[0]=id
set_task(3.0,"god_off",id+95123,newarg,1)
}
}
set_pev(ent,pev_euser2,0)
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
return PLUGIN_CONTINUE
}
//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent)
return PLUGIN_CONTINUE
}
//If this object is almost dead, apply some render to make it fade out
if (pev(ent,pev_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 )
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );
write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 50 ); // r, g, b
write_byte( 150 ); // r, g, b
write_byte( 90 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();
set_pev(ent,pev_euser2,1)
set_pev(ent,pev_nextthink, halflife_time() + 0.5)
return PLUGIN_CONTINUE
}
public item_hook(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Haku mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
new target = Find_Best_Angle(id,1000.0,false)
if (!is_valid_ent(target))
{
hudmsg(id,2.0,"Obiekt jest poza zasiegiem.")
return PLUGIN_CONTINUE
}
AddFlag(id,Flag_Hooking)
set_user_gravity(target,0.0)
set_task(0.1,"hook_prethink",id+TASK_HOOK,"",0,"b")
hooked[id] = target
hook_prethink(id+TASK_HOOK)
emit_sound(id,CHAN_VOICE,"weapons/xbow_hit2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
used_item[id] = true
return PLUGIN_HANDLED
}
public hook_prethink(id)
{
id -= TASK_HOOK
if(!is_user_alive(id) || !is_user_alive(hooked[id]))
{
RemoveFlag(id,Flag_Hooking)
return PLUGIN_HANDLED
}
if (get_user_button(id) & ~IN_USE)
{
RemoveFlag(id,Flag_Hooking)
return PLUGIN_HANDLED
}
if(!HasFlag(id,Flag_Hooking))
{
if (is_user_alive(hooked[id]))
set_user_gravity(id,1.0)
remove_task(id+TASK_HOOK)
return PLUGIN_HANDLED
}
//Get Id's origin
static origin1[3]
get_user_origin(id,origin1)
static origin2[3]
get_user_origin(hooked[id],origin2)
//Create blue beam
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(1) //TE_BEAMENTPOINT
write_short(id) // start entity
write_coord(origin2[0])
write_coord(origin2[1])
write_coord(origin2[2])
write_short(sprite_line)
write_byte(1) // framestart
write_byte(1) // framerate
write_byte(2) // life in 0.1's
write_byte(5) // width
write_byte(0) // noise
write_byte(0) // red
write_byte(0) // green
write_byte(255) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
//Calculate Velocity
new Float:velocity[3]
velocity[0] = (float(origin1[0]) - float(origin2[0])) * 3.0
velocity[1] = (float(origin1[1]) - float(origin2[1])) * 3.0
velocity[2] = (float(origin1[2]) - float(origin2[2])) * 3.0
new Float:dy
dy = velocity[0]*velocity[0] + velocity[1]*velocity[1] + velocity[2]*velocity[2]
new Float:dx
dx = (4+player_intelligence[id]/2) * 120.0 / floatsqroot(dy)
velocity[0] *= dx
velocity[1] *= dx
velocity[2] *= dx
set_pev(hooked[id],pev_velocity,velocity)
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public item_gravitybomb(id)
{
if (pev(id,pev_flags) & FL_ONGROUND)
{
hudmsg(id,2.0,"Musisz byc w powietrzu!")
return PLUGIN_CONTINUE
}
if (halflife_time()-gravitytimer[id] <= 5)
{
hudmsg(id,2.0,"Ten przedmiot, moze byc uzyty co kazde 5 sekundy")
return PLUGIN_CONTINUE
}
gravitytimer[id] = floatround(halflife_time())
new origin[3]
get_user_origin(id,origin)
if (origin[2] == 0)
earthstomp[id] = 1
else
earthstomp[id] = origin[2]
set_user_gravity(id,5.0)
falling[id] = true
return PLUGIN_CONTINUE
}
public add_bonus_stomp(id)
{
set_gravitychange(id)
new origin[3]
get_user_origin(id,origin)
new dam = earthstomp[id]-origin[2]
earthstomp[id] = 0
//If jump is is high enough, apply some shake effect and deal damage, 300 = down from BOMB A in dust2
if (dam < 85)
return PLUGIN_CONTINUE
dam = dam-85
message_begin(MSG_ONE , get_user_msgid("ScreenShake") , {0,0,0} ,id)
write_short( 1<<14 );
write_short( 1<<12 );
write_short( 1<<14 );
message_end();
new entlist[513]
new numfound = find_sphere_class(id,"player",230.0+player_strength[id]*2,entlist,512)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if (pid == id || !is_user_alive(pid))
continue
if (get_user_team(id) == get_user_team(pid))
continue
if (player_b_antyarchy[pid] > 0)
continue
if (c_antyarchy[pid] > 0)
continue
if (!(pev(pid, pev_flags) & FL_ONGROUND)) continue
new Float:id_origin[3]
new Float:pid_origin[3]
new Float:delta_vec[3]
pev(id,pev_origin,id_origin)
pev(pid,pev_origin,pid_origin)
delta_vec[x] = (pid_origin[x]-id_origin[x])+10
delta_vec[y] = (pid_origin[y]-id_origin[y])+10
delta_vec[z] = (pid_origin[z]-id_origin[z])+200
set_pev(pid,pev_velocity,delta_vec)
message_begin(MSG_ONE , get_user_msgid("ScreenShake") , {0,0,0} ,pid)
write_short( 1<<18 );
write_short( 1<<14 );
write_short( 1<<18 );
message_end();
change_health(pid,-dam,id,"world")
}
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public item_rot(id)
{
if (used_item[id])
{
RemoveFlag(id,Flag_Rot)
used_item[id] = false
}
else
{
if (find_ent_by_owner(-1,"Effect_Rot",id) > 0)
return PLUGIN_CONTINUE
Create_Rot(id)
used_item[id] = true
}
return PLUGIN_CONTINUE
}
public Create_Rot(id)
{
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Rot")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_NOT)
AddFlag(id,Flag_Rot)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
}
public Effect_Rot_Think(ent)
{
new id = pev(ent,pev_owner)
if (!is_user_alive(id) || !HasFlag(id,Flag_Rot) || !freeze_ended)
{
Display_Icon(id,0,"dmg_bio",255,255,0)
set_user_maxspeed(id,245.0+player_dextery[id])
set_renderchange(id)
remove_entity(ent)
return PLUGIN_CONTINUE
}
set_user_maxspeed(id,252.0+player_dextery[id]+15)
Display_Icon(id,1,"dmg_bio",255,150,0)
set_renderchange(id)
new entlist[513]
new numfound = find_sphere_class(id,"player",250.0,entlist,512)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if(player_b_antyfs[ pid ] > 0 || c_antyfs[ pid ] > 0)
continue
if (pid == id || !is_user_alive(pid))
continue
if (get_user_team(id) == get_user_team(pid))
continue
//Rot him!
if (random_num(1,3) == 1) Display_Fade(id,1<<14,1<<14,1<<16,255,155,50,230)
change_health(pid,-45,id,"world")
Effect_Bleed(pid,100)
Create_Slow(pid,3)
}
change_health(id,-10,id,"world")
set_pev(ent,pev_nextthink, halflife_time() + 0.8)
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
//Daze player
stock Create_Slow(id,seconds)
{
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Slow")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_ltime, halflife_time() + seconds + 0.1)
set_pev(ent,pev_solid,SOLID_NOT)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
AddFlag(id,Flag_Dazed)
}
public Effect_Slow_Think(ent)
{
new id = pev(ent,pev_owner)
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
Display_Icon(id,0,"dmg_heat",255,255,0)
RemoveFlag(id,Flag_Dazed)
set_user_maxspeed(id,245.0+player_agility[id])
remove_entity(ent)
return PLUGIN_CONTINUE
}
set_user_maxspeed(id,245.0-50)
Display_Icon(id,1,"dmg_heat",255,255,0)
set_pev(ent,pev_nextthink, halflife_time() + 1.0)
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
stock AddTimedFlag(id,flag,seconds)
{
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Timedflag")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_ltime, halflife_time() + seconds + 0.1)
set_pev(ent,pev_solid,SOLID_NOT)
set_pev(ent,pev_euser3,flag)
AddFlag(id,flag)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
}
public Effect_Timedflag_Think(ent)
{
new id = pev(ent,pev_owner)
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
RemoveFlag(id,pev(ent,pev_euser3))
remove_entity(ent)
return PLUGIN_CONTINUE
}
set_pev(ent,pev_nextthink, halflife_time() + 1.0)
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public item_illusion(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Ten przedmiot mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
AddTimedFlag(id,Flag_Illusion,7)
message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( 7)
write_byte( 0 )
message_end()
used_item[id] = true
use_addtofullpack = true
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public item_money_shield(id)
{
if (used_item[id])
{
RemoveFlag(id,Flag_Moneyshield)
used_item[id] = false
}
else
{
if (find_ent_by_owner(-1,"Effect_MShield",id) > 0)
return PLUGIN_CONTINUE
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_MShield")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_NOT)
AddFlag(id,Flag_Moneyshield)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
used_item[id] = true
}
return PLUGIN_CONTINUE
}
public Effect_MShield_Think(ent)
{
new id = pev(ent,pev_owner)
if (!is_user_alive(id) || cs_get_user_money(id) <= 0 || !HasFlag(id,Flag_Moneyshield) || !freeze_ended)
{
RemoveFlag(id,Flag_Moneyshield)
set_renderchange(id)
Display_Icon(id,0,"suithelmet_empty",255,255,255)
remove_entity(ent)
return PLUGIN_CONTINUE
}
if (cs_get_user_money(id)-250 < 0)
cs_set_user_money(id,0)
else
cs_set_user_money(id,cs_get_user_money(id)-250)
set_renderchange(id)
Display_Icon(id,1,"suithelmet_empty",255,255,255)
set_pev(ent,pev_nextthink, halflife_time() + 1.0)
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public item_mine(id)
{
new count = 0
new ents = -1
ents = find_ent_by_owner(ents,"Mine",id)
while (ents > 0)
{
count++
ents = find_ent_by_owner(ents,"Mine",id)
}
if (count > 2)
{
hudmsg(id,2.0,"Mozesz polozyc maksymalnie 3 miny na runde")
return PLUGIN_CONTINUE
}
new origin[3]
pev(id,pev_origin,origin)
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Mine")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_movetype,MOVETYPE_TOSS)
set_pev(ent,pev_origin,origin)
set_pev(ent,pev_solid,SOLID_BBOX)
engfunc(EngFunc_SetModel, ent, "addons/amxmodx/wwe/mine.mdl")
engfunc(EngFunc_SetSize,ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0})
drop_to_floor(ent)
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50)
use_addtofullpack = true
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
public item_teamshield(id)
{
if (used_item[id])
{
RemoveFlag(id,Flag_Teamshield)
used_item[id] = false
set_renderchange(id)
}
else
{
new target = Find_Best_Angle(id,1000.0,true)
if (!is_valid_ent(target))
{
hudmsg(id,2.0,"Zaden cel nie jest zasiegu do tarczy")
return PLUGIN_CONTINUE
}
if (pev(target,pev_rendermode) == kRenderTransTexture || player_item_id[target] == 17 || player_class[target] == Ninja || player_class[target] == Skrytobojca)
{
hudmsg(id,2.0,"Nie mozna wyczarowac tarczy na niewidzialnym graczu")
return PLUGIN_CONTINUE
}
if (find_ent_by_owner(-1,"Effect_Teamshield",id) > 0)
return PLUGIN_CONTINUE
if (get_user_health(target)+player_b_teamheal[id] <= race_heal[player_class[target]]+player_strength[target]*2)
change_health(target,player_b_teamheal[id],0,"")
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Teamshield")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_NOT)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
set_pev(ent,pev_euser2, target)
AddFlag(id,Flag_Teamshield)
AddFlag(target,Flag_Teamshield_Target)
used_item[id] = true
set_renderchange(target)
}
return PLUGIN_CONTINUE
}
public Effect_Teamshield_Think(ent)
{
new id = pev(ent,pev_owner)
new victim = pev(ent,pev_euser2)
new Float: vec1[3]
new Float: vec2[3]
new Float: vec3[3]
entity_get_vector(id,EV_VEC_origin,vec1)
entity_get_vector(victim ,EV_VEC_origin,vec2)
new hit = trace_line ( id, vec1, vec2, vec3 )
if (hit != victim || !is_user_alive(id) || !is_user_alive(victim) || !Can_Trace_Line(id,victim) || !UTIL_In_FOV(id,victim) || !HasFlag(id,Flag_Teamshield) || !freeze_ended)
{
RemoveFlag(id,Flag_Teamshield)
RemoveFlag(victim,Flag_Teamshield_Target)
remove_entity(ent)
set_renderchange(victim)
return PLUGIN_CONTINUE
}
else
set_pev(ent,pev_nextthink, halflife_time() + 0.3)
new origin1[3]
new origin2[3]
get_user_origin(id,origin1)
get_user_origin(victim,origin2)
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (TE_BEAMPOINTS)
write_coord(origin1[0])
write_coord(origin1[1])
write_coord(origin1[2]+8)
write_coord(origin2[0])
write_coord(origin2[1])
write_coord(origin2[2]+8)
write_short(sprite_laser);
write_byte(1) // framestart
write_byte(1) // framerate
write_byte(3) // life
write_byte(5) // width
write_byte(10) // noise
write_byte(0) // r, g, b (red)
write_byte(255) // r, g, b (green)
write_byte(0) // r, g, b (blue)
write_byte(45) // brightness
write_byte(5) // speed
message_end()
set_renderchange(victim)
return PLUGIN_CONTINUE
}
/* ==================================================================================================== */
//Find the owner that has target as target and the specific classname
public find_owner_by_euser(target,classname[])
{
new ent = -1
ent = find_ent_by_class(ent,classname)
while (ent > 0)
{
if (pev(ent,pev_euser2) == target)
return pev(ent,pev_owner)
ent = find_ent_by_class(ent,classname)
}
return -1
}
/* ==================================================================================================== */
public item_totemheal(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Leczacy Totem mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
used_item[id] = true
new origin[3]
pev(id,pev_origin,origin)
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Healing_Totem")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_TRIGGER)
set_pev(ent,pev_origin,origin)
set_pev(ent,pev_ltime, halflife_time() + 7 + 0.1)
engfunc(EngFunc_SetModel, ent, "addons/amxmodx/wwe/totem_heal.mdl")
set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 )
engfunc(EngFunc_DropToFloor,ent)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
return PLUGIN_CONTINUE
}
public Effect_Healing_Totem_Think(ent)
{
new id = pev(ent,pev_owner)
new totem_dist = 300
new amount_healed = player_b_heal[id]
//We have emitted beam. Apply effect (this is delayed)
if (pev(ent,pev_euser2) == 1)
{
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and damage them
new entlist[513]
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if (get_user_team(pid) != get_user_team(id))
continue
if (is_user_alive(pid)) change_health(pid,amount_healed,0,"")
}
set_pev(ent,pev_euser2,0)
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
return PLUGIN_CONTINUE
}
//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent)
return PLUGIN_CONTINUE
}
//If this object is almost dead, apply some render to make it fade out
if (pev(ent,pev_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 )
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );
write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 ); // r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();
set_pev(ent,pev_euser2,1)
set_pev(ent,pev_nextthink, halflife_time() + 0.5)
return PLUGIN_CONTINUE
}
public freeze_over1()
{
round_status=1
agi = BASE_SPEED;
new players[32], num
get_players(players,num,"a")
for(new i=0 ; i<num ; i++)
{
set_speedchange(players[i])
}
}
public freeze_begin1()
{
round_status=0
}
public funcReleaseVic(id)
{
DemageTake[id]=0
remove_task(id+GLUTON)
}
public funcReleaseVic2(id)
{
agi = BASE_SPEED;
if(round_status==1)
set_speedchange(id)
set_armorchange(id)
set_invchange(id)
}
public funcDemageVic(id,attacker)
{
id-=GLUTON
if(get_user_health(id)>10)
set_task(2.0, "funcDemageVic", id+GLUTON)
DoDamage(id, attacker1, 5);
}
public set_speedchange(id)
{
new weapon = read_data(2);
if(DemageTake[id]==1) agi=(BASE_SPEED / 2)
else agi=BASE_SPEED
if (is_user_connected(id) && freeze_ended)
{
new speeds
if(player_class[id] == Ninja && player_nozninja[id] == 1) speeds= 70 + floatround(player_dextery[id]*1.3+player_b_4move[id]*200)
else if(player_class[id] == Ninja) speeds= 30 + floatround(player_dextery[id]*1.3+player_b_4move[id]*200)
else if(player_class[id] == Ball && weapon == CSW_KNIFE) speeds= 140 + floatround(player_dextery[id]*1.3+player_b_4move[id]*300)
else if(player_class[id] == Ball) speeds= 80 + floatround(player_dextery[id]*1.3+player_b_4move[id]*300)
else if(player_class[id] == Ball) speeds= 80 + floatround(player_dextery[id]*1.3+player_b_4move[id]*200)
else if(player_class[id] == Rambo) speeds= -50 + floatround(player_dextery[id]*1.3+player_b_4move[id]*400)
else if(player_class[id] == Golem) speeds= -30 + floatround(player_dextery[id]*1.3)
else if(player_b_4move[id] == 1) speeds= speeds + 600
else speeds= floatround(player_dextery[id]*1.3)
set_user_maxspeed(id, agi + speeds)
}
}
public set_renderchange(id)
{
if(is_user_connected(id) && is_user_alive(id))
{
if(!task_exists(id+TASK_FLASH_LIGHT))
{
new render=255
if (player_class[id] == Ninja)
{
new inv_bonus = 255 - player_b_inv[id]
render = 50
if(player_b_inv[id]>0)
{
while(inv_bonus>0)
{
inv_bonus-=10
render--
}
}
if(player_b_usingwind[id]==1)
{
render/=2
}
if(render<0) render=0
if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}
else if (player_class[id] == Morderca)
{
new inv_bonus = 255 - player_b_inv[id]
render = 130
if(player_b_inv[id]>0)
{
while(inv_bonus>0)
{
inv_bonus-=75
render--
}
}
if(player_b_usingwind[id]==1)
{
render/=2
}
if(render<0) render=0
if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}
else if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target))
{
if (player_b_usingwind[id]==1) set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,75)
if(HasFlag(id,Flag_Moneyshield)) set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,16)
if(HasFlag(id,Flag_Rot)) set_rendering ( id, kRenderFxGlowShell, 255,255,0, kRenderFxNone, 10 )
if(HasFlag(id,Flag_Teamshield_Target)) set_rendering ( id, kRenderFxGlowShell, 0,200,0, kRenderFxNone, 0 )
}
else if(invisible_cast[id]==1)
{
if(player_b_inv[id]>0) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, floatround((10.0/255.0)*(255-player_b_inv[id])))
else set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 40)
}
else
{
render = 255
if(player_b_inv[id]>0) render = player_b_inv[id]
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}
}
else set_user_rendering(id,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,30)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id
get_players(Players, playerCount, "aeh", "TERRORIST")
for (new i=0; i<playerCount; i++)
{
id = Players[i]
Give_Xp(id,get_cvar_num("diablo_xpbonus"))
if( get_user_flags(id) & ADMIN_LEVEL_H)
client_print(id,print_chat,"Jako VIP dostales *%i* doswiadczenia za wygranie rundy przez twoj team.",get_cvar_num("diablo_winxp")*2)
else client_print(id,print_chat,"Dostales *%i* doswiadczenia za wygranie rundy przez twoj team",get_cvar_num("diablo_winxp"))
}
Give_Xp(planter,get_cvar_num("diablo_winxp"))
}
public WygrywaCT()
{
new Players[32], playerCount, id
get_players(Players, playerCount, "aeh", "CT")
for (new i=0; i<playerCount; i++)
{
id = Players[i]
Give_Xp(id,get_cvar_num("diablo_xpbonus"))
if( get_user_flags(id) & ADMIN_LEVEL_H)
client_print(id,print_chat,"Jako VIP dostales *%i* doswiadczenia za wygranie rundy przez twoj team",get_cvar_num("diablo_winxp")*2)
else client_print(id,print_chat,"Dostales *%i* doswiadczenia za wygranie rundy przez twoj team",get_cvar_num("diablo_winxp"))
}
Give_Xp(planter,get_cvar_num("diablo_winxp"))
}
public set_gravitychange(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
else if(player_class[id] == Magneto)
{
if(player_b_gravity[id]>6) set_user_gravity(id, 0.3)
else if(player_b_gravity[id]>3) set_user_gravity(id, 0.35)
else if(player_b_redbull[id]>0) set_user_gravity(id, 0.15)
else set_user_gravity(id, 0.60)
}
else
{
set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
if(player_b_redbull[id]>0) set_user_gravity(id, 0.2)
}
}
}
public cmd_who(id)
{
static motd[1000],header[100],name[32],len,i
len = 0
new team[32]
static players[32], numplayers
get_players(players, numplayers, "a")
new playerid
// Table i background
len += formatex(motd[len],sizeof motd - 1 - len,"<body bgcolor=#000000 text=#FFB000>")
len += formatex(motd[len],sizeof motd - 1 - len,"<center><table width=700 border=1 cellpadding=4 cellspacing=4>")
len += formatex(motd[len],sizeof motd - 1 - len,"<tr><td>Nick</td><td>Postac</td><td>Level</td><td>Team</td></tr>")
//Title
formatex(header,sizeof header - 1,"Newwwe Statystyki")
for (i=0; i< numplayers; i++)
{
playerid = players[i]
if ( get_user_team(playerid) == 1 ) team = "Terrorist"
else if ( get_user_team(playerid) == 2 ) team = "CT"
else team = "Spectator"
get_user_name( playerid, name, 31 )
get_user_name( playerid, name, 31 )
len += formatex(motd[len],sizeof motd - 1 - len,"<tr><td>%s</td><td>%s</td><td>%d</td><td>%s</td></tr>",name,Race[player_class[playerid]], player_lvl[playerid],team)
}
len += formatex(motd[len],sizeof motd - 1 - len,"</table></center>")
show_motd(id,motd,header)
}
public det_fade(id)
{
if (wear_sun[id] == 1){
Display_Icon(id ,ICON_FLASH ,ICON_S ,0,255,0)
Display_Fade(id,1,1,1<<12,0,0,0,0)
}
if (wear_sun[id] == 0){
Display_Icon(id ,ICON_HIDE ,ICON_S ,0,255,0)
}
if (c_flesh[id] == 1){
Display_Icon(id ,ICON_FLASH ,ICON_S ,0,255,0)
Display_Fade(id,1,1,1<<12,0,0,0,0)
}
if (c_flesh[id] == 0){
Display_Icon(id ,ICON_HIDE ,ICON_S ,0,255,0)
}
}
public changeskin(id,reset){
if (id<1 || id>32 || !is_user_connected(id)) return PLUGIN_CONTINUE
if (reset==1){
cs_reset_user_model(id)
skinchanged[id]=false
return PLUGIN_HANDLED
}else if (reset==2){
//cs_set_user_model(id,"goomba")
cs_set_user_model(id,"zombie")
skinchanged[id]=true
return PLUGIN_HANDLED
}else{
//new newSkin[32]
new num = random_num(0,3)
if (get_user_team(id)==1){
//add(newSkin,31,CTSkins[num])
cs_set_user_model(id,CTSkins[num])
}else{
//add(newSkin,31,TSkins[num])
cs_set_user_model(id,TSkins[num])
}
skinchanged[id]=true
}
return PLUGIN_CONTINUE
}
stock refill_ammo(id)
{
new wpnid
if(!is_user_alive(id) || pev(id,pev_iuser1)) return;
cs_set_user_armor(id,200,CS_ARMOR_VESTHELM);
new wpn[32],clip,ammo
wpnid = get_user_weapon(id, clip, ammo)
get_weaponname(wpnid,wpn,31)
new wEnt;
// set clip ammo
wpnid = get_weaponid(wpn)
//wEnt = get_weapon_ent(id,wpnid);
wEnt = get_weapon_ent(id,wpnid);
cs_set_weapon_ammo(wEnt,maxClip[wpnid]);
}
stock get_weapon_ent(id,wpnid=0,wpnName[]="")
{
// who knows what wpnName will be
static newName[32];
// need to find the name
if(wpnid) get_weaponname(wpnid,newName,31);
// go with what we were told
else formatex(newName,31,"%s",wpnName);
// prefix it if we need to
if(!equal(newName,"weapon_",7))
format(newName,31,"weapon_%s",newName);
new ent;
while((ent = engfunc(EngFunc_FindEntityByString,ent,"classname",newName)) && pev(ent,pev_owner) != id) {}
return ent;
}
DoDamage(iTargetID, iShooterID, iDamage/*, iDamageCause, bIsWeaponID = false, iHeadShot = 0*/)
{
if(is_user_connected(iTargetID)&&is_user_connected(iShooterID))
if ( is_user_alive(iTargetID))
{
new bool:bPlayerDied = false;
new iHP = get_user_health(iTargetID);
if ( ( iHP - iDamage ) <= 0 )
bPlayerDied = true;
if (bPlayerDied)
{
// engine.inc set_msg_block function
//set_msg_block(g_iGameMsgDeath, BLOCK_ONCE);
user_kill(iTargetID, 1);
}
else
change_health(iTargetID,-iDamage,0,"")
new sShooterName[32];
get_user_name(iShooterID, sShooterName, 31);
if (bPlayerDied)
{
if ( iShooterID != iTargetID )
{
if ( get_user_team(iShooterID) != get_user_team(iTargetID) )
set_user_frags(iShooterID, get_user_frags(iShooterID) + 1);
else
set_user_frags(iShooterID, get_user_frags(iShooterID) - 1);
//LogKill(iShooterID, iTargetID, sWeaponOrMagicName);
}
//AddXP(iShooterID, BM_XP_KILL, iTargetID); // bmxphandler.inc
award_item(iShooterID,0)
award_kill(iShooterID,iTargetID)
add_respawn_bonus(iTargetID)
add_bonus_explode(iTargetID)
add_barbarian_bonus(iShooterID)
if (player_class[iShooterID] == Wiking)
refill_ammo(iShooterID)
}
}
}
public funcDemageVic3(id)
{
if(DemageTake1[id]==1)
{
DemageTake1[id]=0
set_task(5.0, "funcReleaseVic3", id)
user_slap(id, 0, 1);
user_slap(id, 0, 1);
user_slap(id, 0, 1);
}
}
public funcReleaseVic3(id)
{
DemageTake1[id]=1
}
public event_flashlight(id) {
if(!get_cvar_num("flashlight_custom")) {
return;
}
if(flashlight[id]) {
flashlight[id] = 0;
}
else {
if(flashbattery[id] > 0) {
flashlight[id] = 1;
}
}
if(!task_exists(TASK_CHARGE+id)) {
new parms[1];
parms[0] = id;
set_task((flashlight[id]) ? get_cvar_float("flashlight_drain") : get_cvar_float("flashlight_charge"),"charge",TASK_CHARGE+id,parms,1);
}
message_begin(MSG_ONE,get_user_msgid("Flashlight"),{0,0,0},id);
write_byte(flashlight[id]);
write_byte(flashbattery[id]);
message_end();
entity_set_int(id,EV_INT_effects,entity_get_int(id,EV_INT_effects) & ~EF_DIMLIGHT);
}
public charge(parms[]) {
if(!get_cvar_num("flashlight_custom")) {
return;
}
new id = parms[0];
if(flashlight[id]) {
flashbattery[id] -= 1;
}
else {
flashbattery[id] += 1;
}
message_begin(MSG_ONE,get_user_msgid("FlashBat"),{0,0,0},id);
write_byte(flashbattery[id]);
message_end();
if(flashbattery[id] <= 0) {
flashbattery[id] = 0;
flashlight[id] = 0;
message_begin(MSG_ONE,get_user_msgid("Flashlight"),{0,0,0},id);
write_byte(flashlight[id]);
write_byte(flashbattery[id]);
message_end();
// don't return so we can charge it back up to full
}
else if(flashbattery[id] >= MAX_FLASH)
{
flashbattery[id] = MAX_FLASH
return; // return because we don't need to charge anymore
}
set_task((flashlight[id]) ? get_cvar_float("flashlight_drain") : get_cvar_float("flashlight_charge"),"charge",TASK_CHARGE+id,parms,1)
}
////////////////////////////////////////////////////////////////////////////////
// REVIVAL KIT - NOT ALL //
////////////////////////////////////////////////////////////////////////////////
public message_clcorpse()
{
return PLUGIN_HANDLED
}
public event_hltv()
{
fm_remove_entity_name("fake_corpse")
fm_remove_entity_name("Mine")
fm_remove_entity_name("dbmod_shild")
static players[32], num
get_players(players, num, "a")
for(new i = 0; i < num; i++)
{
if(is_user_connected(players[i]))
{
set_task(0.0, "funcReleaseVic", i)
reset_player(players[i])
msg_bartime(players[i], 0)
trace_bool[players[i]] = 0
}
}
}
public reset_player(id)
{
remove_task(TASKID_REVIVE + id)
remove_task(TASKID_RESPAWN + id)
remove_task(TASKID_CHECKRE + id)
remove_task(TASKID_CHECKST + id)
remove_task(TASKID_ORIGIN + id)
remove_task(TASKID_SETUSER + id)
remove_task(GLUTON+id)
g_revive_delay[id] = 0.0
g_wasducking[id] = false
g_body_origin[id] = Float:{0.0, 0.0, 0.0}
}
public fwd_playerpostthink(id)
{
if(!is_user_connected(id)) return FMRES_IGNORED
if(g_haskit[id]==0) return FMRES_IGNORED
if(!is_user_alive(id))
{
Display_Icon(id ,ICON_HIDE ,"rescue" ,0,160,0)
return FMRES_IGNORED
}
new body = find_dead_body(id)
if(fm_is_valid_ent(body))
{
new lucky_bastard = pev(body, pev_owner)
if(!is_user_connected(lucky_bastard))
return FMRES_IGNORED
new lb_team = get_user_team(lucky_bastard)
if(lb_team == 1 || lb_team == 2 )
Display_Icon(id ,ICON_FLASH ,"rescue" ,0,160,0)
}
else
Display_Icon(id , ICON_SHOW,"rescue" ,0,160,0)
return FMRES_IGNORED
}
public task_check_dead_flag(id)
{
if(!is_user_connected(id))
return
if(pev(id, pev_deadflag) == DEAD_DEAD)
create_fake_corpse(id)
else
set_task(0.5, "task_check_dead_flag", id)
}
public create_fake_corpse(id)
{
set_pev(id, pev_effects, EF_NODRAW)
static model[32]
cs_get_user_model(id, model, 31)
static player_model[64]
format(player_model, 63, "models/player/%s/%s.mdl", model, model)
static Float: player_origin[3]
pev(id, pev_origin, player_origin)
static Float:mins[3]
mins[0] = -16.0
mins[1] = -16.0
mins[2] = -34.0
static Float:maxs[3]
maxs[0] = 16.0
maxs[1] = 16.0
maxs[2] = 34.0
if(g_wasducking[id])
{
mins[2] /= 2
maxs[2] /= 2
}
static Float:player_angles[3]
pev(id, pev_angles, player_angles)
player_angles[2] = 0.0
new sequence = pev(id, pev_sequence)
new ent = fm_create_entity("info_target")
if(ent)
{
set_pev(ent, pev_classname, "fake_corpse")
engfunc(EngFunc_SetModel, ent, player_model)
engfunc(EngFunc_SetOrigin, ent, player_origin)
engfunc(EngFunc_SetSize, ent, mins, maxs)
set_pev(ent, pev_solid, SOLID_TRIGGER)
set_pev(ent, pev_movetype, MOVETYPE_TOSS)
set_pev(ent, pev_owner, id)
set_pev(ent, pev_angles, player_angles)
set_pev(ent, pev_sequence, sequence)
set_pev(ent, pev_frame, 9999.9)
}
}
public fwd_emitsound(id, channel, sound[])
{
if(!is_user_alive(id) || !g_haskit[id])
return FMRES_IGNORED
if(!equali(sound, "common/wpn_denyselect.wav"))
return FMRES_IGNORED
if(task_exists(TASKID_REVIVE + id))
return FMRES_IGNORED
if(!(fm_get_user_button(id) & IN_USE))
return FMRES_IGNORED
new body = find_dead_body(id)
if(!fm_is_valid_ent(body))
return FMRES_IGNORED
new lucky_bastard = pev(body, pev_owner)
new lb_team = get_user_team(lucky_bastard)
if(lb_team != 1 && lb_team != 2)
return FMRES_IGNORED
static name[32]
get_user_name(lucky_bastard, name, 31)
new revivaltime = get_pcvar_num(cvar_revival_time)
msg_bartime(id, revivaltime)
new Float:gametime = get_gametime()
g_revive_delay[id] = gametime + float(revivaltime) - 0.01
emit_sound(id, CHAN_AUTO, SOUND_START, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
set_task(0.0, "task_revive", TASKID_REVIVE + id)
return FMRES_SUPERCEDE
}
public task_revive(taskid)
{
new id = taskid - TASKID_REVIVE
if(!is_user_alive(id))
{
failed_revive(id)
return FMRES_IGNORED
}
if(!(fm_get_user_button(id) & IN_USE))
{
failed_revive(id)
return FMRES_IGNORED
}
new body = find_dead_body(id)
if(!fm_is_valid_ent(body))
{
failed_revive(id)
return FMRES_IGNORED
}
new lucky_bastard = pev(body, pev_owner)
if(!is_user_connected(lucky_bastard))
{
failed_revive(id)
return FMRES_IGNORED
}
new lb_team = get_user_team(lucky_bastard)
if(lb_team != 1 && lb_team != 2)
{
failed_revive(id)
return FMRES_IGNORED
}
static Float:velocity[3]
pev(id, pev_velocity, velocity)
velocity[0] = 0.0
velocity[1] = 0.0
set_pev(id, pev_velocity, velocity)
new Float:gametime = get_gametime()
if(g_revive_delay[id] < gametime)
{
if(findemptyloc(body, 10.0))
{
fm_remove_entity(body)
emit_sound(id, CHAN_AUTO, SOUND_FINISHED, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
new args[3]
args[0]=lucky_bastard
args[2]=id
if(get_user_team(id)!=get_user_team(lucky_bastard))
{
change_health(id,30,0,"")
args[1]=1
Give_Xp(id,get_cvar_num("diablo_xpbonus"))
}
else
{
args[1]=0
Give_Xp(id,get_cvar_num("diablo_xpbonus"))
set_task(0.1, "task_respawn", TASKID_RESPAWN + lucky_bastard,args,3)
}
}
else
failed_revive(id)
}
else
set_task(0.1, "task_revive", TASKID_REVIVE + id)
return FMRES_IGNORED
}
public failed_revive(id)
{
msg_bartime(id, 0)
emit_sound(id, CHAN_AUTO, SOUND_FAILED, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
public task_origin(args[])
{
new id = args[0]
engfunc(EngFunc_SetOrigin, id, g_body_origin[id])
static Float:origin[3]
pev(id, pev_origin, origin)
set_pev(id, pev_zorigin, origin[2])
set_task(0.1, "task_stuck_check", TASKID_CHECKST + id,args,3)
}
stock find_dead_body(id)
{
static Float:origin[3]
pev(id, pev_origin, origin)
new ent
static classname[32]
while((ent = fm_find_ent_in_sphere(ent, origin, get_pcvar_float(cvar_revival_dis))) != 0)
{
pev(ent, pev_classname, classname, 31)
if(equali(classname, "fake_corpse") && fm_is_ent_visible(id, ent))
return ent
}
return 0
}
stock msg_bartime(id, seconds)
{
if(is_user_bot(id)||!is_user_alive(id)||!is_user_connected(id))
return
if((fm_get_user_button(id) & IN_USE)) change_health(id,-10,id,"")
message_begin(MSG_ONE, g_msg_bartime, _, id)
write_byte(seconds)
write_byte(0)
message_end()
}
public task_respawn(args[])
{
new id = args[0]
if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR) return
set_pev(id, pev_deadflag, DEAD_RESPAWNABLE)
dllfunc(DLLFunc_Think, id)
dllfunc(DLLFunc_Spawn, id)
set_pev(id, pev_iuser1, 0)
set_task(0.1, "task_check_respawn", TASKID_CHECKRE + id,args,3)
}
public task_check_respawn(args[])
{
new id = args[0]
if(pev(id, pev_iuser1))
set_task(0.1, "task_respawn", TASKID_RESPAWN + id,args,3)
else
set_task(0.1, "task_origin", TASKID_ORIGIN + id,args,3)
}
public task_stuck_check(args[])
{
new id = args[0]
static Float:origin[3]
pev(id, pev_origin, origin)
if(origin[2] == pev(id, pev_zorigin))
set_task(0.1, "task_respawn", TASKID_RESPAWN + id,args,3)
else
set_task(0.1, "task_setplayer", TASKID_SETUSER + id,args,3)
}
public task_setplayer(args[])
{
new id = args[0]
fm_give_item(id, "weapon_knife")
if(args[1]==1)
{
change_health(id,999,0,"")
set_user_godmode(id, 1)
new newarg[1]
newarg[0]=id
set_task(3.0,"god_off",id+95123,newarg,1)
}
else
{
fm_set_user_health(id, get_pcvar_num(cvar_revival_health)+player_intelligence[args[2]])
Display_Fade(id,seconds(2),seconds(2),0,0,0,0,255)
}
if(player_item_id[id]==17) fm_set_user_health(id,5)
}
public god_off(args[])
{
set_user_godmode(args[0], 0)
}
stock bool:findemptyloc(ent, Float:radius)
{
if(!fm_is_valid_ent(ent))
return false
static Float:origin[3]
pev(ent, pev_origin, origin)
origin[2] += 2.0
new owner = pev(ent, pev_owner)
new num = 0, bool:found = false
while(num <= 100)
{
if(is_hull_vacant(origin))
{
g_body_origin[owner][0] = origin[0]
g_body_origin[owner][1] = origin[1]
g_body_origin[owner][2] = origin[2]
found = true
break
}
else
{
origin[0] += random_float(-radius, radius)
origin[1] += random_float(-radius, radius)
origin[2] += random_float(-radius, radius)
num++
}
}
return found
}
stock bool:is_hull_vacant(const Float:origin[3])
{
new tr = 0
engfunc(EngFunc_TraceHull, origin, origin, 0, HULL_HUMAN, 0, tr)
if(!get_tr2(tr, TR_StartSolid) && !get_tr2(tr, TR_AllSolid) && get_tr2(tr, TR_InOpen))
return true
return false
}
public count_jumps(id)
{
if( is_user_connected(id))
{
if( player_class[id]== Paladyn ) JumpsMax[id]=5+floatround(player_intelligence[id]/10.0)
else JumpsMax[id]=0
}
}
////////////////////////////////////////////////////////////////////////////////
// Noze //
////////////////////////////////////////////////////////////////////////////////
public give_knife(id)
{
new knifes = 0
if(player_class[id] == Ninja) knifes = 5 + floatround ( player_intelligence[id]/10.0 , floatround_floor )
else if(player_class[id] == Ball) knifes = 10 + floatround ( player_intelligence[id]/20.0 , floatround_floor )
else if(player_class[id] == Skrytobojca) knifes = 5 + floatround ( player_intelligence[id]/20.0 , floatround_floor )
max_knife[id] = knifes
player_knife[id] = knifes
}
public command_knife(id)
{
if(!is_user_alive(id)) return PLUGIN_HANDLED
if(!player_knife[id])
{
client_print(id,print_center,"Nie masz juz nozy do rzucania")
return PLUGIN_HANDLED
}
if(tossdelay[id] > get_gametime() - 0.9) return PLUGIN_HANDLED
else tossdelay[id] = get_gametime()
player_knife[id]--
new Float: Origin[3], Float: Velocity[3], Float: vAngle[3], Ent
entity_get_vector(id, EV_VEC_origin , Origin)
entity_get_vector(id, EV_VEC_v_angle, vAngle)
Ent = create_entity("info_target")
if (!Ent) return PLUGIN_HANDLED
entity_set_string(Ent, EV_SZ_classname, "throwing_knife")
entity_set_model(Ent, "models/wwemod/w_throwingknife.mdl")
new Float:MinBox[3] = {-1.0, -7.0, -1.0}
new Float:MaxBox[3] = {1.0, 7.0, 1.0}
entity_set_vector(Ent, EV_VEC_mins, MinBox)
entity_set_vector(Ent, EV_VEC_maxs, MaxBox)
vAngle[0] -= 90
entity_set_origin(Ent, Origin)
entity_set_vector(Ent, EV_VEC_angles, vAngle)
entity_set_int(Ent, EV_INT_effects, 2)
entity_set_int(Ent, EV_INT_solid, 1)
entity_set_int(Ent, EV_INT_movetype, 6)
entity_set_edict(Ent, EV_ENT_owner, id)
VelocityByAim(id, get_cvar_num("diablo_knife_speed") , Velocity)
entity_set_vector(Ent, EV_VEC_velocity ,Velocity)
return PLUGIN_HANDLED
}
public touchKnife(knife, id)
{
new kid = entity_get_edict(knife, EV_ENT_owner)
if(is_user_alive(id))
{
new movetype = entity_get_int(knife, EV_INT_movetype)
if(movetype == 0)
{
if( player_knife[id] < max_knife[id] )
{
player_knife[id] += 1
}
emit_sound(knife, CHAN_ITEM, "weapons/knife_deploy1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
remove_entity(knife)
}
else if (movetype != 0)
{
if(kid == id) return
remove_entity(knife)
if(get_cvar_num("mp_friendlyfire") == 0 && get_user_team(id) == get_user_team(kid)) return
entity_set_float(id, EV_FL_dmg_take, get_cvar_num("diablo_knife") * 1.0)
change_health(id,-get_cvar_num("diablo_knife"),kid,"knife")
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id)
write_short(7<<14)
write_short(1<<13)
write_short(1<<14)
message_end()
if(get_user_team(id) == get_user_team(kid)) {
new name[33]
get_user_name(kid,name,32)
}
emit_sound(id, CHAN_ITEM, "weapons/knife_hit4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
}
public touchWorld(knife, world)
{
entity_set_int(knife, EV_INT_movetype, 0)
emit_sound(knife, CHAN_ITEM, "weapons/knife_hitwall1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
public touchbreakable(ent1, ent2)
{
new name[32],breakable,ent
entity_get_string(ent1,EV_SZ_classname,name,31)
if(equali(name,"func_breakable"))
{
breakable=ent1
ent=ent2
}
else
{
breakable=ent2
ent=ent1
}
new Float: b_hp = entity_get_float(breakable,EV_FL_health)
if(b_hp>80) entity_set_float(breakable,EV_FL_health,b_hp-50.0)
else dllfunc(DLLFunc_Use,breakable,ent)
entity_get_string(ent,EV_SZ_classname,name,31)
if(equali(name,"throwing_knife"))
{
emit_sound(ent, CHAN_ITEM, "weapons/knife_hitwall1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
else remove_entity(ent)
}
public kill_all_entity(classname[]) {
new iEnt = find_ent_by_class(-1, classname)
while(iEnt > 0) {
remove_entity(iEnt)
iEnt = find_ent_by_class(iEnt, classname)
}
}
////////////////////////////////////////////////////////////////////////////////
// koniec z nozami //
////////////////////////////////////////////////////////////////////////////////
public mod_info(id)
{
return PLUGIN_HANDLED
}
////////////////////////////////////////////////////////////////////////////////
// Hunter part code //
////////////////////////////////////////////////////////////////////////////////
public command_arrow(id)
{
if(!is_user_alive(id)) return PLUGIN_HANDLED
new Float: Origin[3], Float: Velocity[3], Float: vAngle[3], Ent
entity_get_vector(id, EV_VEC_origin , Origin)
entity_get_vector(id, EV_VEC_v_angle, vAngle)
Ent = create_entity("info_target")
if (!Ent) return PLUGIN_HANDLED
entity_set_string(Ent, EV_SZ_classname, "xbow_arrow")
entity_set_model(Ent, cbow_bolt)
new Float:MinBox[3] = {-2.8, -2.8, -0.8}
new Float:MaxBox[3] = {2.8, 2.8, 2.0}
entity_set_vector(Ent, EV_VEC_mins, MinBox)
entity_set_vector(Ent, EV_VEC_maxs, MaxBox)
vAngle[0]*= -1
Origin[2]+=10
entity_set_origin(Ent, Origin)
entity_set_vector(Ent, EV_VEC_angles, vAngle)
entity_set_int(Ent, EV_INT_effects, 2)
entity_set_int(Ent, EV_INT_solid, 1)
entity_set_int(Ent, EV_INT_movetype, 5)
entity_set_edict(Ent, EV_ENT_owner, id)
new Float:dmg = get_cvar_float("diablo_arrow") + player_intelligence[id] * get_cvar_float("diablo_arrow_multi")
entity_set_float(Ent, EV_FL_dmg,dmg)
VelocityByAim(id, get_cvar_num("diablo_arrow_speed") , Velocity)
set_rendering (Ent,kRenderFxGlowShell, 255,0,0, kRenderNormal,56)
entity_set_vector(Ent, EV_VEC_velocity ,Velocity)
return PLUGIN_HANDLED
}
public command_bow(id)
{
if(!is_user_alive(id)) return PLUGIN_HANDLED
if(bow[id] == 1){
entity_set_string(id,EV_SZ_viewmodel,cbow_VIEW)
entity_set_string(id,EV_SZ_weaponmodel,cvow_PLAYER)
bowdelay[id] = get_gametime()
}else if(player_sword[id] == 1)
{
entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER)
bow[id]=0
}
else
{
entity_set_string(id,EV_SZ_viewmodel,KNIFE_VIEW)
entity_set_string(id,EV_SZ_weaponmodel,KNIFE_PLAYER)
bow[id]=0
}
return PLUGIN_CONTINUE
}
public toucharrow(arrow, id)
{
new kid = entity_get_edict(arrow, EV_ENT_owner)
new lid = entity_get_edict(arrow, EV_ENT_enemy)
if (player_b_antykusza[id] > 0){
set_hudmessage(0, 255, 0, 0.06, 0.59, 1, 6.0, 9.0)
show_hudmessage(kid, "Gracz posiada odpornosc na kusze !")
remove_entity(arrow)
return
}
if (player_class[id] == Wampir){
set_hudmessage(0, 255, 0, 0.06, 0.59, 1, 6.0, 9.0)
show_hudmessage(kid, "Gracz posiada odpornosc na kusze !")
remove_entity(arrow)
return
}
if(is_user_alive(id))
{
if(kid == id || lid == id) return
entity_set_edict(arrow, EV_ENT_enemy,id)
new Float:dmg = entity_get_float(arrow,EV_FL_dmg)
entity_set_float(arrow,EV_FL_dmg,(dmg*4.0)/5.0)
if(get_cvar_num("mp_friendlyfire") == 0 && get_user_team(id) == get_user_team(kid)) return
Effect_Bleed(id,248)
bowdelay[kid] -= 10.0 - (player_intelligence[kid]/5.0)
change_health(id,floatround(-dmg),kid,"knife")
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
if(get_user_team(id) == get_user_team(kid))
{
new name[33]
get_user_name(kid,name,32)
}
emit_sound(id, CHAN_ITEM, "weapons/knife_hit4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
if(dmg<30) remove_entity(arrow)
}
}
public touchWorld2(arrow, world)
{
remove_entity(arrow)
}
public hunter_Line(id,vid,end[3])
{
if(is_user_alive(id) && is_user_alive(vid) && trace_bool[id])
{
new start[3]
get_user_origin(vid,start)
message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},id)
write_byte(0)
write_coord(start[0]) // starting pos
write_coord(start[1])
write_coord(start[2])
write_coord(end[0]) // ending pos
write_coord(end[1])
write_coord(end[2])
write_short(sprite_line) // sprite index
write_byte(1) // starting frame
write_byte(5) // frame rate
write_byte(100) // life
write_byte(1) // line width
write_byte(0) // noise
write_byte(200) // RED
write_byte(100) // GREEN
write_byte(100) // BLUE
write_byte(75) // brightness
write_byte(5) // scroll speed
message_end()
new parms[5];
for(new i=0;i<3;i++)
{
parms[i] = start[i]
}
parms[3]=id
parms[4]=vid
set_task(0.20,"charge_hunter",id+TARACE_TASK+vid*100,parms,5)
}
}
public charge_hunter(parms[])
{
new stop[3]
for(new i=0;i<3;i++)
{
stop[i] =parms[i]
}
hunter_Line(parms[3],parms[4],stop)
}
public grenade_throw(id, ent, wID)
{
if(!g_TrapMode[id] || !is_valid_ent(ent))
return PLUGIN_CONTINUE
new Float:fVelocity[3]
VelocityByAim(id, cvar_throw_vel, fVelocity)
entity_set_vector(ent, EV_VEC_velocity, fVelocity)
new Float: angle[3]
entity_get_vector(ent,EV_VEC_angles,angle)
angle[0]=0.00
entity_set_vector(ent,EV_VEC_angles,angle)
entity_set_float(ent,EV_FL_dmgtime,get_gametime()+3.5)
entity_set_int(ent, NADE_PAUSE, 0)
entity_set_int(ent, NADE_ACTIVE, 0)
entity_set_int(ent, NADE_VELOCITY, 0)
entity_set_int(ent, NADE_TEAM, get_user_team(id))
new param[1]
param[0] = ent
set_task(3.0, "task_ActivateTrap", 0, param, 1)
return PLUGIN_CONTINUE
}
public task_ActivateTrap(param[])
{
new ent = param[0]
if(!is_valid_ent(ent))
return PLUGIN_CONTINUE
entity_set_int(ent, NADE_PAUSE, 1)
entity_set_int(ent, NADE_ACTIVE, 1)
new Float:fOrigin[3]
entity_get_vector(ent, EV_VEC_origin, fOrigin)
fOrigin[2] -= 8.1*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[entity_get_edict(ent,EV_ENT_owner)])))
entity_set_vector(ent, EV_VEC_origin, fOrigin)
return PLUGIN_CONTINUE
}
public think_Grenade(ent)
{
new entModel[33]
entity_get_string(ent, EV_SZ_model, entModel, 32)
if(!is_valid_ent(ent) || equal(entModel, "models/w_c4.mdl"))
return PLUGIN_CONTINUE
if(entity_get_int(ent, NADE_PAUSE))
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public think_Bot(bot)
{
new ent = -1
while((ent = find_ent_by_class(ent, "grenade")))
{
new entModel[33]
entity_get_string(ent, EV_SZ_model, entModel, 32)
if(equal(entModel, "models/w_c4.mdl"))
continue
if(!entity_get_int(ent, NADE_ACTIVE))
continue
new Players[32], iNum
get_players(Players, iNum, "a")
for(new i = 0; i < iNum; ++i)
{
new id = Players[i]
if(entity_get_int(ent, NADE_TEAM) == get_user_team(id))
continue
if(get_entity_distance(id, ent) > cvar_activate_dis || player_speed(id) <200.0)
continue
if(entity_get_int(ent, NADE_VELOCITY)) continue
new Float:fOrigin[3]
entity_get_vector(ent, EV_VEC_origin, fOrigin)
while(PointContents(fOrigin) == CONTENTS_SOLID)
fOrigin[2] += 100.0
entity_set_vector(ent, EV_VEC_origin, fOrigin)
drop_to_floor(ent)
new Float:fVelocity[3]
entity_get_vector(ent, EV_VEC_velocity, fVelocity)
fVelocity[2] += float(cvar_nade_vel)
entity_set_vector(ent, EV_VEC_velocity, fVelocity)
entity_set_int(ent, NADE_VELOCITY, 1)
new param[1]
param[0] = ent
//set_task(cvar_explode_delay, "task_ExplodeNade", 0, param, 1)
entity_set_float(param[0], EV_FL_nextthink, halflife_time() + cvar_explode_delay)
entity_set_int(param[0], NADE_PAUSE, 0)
}
}
if(get_timeleft()<2 && map_end<2)
{
map_end=2
}
else if(get_timeleft()<6 && map_end<1)
{
new play[32],num
get_players(play,num)
for(new i=0;i<num;i++)
{
savexpcom(play[i])
}
map_end=1
}
entity_set_float(bot, EV_FL_nextthink, halflife_time() + 0.1)
}
stock Float:player_speed(index)
{
new Float:vec[3]
pev(index,pev_velocity,vec)
vec[2]=0.0
return floatsqroot ( vec[0]*vec[0]+vec[1]*vec[1] )
}
public _create_ThinkBot()
{
new think_bot = create_entity("info_target")
if(!is_valid_ent(think_bot))
log_amx("For some reason, the universe imploded, reload your server")
else
{
entity_set_string(think_bot, EV_SZ_classname, "think_bot")
entity_set_float(think_bot, EV_FL_nextthink, halflife_time() + 1.0)
}
}
public change_health(id,hp,attacker,weapon[])
{
if(is_user_alive(id) && is_user_connected(id))
{
new health = get_user_health(id)
if(hp>0)
{
new m_health = race_heal[player_class[id]]+player_strength[id]*2
if(player_item_id[id]==17 &&hp>0)
{
set_user_health(id,health+floatround(float(hp/10),floatround_floor)+1)
}
else if (hp+health>m_health) set_user_health(id,m_health)
else set_user_health(id,get_user_health(id)+hp)
}
else
{
if(health+hp<1)
{
UTIL_Kill(attacker,id,weapon)
}
else set_user_health(id,get_user_health(id)+hp)
}
if(id!=attacker && hp<0)
{
player_dmg[attacker]-=hp
dmg_exp(attacker)
}
}
}
public UTIL_Kill(attacker,id,weapon[])
{
if( is_user_alive(id)){
if(get_user_team(attacker)!=get_user_team(id))
set_user_frags(attacker,get_user_frags(attacker) +1);
if(get_user_team(attacker)==get_user_team(id))
set_user_frags(attacker,get_user_frags(attacker) -1);
if (cs_get_user_money(attacker) + 150 <= 16000)
cs_set_user_money(attacker,cs_get_user_money(attacker)+150)
else
cs_set_user_money(attacker,16000)
cs_set_user_deaths(id, cs_get_user_deaths(id)+1)
user_kill(id,1)
if(is_user_connected(attacker) && attacker!=id)
{
award_kill(attacker,id)
if(is_user_alive(attacker)) award_item(attacker,0)
}
message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0)
write_byte(attacker)
write_byte(id)
write_byte(0)
write_string(weapon)
message_end()
message_begin(MSG_ALL,gmsgScoreInfo)
write_byte(attacker)
write_short(get_user_frags(attacker))
write_short(get_user_deaths(attacker))
write_short(0)
write_short(get_user_team(attacker))
message_end()
message_begin(MSG_ALL,gmsgScoreInfo)
write_byte(id)
write_short(get_user_frags(id))
write_short(get_user_deaths(id))
write_short(0)
write_short(get_user_team(id))
message_end()
new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10];
get_user_name(attacker, kname, 31);
get_user_team(attacker, kteam, 9);
get_user_authid(attacker, kauthid, 31);
get_user_name(id, vname, 31);
get_user_team(id, vteam, 9);
get_user_authid(id, vauthid, 31);
log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",
kname, get_user_userid(attacker), kauthid, kteam,
vname, get_user_userid(id), vauthid, vteam, weapon);
}
}
stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id )
write_short( duration ) // Duration of fadeout
write_short( holdtime ) // Hold time of color
write_short( fadetype ) // Fade type
write_byte ( red ) // Red
write_byte ( green ) // Green
write_byte ( blue ) // Blue
write_byte ( alpha ) // Alpha
message_end()
}
stock Display_Icon(id ,enable ,name[] ,red,green,blue)
{
if (!pev_valid(id) || is_user_bot(id))
{
return PLUGIN_HANDLED
}
// new string [8][32] = {"dmg_rad","item_longjump","dmg_shock","item_healthkit","dmg_heat","suit_full","cross","dmg_gas"}
message_begin( MSG_ONE, g_msg_statusicon, {0,0,0}, id )
write_byte( enable )
write_string( name )
write_byte( red ) // red
write_byte( green ) // green
write_byte( blue ) // blue
message_end()
return PLUGIN_CONTINUE
}
public createBlockAiming(id)
{
new Float:vOrigin[3];
new Float:vAngles[3]
entity_get_vector(id,EV_VEC_v_angle,vAngles)
entity_get_vector(id,EV_VEC_origin,vOrigin)
new Float:offset = distance_to_floor(vOrigin)
vOrigin[2]+=17.0-offset
//create the block
if(vAngles[1]>45.0&&vAngles[1]<135.0)
{
vOrigin[0]+=0.0
vOrigin[1]+=34.0
if(chacke_pos(vOrigin,0)==0) return
make_shild(id,vOrigin,vAngles1,gfBlockSizeMin1,gfBlockSizeMax1)
}
else if(vAngles[1]<-45.0&&vAngles[1]>-135.0)
{
vOrigin[0]+=0.0
vOrigin[1]+=-34.0
if(chacke_pos(vOrigin,0)==0) return
make_shild(id,vOrigin,vAngles1,gfBlockSizeMin1,gfBlockSizeMax1)
}
else if(vAngles[1]>-45.0&&vAngles[1]<45.0)
{
vOrigin[0]+=34.0
vOrigin[1]+=0.0
if(chacke_pos(vOrigin,1)==0) return
make_shild(id,vOrigin,vAngles2,gfBlockSizeMin2,gfBlockSizeMax2)
}
else
{
vOrigin[0]+=-34.0
vOrigin[1]+=0.0
if(chacke_pos(vOrigin,1)==0) return
make_shild(id,vOrigin,vAngles2,gfBlockSizeMin2,gfBlockSizeMax2)
}
}
public make_shild(id,Float:vOrigin[3],Float:vAngles[3],Float:gfBlockSizeMin[3],Float:gfBlockSizeMax[3])
{
new ent = create_entity("info_target")
//make sure entity was created successfully
if (is_valid_ent(ent))
{
//set block properties
entity_set_string(ent, EV_SZ_classname, "dbmod_shild")
entity_set_int(ent, EV_INT_solid, SOLID_BBOX)
entity_set_int(ent, EV_INT_movetype, MOVETYPE_NONE)
entity_set_float(ent,EV_FL_health,50.0+float(player_intelligence[id]*2))
entity_set_float(ent,EV_FL_takedamage,1.0)
entity_set_model(ent, "models/wwemod/bm_block_platform.mdl");
entity_set_vector(ent, EV_VEC_angles, vAngles)
entity_set_size(ent, gfBlockSizeMin, gfBlockSizeMax)
entity_set_edict(ent,EV_ENT_euser1,id)
entity_set_origin(ent, vOrigin)
num_shild[id]--
return 1
}
return 0
}
public call_cast(id)
{
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
switch(player_class[id])
{
case Xardas:
{
ilerazy[id]++
client_cmd(id, "spk wwesound/hit.wav")
show_hudmessage(id, "Zwiekszona Odleglosc Teleportu")
}
case Nekromanta:
{
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
}
case Merial:
{
if(num_shild[id])
{
show_hudmessage(id, "Wyczarowales magiczna sciane")
createBlockAiming(id)
}
else show_hudmessage(id, "Nie mozesz wiecej wyczarowac")
}
case Paladyn:
{
golden_bulet[id]++
if(golden_bulet[id]>2)
{
golden_bulet[id]=2
show_hudmessage(id, "Mozesz miec maxymalnie 2 magiczne pociski",golden_bulet[id])
}
else if(golden_bulet[id]==1)show_hudmessage(id, "Masz 1 magiczny pocisk . 30 %% na hs")
else if(golden_bulet[id]==1)show_hudmessage(id, "Masz 2 magiczne pociski . 30 %% na hs")
}
case Ninja:
{
new szybkosc=25*ilerazy[id]
ilerazy[id]++
show_hudmessage(id, " Szybki Bieg (bez limitu)")
set_user_maxspeed(id,get_user_maxspeed(id)+szybkosc)
}
case Wiking:
{
ultra_armor[id]++
if(ultra_armor[id]>7)
{
ultra_armor[id]=7
show_hudmessage(id, "Maksymalna wartosc pancerza to 7",ultra_armor[id])
}
else show_hudmessage(id, "Magiczny pancerz wytrzyma %i strzalow",ultra_armor[id])
}
case Hunter:
{
fm_give_item(id, "weapon_hegrenade")
}
case Tele:
{
change_health(id,40,0,"")
show_hudmessage(id, "Uleczyles Sie ")
}
case Skoczek:
{
ilerazy1[id]++
client_cmd(id, "spk wwesound/hit.wav")
if(ilerazy1[id]<2)
{
player_b_ninja[id]=1
show_hudmessage(id, "Grawitacja Poziom 1")
}
if(ilerazy1[id]>1)
{
player_b_ninja[id]=2
show_hudmessage(id, "Grawitacja Poziom 2")
}
if(ilerazy1[id]>2)
{
if(player_lvl[id]>134){
player_b_ninja[id]=3
show_hudmessage(id, "Grawitacja Poziom 3 (MAX)")
}
else if(player_lvl[id]<135)show_hudmessage(id, "Aby Zaladowac 3 Poziom Musisz Miec 135 Lv")
}
if(ilerazy1[id]>3)
{
ilerazy1[id]=5
}
}
case Skrytobojca:
{
show_hudmessage(id, "Jestes tymczasowo niewidzialny (noz)")
invisible_cast[id]=1
set_renderchange(id)
}
case Golem:
{
plusammo(id)
show_hudmessage(id, "Modernizacja Broni .Plus %i Naboi",ammogolem[id])
client_cmd(id, "spk wwesound/hit.wav")
}
case Magneto:
{
item_kasabandyta(id)
}
case Morderca:
{
change_health(id,20,0,"")
show_hudmessage(id, "Uleczyles Sie ")
}
case Wampir:
{
show_hudmessage(id, "Szybki Bieg")
set_user_maxspeed(id,get_user_maxspeed(id)+50)
}
case Ball:
{
new szybkosc=25*ilerazy[id]
ilerazy[id]++
show_hudmessage(id, "Zwiekszyles sobie predkosc (Bez limitu) ")
set_user_maxspeed(id,get_user_maxspeed(id)+szybkosc)
client_cmd(id, "spk wwesound/speed.wav")
}
case Marlok:
{
itemlos[id] = 5 + (player_intelligence[id]/10)
ilerazy[id]++
client_cmd(id, "spk wwesound/hit.wav")
if(ilerazy[id]<itemlos[id])
{
award_item(id,0)
show_hudmessage(id, "Znalazles Item")
}
if(ilerazy[id]>itemlos[id])
{
ilerazy[id]=itemlos[id]
show_hudmessage(id, "Wykorzystales Juz wszystkie %i Losowan na ta runde , Aby Zwiekszysc Ilosc Losowan zwieksz magie",ilerazy[id])
}
}
case Druid:
{
new svIndex[32]
num_to_str(id,svIndex,32)
new maxpl,players[32]
get_players(players, maxpl)
set_task(0.5,"respawn",0,svIndex,32)
show_hudmessage(id, "Przeniosles sie na Resp")
client_cmd(id, "spk wwesound/odrodzenie");
}
case Lucznik:
{
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 10)
Odliczanie[id] = 30
if(task_exists(id + SPRAWDZ))
{
remove_task( id + SPRAWDZ )
}
set_task( 1.0, "Koniec", id + SPRAWDZ, _, _, "b" )
}
case Demon:
{
plus_obrazenia[id] += 10 // lub też jeśli chcesz, aby wartość ta była losowa, zamiast "5" daj, np. "random_num(1,5)"
if(plus_obrazenia[id] > 30) {
plus_obrazenia[id] = 30 // wartości "25" możesz zamienić na inną liczbę, jest to po prostu ograniczenie ile można mieć max dodatkowcyh obrażeń
show_hudmessage(id, "Maksymalna wartosc dodatkowych obrazen to %i", plus_obrazenia[id])
}
else show_hudmessage(id, "+%i dodatkowych obrazen", plus_obrazenia[id])
}
}
}
public chacke_pos(Float:vOrigin[3],axe)
{
new test=0
vOrigin[axe]-=15.0
if(distance_to_floor(vOrigin)<31.0) test++
vOrigin[axe]+=15.0
if(distance_to_floor(vOrigin)<31.0) test++
vOrigin[axe]+=15.0
if(distance_to_floor(vOrigin)<31.0) test++
if(test<2) return 0
vOrigin[axe]-=15.0
return 1
}
public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace) // pentToSkip == id, for clarity
{
if(!is_user_connected(id))
return FMRES_IGNORED;
// not a player entity, or player is dead
if(!is_user_alive(id))
return FMRES_IGNORED;
new hit = get_tr2(trace, TR_pHit)
// not shooting anything
if(!(pev(id,pev_button) & IN_ATTACK))
return FMRES_IGNORED;
new h_bulet=0
if(golden_bulet[id]>0||player_class[id]==Mnich && random_num(0,16)==1)
{
golden_bulet[id]--
h_bulet=1
}
if(is_valid_ent(hit))
{
new name[64]
entity_get_string(hit,EV_SZ_classname,name,63)
if(equal(name,"dbmod_shild"))
{
new Float: ori[3]
entity_get_vector(hit,EV_VEC_origin,ori)
set_tr2(trace,TR_vecEndPos,vecEnd)
if(after_bullet[id]>0)
{
new Float: health=entity_get_float(hit,EV_FL_health)
entity_set_float(hit,EV_FL_health,health-3.0)
if(health-1.0<0.0) remove_entity(hit)
after_bullet[id]--
}
set_tr2(trace,TR_iHitgroup,8);
set_tr2(trace,TR_flFraction,1.0);
return FMRES_SUPERCEDE;
}
}
if(is_user_alive(hit))
{
if(h_bulet)
{
set_tr2(trace, TR_iHitgroup, HIT_HEAD) // Redirect shot to head
// Variable angles doesn't really have a use here.
static hit, Float:head_origin[3], Float:angles[3]
hit = get_tr2(trace, TR_pHit) // Whomever was shot
engfunc(EngFunc_GetBonePosition, hit, 8, head_origin, angles) // Find origin of head bone (8)
set_tr2(trace, TR_vecEndPos, head_origin) // Blood now comes out of the head!
}
if(ultra_armor[hit]>0 || (player_class[hit]==Paladyn && random_num(0,4)==1) || random_num(0,player_ultra_armor_left[hit])==1)
{
if(after_bullet[id]>0)
{
if(ultra_armor[hit]>0) ultra_armor[hit]--
else if(player_ultra_armor_left[hit]>0)player_ultra_armor_left[hit]--
after_bullet[id]--
}
set_tr2(trace, TR_iHitgroup, 8)
}
return FMRES_IGNORED
}
return FMRES_IGNORED;
}
stock Float:distance_to_floor(Float:start[3], ignoremonsters = 1) {
new Float:dest[3], Float:end[3];
dest[0] = start[0];
dest[1] = start[1];
dest[2] = -8191.0;
engfunc(EngFunc_TraceLine, start, dest, ignoremonsters, 0, 0);
get_tr2(0, TR_vecEndPos, end);
//pev(index, pev_absmin, start);
new Float:ret = start[2] - end[2];
return ret > 0 ? ret : 0.0;
}
public dmg_exp(id)
{
new min=get_cvar_num("diablo_dmg_exp")
if(min<1) return
new exp=0
while(player_dmg[id]>min)
{
player_dmg[id]-=min
exp++
}
Give_Xp(id,exp)
}
public beamfollow(ent){
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte(TE_BEAMFOLLOW)
write_short(ent)
write_short(sprite_lgt)
write_byte(200)
write_byte(50)
write_byte(255)
write_byte(123)
write_byte(22)
write_byte(20)
message_end();
return PLUGIN_CONTINUE
}
public wywal(ent){
new origin[3]
get_user_origin(ent,origin)
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + 25 );
write_coord( origin[2] + 25 );
write_short( sprite_white );
write_byte( 1 ); // startframe
write_byte( 2); // framerate
write_byte( 15 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 255); // r, g, b
write_byte( 255 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();
new noweorigin[3];
noweorigin[0]=origin[0]
noweorigin[1]=origin[1]
noweorigin[2]=origin[2]+50
set_user_origin(ent,noweorigin)
}
public giveitem(id, level, cid)
{
if(!cmd_access(id,level, cid, 3))
return PLUGIN_HANDLED;
new szName[32];
read_argv(1, szName, 31);
new iTarget=cmd_target(id,szName,0);
if(iTarget)
{
get_user_name(iTarget, szName, 31);
new szItem[10], iItem;
read_argv(2, szItem, 9);
iItem=str_to_num(szItem);
award_item(iTarget, iItem);
set_gravitychange(iTarget)
set_speedchange(iTarget)
set_armorchange(iTarget)
set_invchange(iTarget)
set_renderchange(iTarget)
}
return PLUGIN_HANDLED
}
public check_medic(id)
{
if (is_user_alive(id))
{
new team = get_user_team(id)
new Players[32] , pnum;
get_players( Players , pnum , "ah") // a oznacza ze tylko zywych
for (new i=0; i < pnum; i++)
{
if (team == get_user_team(i) && (i==id) ) //tutaj sprawdzam czy jest z tego samego teamu i wykluczam samego siebie
{
change_health(i,2,0,"")
}
}
set_task(1.0, "check_medic", id)
}
}
public check_medic2(id)
{
if (is_user_alive(id))
{
new team = get_user_team(id)
new Players[32] , pnum;
new leczenie = 2+(player_intelligence[id]/3)
get_players( Players , pnum , "ah") // a oznacza ze tylko zywych
for (new i=0; i < pnum; i++)
{
if (team == get_user_team(i) && (i!=id) ) //tutaj sprawdzam czy jest z tego samego teamu i wykluczam samego siebie
{
change_health(i,leczenie,0,"")
}
}
set_task(10.0, "check_medic2", id)
}
}
public check_medic3(id)
{
if (is_user_alive(id))
{
new Players[32] , pnum;
get_players( Players , pnum , "ah") // a oznacza ze tylko zywych
for (new i=0; i < pnum;)
{
cs_set_user_money(id, cs_get_user_money(id)+500)
}
set_task(10.0, "check_medic3", id)
}
}
public kasanarunde(id)
{
cs_set_user_money(id, cs_get_user_money(id)+ player_expstat[id]*1500)
}
public CmdGiveExp(id, level, cid)
{
if(!cmd_access(id,level, cid, 3))
return PLUGIN_HANDLED;
new szPlayer[32];
read_argv(1,szPlayer, 31);
new iTarget=cmd_target(id,szPlayer,0);
if(iTarget)
{
new szExp[10], iExp;
read_argv(2, szExp, 9);
iExp=str_to_num(szExp);
new szName[32]
get_user_name(iTarget, szName, sizeof szName - 1)
console_print(id, "%s dostal %i expa",szName, iExp);
Give_Xp(iTarget,iExp)
}
return PLUGIN_HANDLED
}
public Create_TE_BEAMPOINTS(start[3], end[3], startFrame, frameRate, life, width, noise, red, green, blue, alpha, spid){
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMPOINTS )
write_coord( start[0] )
write_coord( start[1] )
write_coord( start[2] )
write_coord( end[0] )
write_coord( end[1] )
write_coord( end[2] )
write_short( sprite_beam ) // model
write_byte( startFrame ) // start frame
write_byte( frameRate ) // framerate
write_byte( life ) // life
write_byte( width ) // width
write_byte( noise ) // noise
write_byte( 0 ) // red
write_byte( 0 ) // green
write_byte( 255 ) // blue
write_byte( alpha ) // brightness
write_byte( spid ) // speed
message_end()
}
public piorun(id)
{
if(player_class[id]== Merial)
{
if (g_piorun[id]>0 && freeze_ended && is_user_alive(id))
{
new xd = floatround(halflife_time()-wait1[id])
new czas = 25-xd
if (halflife_time()-wait1[id] <= 25)
{
client_print(id, print_center, "Za %d sek mozesz uzyc mocy!", czas)
return PLUGIN_CONTINUE;
}
else {
//Target nearest non-friendly player
new target = Find_Best_Angle(id,800.0,false)
piorundmg[id] = 1+(player_intelligence[id]*2)
if (!is_valid_ent(target))
{
client_print(id, print_center, "Brak celu. Pamietaj Ze Zadasz %d Obrazen",piorundmg[id])
return PLUGIN_HANDLED
}
if (pev(target,pev_rendermode) == kRenderTransTexture || player_item_id[target] == 17 || player_item_id[target] == 96 || player_class[target] == Ninja || player_class[target] == Skrytobojca)
{
hudmsg(id,2.0,"Nie mozna wyczarowac Pioruna na niewidzialnym graczu")
return PLUGIN_CONTINUE
}
new iEnd[3], iStart[3]
get_user_origin(target,iEnd)
get_user_origin(id,iStart)
//Create Lightning
Create_TE_BEAMPOINTS(iStart, iEnd, 0, 0, 5, 50, 50, 240, 30, 30, 255, 0)
change_health(target,-piorundmg[id],id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
client_cmd(id, "spk wwesound/piorun.wav")
wait1[id]=floatround(halflife_time())
}
}
}
return PLUGIN_HANDLED
}
public piorun1(id)
{
if(player_class[id]== Merial)
{
if (g_piorun[id]>0 && freeze_ended && is_user_alive(id))
{
new xd = floatround(halflife_time()-wait1[id])
new czas2 = 20-xd
if (halflife_time()-wait1[id] <= 20)
{
client_print(id, print_center, "Za %d sek mozesz uzyc mocy!", czas2)
return PLUGIN_CONTINUE;
}
else {
//Target nearest non-friendly player
new target = Find_Best_Angle(id,800.0,false)
piorundmg1[id] = 1+(player_intelligence[id]*2)
if (!is_valid_ent(target))
{
client_print(id, print_center, "Brak celu. Pamietaj Ze Zadasz %d Obrazen",piorundmg1[id])
return PLUGIN_HANDLED
}
if (pev(target,pev_rendermode) == kRenderTransTexture || player_item_id[target] == 17 || player_item_id[target] == 96 || player_class[target] == Ninja || player_class[target] == Skrytobojca)
{
hudmsg(id,2.0,"Nie mozna wyczarowac Pioruna na niewidzialnym graczu")
return PLUGIN_CONTINUE
}
new iEnd[3], iStart[3]
get_user_origin(target,iEnd)
get_user_origin(id,iStart)
//Create Lightning
Create_TE_BEAMPOINTS1(iStart, iEnd, 0, 0, 5, 50, 50, 240, 30, 30, 255, 0)
change_health(target,-piorundmg1[id],id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
client_cmd(id, "spk wwesound/piorun.wav")
wait1[id]=floatround(halflife_time())
}
}
}
return PLUGIN_HANDLED
}
public Create_TE_BEAMPOINTS1(start[3], end[3], startFrame, frameRate, life, width, noise, red, green, blue, alpha, spid){
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMPOINTS )
write_coord( start[0] )
write_coord( start[1] )
write_coord( start[2] )
write_coord( end[0] )
write_coord( end[1] )
write_coord( end[2] )
write_short( sprite_beam ) // model
write_byte( startFrame ) // start frame
write_byte( frameRate ) // framerate
write_byte( life ) // life
write_byte( width ) // width
write_byte( noise ) // noise
write_byte( 255 ) // red
write_byte( 255 ) // green
write_byte( 255 ) // blue
write_byte( alpha ) // brightness
write_byte( spid ) // speed
message_end()
}
public piorun2(id)
{
if(player_class[id]== Merial)
{
if (g_piorun[id]>0 && freeze_ended && is_user_alive(id))
{
new xd = floatround(halflife_time()-wait1[id])
new czas1 = 15-xd
if (halflife_time()-wait1[id] <= 15)
{
client_print(id, print_center, "Za %d sek mozesz uzyc mocy!", czas1)
return PLUGIN_CONTINUE;
}
else {
//Target nearest non-friendly player
new target = Find_Best_Angle(id,800.0,false)
piorundmg2[id] = 1+(player_intelligence[id]*2)
if (!is_valid_ent(target))
{
client_print(id, print_center, "Brak celu. Pamietaj Ze Zadasz %d Obrazen",piorundmg2[id])
return PLUGIN_HANDLED
}
if (pev(target,pev_rendermode) == kRenderTransTexture || player_item_id[target] == 17 || player_item_id[target] == 96 || player_class[target] == Ninja || player_class[target] == Skrytobojca)
{
hudmsg(id,2.0,"Nie mozna wyczarowac Pioruna na niewidzialnym graczu")
return PLUGIN_CONTINUE
}
new iEnd[3], iStart[3]
get_user_origin(target,iEnd)
get_user_origin(id,iStart)
//Create Lightning
Create_TE_BEAMPOINTS2(iStart, iEnd, 0, 0, 5, 50, 50, 240, 30, 30, 255, 0)
change_health(target,-piorundmg2[id],id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
client_cmd(id, "spk wwesound/piorun.wav")
wait1[id]=floatround(halflife_time())
}
}
}
return PLUGIN_HANDLED
}
public Create_TE_BEAMPOINTS2(start[3], end[3], startFrame, frameRate, life, width, noise, red, green, blue, alpha, spid){
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMPOINTS )
write_coord( start[0] )
write_coord( start[1] )
write_coord( start[2] )
write_coord( end[0] )
write_coord( end[1] )
write_coord( end[2] )
write_short( sprite_beam ) // model
write_byte( startFrame ) // start frame
write_byte( frameRate ) // framerate
write_byte( life ) // life
write_byte( width ) // width
write_byte( noise ) // noise
write_byte( 255 ) // red
write_byte( 25 ) // green
write_byte( 40 ) // blue
write_byte( alpha ) // brightness
write_byte( spid ) // speed
message_end()
}
public lustrzanypocisk(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(damagebits&(1<<1) && (lustrzany_pocisk[this] > 0 || (player_class[this]==Diablo && random_num(0,9)==1)))
{
SetHamParamEntity(1, idattacker);
SetHamParamEntity(2,this );
SetHamParamEntity(3,this );
lustrzany_pocisk[this]--;
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public radar_scan() {
for(new id=0; id<MAX; id++) {
if(!is_user_alive(id) || !radar[id]) continue;
for(new i=0; i<MAX; i++) {
if(!is_user_alive(i) || id == i || get_user_team(id) == get_user_team(i)) continue;
new PlayerCoords[3];
get_user_origin(i, PlayerCoords);
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id);
write_byte(id);
write_byte(i);
write_coord(PlayerCoords[0]);
write_coord(PlayerCoords[1]);
write_coord(PlayerCoords[2]);
message_end();
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id);
write_byte(i);
message_end();
}
}
}
public Koniec(task_id)
{
new id = task_id - SPRAWDZ
set_hudmessage( 80, 0, 255, 0.03, 0.76, 2, 0.02, 1.0, 0.01 )
show_hudmessage( id, "Za %d sekund stracisz niewidzialnosc!", Odliczanie[id] )
Odliczanie[id] -= 1
if(Odliczanie[id] <= 0)
{
if( task_exists(task_id) )
{
remove_task( task_id )
}
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 100)
}
}
public exp(id)
{
ColorChat(id, GREEN, "Poziom: ^x04%i ^x01- Masz ^x03(%d/%d)^x01 Doswiadczenia", player_lvl[id], player_xp[id], LevelXP[player_lvl[id]])
ColorChat(id, NORMAL, "Do nastepnego poziomu brakuje ^x04%d^x01 Doswiadczenia", LevelXP[player_lvl[id]]-player_xp[id])
}
public ZapiszMane(id) {
if(is_user_bot(id))
return PLUGIN_CONTINUE;
new vaultkey[128], vaultdata[64], name[64];
new typ_zapisu = get_cvar_num("diablo_sql_save");
switch(typ_zapisu) {
case 0: get_user_name(id, name, charsmax(name));
case 1: get_user_ip(id, name, charsmax(name));
case 2: get_user_authid(id, name, charsmax(name));
}
format(vaultkey, charsmax(vaultkey), "%s-%i-mana", name, typ_zapisu);
format(vaultdata, charsmax(vaultdata), "#%i", player_pkt[id]); // jeśli ktoś chce, może tutaj dodać więcej tych zmiennych, bez żadnego problemu
nvault_set(g_vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public WczytajMane(id) {
if(is_user_bot(id))
return PLUGIN_CONTINUE;
new vaultkey[128], vaultdata[64], name[64];
new typ_zapisu = get_cvar_num("diablo_sql_save");
switch(typ_zapisu) {
case 0: get_user_name(id, name, charsmax(name));
case 1: get_user_ip(id, name, charsmax(name));
case 2: get_user_authid(id, name, charsmax(name));
}
format(vaultkey, charsmax(vaultkey), "%s-%i-mana", name, typ_zapisu);
format(vaultdata, charsmax(vaultdata), "#%i", player_pkt[id]);
nvault_get(g_vault, vaultkey, vaultdata, 63);
replace_all(vaultdata, charsmax(vaultdata), "#", " ");
new playermana[32];
parse(vaultdata, playermana, 31);
new wczytanamana = str_to_num(playermana);
player_pkt[id] = wczytanamana;
return PLUGIN_CONTINUE;
}
public glowaon(id)
{
set_user_hitzones(0, 0, 2)
set_task(5.0, "glowaoff",id,"",0,"a",1)
}
public glowaoff(id)
{
set_user_hitzones(0, 0, 0)
}
public Create_TE_BEAMPOINTSS(start[3], end[3], startFrame, frameRate, life, width, noise, red, green, blue, alpha, spid){
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMPOINTS )
write_coord( start[0] )
write_coord( start[1] )
write_coord( start[2] )
write_coord( end[0] )
write_coord( end[1] )
write_coord( end[2] )
write_short( sprite_beam ) // model
write_byte( startFrame ) // start frame
write_byte( frameRate ) // framerate
write_byte( life ) // life
write_byte( width ) // width
write_byte( noise ) // noise
write_byte( 0 ) // red
write_byte( 55 ) // green
write_byte( 55 ) // blue
write_byte( alpha ) // brightness
write_byte( spid ) // speed
message_end()
}
public kula(id)
{
if(player_class[id]== Lucznik)
{
if (g_kula[id]>0 && freeze_ended && is_user_alive(id))
{
new xd = floatround(halflife_time()-wait1[id])
new czas = 25-xd
if (halflife_time()-wait1[id] <= 25)
{
client_print(id, print_center, "Za %d sek mozesz uzyc mocy!", czas)
return PLUGIN_CONTINUE;
}
else {
//Target nearest non-friendly player
new target = Find_Best_Angle(id,800.0,false)
kuladmg[id] = 35+(player_intelligence[id]*2)
if (!is_valid_ent(target))
{
client_print(id, print_center, "Brak celu. Pamietaj Ze Zadasz %d Obrazen",piorundmg[id])
return PLUGIN_HANDLED
}
if (pev(target,pev_rendermode) == kRenderTransTexture || player_item_id[target] == 17 || player_item_id[target] == 96 || player_class[target] == Ninja || player_class[target] == Skrytobojca)
{
hudmsg(id,2.0,"Nie mozna uzyc tej mocy na niewidzialnym graczu")
return PLUGIN_CONTINUE
}
new iEnd[3], iStart[3]
get_user_origin(target,iEnd)
get_user_origin(id,iStart)
//Create Lightning
Create_TE_BEAMPOINTSS(iStart, iEnd, 0, 0, 5, 50, 50, 240, 30, 30, 255, 0)
change_health(target,-kuladmg[id],id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
client_cmd(id, "spk wwesound/piorun.wav")
wait1[id]=floatround(halflife_time())
}
}
}
return PLUGIN_HANDLED
}
public kula1(id)
{
if(player_class[id]== Lucznik)
{
if (g_kula[id]>0 && freeze_ended && is_user_alive(id))
{
new xd = floatround(halflife_time()-wait1[id])
new czas2 = 20-xd
if (halflife_time()-wait1[id] <= 20)
{
client_print(id, print_center, "Za %d sek mozesz uzyc mocy!", czas2)
return PLUGIN_CONTINUE;
}
else {
//Target nearest non-friendly player
new target = Find_Best_Angle(id,800.0,false)
kuladmg1[id] = 40+(player_intelligence[id]*2)
if (!is_valid_ent(target))
{
client_print(id, print_center, "Brak celu. Pamietaj Ze Zadasz %d Obrazen",piorundmg1[id])
return PLUGIN_HANDLED
}
if (pev(target,pev_rendermode) == kRenderTransTexture || player_item_id[target] == 17 || player_item_id[target] == 96 || player_class[target] == Ninja || player_class[target] == Skrytobojca)
{
hudmsg(id,2.0,"Nie mozna uzyc tej mocy na niewidzialnym graczu")
return PLUGIN_CONTINUE
}
new iEnd[3], iStart[3]
get_user_origin(target,iEnd)
get_user_origin(id,iStart)
//Create Lightning
Create_TE_BEAMPOINTSS1(iStart, iEnd, 0, 0, 5, 50, 50, 240, 30, 30, 255, 0)
change_health(target,-kuladmg1[id],id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
client_cmd(id, "spk wwesound/piorun.wav")
wait1[id]=floatround(halflife_time())
}
}
}
return PLUGIN_HANDLED
}
public Create_TE_BEAMPOINTSS1(start[3], end[3], startFrame, frameRate, life, width, noise, red, green, blue, alpha, spid){
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMPOINTS )
write_coord( start[0] )
write_coord( start[1] )
write_coord( start[2] )
write_coord( end[0] )
write_coord( end[1] )
write_coord( end[2] )
write_short( sprite_kula ) // model
write_byte( startFrame ) // start frame
write_byte( frameRate ) // framerate
write_byte( life ) // life
write_byte( width ) // width
write_byte( noise ) // noise
write_byte( 128 ) // red
write_byte( 0 ) // green
write_byte( 255 ) // blue
write_byte( alpha ) // brightness
write_byte( spid ) // speed
message_end()
}
public kula2(id)
{
if(player_class[id]== Lucznik)
{
if (g_kula[id]>0 && freeze_ended && is_user_alive(id))
{
new xd = floatround(halflife_time()-wait1[id])
new czas1 = 15-xd
if (halflife_time()-wait1[id] <= 15)
{
client_print(id, print_center, "Za %d sek mozesz uzyc mocy!", czas1)
return PLUGIN_CONTINUE;
}
else {
//Target nearest non-friendly player
new target = Find_Best_Angle(id,800.0,false)
kuladmg2[id] = 50+(player_intelligence[id]*2)
if (!is_valid_ent(target))
{
client_print(id, print_center, "Brak celu. Pamietaj Ze Zadasz %d Obrazen",piorundmg2[id])
return PLUGIN_HANDLED
}
if (pev(target,pev_rendermode) == kRenderTransTexture || player_item_id[target] == 17 || player_item_id[target] == 96 || player_class[target] == Ninja || player_class[target] == Skrytobojca)
{
hudmsg(id,2.0,"Nie mozna uzyc tej mocy na niewidzialny graczu.")
return PLUGIN_CONTINUE
}
new iEnd[3], iStart[3]
get_user_origin(target,iEnd)
get_user_origin(id,iStart)
//Create Lightning
Create_TE_BEAMPOINTSS2(iStart, iEnd, 0, 0, 5, 50, 50, 240, 30, 30, 255, 0)
change_health(target,-kuladmg2[id],id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
client_cmd(id, "spk wwesound/piorun.wav")
wait1[id]=floatround(halflife_time())
}
}
}
return PLUGIN_HANDLED
}
public Create_TE_BEAMPOINTSS2(start[3], end[3], startFrame, frameRate, life, width, noise, red, green, blue, alpha, spid){
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMPOINTS )
write_coord( start[0] )
write_coord( start[1] )
write_coord( start[2] )
write_coord( end[0] )
write_coord( end[1] )
write_coord( end[2] )
write_short( sprite_kula ) // model
write_byte( startFrame ) // start frame
write_byte( frameRate ) // framerate
write_byte( life ) // life
write_byte( width ) // width
write_byte( noise ) // noise
write_byte( 255 ) // red
write_byte( 128 ) // green
write_byte( 0 ) // blue
write_byte( alpha ) // brightness
write_byte( spid ) // speed
message_end()
}
public menu_questow(id){
if(quest_gracza[id] == -1 || quest_gracza[id] == -2){
new menu = menu_create("Menu Zadan","menu_questow_handle")
new formats[128]
for(new i = 0;i<sizeof prze;i++){
formatex(formats,127,"Zadania od %d do %d poziomu",prze[i][0],prze[i][1]);
menu_additem(menu,formats)
}
menu_display(id,menu,0)
}
else
{
client_print(id,print_chat,"Wykonaj najpierw poprzednie zadanie")
}
}
public menu_questow_handle(id,menu,item){
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
if(player_lvl[id] < prze[item][0]){
client_print(id,print_chat,"Masz za maly level!");
menu_questow(id)
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new formats[128]
formatex(formats,127,"Zadania od %d do %d poziomu",prze[item][0],prze[item][1]);
new menu2 = menu_create(formats,"menu_questow_handle2")
for(new i = 0;i<sizeof(questy);i++){
if(questy[i][0] == item+1){
menu_additem(menu2,questy_info[i]);
}
}
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
prze_wybrany[id] = item+1;
menu_display(id,menu2)
return PLUGIN_CONTINUE;
}
public zapisz_questa(id,quest){
new name[64];
get_user_name(id,name,63)
strtolower(name)
new key[64];
format(key,63,"questy-%i-%s-%i",player_class[id],name,quest);
nvault_set(vault_questy,key,"1");
}
public zapisz_aktualny_quest(id){
new name[64];
get_user_name(id,name,63)
strtolower(name)
new key[256];
format(key,255,"questy-%d-%s",player_class[id],name);
new data[32]
formatex(data,charsmax(data),"#%d#%d",quest_gracza[id]+1,ile_juz[id]);
nvault_set(vault_questy2,key,data);
}
public wczytaj_aktualny_quest(id){
new name[64];
get_user_name(id,name,63)
strtolower(name)
new key[256];
format(key,255,"questy-%d-%s",player_class[id],name);
new data[32];
nvault_get(vault_questy2,key,data,31);
replace_all(data,31,"#"," ");
new questt[32],ile[32]
parse(data,questt,31,ile,31)
ile_juz[id] = str_to_num(ile)
return str_to_num(questt)-1
}
public wczytaj_questa(id,quest){
new name[64];
get_user_name(id,name,63)
strtolower(name)
new key[64];
format(key,63,"questy-%i-%s-%i",player_class[id],name,quest);
new data[64];
nvault_get(vault_questy,key,data,63);
return str_to_num(data);
}
public menu_questow_handle2(id,menu,item){
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new ile2 = 0;
for(new i = 0;i<sizeof(questy);i++){
if(questy[i][0] != prze_wybrany[id]){
continue;
}
if(ile2 == item){
item = i;
break;
}
ile2++;
}
if(questy[item][4] && !(get_user_flags(id) & ADMIN_LEVEL_H)){
client_print(id,print_chat,"To zadanie jest tylko dla vipow! Aby kupic vipa pisz na gg 31837550");
menu_questow(id)
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
if(wczytaj_questa(id,item)){
client_print(id,print_chat,"Wykonales juz to zadanie!");
menu_questow(id)
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
quest_gracza[id] = item;
ile_juz[id] = 0
zapisz_aktualny_quest(id)
client_print(id,print_chat,"Wybrales zadanie: %s powodzenia !",questy_info[item]);
quest_gracza[id] = wczytaj_aktualny_quest(id);
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
public speed(id)
{
new Float:spd = get_user_maxspeed(id)
client_print(id,print_chat,"Max: %f",spd)
new Float:vect[3]
entity_get_vector(id,EV_VEC_velocity,vect)
new Float: sped= floatsqroot(vect[0]*vect[0]+vect[1]*vect[1]+vect[2]*vect[2])
client_print(id,print_chat,"Teraz: %f",sped)
}
public item_kasa(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Totemu mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}
used_item[id] = true
new origin[3]
pev(id,pev_origin,origin)
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Kasa_Totem")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_TRIGGER)
set_pev(ent,pev_origin,origin)
set_pev(ent,pev_ltime, halflife_time() + 15 + 0.1)
engfunc(EngFunc_SetModel, ent, "addons/amxmodx/wwe/totem_heal.mdl")
set_rendering ( ent, kRenderFxGlowShell, 255,215,0, kRenderFxNone, 255 )
engfunc(EngFunc_DropToFloor,ent)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
return PLUGIN_CONTINUE
}
public Effect_Kasa_Totem_Think(ent)
{
new id = pev(ent,pev_owner)
new totem_dist = 300
//We have emitted beam. Apply effect (this is delayed)
if (pev(ent,pev_euser2) == 1)
{
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and damage them
new entlist[513]
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if (get_user_team(pid) == get_user_team(id))
continue
if (is_user_alive(pid)){
cs_set_user_money(id, cs_get_user_money(id)+500, 1)
set_task(15.0, "off_kasa", pid)
}
}
set_pev(ent,pev_euser2,0)
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
return PLUGIN_CONTINUE
}
//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent)
return PLUGIN_CONTINUE
}
//If this object is almost dead, apply some render to make it fade out
if (pev(ent,pev_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 )
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)
//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );
write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255); // r, g, b
write_byte( 215 ); // r, g, b
write_byte( 0 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();
set_pev(ent,pev_euser2,1)
set_pev(ent,pev_nextthink, halflife_time() + 0.5)
return PLUGIN_CONTINUE
}
public off_kasa(pid){
set_user_maxspeed(pid, 270.0)
}
public set_invchange(id)
{
if(is_user_alive(id))
{
grawitacja[id] = get_user_gravity(id)
grawitacja2[id] = float(player_b_gravity[id])/200.0
grawitacja3[id] = floatround(grawitacja2[id])
if (grawitacja[id]>0.9) set_user_gravity(id,grawitacja[id]+grawitacja3[id])
else set_user_gravity(id, grawitacja[id])
}
}
public set_armorchange(id)
{
if(is_user_alive(id))
{
new armo = get_user_armor(id)
new armorr = player_armor[id]*2
if (armo>99)
{
set_user_armor(id,get_user_armor(id)+armorr)
}
set_user_armor(id,armorr)
}
}
public hppp(id)
{
id-=537
new ammount=30
if (get_user_health(id)+ammount>race_heal[player_class[id]]+player_strength[id]) return PLUGIN_HANDLED
new hp = get_user_health(id)
set_user_health(id, hp + ammount)
return PLUGIN_HANDLED
} |