/////////////////////////////////////////////////////// #include #include #include #include #include #include #include #include #include #include #include #include /////////////////////////////////////////////////////// #define PLUGIN "ExpMod" #define VERSION "1.9 Alpha" #define AUTHOR "tomcionek15 & grs4" /////////////////////////////////////////////////////// #define MAX_PUNKTOW 1500 // Levele / 4, na jeden skill #define MAX_ULTRA_PUNKTOW 100 // (Levele/10)/4 Na jeden skill #define PUNKTY_ZA_LEVEL 6 // Punkty za poziom ///////////////////Ultra Punkty /////////////////////// #define MNOZNIK_NIEWIDZIALNOSCI 48 // * 5 - 255 Niewidzialny na maxa #define MNOZNIK_OBRAZEN 7 // * 5 - Dodatkowe Obrazenia #define MNOZNIK_SKOKOW 1 // * 5 - Dodatkowe Skoki w powietrzu za 1 u. pkt. #define MNOZNIK_LONGJUMPA 15 // * 5 +170 ////////////////////////PUNKTY///////////////////////// #define MNOZNIK_ZYCIA 3 // * 150 // Dodatkowe HP #define MNOZNIK_SZYBKOSCI 0.65 // * 150+250 - Maksymalna predkosc #define MNOZNIK_GRAWITACJI 2.5 // * 150 / 800 #define MNOZNIK_KASY 35 // * 150 = 5250 #define ADMIN_MENU_FLAG ADMIN_IMMUNITY // Flaga Admin Menu = Admin Immunity #define VIP_FLAG ADMIN_LEVEL_H // Flaga "t" - Dla VIPA #define SCOREATTRIB_DEAD (1 << 0) #define SCOREATTRIB_VIP (1 << 2) #define SCIEZKA_PLIKU "addons/amxmodx/configs/expmod.cfg" //Glowny plik konfiguracyjny expmoda /////////////////////////////////////////////////////// // POZIOMY // /////////////////////////////////////////////////////// new g_MsgScoreAttrib = 0; new const POZIOM[] = { 0, 7, 15, 30, 45, 60, 81, 103, 126, 155, 197, 241, 292, 347, 402, 462, 522, 587, 662, 741, 820, 907, 996, 1086, 1176, 1272, 1370, 1480, 1595, 1713, 1831, 1954, 2077, 2202, 2330, 2464, 2610, 2757, 2911, 3065, 3223, 3387, 3551, 3718, 3888, 4067, 4254, 4442, 4637, 4834, 5033, 5236, 5442, 5658, 5874, 6097, 6323, 6553, 6788, 7025, 7268, 7511, 7754, 8000, 8246, 8492, 8743, 8998, 9270, 9547, 9824, 10103, 10390, 10685, 10981, 11283, 11589, 11899, 12211, 12530, 12854, 13181, 13512, 13844, 14180, 14524, 14871, 15218, 15568, 15926, 16288, 16656, 17026, 17398, 17775, 18157, 18542, 18931, 19321, 19721, 20121, 20527, 20938, 21349, 21766, 22188, 22614, 23041, 23468, 23896, 24332, 24775, 25226, 25680, 26134, 26591, 27055, 27523, 27993, 28466, 28939, 29425, 29911, 30401, 30897, 31401, 31905, 32413, 32921, 33432, 33944, 34471, 35002, 35537, 36074, 36614, 37157, 37700, 38255, 38811, 39368, 39935, 40505, 41079, 41655, 42232, 42817, 43404, 43991, 44589, 45190, 45791, 46394, 47001, 47614, 48235, 48856, 49477, 50112, 50747, 51388, 52029, 52670, 53325, 53981, 54638, 55304, 55976, 56650, 57328, 58006, 58691, 59377, 60070, 60764, 61463, 62166, 62875, 63585, 64302, 65024, 65748, 66474, 67205, 67936, 68675, 69415, 70165, 70920, 71678, 72441, 73207, 73977, 74751, 75529, 76307, 77093, 77884, 78678, 79476, 80277, 81083, 81889, 82700, 83516, 84333, 85153, 85982, 86811, 87641, 88478, 89316, 90163, 91013, 91865, 92727, 93593, 94460, 95333, 96212, 97094, 97976, 98860, 99754, 100648, 101549, 102450, 103361, 104276, 105194, 106118, 107046, 107974, 108906, 109845, 110788, 111735, 112682, 113630, 114578, 115529, 116480, 117438, 118410, 119387, 120366, 121350, 122337, 123326, 124322, 125323, 126329, 127340, 128351, 129363, 130377, 131391, 132406, 133435, 134464, 135497, 136539, 137585, 138641, 139697, 140755, 141821, 142887, 143962, 145037, 146116, 147195, 148274, 149368, 150466, 151569, 152674, 153779, 154888, 156008, 157132, 158260, 159389, 160520, 161651, 162793, 163935, 165078, 166226, 167383, 168543, 169708, 170879, 172053, 173227, 174411, 175596, 176786, 177980, 179176, 180378, 181584, 182794, 184004, 185216, 186432, 187648, 188873, 190107, 191342, 192585, 193830, 195082, 196334, 197592, 198853, 200116, 201380, 202653, 203930, 205212, 206497, 207788, 209080, 210375, 211678, 212981, 214289, 215597, 216912, 218229, 219549, 220873, 222200, 223529, 224871, 226217, 227563, 228917, 230271, 231625, 232979, 234334, 235695, 237063, 238434, 239808, 241191, 242574, 243965, 245367, 246769, 248176, 249586, 251006, 252427, 253851, 255275, 256708, 258144, 259582, 261025, 262474, 263925, 265382, 266846, 268312, 269778, 271247, 272720, 274199, 275685, 277172, 278661, 280152, 281655, 283162, 284671, 286185, 287703, 289221, 290741, 292267, 293797, 295334, 296878, 298425, 299975, 301529, 303083, 304643, 306205, 307769, 309337, 310911, 312488, 314066, 315649, 317234, 318820, 320423, 322026, 323634, 325244, 326857, 328470, 330093, 331720, 333353, 334993, 336635, 338281, 339932, 341587, 343243, 344902, 346565, 348236, 349910, 351589, 353271, 354958, 356645, 358333, 360031, 361731, 363435, 365144, 366853, 368562, 370273, 371995, 373726, 375457, 377193, 378929, 380673, 382419, 384170, 385928, 387686, 389449, 391215, 392988, 394762, 396544, 398328, 400118, 401910, 403704, 405498, 407301, 409108, 410923, 412742, 414564, 416387, 418218, 420050, 421882, 423714, 425546, 427392, 429248, 431107, 432968, 434831, 436700, 438575, 440451, 442331, 444214, 446104, 447995, 449889, 451788, 453692, 455600, 457510, 459427, 461350, 463277, 465208, 467141, 469074, 471014, 472961, 474912, 476868, 478825, 480788, 482756, 484727, 486701, 488680, 490660, 492645, 494637, 496630, 498630, 500631, 502634, 504645, 506659, 508679, 510701, 512726, 514751, 516783, 518823, 520866, 522911, 524963, 527019, 529077, 531135, 533197, 535264, 537335, 539410, 541489, 543573, 545660, 547756, 549856, 551959, 554063, 556174, 558285, 560401, 562524, 564649, 566776, 568910, 571050, 573192, 575336, 577486, 579642, 581800, 583960, 586127, 588295, 590463, 592635, 594819, 597004, 599189, 601378, 603570, 605771, 607976, 610181, 612389, 614609, 616832, 619055, 621284, 623520, 625756, 627996, 630236, 632478, 634723, 636975, 639230, 641490, 643760, 646035, 648311, 650593, 652876, 655161, 657447, 659736, 662038, 664343, 666650, 668964, 671280, 673601, 675928, 678256, 680586, 682924, 685265, 687612, 689960, 692315, 694673, 697031, 699393, 701757, 704129, 706505, 708882, 711269, 713657, 716048, 718443, 720842, 723245, 725655, 728069, 730487, 732907, 735332, 737758, 740190, 742623, 745059, 747503, 749954, 752407, 754866, 757328, 759796, 762264, 764739, 767218, 769701, 772186, 774675, 777167, 779664, 782162, 784666, 787172, 789682, 792193, 794711, 797230, 799762, 802296, 804833, 807370, 809918, 812467, 815016, 817569, 820124, 822688, 825260, 827833, 830407, 832990, 835574, 838166, 840761, 843360, 845963, 848569, 851177, 853789, 856407, 859025, 861647, 864277, 866913, 869553, 872196, 874839, 877482, 880129, 882779, 885433, 888088, 890759, 893434, 896113, 898796, 901481, 904168, 906857, 909556, 912260, 914965, 917675, 920391, 923110, 925829, 928552, 931276, 934008, 936744, 939485, 942230, 944977, 947732, 950490, 953254, 956018, 958787, 961563, 964343, 967124, 969911, 972700, 975494, 978288, 981092, 983896, 986708, 989524, 992344, 995164, 997991, 1000823, 1003657, 1006493, 1009336, 1012180, 1015024, 1017868, 1020715, 1023576, 1026438, 1029308, 1032178, 1035057, 1037938, 1040822, 1043710, 1046603, 1049497, 1052395, 1055295, 1058205, 1061116, 1064031, 1066953, 1069880, 1072812, 1075747, 1078685, 1081625, 1084571, 1087522, 1090477, 1093436, 1096398, 1099362, 1102333, 1105308, 1108285, 1111263, 1114241, 1117233, 1120228, 1123223, 1126219, 1129222, 1132229, 1135238, 1138251, 1141269, 1144297, 1147327, 1150361, 1153397, 1156440, 1159483, 1162530, 1165584, 1168641, 1171699, 1174767, 1177838, 1180912, 1183990, 1187069, 1190152, 1193236, 1196330, 1199428, 1202531, 1205638, 1208749, 1211862, 1214980, 1218100, 1221226, 1224357, 1227488, 1230621, 1233760, 1236902, 1240052, 1243206, 1246362, 1249522, 1252689, 1255857, 1259027, 1262206, 1265387, 1268568, 1271759, 1274955, 1278151, 1281350, 1284554, 1287759, 1290968, 1294182, 1297396, 1300616, 1303837, 1307060, 1310296, 1313538, 1316781, 1320031, 1323286, 1326544, 1329806, 1333073, 1336341, 1339610, 1342888, 1346169, 1349457, 1352746, 1356039, 1359335, 1362633, 1365940, 1369251, 1372567, 1375883, 1379207, 1382534, 1385863, 1389194, 1392532, 1395875, 1399222, 1402571, 1405925, 1409279, 1412639, 1416003, 1419368, 1422733, 1426104, 1429476, 1432853, 1436235, 1439623, 1443017, 1446417, 1449820, 1453226, 1456635, 1460053, 1463475, 1466897, 1470325, 1473756, 1477193, 1480633, 1484077, 1487528, 1490981, 1494435, 1497889, 1501348, 1504815, 1508286, 1511757, 1515239, 1518721, 1522207, 1525698, 1529194, 1532696, 1536203, 1539715, 1543230, 1546749, 1550268, 1553788, 1557314, 1560842, 1564373, 1567909, 1571452, 1574997, 1578548, 1582105, 1585667, 1589229, 1592797, 1596371, 1599948, 1603525, 1607102, 1610685, 1614279, 1617876, 1621479, 1625084, 1628693, 1632304, 1635918, 1639539, 1643160, 1646781, 1650407, 1654042, 1657679, 1661324, 1664970, 1668617, 1672270, 1675931, 1679598, 1683265, 1686936, 1690611, 1694289, 1697971, 1701653, 1705336, 1709024, 1712722, 1716427, 1720138, 1723849, 1727564, 1731280, 1734998, 1738730, 1742464, 1746202, 1749941, 1753684, 1757429, 1761185, 1764941, 1768697, 1772454, 1776214, 1779975, 1783747, 1787531, 1791318, 1795106, 1798900, 1802699, 1806500, 1810302, 1814113, 1817925, 1821737, 1825554, 1829375, 1833200, 1837026, 1840862, 1844702, 1848550, 1852399, 1856251, 1860109, 1863968, 1867829, 1871690, 1875557, 1879433, 1883315, 1887199, 1891091, 1894983, 1898883, 1902786, 1906692, 1910600, 1914512, 1918431, 1922354, 1926282, 1930213, 1934148, 1938087, 1942030, 1945975, 1949922, 1953876, 1957834, 1961792, 1965754, 1969724, 1973694, 1977665, 1981649, 1985633, 1989618, 1993609, 1997604 2500000 } /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// new poziom_gracza[33] new doswiadczenie_gracza[33] new punkty_gracza[33] new ultra_punkty_gracza[33] new monety_gracza[33] /////////////////////////////////////////////////////// new zycie_gracza[33], nowe_zycie_gracza[33] new niewidzialnosc_gracza[33], nowa_niewidzialnosc_gracza[33] new obrazenia_gracza[33], nowe_obrazenia_gracza[33] new szybkosc_gracza[33], Float:nowa_szybkosc_gracza[33] new grawitacja_gracza[33], Float:nowa_grawitacja_gracza[33] new kasa_gracza[33], nowa_kasa_gracza[33] new skoki_gracza[33], nowe_skoki_gracza[33] new longjump_gracza[33], nowy_longujmp_gracza[33], longjump_czas[33], longjump_s_czas[33] /////////////////////////////////////////////////////// new nazwa_gracza[33]; new plik[] = "ExpMod.txt"; //USER new p_exp_zabojstwo //Kill Exp new p_exp_headshot //KIll hs Exp new p_exp_podlozenie_paki //PP Exp new p_exp_rozbrojenie_paki //RP EXP new p_exp_uratowanie_hosta new p_exp_infostyle /* p_exp_infostyle = 0 // NIC p_exp_infostyle = 1 // TUTOR p_exp_infostyle = 2 // COLORCHAT p_exp_infostyle = 3 // TUTOR + COLORCHAT */ new p_exp_tutor_sound // 1 = Sound | 0 = Nothing new p_exp_wygrana_runda // Exp Win Round new p_exp_boty // Include Bots ? 1 or 0 // VIP new p_exp_vip_extra_hp //Vip extra Hp new p_exp_vip_extra_speed //Vip extra speed new p_exp_vip_extra_gravity //Vip extra Gravity new p_exp_vip_extra_monets //Vip extra monets new p_exp_vip_extra_exp //Vip extra exp new p_exp_vip_extra_hs_exp //Vip extra hs exp new p_exp_vip_new_round_info //Vip Info on new round new p_exp_vip_new_round_infostyle /*Vip Info on new round style 0 = nothing | 1 = tutor | 2 = ColorChat | 3 = Tutor + Colorchat*/ //ADMIN new adminek[33] new id_am // id admin menu new bool:first_round new bool:ft = true // Freeze Time new folder_expmod[64] // addons/amxmodx/ExpMod new folder_amxx[64] // addons/amxmodx/ new plik_expmod_staty[64] // addons/amxmodx/ExpMod/expmod_staty.txt /////////////////////////////////////////////////////// //new Message1 //Sync Hud Obj 1 new Message2 //Sync Hud Obj 2 new Message3 //Sync Hud Obj 3 new Message4 //Sync Hud Obj 4 //new Message5 //Sync Hdu Obj 5 new menu_on[] = "ExpMod/menu_on.wav" new level_up[] = "ExpMod/levelup.wav" new level_up2[] = "ExpMod/levelup2.wav" new wyzwanie[] = "ExpMod/wyzwanie.wav" new komunikat1[] = "ExpMod/komunikat1.wav" new komunikat2[] = "ExpMod/komunikat2.wav" new odmowa[] = "ExpMod/odmowa.wav" new klik[] = "ExpMod/klik.wav" new klik2[] = "ExpMod/klik2.wav" new pstryk[] = "ExpMod/pstryk.wav" new warning[] = "ExpMod/warning.wav" new szum[] = "ExpMod/szum.wav" new pisk[] = "ExpMod/pisk.wav" new prefix[] = "[EXPMOD]"; new prefix_vip[] = "[EXPMOD : VIP]"; /* ^ | Sciezki do dzwiekow */ ///////////////////////////////////////////////////// //////////////////////NATYWY///////////////////////// ///////////////////////////////////////////////////// public plugin_natives() { register_native("exp_get_user_level", "get_user_level", 1); register_native("exp_get_levelexp", "get_levelexp", 1); register_native("exp_get_user_exp", "get_user_exp", 1); register_native("exp_get_user_nextlevelexp", "get_user_nextlevelexp", 1); register_native("exp_get_user_previouslevelexp","get_user_previouslevelexp", 1); register_native("exp_set_user_exp", "set_user_exp", 1); register_native("exp_set_user_level", "set_user_level", 1); register_native("exp_save_exp", "ZapiszExp", 1); register_native("exp_set_user_invisible", "set_user_invisible", 1); register_native("exp_checklevel", "SprawdzExp", 1); register_native("exp_get_user_monets", "get_user_monets", 1); register_native("exp_set_user_monets", "set_user_monets", 1); register_native("exp_get_user_new_health", "get_user_new_health", 1); register_native("exp_reset", "Zresetuj", 1); register_native("exp_is_user_vip", "is_user_vip", 1); } /////////////////////////////////////////////////////// public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) tutorInit() register_dictionary("ExpMod.txt") /////////////////////////////////////////////////////// register_event("DeathMsg", "DeathMsg", "a"); register_event("CurWeapon", "CurWeapon", "be", "1=1"); register_event("HLTV", "RundaHLTV", "a", "1=0", "2=0"); register_event("SendAudio", "WygraTT", "a", "2&%!MRAD_terwin"); register_event("SendAudio", "WygraCT", "a", "2&%!MRAD_ctwin"); /////////////////////////////////////////////////////// register_logevent("RundaLogEvent",2, "1=Round_Start"); register_logevent("KoniecRundyLogEvent", 2, "1=Round_End"); register_logevent("UratowanieHosta",3, "2=Rescued_A_Hostage") /////////////////////////////////////////////////////// RegisterHam(Ham_Spawn, "player", "OdrodzenieGracza", 1); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); g_MsgScoreAttrib = get_user_msgid("ScoreAttrib"); register_message(g_MsgScoreAttrib, "messageScoreAttrib"); ///////////////////////////USER//////////////////////// register_forward(FM_CmdStart, "CmdStart"); p_exp_zabojstwo = register_cvar("exp_kill_exp", "250"); p_exp_headshot = register_cvar("exp_killhs_exp", "100"); p_exp_podlozenie_paki = register_cvar("exp_planted_bomb", "350"); p_exp_rozbrojenie_paki = register_cvar("exp_defuse_bomb", "350"); p_exp_uratowanie_hosta = register_cvar("exp_hostage_rescued", "250"); p_exp_infostyle = register_cvar("exp_infostyle", "3"); p_exp_wygrana_runda = register_cvar("exp_win_round", "200"); p_exp_boty = register_cvar("exp_include_bots", "0"); p_exp_tutor_sound = register_cvar("exp_tutor_sounds", "1"); ////////////////////////////VIP///////////////////////// p_exp_vip_extra_hp = register_cvar("exp_vip_extra_hp", "75"); p_exp_vip_extra_speed = register_cvar("exp_vip_extra_speed", "50.0"); p_exp_vip_extra_gravity = register_cvar("exp_vip_extra_gravity", "150"); p_exp_vip_extra_monets = register_cvar("exp_vip_extra_monets", "1"); p_exp_vip_extra_exp = register_cvar("exp_vip_extra_kill_exp", "100"); p_exp_vip_extra_hs_exp = register_cvar("exp_vip_extra_killhs_exp", "60"); p_exp_vip_new_round_info = register_cvar("exp_vip_info_new_round", "1"); p_exp_vip_new_round_infostyle = register_cvar("exp_vip_info_new_round_style", "2"); ///////////////////////////ADMIN//////////////////////// register_clcmd("ustaw_lvl","ustaw_lvl"); register_clcmd("ustaw_exp","ustaw_exp"); register_clcmd("dodaj_lvl","dodaj_lvl"); register_clcmd("dodaj_exp","dodaj_exp"); register_clcmd("dodaj_monety","dodaj_monety"); register_clcmd("ustaw_monety","ustaw_monety"); //////////////////////////////////////////////////////// first_round = true /////////////////////////////////////////////////////// register_clcmd("say /lvl", "Poziom"); register_clcmd("say /level", "Poziom"); register_clcmd("say /poziom", "Poziom"); register_clcmd("say /exp", "Exp"); register_clcmd("say /dos", "Exp"); register_clcmd("say /doswiadczenie", "Exp"); register_clcmd("say /przydziel", "MenuPrzydzielPunkty"); register_clcmd("say /dodajpunkty", "MenuPrzydzielPunkty"); register_clcmd("say /dodajupunkty", "MenuPrzydzielUltraPunkty"); register_clcmd("say /punkty", "Punkty"); register_clcmd("say /upunkty", "UPunkty"); register_clcmd("say /menu", "MenuWybor"); register_clcmd("menu", "MenuWybor"); register_clcmd("say /reset", "MenuResetWybor"); register_clcmd("say /resetuj", "MenuResetWybor"); register_clcmd("say /staty", "MotdStatystyki"); register_clcmd("say /statystyki", "MotdStatystyki"); register_clcmd("say /reloadcfg", "WczytajUstawienia", ADMIN_RCON); /////////////////////////////////////////////////////// set_task(0.5, "Pokaz", 123, _, _, "b"); set_task(180.0, "ZapiszExp", _, _, _, "b"); /////////////////////////////////////////////////////// //Message1= CreateHudSyncObj(); Message2 = CreateHudSyncObj(); Message3 = CreateHudSyncObj(); Message4 = CreateHudSyncObj(); get_basedir(folder_amxx, 63) formatex(folder_expmod, 63, "%s/ExpMod", folder_amxx); formatex(plik_expmod_staty, 63, "%s/motd_statytsyki", folder_expmod); if(!file_exists(folder_expmod)) mkdir(folder_expmod) WczytajUstawienia() } /////////////////////////////////////////////////////// public Poziom(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "CMD_PLAYER_LEVEL", poziom_gracza[id]); if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(id, TUTOR_GREEN, 5.0, "%L", LANG_PLAYER, "CMD_PLAYER_LEVEL", poziom_gracza[id]); } return PLUGIN_CONTINUE; } public Exp(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "CMD_PLAYER_EXP", doswiadczenie_gracza[id], POZIOM[poziom_gracza[id]+1], (POZIOM[poziom_gracza[id]+1]-doswiadczenie_gracza[id])); if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(id, TUTOR_GREEN, 5.0, "%L", LANG_PLAYER, "CMD_PLAYER_EXP", doswiadczenie_gracza[id], POZIOM[poziom_gracza[id]+1], (POZIOM[poziom_gracza[id]+1]-doswiadczenie_gracza[id])); } return PLUGIN_CONTINUE; } public WczytajUstawienia() { new tekst[64], len new cvar[64], wartosc[16], komenda[128] if(!file_exists(SCIEZKA_PLIKU)) return PLUGIN_CONTINUE for(new i = 0 ; read_file(SCIEZKA_PLIKU, i, tekst, 63, len); i ++) { if(tekst[0] == ';' || (tekst[0] == '/' && tekst[1] == '/')) continue; parse(tekst, cvar, 63, wartosc, 15) if(equali(cvar, "exp_playerinfo_show_time")) formatex(komenda, 127, "%s %0.1f%", cvar, str_to_float(wartosc)) else formatex(komenda, 127, "%s %d", cvar, str_to_num(wartosc)) server_cmd(komenda) } return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public plugin_precache() { tutorPrecache() precache_sound(menu_on) precache_sound(wyzwanie) precache_sound(level_up) precache_sound(level_up2) precache_sound(komunikat1) precache_sound(komunikat2) precache_sound(odmowa) precache_sound(klik) precache_sound(klik2) precache_sound(pstryk) precache_sound(warning) precache_sound(szum) precache_sound(pisk) } /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// public WygraTT() { for(new i = 1;i < 33; i++) { if(!is_user_connected(i) || first_round == true || get_pcvar_num(p_exp_wygrana_runda) <= 0) return PLUGIN_CONTINUE; if(get_user_team(i) == 1 && first_round == false) { doswiadczenie_gracza[i] += get_pcvar_num(p_exp_wygrana_runda); SprawdzExp(i); ColorChat(i, GREEN, "%s^x01 %L",prefix, LANG_PLAYER, "MSG_TT_WIN_ROUND", get_pcvar_num(p_exp_wygrana_runda)); } } return PLUGIN_CONTINUE; } public WygraCT() { for(new i = 1; i < 33; i++) { if(!is_user_connected(i) || first_round == true || get_pcvar_num(p_exp_wygrana_runda) <= 0) return PLUGIN_CONTINUE; if(get_user_team(i) == 2 && first_round == false) { doswiadczenie_gracza[i]+=get_pcvar_num(p_exp_wygrana_runda); SprawdzExp(i); ColorChat(i, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_CT_WIN_ROUND", get_pcvar_num(p_exp_wygrana_runda)); } } return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public Punkty(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "CMD_PLAYER_POINTS", punkty_gracza[id]); if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(id, TUTOR_GREEN, 5.0, "%L", LANG_PLAYER, "CMD_PLAYER_POINTS", punkty_gracza[id]); } return PLUGIN_CONTINUE; } public UPunkty(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) ColorChat(id, GREEN, "%s^x01 %L", prefix, "CMD_PLAYER_ULTRA_POINTS", ultra_punkty_gracza[id]); if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { tutorMake(id, TUTOR_GREEN, 5.0, "%L", "CMD_PLAYER_ULTRA_POINTS", ultra_punkty_gracza[id]); if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } } return PLUGIN_CONTINUE; } public RundaLogEvent() { ft = false } /////////////////////////////////////////////////////// public KoniecRundyLogEvent() { if(first_round == true) first_round = false for(new i = 1 ; i < 33 ; i++) { if(!is_user_connected(i)) return PLUGIN_CONTINUE if(get_user_team(i)) { doswiadczenie_gracza[i]+= get_pcvar_num(p_exp_wygrana_runda) SprawdzExp(i) } } return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public RundaHLTV() { ft = true } /////////////////////////////////////////////////////// public CurWeapon(id) { if(ft || !is_user_connected(id)) return PLUGIN_CONTINUE; if(get_user_flags(id) & VIP_FLAG) set_user_maxspeed(id, nowa_szybkosc_gracza[id]+250.0+get_pcvar_float(p_exp_vip_extra_speed)) else set_user_maxspeed(id, nowa_szybkosc_gracza[id]+250.0) //new bron= read_data(2); return PLUGIN_CONTINUE; } /////////////////////////////////////////////////////// /* public Damage(id) { new idattacker = get_user_attacker(id); new damage = read_data(2); if(!is_user_alive(idattacker) || !is_user_connected(idattacker)) return PLUGIN_CONTINUE; SprawdzExp(idattacker) return PLUGIN_CONTINUE }*/ /////////////////////////////////////////////////////// public MenuResetWybor(id) { if(poziom_gracza[id] == 0) { if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_RESET_ERROR") if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(id, TUTOR_YELLOW, 5.0, "%L", LANG_PLAYER, "MSG_RESET_ERROR") } return PLUGIN_CONTINUE } client_cmd(id, "spk %s", menu_on) new tytul[128], punkty[64], upunkty[64] formatex(tytul, 127, "%L", LANG_PLAYER, "MENU_RESET_QUESTION") formatex(punkty, 63, "%L", LANG_PLAYER, "POINTS") formatex(upunkty, 63, "%L", LANG_PLAYER, "ULTRA_POINTS") new menu_reset_wybor = menu_create(tytul, "MenuResetWybor_Wybieranie") new menu_reset_wybor_cb = menu_makecallback("MenuResetWybor_Cb") menu_additem(menu_reset_wybor, punkty, _, _, menu_reset_wybor_cb) menu_additem(menu_reset_wybor, upunkty, _, _, menu_reset_wybor_cb) menu_setprop(menu_reset_wybor, MPROP_NUMBER_COLOR, "r") menu_display(id, menu_reset_wybor) return PLUGIN_CONTINUE } public MenuResetWybor_Cb(id, menu_reset_wybor, item_reset_wybor) { if((item_reset_wybor == 0 && poziom_gracza[id] == 0) || (item_reset_wybor == 1 && poziom_gracza[id] < 10)) return ITEM_DISABLED return ITEM_ENABLED } public MenuResetWybor_Wybieranie(id, menu_reset_wybor, item_reset_wybor) { if(item_reset_wybor == MENU_EXIT) { menu_destroy(menu_reset_wybor) return PLUGIN_CONTINUE } switch(item_reset_wybor) { case 0: MenuResetPunkty(id) case 1: MenuResetUltraPunkty(id) } switch(random_num(1,2)) { case 1:client_cmd(id, "spk %s", klik) case 2:client_cmd(id, "spk %s", klik2) } return PLUGIN_CONTINUE } public MenuResetUltraPunkty(id) { client_cmd(id, "spk %s", menu_on) new upr[200], tak[128] formatex(upr, 199, "%L", LANG_PLAYER, "MENU_RESET_UPOINTS_QUESTION") formatex(tak, 127, "%L", LANG_PLAYER, "MENU_RESET_UPOINTS_ITEM") new menu_reset_ultrapunkty = menu_create(upr, "MenuResetUltraPunkty_Wybieranie") menu_additem(menu_reset_ultrapunkty, tak) menu_setprop(menu_reset_ultrapunkty, MPROP_NUMBER_COLOR, "r") menu_display(id, menu_reset_ultrapunkty) } public MenuResetUltraPunkty_Wybieranie(id, menu_reset_ultrapunkty, item_reset_ultrapunkty) { if(item_reset_ultrapunkty == MENU_EXIT) { menu_destroy(menu_reset_ultrapunkty) return PLUGIN_CONTINUE } if(item_reset_ultrapunkty == 0) { Zresetuj(id, 0, 1, 0) if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) { ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_RESET_UPOINTS1") ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_RESET_UPOINTS2", ultra_punkty_gracza[id]) } if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(id, TUTOR_GREEN, 10.0, "%L^n%L", LANG_PLAYER, "MSG_RESET_UPOINTS1", LANG_PLAYER, "MSG_RESET_UPOINTS2", ultra_punkty_gracza[id]) } set_user_exp(id, get_user_exp(id)-2000) MenuWybor(id) } switch(random_num(1,2)) { case 1:client_cmd(id, "spk %s", klik) case 2:client_cmd(id, "spk %s", klik2) } return PLUGIN_CONTINUE } public MenuResetPunkty(id) { client_cmd(id, "spk %s", menu_on) Zresetuj(id, 1, 0, 0) if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) { ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_RESET_POINTS1") ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_RESET_POINTS2", punkty_gracza[id]) } if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(id, TUTOR_GREEN, 10.0, "%L^n%L", LANG_PLAYER, "MSG_RESET_POINTS1", LANG_PLAYER, "MSG_RESET_POINTS2", punkty_gracza[id]) } MenuWybor(id) } /////////////////////////////////////////////////////// public client_connect(id) { WczytajExp(id) client_cmd(id, "bind ^"v^" ^"menu^"") if(get_user_flags(id) & VIP_FLAG) { get_user_name(id, nazwa_gracza, 32) if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) ColorChat(0, GREEN, "%s^x01 %L",prefix_vip, LANG_PLAYER, "MSG_VIP_CONNECT", nazwa_gracza) if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(0, TUTOR_YELLOW, 7.0, "%L^n%L!", LANG_PLAYER, "MSG_VIP_CONNECT", nazwa_gracza, LANG_PLAYER, "MSG_WELCOME") } } } /////////////////////////////////////////////////////// public client_disconnect(id) { ZapiszExp(id) client_cmd(id, "unbind ^"v^"") if(get_user_flags(id) & VIP_FLAG) { get_user_name(id, nazwa_gracza, 32) if(get_pcvar_num(p_exp_infostyle) == 2 || get_pcvar_num(p_exp_infostyle) == 3) ColorChat(0, GREEN, "%s^x01 %L", prefix_vip, LANG_PLAYER, "MSG_VIP_DISCONNECT", nazwa_gracza) if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1: client_cmd(id, "spk %s", komunikat1) case 2: client_cmd(id, "spk %s", komunikat2) } } tutorMake(0, TUTOR_YELLOW, 7.0, "%L^n%L", LANG_PLAYER, "MSG_VIP_DISCONNECT", nazwa_gracza, LANG_PLAYER, "MSG_BYE") } } } /////////////////////////////////////////////////////// public OdrodzenieGracza(id) { if(is_user_alive(id) && is_user_connected(id)) { if(punkty_gracza[id] > 0 || ultra_punkty_gracza[id] > 0) MenuWybor(id) if(get_pcvar_num(p_exp_vip_new_round_info) == 1) { if(get_user_flags(id) & VIP_FLAG) { if(get_pcvar_num(p_exp_vip_new_round_infostyle) == 3 || get_pcvar_num(p_exp_vip_new_round_infostyle) == 1) { if(get_pcvar_num(p_exp_tutor_sound) == 1) { switch(random_num(1,2)) { case 1:client_cmd(id, "spk %s", komunikat2) case 2:client_cmd(id, "spk %s", komunikat1) } } tutorMake(id, TUTOR_YELLOW, 5.0, "%L^n%L : +%d HP | -%d GRAV^n+%0.1f% SPEED", LANG_PLAYER, "MSG_YOU_ARE_VIP", LANG_PLAYER, "MSG_YOU_GOT", get_pcvar_num(p_exp_vip_extra_hp),get_pcvar_num(p_exp_vip_extra_gravity),get_pcvar_float(p_exp_vip_extra_speed)) } if(get_pcvar_num(p_exp_vip_new_round_infostyle) == 2 || get_pcvar_num(p_exp_vip_new_round_infostyle) == 3) { ColorChat(id, GREEN, "%s^x01 %L", prefix_vip, LANG_PLAYER, "MSG_YOU_ARE_VIP") ColorChat(id, GREEN, "%s^x01 %L : ^x04+%d ^x01HP | ^x04-%d ^x01GRAV | ^x04+%0.1f ^x01SPEED", prefix_vip, LANG_PLAYER, "MSG_YOU_GOT", get_pcvar_num(p_exp_vip_extra_hp),get_pcvar_num(p_exp_vip_extra_gravity),get_pcvar_float(p_exp_vip_extra_speed)) } } } set_user_invisible(id, (255-nowa_niewidzialnosc_gracza[id])) if((cs_get_user_money(id)+nowa_kasa_gracza[id]) > 16000) cs_set_user_money(id, 16000) else cs_set_user_money(id, cs_get_user_money(id)+nowa_kasa_gracza[id]) if(get_user_flags(id) & VIP_FLAG) { set_user_health(id, get_user_health(id)+nowe_zycie_gracza[id]+get_pcvar_num(p_exp_vip_extra_hp)) set_user_gravity(id, ((800-nowa_grawitacja_gracza[id])-get_pcvar_num(p_exp_vip_extra_gravity))/800) } else { set_user_gravity(id, (800-nowa_grawitacja_gracza[id])/800) set_user_health(id, get_user_health(id)+nowe_zycie_gracza[id]) } if((get_user_health(id)%256) == 0) set_user_health(id, get_user_health(id)+1); } else return PLUGIN_CONTINUE return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public MenuWybor(id) { client_cmd(id, "spk %s", menu_on) new wybor[255], punkty[64], upunkty[64], staty[64], reset[64], sklep[64], misje[64], imisje[64], amisje[64], ach[64], admin[64]; formatex(wybor, 255, "%L", LANG_PLAYER, "MENU_MAIN_TITLE", punkty_gracza[id], ultra_punkty_gracza[id], monety_gracza[id]) formatex(punkty, 63, "%L", LANG_PLAYER, "MENU_MAIN_ADD_POINTS") formatex(upunkty, 63, "%L", LANG_PLAYER, "MENU_MAIN_ADD_ULTRA_POINTS") formatex(staty, 63, "%L", LANG_PLAYER, "MENU_MAIN_STATS") formatex(reset, 63, "%L", LANG_PLAYER, "MENU_MAIN_RESET") formatex(sklep, 63, "%L", LANG_PLAYER, "MENU_MAIN_SHOP") formatex(misje, 63, "%L", LANG_PLAYER, "MENU_MAIN_MISSION") formatex(imisje, 63, "%L", LANG_PLAYER, "MENU_MAIN_INFO_MISSION") formatex(amisje, 63, "%L", LANG_PLAYER, "MENU_MAIN_CANCEL_MISSION") formatex(ach, 63, "%L", LANG_PLAYER, "MENU_MAIN_ADD_ACHIEVEMENTS") formatex(admin, 63, "%L", LANG_PLAYER, "MENU_MAIN_ADMIN_MENU") new menu_wybor = menu_create(wybor, "MenuWybor_Wybieranie") new menu_wybor_cb = menu_makecallback("MenuWybor_CallBack") menu_additem(menu_wybor, punkty, _, _, menu_wybor_cb) menu_additem(menu_wybor, upunkty, _, _, menu_wybor_cb) menu_additem(menu_wybor, staty) menu_additem(menu_wybor, reset,_, _, menu_wybor_cb) menu_additem(menu_wybor, sklep) menu_additem(menu_wybor, misje) menu_additem(menu_wybor, imisje) menu_additem(menu_wybor, amisje) menu_additem(menu_wybor, ach) menu_additem(menu_wybor, admin, _, ADMIN_MENU_FLAG) menu_setprop(menu_wybor, MPROP_NUMBER_COLOR, "r"); menu_display(id, menu_wybor) if(get_pcvar_num(p_exp_boty) == 1) { if(is_user_bot(id)) { if(punkty_gracza[id] > 0) MenuPrzydzielPunkty(id) else if(punkty_gracza[id] <= 0 && ultra_punkty_gracza[id] > 0) MenuPrzydzielUltraPunkty(id) } } } public MenuWybor_CallBack(id, menu_wybor, item_wybor) { if((item_wybor == 0 && punkty_gracza[id] <= 0) || (item_wybor == 1 && ultra_punkty_gracza[id] <= 0)) return ITEM_DISABLED if(item_wybor == 3 && poziom_gracza[id] == 0) return ITEM_DISABLED if(item_wybor == 7 && exp_get_user_mission(id) == 0) return ITEM_DISABLED if(item_wybor == 9 && !(get_user_flags(id) & ADMIN_MENU_FLAG)) return ITEM_DISABLED return ITEM_ENABLED } public MenuWybor_Wybieranie(id, menu_wybor, item_wybor) { if(item_wybor == MENU_EXIT) { menu_destroy(menu_wybor) return PLUGIN_CONTINUE } switch(item_wybor) { case 0: MenuPrzydzielPunkty(id) case 1: MenuPrzydzielUltraPunkty(id) case 2: MotdStatystyki(id) case 3: MenuResetWybor(id) case 4: client_cmd(id, "say /sklep") case 5: client_cmd(id, "say /misja") case 6: client_cmd(id, "say /opisy") case 7: client_cmd(id, "say /anuluj") case 8: client_cmd(id, "say /ach") case 9: MenuAdmin(id) } switch(random_num(1,2)) { case 1:client_cmd(id, "spk %s", klik) case 2:client_cmd(id, "spk %s", klik2) } return PLUGIN_CONTINUE } public MotdStatystyki(id) { new txt[2500], Len = 0 new punkty = (zycie_gracza[id]+szybkosc_gracza[id]+grawitacja_gracza[id]+kasa_gracza[id]+punkty_gracza[id]) new ultrapunkty = (niewidzialnosc_gracza[id]+obrazenia_gracza[id]+skoki_gracza[id]+longjump_gracza[id]+ultra_punkty_gracza[id]) new ileMa = floatround(nowa_szybkosc_gracza[id]), ilePotrzeba = 105, ilePotrzebaBylo = 0; new Float:nszybkosc = 0.0; new ile_ma = floatround(nowa_grawitacja_gracza[id]),ile_potrzeba = 800, ile_potrzeba_bylo = 0; new Float:ngrawitacja = 0.0; new ileMa1 = nowa_niewidzialnosc_gracza[id], ilePotrzeba1 = 255, ilePotrzebaBylo1 = 0; new Float:nniewidzialnosc = 0.0; nniewidzialnosc = (float((ileMa1 - ilePotrzebaBylo1)) / float((ilePotrzeba1 - ilePotrzebaBylo1))) * 100.0; nszybkosc = (float((ileMa - ilePotrzebaBylo)) / float((ilePotrzeba - ilePotrzebaBylo))) * 100.0; ngrawitacja = (float((ile_ma - ile_potrzeba_bylo)) / float((ile_potrzeba - ile_potrzeba_bylo))) * 100.0; Len += format(txt, (sizeof txt - 1) - Len, "

