Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team Error: Invalid function or declaration on line 169 Warning: Loose indentation on line 236 Warning: Loose indentation on line 241 Warning: Loose indentation on line 421 Warning: Loose indentation on line 423 Warning: Loose indentation on line 537 Error: Undefined symbol "wytrzymalosc_perku" on line 539 Warning: Expression has no effect on line 539 Error: Expected token: ";", but found "]" on line 539 Error: Invalid expression, assumed zero on line 539 Error: Too many error messages on one line on line 539 Compilation aborted. 5 Errors. Could not locate output file C:\Documents and Settings\Dominik\Pulpit\QTM_CodMod.amx (compile failed).
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse

[ROZWIĄZANE] Wytrzymałość na 2 perki - kompilacja silnika.
Temat rozp.
Freshovsky
, 03.02.2013 22:54
-
Temat jest zamknięty
5 odpowiedzi w tym temacie
#1
Freshovsky
Napisano 03.02.2013 22:54
Proszę o kompilację silnika Cod moda, wgrałem do niego wytrzymałość na dwa perki ale mam takie błędy:
CS-Amelinum.PL - Tego nie pomalujesz!
#5
Yakashi
Napisano 10.02.2013 17:46
Spoiler
#pragma semicolon 0
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <nvault>
#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "1.0-2"
#define AUTHOR "QTM_Peyote"
#define MAX_WIELKOSC_NAZWY 32
#define MAX_WIELKOSC_OPISU 256
#define MAX_ILOSC_PERKOW 120
#define MAX_ILOSC_KLAS 100
#define STANDARDOWA_SZYBKOSC 250.0
#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832
#define ZADANIE_ZABIERZ_GRANAT 864
new const maxAmmo[31] = {0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120,
90, 2, 35, 90, 90,0, 100};
new const co_ile[] = { 1, 4, 8, 16, 24 }
new szybkosc_rozdania[33];
new const doswiadczenie_poziomu[] = {
0,
39, 88, 173, 336, 522, 722, 968, 1281, 1660, 2064,
2523, 3008, 3510, 4032, 4630, 5240, 5943, 6699, 7501, 8314,
9157, 10032, 11012, 11997, 13053, 14124, 15196, 16299, 17460, 18774,
20128, 21528, 22965, 24404, 25904, 27455, 29011, 30651, 32307, 34033,
35789, 37605, 39433, 41270, 43146, 45111, 47124, 49225, 51355, 53540,
55745, 57960, 60262, 62626, 65042, 67459, 69952, 72455, 75036, 77653,
80319, 83036, 85805, 88592, 91433, 94327, 97271, 100257, 103261, 106307,
109410, 112532, 115725, 118946, 122177, 125446, 128756, 132171, 135593, 139025,
142476, 146042, 149655, 153343, 157031, 160749, 164531, 168345, 172222, 176149,
180103, 184092, 188167, 192258, 196353, 200569, 204813, 209064, 213345, 217631,
221969, 226443, 230927, 235477, 240066, 244668, 249300, 253939, 258687, 263488,
268338, 273254, 278179, 283181, 288199, 293244, 298340, 303438, 308599, 313814,
319055, 324402, 329811, 335232, 340654, 346174, 351728, 357329, 362943, 368603,
374267, 380068, 385905, 391798, 397721, 403673, 409651, 415658, 421710, 427789,
433941, 440102, 446265, 452539, 458827, 465183, 471609, 478074, 484566, 491062,
497668, 504288, 510968, 517674, 524461, 531319, 538210, 545118, 552102, 559089,
566093, 573124, 580187, 587401, 594624, 601876, 609154, 616449, 623779, 631180,
638621, 646072, 653526, 661040, 668645, 676291, 683976, 691685, 699443, 707312,
715246, 723237, 731279, 739371, 747492, 755622, 763784, 772019, 780291, 788627,
797003, 805388, 813854, 822368, 830924, 839538, 848184, 856861, 865600, 874366,
883204, 892082, 901008, 909940, 918936, 927975, 937058, 946209, 955382, 964567,
973797, 983040, 992347, 1001655, 1011028, 1020444, 1029992, 1039545, 1049162, 1058827,
1068523, 1078279, 1088048, 1097841, 1107660, 1117516, 1127503, 1137534, 1147590, 1157669,
1167763, 1177872, 1188095, 1198336, 1208651, 1219001, 1229368, 1239745, 1250187, 1260721,
1271305, 1281942, 1292615, 1303321, 1314066, 1324819, 1335577, 1346359, 1357208, 1368151,
1379169, 1390215, 1401311, 1412427, 1423578, 1434778, 1445990, 1457327, 1468723, 1480119,
1491532, 1503008, 1514561, 1526136, 1537711, 1549361, 1561105, 1572852, 1584637, 1596510,
1608434, 1620363, 1632292, 1644229, 1656309, 1668430, 1680573, 1692720, 1704931, 1717175,
1729459, 1741822, 1754188, 1766681, 1779204, 1791754, 1804314, 1816919, 1829542, 1842197,
1854904, 1867690, 1880563, 1893473, 1906397, 1919388, 1932384, 1945414, 1958448, 1971492,
1984689, 1997920, 2011217, 2024560, 2037912, 2051281, 2064727, 2078220, 2091765, 2105314,
2118944, 2132663, 2146423, 2160201, 2174022, 2187898, 2201811, 2215769, 2229775, 2243821,
2257886, 2271973, 2286145, 2300320, 2314602, 2328890, 2343189, 2357577, 2371991, 2386405,
2400901, 2415445, 2430051, 2444723, 2459403, 2474120, 2488893, 2503763, 2518655, 2533597,
2548570, 2563592, 2578615, 2593729, 2608872, 2624017, 2639247, 2654489, 2669838, 2685230,
2700643, 2716067, 2731532, 2747007, 2762540, 2778141, 2793785, 2809501, 2825292, 2841129,
2856997, 2872866, 2888773, 2904782, 2920793, 2936808, 2952913, 2969082, 2985312, 3001550,
3017815, 3034127, 3050496, 3066902, 3083320, 3099842, 3116386, 3133018, 3149666, 3166319,
3183054, 3199815, 3216614, 3233454, 3250318, 3267220, 3284125, 3301110, 3318126, 3335236,
3352413, 3369598, 3386819, 3404116, 3421463, 3438846, 3456283, 3473793, 3491329, 3508868,
3526442, 3544105, 3561794, 3579527, 3597286, 3615094, 3632949, 3650823, 3668766, 3686764,
3704828, 3722938, 3741087, 3759263, 3777521, 3795804, 3814117, 3832449, 3850869, 3869324,
3887818, 3906337, 3924902, 3943530, 3962219, 3980942, 3999682, 4018471, 4037279, 4056178,
4075079, 4094045, 4113038, 4132103, 4151209, 4170365, 4189576, 4208831, 4228087, 4247360,
4266640, 4286084, 4305574, 4325086, 4344660, 4364242, 4383899, 4403584, 4423277, 4442972,
4462787, 4482658, 4502532, 4522500, 4542510, 4562527, 4582547, 4602606, 4622768, 4642971,
4663229, 4683528, 4703864, 4724275, 4744728, 4765187, 4785655, 4806205, 4826833, 4847461,
4868179, 4888916, 4909701, 4930504, 4951347, 4972215, 4993108, 5014040, 5034992, 5055988,
5077011, 5098122, 5119302, 5140505, 5161777, 5183161, 5204554, 5225986, 5247475, 5268987,
5290573, 5312161, 5333817, 5355502, 5377235, 5399047, 5420861, 5442706, 5464647, 5486595,
5508567, 5530653, 5552782, 5574939, 5597141, 5619354, 5641601, 5663899, 5686278, 5708715,
5731171, 5753652, 5776210, 5798822, 5821478, 5844138, 5866886, 5889638, 5912449, 5935299,
5958201, 5981129, 6004065, 6027008, 6049984, 6072995, 6096075, 6119235, 6142436, 6165736,
6189069, 6212426, 6235817, 6259209, 6282715, 6306225, 6329805, 6353423, 6377110, 6400818,
6424598, 6448429, 6472305, 6496213, 6520125, 6544061, 6568018, 6592060, 6616146, 6640345,
6664572, 6688815, 6713120, 6737442, 6761810, 6786212, 6810672, 6835223, 6859791, 6884388,
6909014, 6933719, 6958465, 6983260, 7008118, 7032986, 7057886, 7082874, 7107886, 7132961,
7158044, 7183211, 7208411, 7233619, 7258850, 7284100, 7309410, 7334730, 7360127, 7385627,
7411178, 7436741, 7462359, 7488014, 7513732, 7539479, 7565254, 7591116, 7617026, 7642958,
7668926, 7694921, 7720949, 7747019, 7773122, 7799312, 7825563, 7851814, 7878169, 7904567,
7931004, 7957457, 7983971, 8010508, 8037118, 8063734, 8090404, 8117124, 8143912, 8170719,
8197532, 8224419, 8251307, 8278246, 8305259, 8332342, 8359488, 8386635, 8413804, 8441072,
8468384, 8495739, 8523106, 8550474, 8577851, 8605277, 8632854, 8660478, 8688116, 8715832,
8743565, 8771368, 8799188, 8827020, 8854946, 8882891, 8910895, 8938906, 8966923, 8994995,
9023142, 9051366, 9079609, 9107854, 9136129, 9164507, 9192922, 9221389, 9249896, 9278495,
9307106, 9335745, 9364455, 9393229, 9422048, 9450894, 9479768, 9508704, 9537686, 9566721,
9595783, 9624853, 9654015, 9683183, 9712405, 9741653, 9770962, 9800313, 9829704, 9859157,
9888678, 9918222, 9947803, 9977459, 10007122, 10036805, 10066576, 10096398, 10126243, 10156143,
10186058, 10216031, 10246024, 10276041, 10306086, 10336206, 10366339, 10396545, 10426808, 10457123,
10487460, 10517866, 10548354, 10578846, 10609373, 10639974, 10670623, 10701326, 10732031, 10762802,
10793577, 10824420, 10855290, 10886214, 10917146, 10948136, 10979222, 11010349, 11041533, 11072743,
11103968, 11135274, 11166607, 11197970, 11229346, 11260847, 11292353, 11323902, 11355470, 11387054,
11418753, 11450512, 11482275, 11514068, 11545908, 11577840, 11609789, 11641808, 11673867, 11705951,
11738053, 11770165, 11802404, 11834679, 11866961, 11899272, 11931597, 11963984, 11996442, 12028906,
12061397, 12093950, 12126573, 12159294, 12192069, 12224886, 12257733, 12290621, 12323522, 12356450,
12389446, 12422487, 12455576, 12488723, 12521908, 12555131, 12588386, 12621704, 12655081, 12688490,
12721903, 12755411, 12788952, 12822521, 12856093, 12889760, 12923470, 12957190, 12990923, 13024763,
13058628, 13092593, 13126592, 13160594, 13194597, 13228691, 13262827, 13297013, 13331205, 13365404,
13399648, 13434035, 13468429, 13502852, 13537379, 13571949, 13606543, 13641171, 13675859, 13710607,
13745391, 13780191, 13815001, 13849896, 13884795, 13919733, 13954794, 13989889, 14025030, 14060198,
14095432, 14130693, 14165998, 14201303, 14236723, 14272173, 14307650, 14343188, 14378742, 14414328,
14449943, 14485629, 14521352, 14557166, 14592998, 14628864, 14664745, 14700713, 14736741, 14772787,
14808887, 14845035, 14881188, 14917419, 14953662, 14989973, 15026330, 15062689, 15099159, 15135669,
15172229, 15208826, 15245446, 15282136, 15318866, 15355596, 15392330, 15429134, 15465958, 15502844,
15539848, 15576853, 15613887, 15650984, 15688134, 15725302, 15762471, 15799674, 15837001, 15874328,
15911668, 15949030, 15986527, 16024075, 16061681, 16099341, 16137017, 16174724, 16212472, 16250260,
16288138, 16326030, 16363988, 16401969, 16439981, 16478079, 16516211, 16554393, 16592575, 16630840,
16669116, 16707403, 16745744, 16784197, 16822692, 16861214, 16899788, 16938362, 16976939, 17015583,
17054252, 17092951, 17131775, 17170648, 17209556, 17248474, 17287446, 17326445, 17365455, 17404498,
17443560, 17482786, 17522040, 17561307, 17600676, 17640063, 17679510, 17718975, 17758443, 17798026,
17837625, 17877262, 17916970, 17956746, 17996545, 18036383, 18076258, 18116153, 18156050, 18196012,
18236027, 18276064, 18316144, 18356289, 18396463, 18436713, 18477061, 18517437, 18557814, 18598224,
18638655, 18679202, 18719756, 18760373, 18801021, 18841716, 18882502, 18923312, 18964155, 19005025,
19045900, 19086831, 19127814, 19168901, 19210017, 19251178, 19292386, 19333657, 19374936, 19416238,
19457544, 19498904, 19540362, 19581851, 19623384, 19664966, 19706561, 19748207, 19789861, 19831569,
19873299, 19915101, 19957026, 19998957, 20040897, 20082916, 20124957, 20167011, 20209144, 20251335,
20293602, 20335874, 20378168, 20420580, 20463005, 20505465, 20547992, 20590555, 20633168, 20675820,
20718487, 20761177, 20803898, 20846679, 20889480, 20932407, 20975344, 21018300, 21061316, 21104334,
21147369, 21190545, 21233746, 21276999, 21320277, 21363596, 21406966, 21450391, 21493885, 21537402,
21580951, 21624501, 21668122, 21711763, 21755406, 21799090, 21842777, 21886556, 21930438, 21974430,
22018460
}
new MsgScreenfade;
new vault;
new SyncHudObj, SyncHudObj2;
new cvar_doswiadczenie_za_zabojstwo,
cvar_doswiadczenie_za_obrazenia,
cvar_doswiadczenie_za_wygrana,
cvar_typ_zapisu,
cvar_blokada_broni;
new perk_zmieniony,
klasa_zmieniona;
new nazwy_perkow[MAX_ILOSC_PERKOW+1][MAX_WIELKOSC_NAZWY+1],
opisy_perkow[MAX_ILOSC_PERKOW+1][MAX_WIELKOSC_OPISU+1],
max_wartosci_perkow[MAX_ILOSC_PERKOW+1],
min_wartosci_perkow[MAX_ILOSC_PERKOW+1],
pluginy_perkow[MAX_ILOSC_PERKOW+1],
ilosc_perkow;
new nazwa_gracza[33][64],
klasa_gracza[33],
nowa_klasa_gracza[33],
poziom_gracza[33],
doswiadczenie_gracza[33],
perk_gracza[2][33],
wartosc_perku_gracza[2][33],
wytrzymalosc_perku[2][33];
new Float:maksymalne_zdrowie_gracza[33],
Float:szybkosc_gracza[33],
Float:redukcja_obrazen_gracza[33];
new punkty_gracza[33],
zdrowie_gracza[33],
inteligencja_gracza[33],
wytrzymalosc_gracza[33],
kondycja_gracza[33];
new bool:gracz_ma_tarcze[33],
bool:gracz_ma_noktowizor[33];
new bonusowe_bronie_gracza[33],
bonusowe_zdrowie_gracza[33],
bonusowa_inteligencja_gracza[33],
bonusowa_wytrzymalosc_gracza[33],
bonusowa_kondycja_gracza[33];
new bronie_klasy[MAX_ILOSC_KLAS+1],
zdrowie_klas[MAX_ILOSC_KLAS+1],
kondycja_klas[MAX_ILOSC_KLAS+1],
inteligencja_klas[MAX_ILOSC_KLAS+1],
wytrzymalosc_klas[MAX_ILOSC_KLAS+1],
nazwy_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_NAZWY+1],
opisy_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
pluginy_klas[MAX_ILOSC_KLAS+1],
ilosc_klas;
new bronie_druzyny[] = {0, 0, 0},
bronie_dozwolone = 1<<CSW_KNIFE | 1<<CSW_C4;
new bool:freezetime = true;
#define MAX_WIELKOSC_FRAKCJA 64
new frakcja_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
cvar_doswiadczenie_za_zabojstwo = register_cvar("cod_killxp", "10");
cvar_doswiadczenie_za_obrazenia = register_cvar("cod_damagexp", "1"); // ilosc doswiadczenia za 20 obrazen
cvar_doswiadczenie_za_wygrana = register_cvar("cod_winxp", "50");
cvar_typ_zapisu = register_cvar("cod_savetype", "1"); // 1-Nick; 2-SID dla Steam; 3-IP
cvar_blokada_broni = register_cvar("cod_weaponsblocking", "1");
register_clcmd("say /klasa", "WybierzKlase");
register_clcmd("say /class", "WybierzKlase");
register_clcmd("say /klasy", "OpisKlasy");
register_clcmd("say /classinfo", "OpisKlasy");
register_clcmd("say /perk", "KomendaOpisPerku");
register_clcmd("say /perki", "OpisPerkow");
register_clcmd("say /perks", "OpisPerkow");
register_clcmd("say /item", "Pomoc");
register_clcmd("say /przedmiot", "OpisPerku");
register_clcmd("say /drop", "WyrzucPerk");
register_clcmd("say /wyrzuc", "WyrzucPerk");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_clcmd("say /statystyki", "PrzydzielPunkty");
register_clcmd("say /staty", "PrzydzielPunkty");
register_clcmd("say /pomoc", "Pomoc");
register_clcmd("useperk", "UzyjPerku");
register_clcmd("radio3", "UzyjPerku");
register_clcmd("fullupdate", "BlokujKomende");
register_clcmd("say /perk2", "KomendaOpisPerku2");
register_clcmd("say /drop2", "WyrzucPerk2");
register_clcmd("say /wyrzuc2", "WyrzucPerk2");
register_clcmd("useperk2", "UzyjPerku2");
register_clcmd("radio2", "UzyjPerku2");
register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlasy");
RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
RegisterHam(Ham_TakeDamage, "player", "ObrazeniaPost", 1);
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
register_forward(FM_CmdStart, "CmdStart");
register_forward(FM_EmitSound, "EmitSound");
register_message(get_user_msgid("Health"),"MessageHealth");
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");
register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
vault = nvault_open("CodMod");
MsgScreenfade = get_user_msgid("ScreenFade");
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
perk_zmieniony = CreateMultiForward("cod_perk_changed", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL, FP_CELL);
klasa_zmieniona = CreateMultiForward("cod_class_changed", ET_CONTINUE, FP_CELL, FP_CELL);
copy(nazwy_perkow[0], MAX_WIELKOSC_NAZWY, "Brak");
copy(opisy_perkow[0], MAX_WIELKOSC_OPISU, "Zabij kogos, aby otrzymac przedmiot");
copy(nazwy_klas[0], MAX_WIELKOSC_NAZWY, "Brak");
set_task(1.0, "plugin_cfg");
}
public plugin_cfg()
{
new lokalizacja_cfg[33];
get_configsdir(lokalizacja_cfg, charsmax(lokalizacja_cfg));
server_cmd("exec %s/codmod.cfg", lokalizacja_cfg);
server_exec();
}
public plugin_precache()
{
precache_sound("QTM_CodMod/select.wav");
precache_sound("QTM_CodMod/start.wav");
precache_sound("QTM_CodMod/start2.wav");
precache_sound("QTM_CodMod/levelup.wav");
}
public plugin_natives()
{
register_native("cod_set_user_xp", "UstawDoswiadczenie", 1);
register_native("cod_set_user_class", "UstawKlase", 1);
register_native("cod_set_user_perk", "UstawPerk", 1);
register_native("cod_set_user_bonus_health", "UstawBonusoweZdrowie", 1);
register_native("cod_set_user_bonus_intelligence", "UstawBonusowaInteligencje", 1);
register_native("cod_set_user_bonus_trim", "UstawBonusowaKondycje", 1);
register_native("cod_set_user_bonus_stamina", "UstawBonusowaWytrzymalosc", 1);
register_native("cod_points_to_health", "PrzydzielZdrowie", 1);
register_native("cod_points_to_intelligence", "PrzydzielInteligencje", 1);
register_native("cod_points_to_trim", "PrzydzielKondycje", 1);
register_native("cod_points_to_stamina", "PrzydzielWytrzymalosc", 1);
register_native("cod_get_user_xp", "PobierzDoswiadczenie", 1);
register_native("cod_get_user_level", "PobierzPoziom", 1);
register_native("cod_get_user_points", "PobierzPunkty", 1);
register_native("cod_get_user_class", "PobierzKlase", 1);
register_native("cod_get_user_perk", "PobierzPerk");
register_native("cod_get_user_health", "PobierzZdrowie", 1);
register_native("cod_get_user_intelligence", "PobierzInteligencje", 1);
register_native("cod_get_user_trim", "PobierzKondycje", 1);
register_native("cod_get_user_stamina", "PobierzWytrzymalosc", 1);
register_native("cod_get_level_xp", "PobierzDoswiadczeniePoziomu", 1);
register_native("cod_get_perkid", "PobierzPerkPrzezNazwe", 1);
register_native("cod_get_perks_num", "PobierzIloscPerkow", 1);
register_native("cod_get_perk_name", "PobierzNazwePerku", 1);
register_native("cod_get_perk_desc", "PobierzOpisPerku", 1);
register_native("cod_get_classid", "PobierzKlasePrzezNazwe", 1);
register_native("cod_get_classes_num", "PobierzIloscKlas", 1);
register_native("cod_get_class_name", "PobierzNazweKlasy", 1);
register_native("cod_get_class_desc", "PobierzOpisKlasy", 1);
register_native("cod_get_class_health", "PobierzZdrowieKlasy", 1);
register_native("cod_get_class_intelligence", "PobierzInteligencjeKlasy", 1);
register_native("cod_get_class_trim", "PobierzKondycjeKlasy", 1);
register_native("cod_get_class_stamina", "PobierzWytrzymaloscKlasy", 1);
register_native("cod_give_weapon", "DajBron", 1);
register_native("cod_take_weapon", "WezBron", 1);
register_native("cod_set_user_shield", "UstawTarcze", 1);
register_native("cod_set_user_nightvision", "UstawNoktowizor", 1);
register_native("cod_inflict_damage", "ZadajObrazenia", 1);
register_native("cod_register_perk", "ZarejestrujPerk");
register_native("cod_register_class", "ZarejestrujKlase");
}
public CmdStart(id, uc_handle)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
new Float: velocity[3];
pev(id, pev_velocity, velocity);
new Float: speed = vector_length(velocity);
if(szybkosc_gracza[id] > speed*1.8)
set_pev(id, pev_flTimeStepSound, 300);
return FMRES_IGNORED;
}
public Odrodzenie(id)
{
if(!task_exists(id+ZADANIE_POKAZ_INFORMACJE))
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE, _, _, "b");
if(nowa_klasa_gracza[id])
UstawNowaKlase(id);
if(!klasa_gracza[id])
{
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
DajBronie(id);
ZastosujAtrybuty(id);
if(punkty_gracza[id] > 0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
public UstawNowaKlase(id)
{
new ret;
new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_disabled", FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, klasa_gracza[id]);
DestroyForward(forward_handle);
forward_handle = CreateOneForward(pluginy_klas[nowa_klasa_gracza[id]], "cod_class_enabled", FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, nowa_klasa_gracza[id]);
DestroyForward(forward_handle);
if(ret == 4)
{
klasa_gracza[id] = 0;
return PLUGIN_CONTINUE;
}
ExecuteForward(klasa_zmieniona, ret, id, klasa_gracza[id]);
if(ret == 4)
{
klasa_gracza[id] = 0;
return PLUGIN_CONTINUE;
}
klasa_gracza[id] = nowa_klasa_gracza[id];
nowa_klasa_gracza[id] = 0;
WczytajDane(id, klasa_gracza[id]);
if(perk_gracza[0][id])
UstawPerk(id, perk_gracza[0][id], wartosc_perku_gracza[0][id], 0, 0);
if(perk_gracza[1][id])
UstawPerk(id, perk_gracza[1][id], wartosc_perku_gracza[1][id], 0, 1);
return PLUGIN_CONTINUE;
}
public DajBronie(id)
{
for(new i=1; i < 32; i++)
{
if((1<<i) & (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id]))
{
new weaponname[22];
get_weaponname(i, weaponname, 21);
fm_give_item(id, weaponname);
}
}
if(gracz_ma_tarcze[id])
fm_give_item(id, "weapon_shield");
if(gracz_ma_noktowizor[id])
cs_set_user_nvg(id, 1);
new weapons[32];
new weaponsnum;
get_user_weapons(id, weapons, weaponsnum);
for(new i=0; i<weaponsnum; i++)
if(is_user_alive(id))
if(maxAmmo[weapons[i]] > 0)
cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
}
public ZastosujAtrybuty(id)
{
redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);
szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}
public PoczatekRundy()
{
freezetime = false;
for(new id=0;id<=32;id++)
{
if(!is_user_alive(id))
continue;
Display_Fade(id, 1<<9, 1<<9, 1<<12, 0, 255, 70, 100);
set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
switch(get_user_team(id))
{
case 1: client_cmd(id, "spk QTM_CodMod/start2");
case 2: client_cmd(id, "spk QTM_CodMod/start");
}
}
}
public NowaRunda()
freezetime = true;
public Obrazenia(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_alive(idattacker))
return HAM_IGNORED;
if(get_user_team(this) == get_user_team(idattacker))
return HAM_IGNORED;
if(get_user_health(this) <= 1)
return HAM_IGNORED;
if(PobierzWytrzymalosc(this, 1, 1, 1) <= 0)
return HAM_IGNORED;
SetHamParamFloat(4, damage*(1.0-redukcja_obrazen_gracza[this]));
return HAM_IGNORED;
}
public ObrazeniaPost(id, idinflictor, attacker, Float:damage, damagebits)
{
if(!is_user_connected(attacker) || !klasa_gracza[attacker])
return HAM_IGNORED;
if(get_user_team(id) != get_user_team(attacker))
{
new doswiadczenie_za_obrazenia = get_pcvar_num(cvar_doswiadczenie_za_obrazenia);
while(damage>20)
{
damage -= 20;
doswiadczenie_gracza[attacker] += doswiadczenie_za_obrazenia;
}
}
SprawdzPoziom(attacker);
return HAM_IGNORED;
}
public SmiercGraczaPost(id, attacker, shouldgib)
{
if(!is_user_connected(attacker))
return HAM_IGNORED;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
if(perk_gracza[0][id])
{
wytrzymalosc_perku[0][id] -= (wytrzymalosc_perku[0][id] > 10) ? 10 : wytrzymalosc_perku[0][id]; // 10 to wartosc zabierana za zgon, mozna tutaj to zmienic
if(wytrzymalosc_perku[0][id] <= 0)
UstawPerk(id, 0, 0, 0, 0);
}
if(perk_gracza[1][id])
{
wytrzymalosc_perku[1][id] -= (wytrzymalosc_perku[1][id] > 10) ? 10 : wytrzymalosc_perku[1][id]; // 10 to wartosc zabierana za zgon, mozna tutaj to zmienic
if(wytrzymalosc_perku[1][id] <= 0)
UstawPerk(id, 0, 0, 0, 1);
}
if(!perk_gracza[0][attacker])
UstawPerk(attacker, -1, -1, 1, 0);
else if(!perk_gracza[1][attacker])
UstawPerk(attacker, -1, -1, 1, 1);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
SprawdzPoziom(attacker);
return HAM_IGNORED;
}
public MessageHealth(msg_id, msg_dest, msg_entity)
{
new health = get_msg_arg_int(1);
if(health < 256)
return;
if (!(health % 256))
set_pev(msg_entity, pev(msg_entity, pev_health)-1);
set_msg_arg_int(1, get_msg_argtype(1), 255);
}
public client_authorized(id)
{
UsunUmiejetnosci(id);
get_user_name(id, nazwa_gracza[id], 63);
UsunZadania(id);
set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
}
public client_disconnect(id)
{
ZapiszDane(id);
UsunUmiejetnosci(id);
UsunZadania(id);
}
public UsunUmiejetnosci(id)
{
nowa_klasa_gracza[id] = 0;
UstawNowaKlase(id);
klasa_gracza[id] = 0;
poziom_gracza[id] = 0;
doswiadczenie_gracza[id] = 0;
punkty_gracza[id] = 0;
zdrowie_gracza[id] = 0;
inteligencja_gracza[id] = 0;
wytrzymalosc_gracza[id] = 0;
kondycja_gracza[id] = 0;
bonusowe_zdrowie_gracza[id] = 0;
bonusowa_wytrzymalosc_gracza[id] = 0;
bonusowa_inteligencja_gracza[id] = 0;
bonusowa_kondycja_gracza[id] = 0;
maksymalne_zdrowie_gracza[id] = 0.0;
szybkosc_gracza[id] = 0.0;
UstawPerk(id, 0, 0, 0, 0);
UstawPerk(id, 0, 0, 0, 1);
wytrzymalosc_perku[0][id] = 0;
wytrzymalosc_perku[1][id] = 0;
}
public UsunZadania(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
}
public WygranaTerro()
WygranaRunda("TERRORIST");
public WygranaCT()
WygranaRunda("CT");
public WygranaRunda(const Team[])
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", Team);
new doswiadczenie_za_wygrana = get_pcvar_num(cvar_doswiadczenie_za_wygrana);
if(get_playersnum() < 3)
return;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(!klasa_gracza[id])
continue;
doswiadczenie_gracza[id] += doswiadczenie_za_wygrana;
client_print(id, print_chat, "[COD:MW3] Dostales %i doswiadczenia za wygrana runde.", doswiadczenie_za_wygrana);
SprawdzPoziom(id);
}
}
public KomendaOpisPerku(id)
OpisPerku(id, perk_gracza[0][id], wartosc_perku_gracza[0][id]);
public KomendaOpisPerku2(id)
OpisPerku(id, perk_gracza[1][id], wartosc_perku_gracza[1][id]);
public OpisPerku(id, perk, wartosc)
{
new opis_perku[MAX_WIELKOSC_OPISU];
new losowa_wartosc[15];
if(wartosc > -1)
num_to_str(wartosc, losowa_wartosc, 14);
else
format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_perkow[perk], max_wartosci_perkow[perk]);
format(opis_perku, charsmax(opis_perku), opisy_perkow[perk]);
replace_all(opis_perku, charsmax(opis_perku), "LW", losowa_wartosc);
client_print(id, print_chat, "Perk: %s.", nazwy_perkow[perk]);
client_print(id, print_chat, "Opis: %s.", opis_perku);
}
public OpisPerkow(id)
{
new menu = menu_create("Wybierz Perk:", "OpisPerkow_Handle");
for(new i=1; i <= ilosc_perkow; i++)
menu_additem(menu, nazwy_perkow[i]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
}
public OpisPerkow_Handle(id, menu, item)
{
if(item++ == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
OpisPerku(id, item, -1);
OpisPerkow(id);
return PLUGIN_CONTINUE;
}
public OpisKlasy(id)
{
new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
for(new i=1; i <= ilosc_klas; i++)
menu_additem(menu, nazwy_klas[i]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
}
public OpisKlasy_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item++ == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new bronie[320];
for(new i=1, n=1; i <= 32; i++)
{
if((1<<i) & bronie_klasy[item])
{
new weaponname[22];
get_weaponname(i, weaponname, 21);
replace_all(weaponname, 21, "weapon_", " ");
if(n > 1)
add(bronie, charsmax(bronie), ",");
add(bronie, charsmax(bronie), weaponname);
n++;
}
}
new opis[416+MAX_WIELKOSC_OPISU];
format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
show_menu(id, 1023, opis);
return PLUGIN_CONTINUE;
}
public bool:is_in_previous(frakcja[],from){
for(new i = from - 1;i>=1;i--){
if(equali(frakcja_klas[i],frakcja)){
return true;
}
}
return false;
}
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Frakcje");
for(new i=1; i <= ilosc_klas; i++)
{
if(!is_in_previous(frakcja_klas[i],i)){
menu_additem(menu,frakcja_klas[i],frakcja_klas[i])
}
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public WybierzKlase_Frakcje(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
new menu2 = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50],szTmp[5];
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_klas[i])){
WczytajDane(id, i);
format(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
num_to_str(i,szTmp,charsmax(szTmp));
menu_additem(menu2, klasa,szTmp);
}
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu2);
client_cmd(id, "spk QTM_CodMod/select");
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
item = str_to_num(data);
if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
return PLUGIN_CONTINUE;
nowa_klasa_gracza[id] = item;
if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW3] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
return PLUGIN_CONTINUE;
}
public PrzydzielPunkty(id)
{
new szybkosc[60];
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new tytul[25];
format(szybkosc, charsmax(szybkosc), "Ile dodawac: \r%d \y(Ile pkt dodac do statow)", co_ile[szybkosc_rozdania[id]]);
format(inteligencja, charsmax(inteligencja), "Inteligencja: \r%i \y(Zwieksza sile perkow i umiejetnosci klasy)", PobierzInteligencje(id, 1, 1, 1));
format(zdrowie, charsmax(zdrowie), "Zdrowie: \r%i \y(Zwieksza zdrowie)", PobierzZdrowie(id, 1, 1, 1));
format(wytrzymalosc, charsmax(wytrzymalosc), "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", PobierzWytrzymalosc(id, 1, 1, 1));
format(kondycja, charsmax(kondycja), "Kondycja: \r%i \y(Zwieksza tempo chodu)", PobierzKondycje(id, 1, 1, 1));
format(tytul, charsmax(tytul), "Przydziel Punkty(%i):", punkty_gracza[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, szybkosc);
menu_addblank(menu, 0);
menu_additem(menu, inteligencja);
menu_additem(menu, zdrowie);
menu_additem(menu, wytrzymalosc);
menu_additem(menu, kondycja);
menu_setprop(menu, MPROP_EXIT, 0);
menu_display(id, menu);
}
public PrzydzielPunkty_Handler(id, menu, item) {
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
if(punkty_gracza[id] < 1)
return PLUGIN_CONTINUE;
new limit_poziomu = sizeof doswiadczenie_poziomu-1;
new ilosc = (co_ile[szybkosc_rozdania[id]] > punkty_gracza[id]) ? punkty_gracza[id] : co_ile[szybkosc_rozdania[id]]
switch(item) {
case 0: {
if(szybkosc_rozdania[id] < charsmax(co_ile)) szybkosc_rozdania[id]++;
else szybkosc_rozdania[id] = 0;
}
case 1: {
if(inteligencja_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - inteligencja_gracza[id])
ilosc = limit_poziomu/2 - inteligencja_gracza[id];
inteligencja_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW3] Maxymalny poziom inteligencji osiagniety");
}
case 2: {
if(zdrowie_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - zdrowie_gracza[id])
ilosc = limit_poziomu/2 - zdrowie_gracza[id];
zdrowie_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW3] Maxymalny poziom sily osiagniety");
}
case 3: {
if(wytrzymalosc_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - wytrzymalosc_gracza[id])
ilosc = limit_poziomu/2 - wytrzymalosc_gracza[id];
wytrzymalosc_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW3] Maxymalny poziom zrecznosci osiagniety");
}
case 4: {
if(kondycja_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - kondycja_gracza[id])
ilosc = limit_poziomu/2 - kondycja_gracza[id];
kondycja_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW3] Maxymalny poziom kondycji osiagniety");
}
}
if(punkty_gracza[id] > 0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
public KomendaResetujPunkty(id)
{
client_print(id, print_chat, "[COD:MW3] Umiejetnosci zostana zresetowane.");
client_cmd(id, "spk QTM_CodMod/select");
ResetujPunkty(id);
}
public ResetujPunkty(id)
{
punkty_gracza[id] = poziom_gracza[id]*2-2;
inteligencja_gracza[id] = 0;
zdrowie_gracza[id] = 0;
kondycja_gracza[id] = 0;
wytrzymalosc_gracza[id] = 0;
if(punkty_gracza[id])
PrzydzielPunkty(id);
}
public CurWeapon(id)
{
if(!is_user_connected(id) || get_user_team(id) > 2)
return;
new bron = read_data(2);
new bronie = (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_druzyny[(get_user_team(id))] | bronie_dozwolone);
if(!(1<<bron & bronie))
{
new weaponname[22];
get_weaponname(bron, weaponname, 21);
if((1<<bron) & (1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG))
set_task(0.1, "ZabierzGranat", id+ZADANIE_ZABIERZ_GRANAT);
else
engclient_cmd(id, "drop", weaponname);
}
if(cs_get_user_shield(id) && !gracz_ma_tarcze[id])
engclient_cmd(id, "drop", "weapon_shield");
UstawSzybkosc(id);
}
public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
{
if(!is_user_alive(id))
return FMRES_IGNORED;
if(equal(szSound, "common/wpn_denyselect.wav"))
{
new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_skill_used", FP_CELL);
ExecuteForward(forward_handle, id, id);
DestroyForward(forward_handle);
return FMRES_SUPERCEDE;
}
if(equal(szSound, "items/ammopickup2.wav"))
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
return FMRES_SUPERCEDE;
}
if(equal(szSound, "items/equip_nvg.wav") && !gracz_ma_noktowizor[id])
{
cs_set_user_nvg(id, 0);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
public UzyjPerku(id)
return UzyjPerki(id, 0);
public UzyjPerku2(id)
return UzyjPerki(id, 1);
public UzyjPerki(id, lp)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED;
new forward_handle = forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[lp][id]], "cod_perk_used", FP_CELL);
ExecuteForward(forward_handle, id, id);
DestroyForward(forward_handle);
return PLUGIN_HANDLED;
}
public ZapiszDane(id)
{
if(!klasa_gracza[id])
return PLUGIN_CONTINUE;
new vaultkey[128],vaultdata[256], identyfikator[64];
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa_gracza[id]], typ_zapisu);
nvault_set(vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE;
}
public WczytajDane(id, klasa)
{
new vaultkey[128],vaultdata[256], identyfikator[64];
new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa], typ_zapisu);
if(!nvault_get(vault,vaultkey,vaultdata,255)) // Jezeli nie ma danych gracza sprawdza stary zapis.
{
format(vaultkey, charsmax(vaultkey), "%s-%i-cod", nazwa_gracza[id], klasa);
nvault_get(vault,vaultkey,vaultdata,255);
}
replace_all(vaultdata, 255, "#", " ");
new danegracza[6][32];
parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);
doswiadczenie_gracza[id] = str_to_num(danegracza[0]);
poziom_gracza[id] = str_to_num(danegracza[1])>0?str_to_num(danegracza[1]):1;
inteligencja_gracza[id] = str_to_num(danegracza[2]);
zdrowie_gracza[id] = str_to_num(danegracza[3]);
wytrzymalosc_gracza[id] = str_to_num(danegracza[4]);
kondycja_gracza[id] = str_to_num(danegracza[5]);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
return PLUGIN_CONTINUE;
}
public WyrzucPerk(id)
DropPerka(id, 0)
public WyrzucPerk2(id)
DropPerka(id, 1)
public DropPerka(id, lp)
{
if(perk_gracza[lp][id])
{
client_print(id, print_chat, "[COD:MW3] Wyrzuciles %s.", nazwy_perkow[perk_gracza[lp][id]]);
UstawPerk(id, 0, 0, 0, lp);
}
else
client_print(id, print_chat, "[COD:MW3] Nie masz zadnego perku.");
}
public SprawdzPoziom(id)
{
new limit_poziomu = sizeof doswiadczenie_poziomu-1;
new bool:zdobyl_poziom, bool:stracil_poziom;
while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu)
{
poziom_gracza[id]++;
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
zdobyl_poziom = true;
}
while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1))
{
poziom_gracza[id]--;
stracil_poziom = true;
}
if(poziom_gracza[id] > limit_poziomu)
{
poziom_gracza[id] = limit_poziomu;
ResetujPunkty(id);
}
if(stracil_poziom)
{
ResetujPunkty(id);
set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
ShowSyncHudMsg(id, SyncHudObj2,"Spadles do %i poziomu!", poziom_gracza[id]);
}
else if(zdobyl_poziom)
{
set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
ShowSyncHudMsg(id, SyncHudObj2,"Awansowales do %i poziomu!", poziom_gracza[id]);
client_cmd(id, "spk QTM_CodMod/levelup");
}
ZapiszDane(id);
}
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
if(!is_user_connected(id))
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
return PLUGIN_CONTINUE;
}
if(!is_user_alive(id))
{
new target = pev(id, pev_iuser2);
if(!target)
return PLUGIN_CONTINUE;
new hp = get_user_health(target);
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s^nPerk2 : %s^nZdrowie : %d", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[0][target]], nazwy_perkow[perk_gracza[1][target]], hp);
return PLUGIN_CONTINUE;
}
new hp = get_user_health(id);
set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Perk2 : %s]^n[ Wytrzymalosc Perku : %i / 100]^n[ Wytrzymalosc Perku 2 : %i / 100]^n[Zdrowie : %d]^n[Cs-Amelinum.PL]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[0][id]], nazwy_perkow[perk_gracza[1][id]], wytrzymalosc_perku[0][id], wytrzymalosc_perku[1][id], hp);
return PLUGIN_CONTINUE;
}
public PokazReklame(id)
{
id-=ZADANIE_POKAZ_REKLAME;
client_print(id, print_chat, "[COD:MW3] Witaj w Modyfikacji Call of Duty stworzonej przez QTM_Peyote");
client_print(id, print_chat, "[COD:MW3] W celu uzyskania informacji o komendach napisz /pomoc.");
}
public Pomoc(id)
show_menu(id, 1023, "\y/reset\w - resetuje statystyki^n\y/statystyki\w - wyswietla statystyki^n\y/klasa\w - uruchamia menu wyboru klas^n\y/wyrzuc\w - wyrzuca perk^n\y/perk\w - pokazuje opis twojego perku^n\y/klasy\w - pokazuje opisy klas^n\y+use\w - Uzycie umiejetnosci klasy^n\yradio3\w (standardowo C) lub \yuseperk\w - Uzycie perku", -1, "Pomoc");
public UstawSzybkosc(id)
{
id -= id>32? ZADANIE_USTAW_SZYBKOSC: 0;
if(klasa_gracza[id] && !freezetime)
set_pev(id, pev_maxspeed, szybkosc_gracza[id]);
}
public DotykBroni(weapon, id)
{
if(get_pcvar_num(cvar_blokada_broni) < 1)
return HAM_IGNORED;
if(!is_user_connected(id))
return HAM_IGNORED;
new model[23];
pev(weapon, pev_model, model, 22);
if (pev(weapon, pev_owner) == id || containi(model, "w_backpack") != -1)
return HAM_IGNORED;
return HAM_SUPERCEDE;
}
public UstawPerk(id, perk, wartosc, pokaz_info, lp)
{
if(!ilosc_perkow)
return PLUGIN_CONTINUE;
static obroty[33];
if(obroty[id]++ >= 5)
{
obroty[id] = 0;
UstawPerk(id, 0, 0, 0, lp);
return PLUGIN_CONTINUE;
}
perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
if(perk == perk_gracza[!lp][id] && perk)
{
UstawPerk(id, perk, wartosc, pokaz_info, lp);
return PLUGIN_CONTINUE;
}
wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc || wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc;
new ret;
new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[lp][id]], "cod_perk_disabled", FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, perk);
DestroyForward(forward_handle);
perk_gracza[lp][id] = 0;
forward_handle = CreateOneForward(pluginy_perkow[perk], "cod_perk_enabled", FP_CELL, FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, wartosc, perk);
DestroyForward(forward_handle);
if(ret == 4)
{
UstawPerk(id, -1, -1, 1, lp);
return PLUGIN_CONTINUE;
}
ExecuteForward( perk_zmieniony, ret, id, perk, wartosc, lp);
if(ret == 4)
{
UstawPerk(id, -1, -1, 1, lp);
return PLUGIN_CONTINUE;
}
obroty[id] = 0;
if(pokaz_info && perk)
client_print(id, print_chat, "[COD:MW3] Zdobyles %s.", nazwy_perkow[perk]);
perk_gracza[lp][id] = perk;
wartosc_perku_gracza[lp][id] = wartosc;
return PLUGIN_CONTINUE;
}
public UstawDoswiadczenie(id, wartosc)
{
doswiadczenie_gracza[id] = wartosc;
SprawdzPoziom(id);
}
public UstawKlase(id, klasa, zmien)
{
nowa_klasa_gracza[id] = klasa;
if(zmien)
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
}
public UstawTarcze(id, wartosc)
{
if((gracz_ma_tarcze[id] = (wartosc > 0)))
fm_give_item(id, "weapon_shield");
}
public UstawNoktowizor(id, wartosc)
{
if((gracz_ma_noktowizor[id] = (wartosc > 0)))
cs_set_user_nvg(id, 1);
}
public DajBron(id, bron)
{
bonusowe_bronie_gracza[id] |= (1<<bron);
new weaponname[22];
get_weaponname(bron, weaponname, 21);
return fm_give_item(id, weaponname);
}
public WezBron(id, bron)
{
bonusowe_bronie_gracza[id] &= ~(1<<bron);
if((1<<bron) & (bronie_dozwolone | bronie_klasy[get_user_team(id)] | bronie_klasy[klasa_gracza[id]]))
return;
new weaponname[22];
get_weaponname(bron, weaponname, 21);
if((1<<bron) & (1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG))
ZabierzGranat(id, bron);
else
engclient_cmd(id, "drop", weaponname);
}
public UstawBonusoweZdrowie(id, wartosc)
bonusowe_zdrowie_gracza[id] = wartosc;
public UstawBonusowaInteligencje(id, wartosc)
bonusowa_inteligencja_gracza[id] = wartosc;
public UstawBonusowaKondycje(id, wartosc)
bonusowa_kondycja_gracza[id] = wartosc;
public UstawBonusowaWytrzymalosc(id, wartosc)
bonusowa_wytrzymalosc_gracza[id] = wartosc;
public PrzydzielZdrowie(id, wartosc)
{
new max_statystyka = sizeof doswiadczenie_poziomu-1;
wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-zdrowie_gracza[id]);
punkty_gracza[id] -= wartosc;
zdrowie_gracza[id] += wartosc;
}
public PrzydzielInteligencje(id, wartosc)
{
new max_statystyka = sizeof doswiadczenie_poziomu-1;
wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-inteligencja_gracza[id]);
punkty_gracza[id] -= wartosc;
inteligencja_gracza[id] += wartosc;
}
public PrzydzielKondycje(id, wartosc)
{
new max_statystyka = sizeof doswiadczenie_poziomu-1;
wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-kondycja_gracza[id]);
punkty_gracza[id] -= wartosc;
kondycja_gracza[id] += wartosc;
}
public PrzydzielWytrzymalosc(id, wartosc)
{
new max_statystyka = sizeof doswiadczenie_poziomu-1;
wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-wytrzymalosc_gracza[id]);
punkty_gracza[id] -= wartosc;
wytrzymalosc_gracza[id] += wartosc;
}
public PobierzPerk(plugin, params)
{
if(params != 3)
return 0;
new id = get_param(1), lp = get_param(3);
set_param_byref(2, wartosc_perku_gracza[lp][id]);
return perk_gracza[lp][id];
}
public PobierzIloscPerkow()
return ilosc_perkow;
public PobierzNazwePerku(perk, Return[], len)
{
if(perk <= ilosc_perkow)
{
param_convert(2);
copy(Return, len, nazwy_perkow[perk]);
}
}
public PobierzOpisPerku(perk, Return[], len)
{
if(perk <= ilosc_perkow)
{
param_convert(2);
copy(Return, len, opisy_perkow[perk]);
}
}
public PobierzPerkPrzezNazwe(const nazwa[])
{
param_convert(1);
for(new i=1; i <= ilosc_perkow; i++)
if(equal(nazwa, nazwy_perkow[i]))
return i;
return 0;
}
public PobierzDoswiadczeniePoziomu(poziom)
return doswiadczenie_poziomu[poziom];
public PobierzDoswiadczenie(id)
return doswiadczenie_gracza[id];
public PobierzPunkty(id)
return punkty_gracza[id];
public PobierzPoziom(id)
return poziom_gracza[id];
public PobierzZdrowie(id, zdrowie_zdobyte, zdrowie_klasy, zdrowie_bonusowe)
{
new zdrowie;
if(zdrowie_zdobyte)
zdrowie += zdrowie_gracza[id];
if(zdrowie_bonusowe)
zdrowie += bonusowe_zdrowie_gracza[id];
if(zdrowie_klasy)
zdrowie += zdrowie_klas[klasa_gracza[id]];
return zdrowie;
}
public PobierzInteligencje(id, inteligencja_zdobyta, inteligencja_klasy, inteligencja_bonusowa)
{
new inteligencja;
if(inteligencja_zdobyta)
inteligencja += inteligencja_gracza[id];
if(inteligencja_bonusowa)
inteligencja += bonusowa_inteligencja_gracza[id];
if(inteligencja_klasy)
inteligencja += inteligencja_klas[klasa_gracza[id]];
return inteligencja;
}
public PobierzKondycje(id, kondycja_zdobyta, kondycja_klasy, kondycja_bonusowa)
{
new kondycja;
if(kondycja_zdobyta)
kondycja += kondycja_gracza[id];
if(kondycja_bonusowa)
kondycja += bonusowa_kondycja_gracza[id];
if(kondycja_klasy)
kondycja += kondycja_klas[klasa_gracza[id]];
return kondycja;
}
public PobierzWytrzymalosc(id, wytrzymalosc_zdobyta, wytrzymalosc_klasy, wytrzymalosc_bonusowa)
{
new wytrzymalosc;
if(wytrzymalosc_zdobyta)
wytrzymalosc += wytrzymalosc_gracza[id];
if(wytrzymalosc_bonusowa)
wytrzymalosc += bonusowa_wytrzymalosc_gracza[id];
if(wytrzymalosc_klasy)
wytrzymalosc += wytrzymalosc_klas[klasa_gracza[id]];
return wytrzymalosc;
}
public PobierzKlase(id)
return klasa_gracza[id];
public PobierzIloscKlas()
return ilosc_klas;
public PobierzNazweKlasy(klasa, Return[], len)
{
if(klasa <= ilosc_klas)
{
param_convert(2);
copy(Return, len, nazwy_klas[klasa]);
}
}
public PobierzOpisKlasy(klasa, Return[], len)
{
if(klasa <= ilosc_klas)
{
param_convert(2);
copy(Return, len, opisy_klas[klasa]);
}
}
public PobierzKlasePrzezNazwe(const nazwa[])
{
param_convert(1);
for(new i=1; i <= ilosc_klas; i++)
if(equal(nazwa, nazwy_klas[i]))
return i;
return 0;
}
public PobierzZdrowieKlasy(klasa)
{
if(klasa <= ilosc_klas)
return zdrowie_klas[klasa];
return -1;
}
public PobierzInteligencjeKlasy(klasa)
{
if(klasa <= ilosc_klas)
return inteligencja_klas[klasa];
return -1;
}
public PobierzKondycjeKlasy(klasa)
{
if(klasa <= ilosc_klas)
return kondycja_klas[klasa];
return -1;
}
public PobierzWytrzymaloscKlasy(klasa)
{
if(klasa <= ilosc_klas)
return wytrzymalosc_klas[klasa];
return -1;
}
public ZadajObrazenia(atakujacy, ofiara, Float:obrazenia, Float:czynnik_inteligencji, byt_uszkadzajacy, dodatkowe_flagi)
ExecuteHam(Ham_TakeDamage, ofiara, byt_uszkadzajacy, atakujacy, obrazenia+PobierzInteligencje(atakujacy, 1, 1, 1)*czynnik_inteligencji, /*1<<31 |*/ dodatkowe_flagi);
public ZarejestrujPerk(plugin, params)
{
if(params != 4)
return PLUGIN_CONTINUE;
if(++ilosc_perkow > MAX_ILOSC_PERKOW)
return -1;
pluginy_perkow[ilosc_perkow] = plugin;
get_string(1, nazwy_perkow[ilosc_perkow], MAX_WIELKOSC_NAZWY);
get_string(2, opisy_perkow[ilosc_perkow], MAX_WIELKOSC_OPISU);
min_wartosci_perkow[ilosc_perkow] = get_param(3);
max_wartosci_perkow[ilosc_perkow] = get_param(4);
return ilosc_perkow;
}
public ZarejestrujKlase(plugin, params)
{
if(params != 8)
return PLUGIN_CONTINUE;
if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;
pluginy_klas[ilosc_klas] = plugin;
get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
bronie_klasy[ilosc_klas] = get_param(3);
zdrowie_klas[ilosc_klas] = get_param(4);
kondycja_klas[ilosc_klas] = get_param(5);
inteligencja_klas[ilosc_klas] = get_param(6);
wytrzymalosc_klas[ilosc_klas] = get_param(7);
get_string(8, frakcja_klas[ilosc_klas], MAX_WIELKOSC_FRAKCJA);
return ilosc_klas;
}
public ZabierzGranat(id, grenade)
{
id -= (id > 32)? ZADANIE_ZABIERZ_GRANAT: 0;
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
if(!grenade)
grenade = get_user_weapon(id);
static offset;
switch(grenade)
{
case CSW_FLASHBANG: offset = 387;
case CSW_HEGRENADE: offset = 388;
case CSW_SMOKEGRENADE: offset = 389;
default: return 0;
}
set_pdata_int(id, offset, 0, 5);
return PLUGIN_CONTINUE;
}
stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
message_begin( MSG_ONE, MsgScreenfade,{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 fm_give_item(index, const item[]) {
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0;
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item));
if (!pev_valid(ent))
return 0;
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if (pev(ent, pev_solid) != save)
return ent;
engfunc(EngFunc_RemoveEntity, ent);
return -1;
}
public BlokujKomende()
return PLUGIN_HANDLED;
Moje Prace:
[CoD Nowy] Dodatkowy Exp na wybranych mapach > http://cs-24h.eu/index.php?/topic/21-dodatkowy-exp-na-wybranych-mapach/
[Perk] KameHameHa > http://cs-24h.eu/index.php?/topic/108-kamehameha/#entry408
[Perk] Handlarz Smierci > http://cs-24h.eu/index.php?/topic/109-handlarz-smierci/
#6
Gość_21977_*
-
- Gość
Reputacja: 0
Offline
Napisano 19.02.2013 18:16
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,

Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych
Odpowiedz na cytowane posty Wyczyść