L 03/07/2015 - 09:59:43: Start of error session. L 03/07/2015 - 09:59:43: Info (map "de_aztec_mini") (file "addons/amxmodx/logs/error_20150307.log") L 03/07/2015 - 09:59:43: Function is not present (function "WyszkolenieSanitarne") (plugin "codclass_szeregowy.amxx") L 03/07/2015 - 09:59:43: [AMXX] Run time error 10 (plugin "codclass_szeregowy.amxx") (native "set_task") - debug not enabled! L 03/07/2015 - 09:59:43: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 03/07/2015 - 11:20:22: Start of error session. L 03/07/2015 - 11:20:22: Info (map "cs_assault") (file "addons/amxmodx/logs/error_20150307.log") L 03/07/2015 - 11:20:22: Function is not present (function "WyszkolenieSanitarne") (plugin "codclass_szeregowy.amxx") L 03/07/2015 - 11:20:22: [AMXX] Run time error 10 (plugin "codclass_szeregowy.amxx") (native "set_task") - debug not enabled! L 03/07/2015 - 11:20:22: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).a tutaj SMA klasy.
Spoiler
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <ColorChat> #include <codmod> #include <cstrike> #include <engine> #include <hamsandwich> #include <fakemeta> #include <fakemeta_util> #include <fun> #define DMG_BULLET (1<<1) #define SZYBKOSC_GRACZA(%1) (250.0+cod_get_user_trim(%1, 1, 1, 1)*1.3) #define TASK_DAJHP 64 new CT_Skins[4][] = {"sas","gsg9","urban","gign"}; new Terro_Skins[4][] = {"arctic","leet","guerilla","terror"} new const max_clip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 }; new sprite_white, sprite_blast; new cod_doswiadczenie_za_zabojstwo, g_msgHostageAdd, g_msgHostageDel; new bool:freezetime = true; new const nazwa[] = "Szeregowy"; new const opis[] = "Co runde dostaje losowa bron oraz umiejetnosc"; new const bronie = 1<<CSW_KNIFE; new const zdrowie = 25; new const kondycja = 25; new const inteligencja = 10; new const wytrzymalosc = 0; new bool:ma_klase[33]; new jaka_bron[33], jaka_bron2[33], jaka_umiejetnosc[33], wartosc_umiejetnosci[33]; new poprzednia_rakieta_gracza[33]; public plugin_init() { register_plugin(nazwa, "1.0", "manipers"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); cod_doswiadczenie_za_zabojstwo = register_cvar("cod_killxp", "0"); RegisterHam(Ham_Spawn, "player", "Losowanie"); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); register_event("CurWeapon","CurWeapon","be", "1=1"); register_forward(FM_PlayerPreThink, "PreThink"); register_forward(FM_UpdateClientData, "UpdateClientData", 1); register_event("DeathMsg", "DeathMsg", "ade"); register_forward(FM_TraceLine, "TraceLine"); register_forward(FM_CmdStart, "CmdStart"); register_event("HLTV", "NowaRunda", "a", "1=0", "2=0"); register_logevent("PoczatekRundy", 2, "1=Round_Start"); register_think("medkit","MedkitThink"); register_touch("rocket", "*" , "DotykRakiety"); register_touch("mine", "player", "DotykMiny"); g_msgHostageAdd = get_user_msgid("HostagePos"); g_msgHostageDel = get_user_msgid("HostageK"); set_task (2.0, "radar_scan",_,_,_,"b"); } public plugin_precache() { sprite_white = precache_model("sprites/white.spr"); precache_model("models/w_medkit.mdl"); sprite_blast = precache_model("sprites/dexplo.spr"); precache_model("models/rpgrocket.mdl"); precache_model("models/QTM_CodMod/mine.mdl"); } public cod_class_enabled(id) { ma_klase[id] = true; BroniUmiejetnosc(id); } public cod_class_disabled(id) { cod_take_weapon(id, jaka_bron[id]); cod_take_weapon(id, jaka_bron2[id]); ma_klase[id] = false; Koniec(id); } public Koniec(id) { if(jaka_umiejetnosc[id] == 1) ZmienUbranie(id, 1); if(jaka_umiejetnosc[id] == 9) { set_user_footsteps(id, 0); set_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 255); } jaka_umiejetnosc[id] = 0; wartosc_umiejetnosci[id] = 0; } public cod_class_skill_used(id) { if(!wartosc_umiejetnosci[id] && jaka_umiejetnosc[id] == 2) { client_print(id, print_center, "Apteczki sie skonczyly!"); return PLUGIN_CONTINUE; } if(!wartosc_umiejetnosci[id] && jaka_umiejetnosc[id] == 4) { client_print(id, print_center, "Rakiety sie skonczyly!"); return PLUGIN_CONTINUE; } if(!wartosc_umiejetnosci[id] && jaka_umiejetnosc[id] == 6) { client_print(id, print_center, "Miny sie skonczyly!"); return PLUGIN_CONTINUE; } if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime() && jaka_umiejetnosc[id] == 4) { client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!"); return PLUGIN_CONTINUE; } if(jaka_umiejetnosc[id] == 2 && is_user_alive(id)) { wartosc_umiejetnosci[id]--; new Float:origin[3]; entity_get_vector(id, EV_VEC_origin, origin); new ent = create_entity("info_target"); entity_set_string(ent, EV_SZ_classname, "medkit"); entity_set_edict(ent, EV_ENT_owner, id); entity_set_int(ent, EV_INT_solid, SOLID_NOT); entity_set_vector(ent, EV_VEC_origin, origin); entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1); entity_set_model(ent, "models/w_medkit.mdl"); set_rendering(ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255); drop_to_floor(ent); entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1); } if(jaka_umiejetnosc[id] == 4 && is_user_alive(id)) { wartosc_umiejetnosci[id]--; poprzednia_rakieta_gracza[id] = floatround(get_gametime()); new Float: Origin[3], Float: vAngle[3], Float: Velocity[3]; entity_get_vector(id, EV_VEC_v_angle, vAngle); entity_get_vector(id, EV_VEC_origin , Origin); new Ent = create_entity("info_target"); entity_set_string(Ent, EV_SZ_classname, "rocket"); entity_set_model(Ent, "models/rpgrocket.mdl"); vAngle[0] *= -1.0; entity_set_origin(Ent, Origin); entity_set_vector(Ent, EV_VEC_angles, vAngle); entity_set_int(Ent, EV_INT_effects, 2); entity_set_int(Ent, EV_INT_solid, SOLID_BBOX); entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY); entity_set_edict(Ent, EV_ENT_owner, id); VelocityByAim(id, 1000 , Velocity); entity_set_vector(Ent, EV_VEC_velocity ,Velocity); message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_BEAMFOLLOW); write_short(Ent); write_short(sprite_blast); write_byte(10); write_byte(5); write_byte(205); write_byte(237); write_byte(163); write_byte(200); message_end(); } if(jaka_umiejetnosc[id] == 6 && is_user_alive(id)) { new Float:vfOrigin[3]; new name [32]; get_user_name(id, name, 31); pev(id, pev_origin, vfOrigin); if(czyDuzoMiejsca(vfOrigin, 150.0)) { wartosc_umiejetnosci[id]--; new Float:origin[3]; entity_get_vector(id, EV_VEC_origin, origin); new ent = create_entity("info_target"); entity_set_string(ent ,EV_SZ_classname, "mine"); entity_set_edict(ent ,EV_ENT_owner, id); entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS); entity_set_origin(ent, origin); entity_set_int(ent, EV_INT_solid, SOLID_BBOX); entity_set_model(ent, "models/QTM_CodMod/mine.mdl"); entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0}); drop_to_floor(ent); set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50); } else client_print(id, print_chat, "Nie uzywamy tego w malych pomieszczeniach!"); } return PLUGIN_CONTINUE; } public Losowanie(id) { if(ma_klase[id]) { Koniec(id); cod_take_weapon(id, jaka_bron[id]); cod_take_weapon(id, jaka_bron2[id]); BroniUmiejetnosc(id); } } public BroniUmiejetnosc(id) { if(ma_klase[id]) { Losuj_Bron(id); Losuj_Bron2(id); Losuj_Umiejetnosc(id); } } public Losuj_Bron(id) { if(ma_klase[id]) { new rand rand = random_num(0, 16) switch(rand) { case 0: { cod_give_weapon(id, CSW_AK47); cs_set_user_bpammo(id, CSW_AK47, 90); jaka_bron[id] = CSW_AK47; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales AK47.", nazwa); } case 1: { cod_give_weapon(id, CSW_M4A1); cs_set_user_bpammo(id, CSW_M4A1, 90); jaka_bron[id] = CSW_M4A1; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales M4A1.", nazwa); } case 2: { cod_give_weapon(id, CSW_AWP); cs_set_user_bpammo(id, CSW_AWP, 30); jaka_bron[id] = CSW_AWP; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales AWP.", nazwa); wartosc_umiejetnosci[id] = random_num(2, 3); } case 3: { cod_give_weapon(id, CSW_AUG); cs_set_user_bpammo(id, CSW_AUG, 90); jaka_bron[id] = CSW_AUG; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales AUG.", nazwa); } case 4: { cod_give_weapon(id, CSW_FAMAS); cs_set_user_bpammo(id, CSW_FAMAS, 90); jaka_bron[id] = CSW_FAMAS; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales FAMAS.", nazwa); } case 5: { cod_give_weapon(id, CSW_G3SG1); cs_set_user_bpammo(id, CSW_G3SG1, 90); jaka_bron[id] = CSW_G3SG1; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales G3SG1.", nazwa); } case 6: { cod_give_weapon(id, CSW_GALIL); cs_set_user_bpammo(id, CSW_GALIL, 90); jaka_bron[id] = CSW_GALIL; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales GALIL.", nazwa); } case 7: { cod_give_weapon(id, CSW_M249); cs_set_user_bpammo(id, CSW_M249, 120); jaka_bron[id] = CSW_M249; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales M249.", nazwa); } case 8: { cod_give_weapon(id, CSW_M3); cs_set_user_bpammo(id, CSW_M3, 30); jaka_bron[id] = CSW_M3; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales M3.", nazwa); } case 9: { cod_give_weapon(id, CSW_MAC10); cs_set_user_bpammo(id, CSW_MAC10, 90); jaka_bron[id] = CSW_MAC10; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales MAC10.", nazwa); } case 10: { cod_give_weapon(id, CSW_MP5NAVY); cs_set_user_bpammo(id, CSW_MP5NAVY, 90); jaka_bron[id] = CSW_MP5NAVY; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales MP5NAVY.", nazwa); } case 11: { cod_give_weapon(id, CSW_P90); cs_set_user_bpammo(id, CSW_P90, 90); jaka_bron[id] = CSW_P90; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales P90.", nazwa); } case 12: { cod_give_weapon(id, CSW_SG550); cs_set_user_bpammo(id, CSW_SG550, 90); jaka_bron[id] = CSW_SG550; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales SG550.", nazwa); } case 13: { cod_give_weapon(id, CSW_SG552); cs_set_user_bpammo(id, CSW_SG552, 90); jaka_bron[id] = CSW_SG552; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales SG552.", nazwa); } case 14: { cod_give_weapon(id, CSW_TMP); cs_set_user_bpammo(id, CSW_TMP, 90); jaka_bron[id] = CSW_TMP; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales TMP.", nazwa); } case 15: { cod_give_weapon(id, CSW_UMP45); cs_set_user_bpammo(id, CSW_UMP45, 90); jaka_bron[id] = CSW_UMP45; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales UMP45.", nazwa); } case 16: { cod_give_weapon(id, CSW_XM1014); cs_set_user_bpammo(id, CSW_XM1014, 30); jaka_bron[id] = CSW_XM1014; ColorChat(id, GREEN,"[COD:MW][%s]^x01 Wylosowales XM1014.", nazwa); } } } } public Losuj_Bron2(id) { if(ma_klase[id]) { new rand rand = random_num(0, 5) switch(rand) { case 0: { cod_give_weapon(id, CSW_DEAGLE); cs_set_user_bpammo(id, CSW_DEAGLE, 30); jaka_bron2[id] = CSW_DEAGLE ColorChat(id, GREEN,"[Pistolety][%s]^x01 Wylosowales DEAGLE.", nazwa); } case 1: { cod_give_weapon(id, CSW_ELITE); cs_set_user_bpammo(id, CSW_ELITE, 90); jaka_bron2[id] = CSW_ELITE ColorChat(id, GREEN,"[Pistolety][%s]^x01 Wylosowales ELITE.", nazwa); } case 2: { cod_give_weapon(id, CSW_FIVESEVEN); cs_set_user_bpammo(id, CSW_FIVESEVEN, 90); jaka_bron2[id] = CSW_FIVESEVEN ColorChat(id, GREEN,"[Pistolety][%s]^x01 Wylosowales FIVESEVEN.", nazwa); } case 3: { cod_give_weapon(id, CSW_GLOCK18); cs_set_user_bpammo(id, CSW_GLOCK18, 90); jaka_bron2[id] = CSW_GLOCK18 ColorChat(id, GREEN,"[Pistolety][%s]^x01 Wylosowales GLOCK18.", nazwa); } case 4: { cod_give_weapon(id, CSW_P228); cs_set_user_bpammo(id, CSW_P228, 90); jaka_bron2[id] = CSW_P228 ColorChat(id, GREEN,"[Pistolety][%s]^x01 Wylosowales P228.", nazwa); } case 5: { cod_give_weapon(id, CSW_USP); cs_set_user_bpammo(id, CSW_USP, 90); jaka_bron2[id] = CSW_USP ColorChat(id, GREEN,"[Pistolety][%s]^x01 Wylosowales USP.", nazwa); } } } } public Losuj_Umiejetnosc(id) { if(ma_klase[id] && !jaka_umiejetnosc[id]) { new rand rand = random_num(0, 15) switch(rand) { case 0: { jaka_umiejetnosc[id] = 1; wartosc_umiejetnosci[id] = 0; ZmienUbranie(id, 0); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales Ubranie Wroga.", nazwa); } case 1: { jaka_umiejetnosc[id] = 2; wartosc_umiejetnosci[id] = random_num(1, 3); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales %i %s.", nazwa, wartosc_umiejetnosci[id], dkoncowka(wartosc_umiejetnosci[id], "Aptecz", "ek", "ke", "ki")); } case 2: { jaka_umiejetnosc[id] = 3; wartosc_umiejetnosci[id] = random_num(20, 50); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales %i%% Wiecej DMG z broni.", nazwa, wartosc_umiejetnosci[id]); } case 3: { jaka_umiejetnosc[id] = 4; wartosc_umiejetnosci[id] = random_num(1, 2); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales %i %s.", nazwa, wartosc_umiejetnosci[id], dkoncowka(wartosc_umiejetnosci[id], "Rakie", "t", "te", "ty")); } case 4: { jaka_umiejetnosc[id] = 5; wartosc_umiejetnosci[id] = random_num(50, 100); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales %i%% Expa za killa.", nazwa, wartosc_umiejetnosci[id]); } case 5: { jaka_umiejetnosc[id] = 6; wartosc_umiejetnosci[id] = random_num(1, 3); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales %i %s.", nazwa, wartosc_umiejetnosci[id], dkoncowka(wartosc_umiejetnosci[id], "Min", "", "e", "y")); } case 6: { jaka_umiejetnosc[id] = 7; ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales No Recoil.", nazwa); } case 7: { jaka_umiejetnosc[id] = 8; ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales Widzenie wrogow na radarze.", nazwa); } case 8: { jaka_umiejetnosc[id] = 9; set_user_footsteps(id, 1); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales Ciche kroki oraz zmienna widzialnosc co 2 sek.", nazwa); } case 9: { jaka_umiejetnosc[id] = 10; ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales Nieskonczonosc Ammo.", nazwa); } case 10: { jaka_umiejetnosc[id] = 11; ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales Natychmiastowe zabicie z noza, Wiekszy speed na nozu", nazwa, wartosc_umiejetnosci[id]); } case 11: { jaka_umiejetnosc[id] = 12; wartosc_umiejetnosci[id] = random_num(5, 15); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales %i DMG wiecej.", nazwa, wartosc_umiejetnosci[id]); } case 12: { jaka_umiejetnosc[id] = 13; wartosc_umiejetnosci[id] = random_num(10, 15); set_task(10.0, "DodajHPTask", id+TASK_DAJHP); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Wylosowales Co 10 sek %i HP.", nazwa, wartosc_umiejetnosci[id]); } case 13: { jaka_umiejetnosc[id] = 14; ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Jestes odporny na strzal w glowe.", nazwa); } case 14: { jaka_umiejetnosc[id] = 15; ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 Natychmiastowe przeladowywanie broni.", nazwa); } case 15: { jaka_umiejetnosc[id] = 16; wartosc_umiejetnosci[id] = random_num(6, 10); ColorChat(id, GREEN,"[Umiejetnosc][%s]^x01 1/%i szans na trafienie HeadShoota.", nazwa, wartosc_umiejetnosci[id]); } } } } public ZmienUbranie(id, reset) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(reset) cs_reset_user_model(id); else { new num = random_num(0,3); cs_set_user_model(id, (cs_get_user_team(id) == CS_TEAM_T)? CT_Skins[num]: Terro_Skins[num]); } return PLUGIN_CONTINUE; } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_klase[idattacker]) return HAM_IGNORED; new Float:DMG = wartosc_umiejetnosci[idattacker]*0.01; if(jaka_umiejetnosc[idattacker] == 3 && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, damage*DMG, 0.0, idinflictor, damagebits); if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0 && jaka_umiejetnosc[idattacker] == 11) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); if(jaka_umiejetnosc[idattacker] == 12 && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, wartosc_umiejetnosci[idattacker]+0.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; } public CurWeapon(id) { if(!is_user_connected(id)) return; if(!ma_klase[id]) return; if(jaka_umiejetnosc[id] == 10) set_user_clip(id, 2); if(jaka_umiejetnosc[id] == 11 && !freezetime) { if(get_user_weapon(id) != CSW_KNIFE) set_pev(id, pev_maxspeed, SZYBKOSC_GRACZA(id)); else set_pev(id, pev_maxspeed, SZYBKOSC_GRACZA(id)+50); } } public DeathMsg() { new killer = read_data(1); //new victim = read_data(2); new expkill = get_pcvar_num(cod_doswiadczenie_za_zabojstwo); if(!is_user_connected(killer)) return PLUGIN_CONTINUE; if(ma_klase[killer] && jaka_umiejetnosc[killer] == 5) { new exp = (expkill*wartosc_umiejetnosci[killer])/100; cod_set_user_xp(killer, cod_get_user_xp(killer)+exp); } return PLUGIN_CONTINUE; } public PreThink(id) { if(ma_klase[id] && jaka_umiejetnosc[id] == 7) set_pev(id, pev_punchangle, {0.0,0.0,0.0}) } public UpdateClientData(id, sw, cd_handle) { if(ma_klase[id] && jaka_umiejetnosc[id] == 7) set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0}) } public radar_scan() { new PlayerCoords[3]; for (new id=1; id<=32; id++) { if((!is_user_alive(id)) || (!ma_klase[id])) continue; if(jaka_umiejetnosc[id] == 9) set_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, random_num(0, 255)); if(jaka_umiejetnosc[id] != 8) continue; for(new i=1;i<=32;i++) { if(!is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue; get_user_origin(i, PlayerCoords) message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id) write_byte(id) write_byte(i) write_coord(PlayerCoords[0]) write_coord(PlayerCoords[1]) write_coord(PlayerCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id) write_byte(i) message_end() } } } public DodajHPTask(id) { id -= TASK_DAJHP; if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(ma_klase[id] && jaka_umiejetnosc[id] == 13) { set_task(10.0, "WyszkolenieSanitarne", id+TASK_DAJHP); if(is_user_alive(id)) { new cur_health = get_user_health(id); new max_health = 100+cod_get_user_health(id); new new_health = cur_health+wartosc_umiejetnosci[id]<max_health? cur_health+wartosc_umiejetnosci[id]: max_health; set_user_health(id, new_health); } } return PLUGIN_CONTINUE; } public TraceLine(Float:start[3], Float:end[3], conditions, id, trace) { new iHit = get_tr2(trace, TR_pHit); if(!is_user_connected(iHit)) return FMRES_IGNORED; if(!ma_klase[iHit]) return FMRES_IGNORED; if(jaka_umiejetnosc[iHit] == 14 && get_tr2(trace, TR_iHitgroup) == HIT_HEAD) set_tr2(trace, TR_iHitgroup, 8); if(jaka_umiejetnosc[iHit] == 16 && random_num(1, wartosc_umiejetnosci[iHit]) == 1) set_tr2(trace, TR_iHitgroup, HIT_HEAD); return FMRES_IGNORED; } public CmdStart(id, uc_handle) { if(!is_user_alive(id) || !ma_klase[id]) return FMRES_IGNORED; if(jaka_umiejetnosc[id] != 15) return FMRES_IGNORED; new buttons = get_uc(uc_handle, UC_Buttons); new oldbuttons = pev(id, pev_oldbuttons); new clip, ammo, weapon = get_user_weapon(id, clip, ammo); if(max_clip[weapon] == -1 || !ammo) return FMRES_IGNORED; if((buttons & IN_RELOAD && !(oldbuttons & IN_RELOAD) && !(buttons & IN_ATTACK)) || !clip) { cs_set_user_bpammo(id, weapon, ammo-(max_clip[weapon]-clip)); new new_ammo = (max_clip[weapon] > ammo)? clip+ammo: max_clip[weapon] set_user_clip(id, new_ammo); } return FMRES_IGNORED; } public MedkitThink(ent) { if(!is_valid_ent(ent)) return PLUGIN_CONTINUE; new id = entity_get_edict(ent, EV_ENT_owner); new dist = 300; new Float:heal = 5.0+(cod_get_user_intelligence(id)*0.5); if (entity_get_edict(ent, EV_ENT_euser2) == 1) { new Float:forigin[3]; entity_get_vector(ent, EV_VEC_origin, forigin); new entlist[33]; new numfound = find_sphere_class(0,"player", float(dist),entlist, 32,forigin); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (get_user_team(pid) != get_user_team(id)) continue; new Float:maksymalne_zdrowie = 100.0+cod_get_user_health(pid); new Float:zdrowie = get_user_health(pid)*1.0; new Float:nowe_zdrowie = (zdrowie+heal<maksymalne_zdrowie)?zdrowie+heal:maksymalne_zdrowie; if(is_user_alive(pid)) entity_set_float(pid, EV_FL_health, nowe_zdrowie); } entity_set_edict(ent, EV_ENT_euser2, 0); entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5); return PLUGIN_CONTINUE; } if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id)) { remove_entity(ent); return PLUGIN_CONTINUE; } if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time()) set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100); new Float:forigin[3]; entity_get_vector(ent, EV_VEC_origin, forigin); new iOrigin[3]; for(new i=0;i<3;i++) iOrigin[i] = floatround(forigin[i]); message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin ); write_byte( TE_BEAMCYLINDER ); write_coord( iOrigin[0] ); write_coord( iOrigin[1] ); write_coord( iOrigin[2] ); write_coord( iOrigin[0] ); write_coord( iOrigin[1] + dist ); write_coord( iOrigin[2] + dist ); write_short( sprite_white ); write_byte( 0 ); // startframe write_byte( 0 ); // framerate write_byte( 10 ); // life write_byte( 10 ); // width write_byte( 255 ); // noise write_byte( 255 ); // r, g, b write_byte( 100 );// r, g, b write_byte( 100 ); // r, g, b write_byte( 128 ); // brightness write_byte( 0 ); // speed message_end(); entity_set_edict(ent, EV_ENT_euser2 ,1); entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5); return PLUGIN_CONTINUE; } public DotykRakiety(ent) { if(!is_valid_ent(ent)) return; new attacker = entity_get_edict(ent, EV_ENT_owner); new Float:fOrigin[3]; entity_get_vector(ent, EV_VEC_origin, fOrigin); new iOrigin[3]; for(new i=0;i<3;i++) iOrigin[i] = floatround(fOrigin[i]); message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(sprite_blast); write_byte(32); write_byte(20); write_byte(0); message_end(); new entlist[33]; new numfound = find_sphere_class(ent, "player", 190.0, entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid)) continue; cod_inflict_damage(attacker, pid, 55.0, 0.5, ent, (1<<24)); } remove_entity(ent); } public NowaRunda() freezetime = true; public PoczatekRundy() freezetime = false; public DotykMiny(ent, id) { if(!is_valid_ent(ent)) return; new attacker = entity_get_edict(ent, EV_ENT_owner); if (get_user_team(attacker) != get_user_team(id)) { new Float:fOrigin[3]; entity_get_vector( ent, EV_VEC_origin, fOrigin); new iOrigin[3]; for(new i=0;i<3;i++) iOrigin[i] = floatround(fOrigin[i]); message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(sprite_blast); write_byte(32); write_byte(20); write_byte(0); message_end(); new entlist[33]; new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid)) continue; cod_inflict_damage(attacker, pid, 70.0, 0.8, ent, (1<<24)); } remove_entity(ent); } } czyDuzoMiejsca(const Float:vfPunkt[3], Float:odleglosc) { new Float:vfStart[3], Float:vfEnd[3]; vfStart[0] = vfEnd[0] = vfPunkt[0]; vfStart[1] = vfEnd[1] = vfPunkt[1]; vfStart[2] = vfEnd[2] = vfPunkt[2]; //1 vfStart[0] += odleglosc; vfEnd[0] -= odleglosc; if(engfunc( EngFunc_PointContents, vfStart ) != CONTENTS_EMPTY && engfunc( EngFunc_PointContents, vfEnd ) != CONTENTS_EMPTY) return 0; //2 vfStart[0] -= odleglosc; vfEnd[0] += odleglosc; vfStart[1] += odleglosc; vfEnd[1] -= odleglosc; if(engfunc( EngFunc_PointContents, vfStart ) != CONTENTS_EMPTY && engfunc( EngFunc_PointContents, vfEnd ) != CONTENTS_EMPTY) return 0; return 1; } stock set_user_clip(id, ammo) { new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _); get_weaponname(weapon, weaponname, 31); while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0) if (pev(weaponid, pev_owner) == id) { set_pdata_int(weaponid, 51, ammo, 4); return weaponid; } return 0; } stock dkoncowka(ile, czlon[], zero[], jeden[], dwa[]) { new str[1024]; ile=abs(ile); if(ile==1) { format(str,1023,"%s%s",czlon,jeden); return str; } if((ile%10==2 || ile%10==3 || ile%10==4) && (!(ile%100==12 || ile%100==13 || ile%100==14))) { format(str,1023,"%s%s",czlon,dwa); return str; } format(str,1023,"%s%s",czlon,zero); return str; }