%L :

%L

", LANG_PLAYER, "STATS_STATS", LANG_PLAYER, "STATS_EXP", get_user_exp(id), get_user_nextlevelexp(id)) Len += format(txt[Len], (sizeof txt - 1) - Len, "%L

%L

%L", LANG_PLAYER, "STATS_MISSING_EXP", (get_user_nextlevelexp(id)-get_user_exp(id)), LANG_PLAYER, "STATS_LEVEL_MONETS", poziom_gracza[id], monety_gracza[id], LANG_PLAYER, "STATS_POINTS_UPOINTS", punkty, ultrapunkty) Len += format(txt[Len], (sizeof txt - 1) - Len, "

%L

%L %L ", LANG_PLAYER, "POINTS", LANG_PLAYER, "STATS_HEALTH", LANG_PLAYER, "STATS_HEALTH_1", zycie_gracza[id], nowe_zycie_gracza[id]) Len += format(txt[Len], (sizeof txt - 1) - Len, "

%L %L

%L %L ", LANG_PLAYER, "STATS_SPEED", LANG_PLAYER, "STATS_SPEED_1", szybkosc_gracza[id], nszybkosc, LANG_PLAYER, "STATS_GRAVITY", LANG_PLAYER, "STATS_GRAVITY_1", grawitacja_gracza[id], ngrawitacja) Len += format(txt[Len], (sizeof txt - 1) - Len, "

%L %L

%L

", LANG_PLAYER, "STATS_MONEY", LANG_PLAYER, "STATS_MONEY_1", kasa_gracza[id], nowa_kasa_gracza[id], LANG_PLAYER, "ULTRA_POINTS") Len += format(txt[Len], (sizeof txt - 1) - Len, "

%L %L

%L %L ", LANG_PLAYER, "STATS_INVISIBLE", LANG_PLAYER, "STATS_INVISIBLE_1", niewidzialnosc_gracza[id], nniewidzialnosc, LANG_PLAYER, "STATS_DAMAGE", LANG_PLAYER, "STATS_DAMAGE_1", obrazenia_gracza[id], nowe_obrazenia_gracza[id]) Len += format(txt[Len], (sizeof txt - 1) - Len, "

%L %L

%L %L ", LANG_PLAYER, "STATS_JUMPS", LANG_PLAYER, "STATS_JUMPS_1", skoki_gracza[id], nowe_skoki_gracza[id], LANG_PLAYER, "STATS_LONG_JUMP", LANG_PLAYER, "STATS_LONG_JUMP_1", longjump_gracza[id], nowy_longujmp_gracza[id], longjump_s_czas[id]) show_motd(id, txt) } /////////////////////////////////////////////////////// public MenuPrzydzielUltraPunkty(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE client_cmd(id, "spk %s", menu_on) new uprzydziel[128], niewidzialnosc[128], obrazenia[128], skoki[128], longjump[150] new ileMa = nowa_niewidzialnosc_gracza[id], ilePotrzeba = 255, ilePotrzebaBylo = 0; new Float:fProcent = 0.0; fProcent = (float((ileMa - ilePotrzebaBylo)) / float((ilePotrzeba - ilePotrzebaBylo))) * 100.0; formatex(uprzydziel, 127, "%L", LANG_PLAYER, "MENU_ADD_UPOINTS_TITLE", ultra_punkty_gracza[id]) formatex(niewidzialnosc, 127, "%L", LANG_PLAYER, "MENU_ADD_UPOINTS_INVISIBLE", niewidzialnosc_gracza[id], fProcent) formatex(obrazenia, 127, "%L",LANG_PLAYER, "MENU_ADD_UPOINTS_DAMAGE", obrazenia_gracza[id], nowe_obrazenia_gracza[id]) formatex(skoki, 127, "%L", LANG_PLAYER, "MENU_ADD_UPOINTS_JUMPS", skoki_gracza[id], nowe_skoki_gracza[id]) formatex(longjump, 149, "%L", LANG_PLAYER, "MENU_ADD_UPOINTS_LONG_JUMP", longjump_gracza[id], nowy_longujmp_gracza[id], longjump_s_czas[id]) new menu_upunkty = menu_create(uprzydziel, "MenuPrzydzielUltraPunkty_Wb") new menu_upunkty_cb = menu_makecallback("MenuPrzydzielUltraPunkty_CB") menu_additem(menu_upunkty, niewidzialnosc, _, _, menu_upunkty_cb) menu_additem(menu_upunkty, obrazenia, _, _, menu_upunkty_cb) menu_additem(menu_upunkty, skoki , _, _, menu_upunkty_cb) menu_additem(menu_upunkty, longjump , _, _, menu_upunkty_cb) menu_setprop(menu_upunkty, MPROP_NUMBER_COLOR,"r"); menu_display(id, menu_upunkty) if(get_pcvar_num(p_exp_boty) == 1) { if(is_user_bot(id)) { MenuPrzydzielUltraPunkty_Wb(id, menu_upunkty, random_num(0, 3)) } } return PLUGIN_CONTINUE } public MenuPrzydzielUltraPunkty_CB(id, menu_upunkty, item_upunkty) { if((item_upunkty == 0 && niewidzialnosc_gracza[id] >= MAX_ULTRA_PUNKTOW) || (item_upunkty == 1 && obrazenia_gracza[id] >= MAX_ULTRA_PUNKTOW) || (item_upunkty == 2 && skoki_gracza[id] >= MAX_ULTRA_PUNKTOW) || (item_upunkty == 3 && longjump_gracza[id] >= MAX_ULTRA_PUNKTOW)) return ITEM_DISABLED return ITEM_ENABLED } public MenuPrzydzielUltraPunkty_Wb(id, menu_upunkty, item_upunkty) { if(item_upunkty == MENU_EXIT || !is_user_connected(id)) { if(punkty_gracza[id] > 0) MenuWybor(id) menu_destroy(menu_upunkty) return PLUGIN_CONTINUE } switch(item_upunkty) { case 0: { ultra_punkty_gracza[id]-- niewidzialnosc_gracza[id]++ nowa_niewidzialnosc_gracza[id] = niewidzialnosc_gracza[id]*MNOZNIK_NIEWIDZIALNOSCI } case 1: { ultra_punkty_gracza[id]-- obrazenia_gracza[id]++ nowe_obrazenia_gracza[id] = obrazenia_gracza[id]*MNOZNIK_OBRAZEN } case 2: { ultra_punkty_gracza[id]-- skoki_gracza[id]++ nowe_skoki_gracza[id] = skoki_gracza[id]*MNOZNIK_SKOKOW } case 3: { ultra_punkty_gracza[id]-- longjump_gracza[id]++ nowy_longujmp_gracza[id] = longjump_gracza[id]*MNOZNIK_LONGJUMPA longjump_s_czas[id] = (14-longjump_gracza[id]*2) } } switch(random_num(1,2)) { case 1:client_cmd(id, "spk %s", klik) case 2:client_cmd(id, "spk %s", klik2) } if(ultra_punkty_gracza[id] > 0) MenuPrzydzielUltraPunkty(id) else if(punkty_gracza[id] > 0 ) MenuWybor(id) return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public MenuPrzydzielPunkty(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE client_cmd(id, "spk %s", menu_on) new przydziel[33], hp[64], szybkosc[64], grawitacja[64], kasa[64], hp1[64], sz[64], gr[64], ka[64]; new ileMa = floatround(nowa_szybkosc_gracza[id]), ilePotrzeba = 105, ilePotrzebaBylo = 0; new Float:fProcent = 0.0; new ile_ma = floatround(nowa_grawitacja_gracza[id]) new ile_potrzeba = 800 new ile_potrzeba_bylo = 0; new Float:procent = 0.0; fProcent = (float((ileMa - ilePotrzebaBylo)) / float((ilePotrzeba - ilePotrzebaBylo))) * 100.0; procent = (float((ile_ma - ile_potrzeba_bylo)) / float((ile_potrzeba - ile_potrzeba_bylo))) * 100.0; formatex(przydziel, 32, "%L", LANG_PLAYER, "MENU_ADD_POINTS_TITLE", punkty_gracza[id]) formatex(hp, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_HEALTH", zycie_gracza[id], nowe_zycie_gracza[id]) formatex(szybkosc, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_SPEED", szybkosc_gracza[id], fProcent) formatex(grawitacja, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_GRAVITY", grawitacja_gracza[id], procent) formatex(kasa, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_MONEY", kasa_gracza[id], nowa_kasa_gracza[id]) formatex(hp1, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_HEALTH_5") formatex(sz, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_SPEED_5") formatex(gr, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_GRAVITY_5") formatex(ka, 63, "%L", LANG_PLAYER, "MENU_ADD_POINTS_MONEY_5") new menu_punkty_cb = menu_makecallback("MenuPrzydzielPunkty_CallBack") new menu_punkty = menu_create(przydziel, "MenuPrzydzielPunkty_Wybieranie") menu_additem(menu_punkty, hp, _, _, menu_punkty_cb) menu_additem(menu_punkty, szybkosc, _, _, menu_punkty_cb) menu_additem(menu_punkty, grawitacja, _, _, menu_punkty_cb) menu_additem(menu_punkty, kasa, _, _, menu_punkty_cb) menu_additem(menu_punkty, hp1, _, _, menu_punkty_cb) menu_additem(menu_punkty, sz, _, _, menu_punkty_cb) menu_additem(menu_punkty, gr, _, _, menu_punkty_cb) menu_additem(menu_punkty, ka, _, _, menu_punkty_cb) menu_setprop(menu_punkty, MPROP_NUMBER_COLOR,"r"); menu_display(id, menu_punkty) if(get_pcvar_num(p_exp_boty) == 1) { if(is_user_bot(id)) { if(punkty_gracza[id] > 0) MenuPrzydzielPunkty_Wybieranie(id, menu_punkty, random_num(0, 3)) else if(punkty_gracza[id] <= 0 && ultra_punkty_gracza[id] > 0) MenuPrzydzielUltraPunkty(id) } } return PLUGIN_CONTINUE } public MenuPrzydzielPunkty_CallBack(id, menu_punkty, item_punkty) { if((item_punkty == 0 && zycie_gracza[id] >= MAX_PUNKTOW) || (item_punkty == 1 && szybkosc_gracza[id] >= MAX_PUNKTOW) || (item_punkty == 2 && grawitacja_gracza[id] >= MAX_PUNKTOW) || (item_punkty == 3 && kasa_gracza[id] >= MAX_PUNKTOW)) { return ITEM_DISABLED } if((item_punkty == 4 && zycie_gracza[id]+5 >= MAX_PUNKTOW) ||(item_punkty == 5 && szybkosc_gracza[id]+5 >= MAX_PUNKTOW) ||(item_punkty == 6 && grawitacja_gracza[id]+5 >= MAX_PUNKTOW) ||(item_punkty == 7 && kasa_gracza[id]+5 >= MAX_PUNKTOW)) return ITEM_DISABLED for(new i = 4 ; i < 8 ;i++) { if(item_punkty == i && punkty_gracza[id] < 5) return ITEM_DISABLED } return ITEM_ENABLED } /////////////////////////////////////////////////////// public plugin_cfg() server_cmd("sv_maxspeed 9999") /////////////////////////////////////////////////////// public CmdStart(id, uc_handle) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED; new button = get_uc(uc_handle, UC_Buttons); new oldbutton = get_user_oldbutton(id); new flags = get_entity_flags(id); // Skoki if(skoki_gracza[id] > 0) { if(is_user_bot(id) && get_pcvar_num(p_exp_boty) == 1 && (button & IN_JUMP)) set_task(0.4, "BotySkocz") if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && nowe_skoki_gracza[id] > 0) { nowe_skoki_gracza[id]--; if(nowe_skoki_gracza[id] > 0) client_print(id, print_center, "%L", LANG_PLAYER, "MSG_USE_SKILL_JUMP", nowe_skoki_gracza[id]) 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); } else if(flags & FL_ONGROUND) { nowe_skoki_gracza[id] = skoki_gracza[id]*MNOZNIK_SKOKOW } } //Long Jump if(longjump_gracza[id] > 0 && (button & IN_JUMP) && (button & IN_DUCK) && get_gametime() > (longjump_czas[id]+float((longjump_s_czas[id]))) && !ft) { longjump_czas[id] = floatround(get_gametime()) client_print(id, print_center, "%L", LANG_PLAYER, "MSG_USE_SKILL_LONG_JUMP", longjump_s_czas[id]) new Float:velocity[3] VelocityByAim(id, 700, velocity); velocity[2] = (162.5+float(nowy_longujmp_gracza[id])) entity_set_vector(id, EV_VEC_velocity, velocity); } return FMRES_IGNORED; } public BotySkocz(id) { if(is_user_bot(id)) { client_cmd(id, "-jump") client_cmd(id, "+jump") } } /////////////////////////////////////////////////////// public MenuPrzydzielPunkty_Wybieranie(id, menu_punkty, item_punkty) { if(item_punkty == MENU_EXIT || !is_user_connected(id)) { if(ultra_punkty_gracza[id] > 0) MenuPrzydzielUltraPunkty(id) menu_destroy(menu_punkty) return PLUGIN_CONTINUE } switch(item_punkty) { case 0: { punkty_gracza[id]-- zycie_gracza[id]++ nowe_zycie_gracza[id] = zycie_gracza[id]*MNOZNIK_ZYCIA } case 1: { punkty_gracza[id]-- szybkosc_gracza[id]++ nowa_szybkosc_gracza[id] = szybkosc_gracza[id]*MNOZNIK_SZYBKOSCI } case 2: { punkty_gracza[id]-- grawitacja_gracza[id]++ nowa_grawitacja_gracza[id] = grawitacja_gracza[id]*MNOZNIK_GRAWITACJI } case 3: { punkty_gracza[id]-- kasa_gracza[id]++ nowa_kasa_gracza[id] = kasa_gracza[id]*MNOZNIK_KASY } case 4: { punkty_gracza[id]-=5 zycie_gracza[id]+=5 nowe_zycie_gracza[id] = zycie_gracza[id]*MNOZNIK_ZYCIA } case 5: { punkty_gracza[id]-=5 szybkosc_gracza[id]+=5 nowa_szybkosc_gracza[id] = szybkosc_gracza[id]*MNOZNIK_SZYBKOSCI } case 6: { punkty_gracza[id]-=5 grawitacja_gracza[id]+=5 nowa_grawitacja_gracza[id] = grawitacja_gracza[id]*MNOZNIK_GRAWITACJI } case 7: { punkty_gracza[id]-=5 kasa_gracza[id]+=5 nowa_kasa_gracza[id] = kasa_gracza[id]*MNOZNIK_KASY } } switch(random_num(1,2)) { case 1:client_cmd(id, "spk %s", klik) case 2:client_cmd(id, "spk %s", klik2) } if(punkty_gracza[id] > 0) MenuPrzydzielPunkty(id) else if(ultra_punkty_gracza[id] > 0 ) MenuWybor(id) return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_alive(this) || !is_user_connected(this) || !is_user_connected(idattacker)) return HAM_IGNORED //new zycie = get_user_health(this); //new bron = get_user_weapon(idattacker); if(obrazenia_gracza[idattacker] > 0) damage+=nowe_obrazenia_gracza[idattacker] SetHamParamFloat(4, damage); return HAM_IGNORED; } new ids[33]; public MenuAdmin(id) { new title[64]; formatex(title, 63, "%L", LANG_PLAYER, "MENU_ADMIN_TITLE") new menu = menu_create(title, "MenuAdmin1") new nick[33] new player; for(new i = 1; i < 33;i++) { if(!is_user_connected(i) || is_user_hltv(i)) continue; ids[player] = i; player ++; get_user_name(i, nick, 32) menu_additem(menu, nick) } menu_display(id, menu) } public MenuAdmin1(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_CONTINUE } item++ switch(random_num(1,2)) { case 1:client_cmd(id, "spk %s", klik) case 2:client_cmd(id, "spk %s", klik2) } id_am = ids[item]; new title[256], nick[33], misja[64] new a1[64], a2[64], a3[64], a4[64], a5[64], a6[64], a7[64], a8[64]; exp_get_mission_name(exp_get_user_mission(id_am), misja, 63) get_user_name(id_am, nick, 32) formatex(title, 256, "%L", LANG_PLAYER, "MENU_ADMIN_TITLE1", nick, poziom_gracza[id_am], doswiadczenie_gracza[id_am], monety_gracza[id_am], misja) formatex(a1, 63, "%L", LANG_PLAYER, "MENU_ADMIN_ADD_LEVEL") formatex(a2, 63, "%L", LANG_PLAYER, "MENU_ADMIN_ADD_EXP") formatex(a3, 63, "%L", LANG_PLAYER, "MENU_ADMIN_ADD_MONETS") formatex(a4, 63, "%L", LANG_PLAYER, "MENU_ADMIN_SET_LEVEL") formatex(a5, 63, "%L", LANG_PLAYER, "MENU_ADMIN_SET_EXP") formatex(a6, 63, "%L", LANG_PLAYER, "MENU_ADMIN_SET_MONETS") formatex(a7, 63, "%L", LANG_PLAYER, "MENU_ADMIN_MANAGING_MISSIONS") formatex(a8, 63, "%L", LANG_PLAYER, "MENU_ADMIN_RELOAD_CFG") new menus = menu_create(title, "MenuAdmin2") menu_additem(menus, a1) menu_additem(menus, a2) menu_additem(menus, a3) menu_additem(menus, a4) menu_additem(menus, a5) menu_additem(menus, a6) menu_additem(menus, a7) menu_additem(menus, a8) menu_display(id, menus) return PLUGIN_CONTINUE } public MenuAdmin2(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_CONTINUE } switch(item) { case 0:MenuAdminDodajPoziom(id) case 1:MenuAdminDodajExp(id) case 2:MenuAdminDodajMonety(id) case 3:MenuAdminUstawPoziom(id) case 4:MenuAdminUstawExp(id) case 5:MenuAdminUstawMonety(id) case 6:MenuAdminZarzadzajMisjami(id) case 7: { WczytajUstawienia() ColorChat(id, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MENU_ADMIN_RELOAD_CFG_SUCCES") } } return PLUGIN_CONTINUE } new id_misji; public MenuAdminZarzadzajMisjami(id) { new title[64] formatex(title, 63, "%L", LANG_PLAYER, "MENU_ADMIN_SELECT_MISSION") new menu = menu_create(title, "MenuAdminZarzadzajMisjami1"), misja[64] for(new i = 1; i <= exp_get_missions_numbers(); i++) { exp_get_mission_name(i, misja, 63) menu_additem(menu, misja) } menu_display(id, menu) } public MenuAdminZarzadzajMisjami1(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_CONTINUE } item++ id_misji = item; new misja[64], title[128], nick[33], usta[64], odblo[64], anulo[64], zabloko[64], anulizablo[64] formatex(usta, 63, "%L", LANG_PLAYER, "MENU_ADMIN_MISSION_SET") formatex(odblo, 63, "%L", LANG_PLAYER, "MENU_ADMIN_MISSION_UNLOCK") formatex(anulo, 63, "%L", LANG_PLAYER, "MENU_ADMIN_MISSION_CANCEL") formatex(zabloko, 63, "%L", LANG_PLAYER, "MENU_ADMIN_MISSION_LOCK") formatex(anulizablo, 63, "%L", LANG_PLAYER, "MENU_ADMIN_MISSION_CANCEL_AND_LOCK") get_user_name(id_am, nick, 32) exp_get_mission_name(item, misja, 63) formatex(title, 128, "Co chcesz zrobic z misja:^nr%sw, dla gracza:^nr%s^ny?", misja, nick) new menu = menu_create(title, "MenuAdminZarzadzajMisjami2"); new menu_cb = menu_makecallback("MenuAdminZarzadzajMisjamiCb"); menu_additem(menu, usta, _, _, menu_cb) menu_additem(menu, odblo, _, _, menu_cb) menu_additem(menu, anulo, _, _, menu_cb) menu_additem(menu, zabloko, _, _, menu_cb) menu_additem(menu, anulizablo, _, _, menu_cb) menu_display(id, menu) return PLUGIN_CONTINUE } public MenuAdminZarzadzajMisjamiCb(id, menu, item) { if(item == 0 && exp_get_user_mission(id_am) == id_misji) return ITEM_DISABLED if(item == 1 && exp_get_mission_status(id_am, id_misji) == 0) return ITEM_DISABLED if(item == 2 && exp_get_user_mission(id_am) != id_misji) return ITEM_DISABLED if(item == 3 && exp_get_mission_status(id_am, id_misji) == 1) return ITEM_DISABLED if(item == 4 && exp_get_user_mission(id_am) != id_misji) return ITEM_DISABLED return ITEM_ENABLED } public MenuAdminZarzadzajMisjami2(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_CONTINUE } new nick[33], misja[64] get_user_name(id, adminek, 32) get_user_name(id_am, nick, 32) exp_get_mission_name(id_misji, misja, 63) if(item == 0) { exp_set_user_mission(id_am, id_misji, 0) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_SET_MISSION", adminek, misja, nick) } if(item == 1) { exp_set_mission_status(id_am, id_misji, 0) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_UNLOCK_MISSION", adminek, misja, nick) } if(item == 2) { exp_set_user_mission(id_am, 0, 0) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_CANCEL_MISSION", adminek, misja, nick) } if(item == 3) { exp_set_mission_status(id_am, id_misji, 1) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_LOCK_MISSION", adminek, misja, nick) } if(item == 4) { exp_set_mission_status(id_am, id_misji, 1) exp_set_user_mission(id_am, 0, 0) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_CANCEL_AND_LOCK_MISSION", adminek, misja, nick) } return PLUGIN_CONTINUE } public MenuAdminDodajPoziom(id) { get_user_name(id, adminek, 32) client_cmd(id, "messagemode dodaj_lvl"); } public dodaj_lvl() { new gracz[33] get_user_name(id_am, gracz, 32) new liczba_lvl[10] read_args(liczba_lvl, 9) remove_quotes(liczba_lvl) if(str_to_num(liczba_lvl) > 200) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_HIGH_ERROR") return PLUGIN_CONTINUE } if(str_to_num(liczba_lvl) < 1) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_LOW_ERROR") return PLUGIN_CONTINUE } poziom_gracza[id_am] += str_to_num(liczba_lvl) doswiadczenie_gracza[id_am] = POZIOM[poziom_gracza[id_am]] Zresetuj(id_am, 1, 1, 1) SprawdzExp(id_am) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_ADD_LEVEL", adminek, str_to_num(liczba_lvl), gracz) return PLUGIN_CONTINUE } public MenuAdminDodajExp(id) { get_user_name(id, adminek, 32) console_cmd(id, "messagemode dodaj_exp"); } public dodaj_exp() { new gracz[33] get_user_name(id_am, gracz, 32) new liczba_exp[10] read_args(liczba_exp, 9) remove_quotes(liczba_exp) if(doswiadczenie_gracza[id_am]+str_to_num(liczba_exp) > POZIOM[199]) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_HIGH_ERROR") return PLUGIN_CONTINUE } else if(str_to_num(liczba_exp) <= 0) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_LOW_ERROR") return PLUGIN_CONTINUE } doswiadczenie_gracza[id_am] += str_to_num(liczba_exp) Zresetuj(id_am, 1, 1, 1) SprawdzExp(id_am) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_ADD_EXP", adminek, str_to_num(liczba_exp), gracz) return PLUGIN_CONTINUE } public MenuAdminDodajMonety(id) { get_user_name(id, adminek, 32) console_cmd(id, "messagemode dodaj_monety"); } public dodaj_monety() { new gracz[33] get_user_name(id_am, gracz, 32) new liczba_monet[10] read_args(liczba_monet, 9) remove_quotes(liczba_monet) if(str_to_num(liczba_monet) <= 0) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_LOW_ERROR") return PLUGIN_CONTINUE } monety_gracza[id_am] += str_to_num(liczba_monet) SprawdzExp(id_am) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_ADD_MONETS", adminek, str_to_num(liczba_monet), gracz) return PLUGIN_CONTINUE } public MenuAdminUstawMonety(id) { get_user_name(id, adminek, 32) console_cmd(id, "messagemode ustaw_monety"); } public ustaw_monety() { new gracz[33] get_user_name(id_am, gracz, 32) new liczba_monet[10] read_args(liczba_monet, 9) remove_quotes(liczba_monet) if(str_to_num(liczba_monet) < 0) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, "MSG_ADMIN_TOO_LOW_ERROR") return PLUGIN_CONTINUE } monety_gracza[id_am] = str_to_num(liczba_monet) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_SET_MONETS", adminek, str_to_num(liczba_monet), gracz) return PLUGIN_CONTINUE } public MenuAdminUstawExp(id) { get_user_name(id, adminek, 32) console_cmd(id, "messagemode ustaw_exp"); } public ustaw_exp() { new gracz[33] get_user_name(id_am, gracz, 32) new liczba_exp[15] read_args(liczba_exp, 14) remove_quotes(liczba_exp) if(str_to_num(liczba_exp) > POZIOM[199]) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_HIGH_ERROR") return PLUGIN_CONTINUE } if(str_to_num(liczba_exp) < 1) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_LOW_ERROR") return PLUGIN_CONTINUE } doswiadczenie_gracza[id_am] = str_to_num(liczba_exp) Zresetuj(id_am, 1, 1, 1) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_SET_EXP", adminek, str_to_num(liczba_exp), gracz) SprawdzExp(id_am) return PLUGIN_CONTINUE } public MenuAdminUstawPoziom(id) { get_user_name(id, adminek, 32) console_cmd(id, "messagemode ustaw_lvl"); } public ustaw_lvl() { new lvl[10] read_args(lvl, 9) remove_quotes(lvl) new gracz[33] get_user_name(id_am, gracz, 32) new str = str_to_num(lvl) if(str > 199) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_HIGH_ERROR") return PLUGIN_CONTINUE } if(str < 1) { ColorChat(get_user_index(adminek), GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_TOO_LOW_ERROR") return PLUGIN_CONTINUE } poziom_gracza[id_am] = str_to_num(lvl) doswiadczenie_gracza[id_am] = POZIOM[poziom_gracza[id_am]] Zresetuj(id_am, 1, 1, 1) ColorChat(0, GREEN, "%s^x01 %L", prefix, LANG_PLAYER, "MSG_ADMIN_SET_LEVEL", adminek, str, gracz) return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public Zresetuj(index, punkty, upunkty, monety) { if(punkty) { punkty_gracza[index] = poziom_gracza[index]*PUNKTY_ZA_LEVEL zycie_gracza[index] = 0 nowe_zycie_gracza[index] = 0 szybkosc_gracza[index] = 0 nowa_szybkosc_gracza[index] = 0.0 grawitacja_gracza[index] = 0 nowa_grawitacja_gracza[index] = 0.0 kasa_gracza[index] = 0 nowa_kasa_gracza[index] = 0 } if(upunkty) { ultra_punkty_gracza[index] = floatround(float(poziom_gracza[index]/10), floatround_floor) niewidzialnosc_gracza[index] = 0 nowa_niewidzialnosc_gracza[index] = 0 obrazenia_gracza[index] = 0 nowe_obrazenia_gracza[index] = 0 skoki_gracza[index] = 0 nowe_skoki_gracza[index] = 0 longjump_gracza[index] = 0 nowy_longujmp_gracza[index] = 0 longjump_s_czas[index] = 0 } if(monety) monety_gracza[index] = 0 } public DeathMsg() { new atakujacy = read_data(1); new obronca = read_data(2); new hs = read_data(3) new czy[33] if(!is_user_connected(atakujacy) || !is_user_connected(obronca)) return PLUGIN_CONTINUE if(atakujacy != obronca && is_user_connected(atakujacy) && get_user_team(atakujacy) != get_user_team(obronca)) { if(hs > 0) { czy[atakujacy]++ } ///////////////////////PO HEADSHOCIE//////////////////////// if(czy[atakujacy] != 1) { if(get_user_flags(atakujacy) & VIP_FLAG) { doswiadczenie_gracza[atakujacy]+=get_pcvar_num(p_exp_zabojstwo)+get_pcvar_num(p_exp_vip_extra_exp) set_hudmessage(255, 255, 255, -1.0, 0.62, 0, 6.0, 2.0) show_hudmessage(atakujacy, "+%d exp", get_pcvar_num(p_exp_zabojstwo)+get_pcvar_num(p_exp_vip_extra_exp)) } else { doswiadczenie_gracza[atakujacy]+=get_pcvar_num(p_exp_zabojstwo) set_hudmessage(255, 255, 255, -1.0, 0.62, 0, 6.0, 2.0) show_hudmessage(atakujacy, "+%d exp", get_pcvar_num(p_exp_zabojstwo)) } //if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) //tutorMake(atakujacy, TUTOR_RED, 1.5, "Zabiles wroga") } else if(czy[atakujacy] == 1) { if(get_user_flags(atakujacy) & VIP_FLAG) { set_hudmessage(255, 255, 255, -1.0, 0.62, 0, 6.0, 2.0) show_hudmessage(atakujacy, "+%d exp^nHEADSHOT", get_pcvar_num(p_exp_zabojstwo)+get_pcvar_num(p_exp_headshot)+get_pcvar_num(p_exp_vip_extra_hs_exp)) doswiadczenie_gracza[atakujacy]+=(get_pcvar_num(p_exp_zabojstwo)+get_pcvar_num(p_exp_headshot)+get_pcvar_num(p_exp_vip_extra_hs_exp)) } else { set_hudmessage(255, 255, 255, -1.0, 0.62, 0, 6.0, 2.0) show_hudmessage(atakujacy, "+%d exp^nHEADSHOT", get_pcvar_num(p_exp_zabojstwo)+get_pcvar_num(p_exp_headshot)) doswiadczenie_gracza[atakujacy]+=(get_pcvar_num(p_exp_zabojstwo)+get_pcvar_num(p_exp_headshot)) } czy[atakujacy] = 0 //if(get_pcvar_num(p_exp_infostyle) == 1 || get_pcvar_num(p_exp_infostyle) == 3) //tutorMake(atakujacy, TUTOR_RED, 1.5, "Zabiles wroga Headshotem") } if(get_user_flags(atakujacy) & VIP_FLAG) monety_gracza[atakujacy]+=(1+get_pcvar_num(p_exp_vip_extra_monets)) else monety_gracza[atakujacy]++ SprawdzExp(atakujacy) ZapiszExp(atakujacy) if(punkty_gracza[obronca] > 0 || ultra_punkty_gracza[obronca] > 0) MenuWybor(obronca) ZapiszExp(obronca) } return PLUGIN_CONTINUE } /////////////////////////////////////////////////////// public ZapiszExp(id) { get_user_name(id, nazwa_gracza, 32) new dane[256] formatex(dane, 255, "%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#", doswiadczenie_gracza[id], poziom_gracza[id], punkty_gracza[id], ultra_punkty_gracza[id], zycie_gracza[id], nowe_zycie_gracza[