

Стаж: 18 лет
Сообщений: 987
Благодарностей: 529
Полезность: 1050
|
Заметил,что когда нет на Сервере игроков,и ты заходишь за команду Террористов,то тебя постоянно убивает игра. А за КТ - всё впорядке. Прошу помощи посмотреть,что к чему. Спасибо На моё мнение - это гдето здесь? Код:
/////////////////////////////////////////////////////////////////// // Death Event 2 // /////////////////////////////////////////////////////////////////
public event_death_msg() { new zrespawn = read_data(2) set_pev(zrespawn, pev_effects, EF_NODRAW) if(get_user_team(zrespawn) == 0) { if(++g_respawn_count[zrespawn] > get_pcvar_num(zombie_respawns)) { return } set_task(1.0, "zombie_respawner", zrespawn) } }
/////////////////////////////////////////////////////////////////// // Survivor Respawn // /////////////////////////////////////////////////////////////////
public ham_killed_respawn(id) { if(is_user_connected(id) && cs_get_user_team(id) == CS_TEAM_CT) { g_respawn_delay[id] = 10 survivor_respawner(id) } }
public survivor_respawner(id) { if(is_user_alive(id) || !is_user_connected(id)) return PLUGIN_CONTINUE if(g_respawn_delay[id] > 0) { g_respawn_delay[id]-- set_task(1.0, "survivor_respawner", id) } else ExecuteHamB(Ham_CS_RoundRespawn, id) return PLUGIN_CONTINUE }
public join_spawn() { new player_spawn = read_data(1) static user_team[32] read_data(2, user_team, 31) if(!is_user_connected(player_spawn)) return PLUGIN_CONTINUE switch(user_team[0]) { case 'C': set_task(1.0, "survivor_respawner", player_spawn) //case 'T': client_print(player_spawn, print_chat, "Zombies cant use this respawn method!") //case 'S': client_print(player_spawn, print_chat, "Spectators cant use this respawn method!") } return PLUGIN_CONTINUE }
/////////////////////////////////////////////////////////////////// // CSDM Respawn // /////////////////////////////////////////////////////////////////
public zombie_respawner(zrespawn) { new cts[32], ts[32], ctsnum, tsnum new CsTeams:team for(new i=1; i<=g_maxplayers; i++) { if(!is_user_alive(i)) { continue } team = cs_get_user_team(i) if(team == CS_TEAM_T) { ts[tsnum++] = i } else if(team == CS_TEAM_T) { cts[ctsnum++] = i } } if(tsnum > 1) { switch(get_pcvar_num(zombie_spawnpoint)) { case 1: { ExecuteHamB(Ham_CS_RoundRespawn, zrespawn) set_task(0.1, "respawn_effect", zrespawn) strip_user_weapons(zrespawn) give_item(zrespawn, "") set_user_godmode(zrespawn, 1) set_task(5.0, "remove_zombie_protection", zrespawn) } case 2: { pev(zrespawn, pev_origin, g_vec_last_origin[zrespawn]) ExecuteHamB(Ham_CS_RoundRespawn, zrespawn) engfunc(EngFunc_SetOrigin, zrespawn, g_vec_last_origin[zrespawn]) set_task(0.1, "respawn_effect", zrespawn) strip_user_weapons(zrespawn) give_item(zrespawn, "") set_user_godmode(zrespawn, 1) set_task(5.0, "remove_zombie_protection", zrespawn) } } } } Код:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <engine> #include <fakemeta> #include <fun> #include <hamsandwich>
#include <ColorChat>
#if AMXX_VERSION_NUM < 183 #include < dhudmessage > #endif
/////////////////////////////////////////////////////////////////// // Offsets // /////////////////////////////////////////////////////////////////
#define REMOVE_OBJECTIVES (1<<0 | 1<<2 | 1<<3 | 1<<4) #define ZOMBIE_OBJECTIVES "zombie_objectives"
/////////////////////////////////////////////////////////////////// // Cvars // /////////////////////////////////////////////////////////////////
new zombie_knife, zombie_maxslots, zombie_effect, zombie_level, zombie_respawns, survivor_classes, level1_respawns, level1_health, level1_maxspeed, level1_bosshp, level1_bossmaxspeed, level2_respawns, zombie_spawnpoint, level2_health, level2_maxspeed, level2_bosshp, level2_bossmaxspeed, level3_respawns, level3_health, level3_maxspeed, level3_bosshp, level3_bossmaxspeed, level4_respawns, level4_health, level4_maxspeed, level4_bosshp, level4_bossmaxspeed, level5_respawns, level5_health, level5_maxspeed, level5_bosshp, level5_bossmaxspeed, level6_respawns, survivor_weaponkit, level6_health, level6_maxspeed, level6_bosshp, level6_bossmaxspeed, level7_respawns, level7_health, level7_maxspeed, level7_bosshp, level7_bossmaxspeed, level8_respawns, level8_health, level8_maxspeed, level8_bosshp, level8_bossmaxspeed, level9_respawns, level9_health, level9_maxspeed, level9_bosshp, level9_bossmaxspeed, level10_respawns, level10_health, level10_maxspeed, level10_bosshp, level10_bossmaxspeed
new gPluginMode; new bool: g_bChoose[33];
/////////////////////////////////////////////////////////////////// // Models // /////////////////////////////////////////////////////////////////
new const ZOMBIE_MODEL1[] = "zmh_1" new const ZOMBIE_MODEL2[] = "zmh_2" new const ZOMBIE_MODEL3[] = "zmh_3"
/////////////////////////////////////////////////////////////////// // Global Variables // /////////////////////////////////////////////////////////////////
new g_has_custom_model[33], g_player_model[33][32], g_zombie[33], g_respawn_count[33], g_player_class[33], g_zombie_class[33], g_boss_class[33], g_maxplayers, g_boss_sprite, g_screen_shake, g_hide_weapon, g_pcvar_no_objectives, g_respawn_delay[33]
new g_iMaxPlayers; new Float:g_models_target_time new Float:g_roundstart_time new Float:g_spawn_vec[60][3] new Float:g_spawn_angle[60][3] new Float:g_spawn_v_angle[60][3] new Float:g_vec_last_origin[33][3]
new bool:g_first_spawn[33]
new const g_objective_ents[][] = { "func_bomb_target", "info_bomb_target", "hostage_entity", "monster_scientist", "func_hostage_rescue", "info_hostage_rescue", "info_vip_start", "func_vip_safetyzone", "func_escapezone" } new const g_objective_type[] = { (1<<3), (1<<3), (1<<2), (1<<2), (1<<2), (1<<2), (1<<0), (1<<0), (1<<4) } new const bool:g_objective_prim[] = { true, true, true, false, false, false, false, true, true }
new g_no_objectives = REMOVE_OBJECTIVES new g_total_spawn = 0
/////////////////////////////////////////////////////////////////// // Downloads // /////////////////////////////////////////////////////////////////
new const skies[][] = { "mandaris", "bromene", "space", "lackofoxygen", "3dm747", "cult2", "LMmnts_1", "nebula3_", "vr_" }
public plugin_precache() { precache_sound("jurassic_park/dinosaurs_sound.mp3") precache_sound("jurassic_park/predators_sound.mp3") precache_sound("jurassic_park/rev_dino_1.wav") precache_sound("jurassic_park/boss_dinosaurs_sound.mp3") precache_sound("jurassic_park/zvuki_lesa.mp3") precache_model("models/player/zmh_1/zmh_1.mdl") precache_model("models/player/zmh_2/zmh_2.mdl") precache_model("models/player/zmh_3/zmh_3.mdl")
precache_generic ( "gfx/env/mandarisrt.tga" ) precache_generic ( "gfx/env/mandarislf.tga" ) precache_generic ( "gfx/env/mandarisft.tga" ) precache_generic ( "gfx/env/mandarisdn.tga" ) precache_generic ( "gfx/env/mandarisbk.tga" ) precache_generic ( "gfx/env/mandarisup.tga" )
precache_generic ( "gfx/env/bromenert.tga" ) precache_generic ( "gfx/env/bromenelf.tga" ) precache_generic ( "gfx/env/bromeneft.tga" ) precache_generic ( "gfx/env/bromenedn.tga" ) precache_generic ( "gfx/env/bromenebk.tga" ) precache_generic ( "gfx/env/bromeneup.tga" )
precache_generic ( "gfx/env/spacert.tga" ) precache_generic ( "gfx/env/spacelf.tga" ) precache_generic ( "gfx/env/spaceft.tga" ) precache_generic ( "gfx/env/spacedn.tga" ) precache_generic ( "gfx/env/spacebk.tga" ) precache_generic ( "gfx/env/spaceup.tga" )
precache_generic ( "gfx/env/lackofoxygenrt.tga" ) precache_generic ( "gfx/env/lackofoxygenlf.tga" ) precache_generic ( "gfx/env/lackofoxygenft.tga" ) precache_generic ( "gfx/env/lackofoxygendn.tga" ) precache_generic ( "gfx/env/lackofoxygenbk.tga" ) precache_generic ( "gfx/env/lackofoxygenup.tga" )
precache_generic ( "gfx/env/3dm747rt.tga" ) precache_generic ( "gfx/env/3dm747lf.tga" ) precache_generic ( "gfx/env/3dm747ft.tga" ) precache_generic ( "gfx/env/3dm747dn.tga" ) precache_generic ( "gfx/env/3dm747bk.tga" ) precache_generic ( "gfx/env/3dm747up.tga" )
precache_generic ( "gfx/env/cult2rt.tga" ) precache_generic ( "gfx/env/cult2lf.tga" ) precache_generic ( "gfx/env/cult2ft.tga" ) precache_generic ( "gfx/env/cult2dn.tga" ) precache_generic ( "gfx/env/cult2bk.tga" ) precache_generic ( "gfx/env/cult2up.tga" )
precache_generic ( "gfx/env/LMmnts_1rt.tga" ) precache_generic ( "gfx/env/LMmnts_1lf.tga" ) precache_generic ( "gfx/env/LMmnts_1ft.tga" ) precache_generic ( "gfx/env/LMmnts_1dn.tga" ) precache_generic ( "gfx/env/LMmnts_1bk.tga" ) precache_generic ( "gfx/env/LMmnts_1up.tga" )
precache_generic ( "gfx/env/nebula3_rt.tga" ) precache_generic ( "gfx/env/nebula3_lf.tga" ) precache_generic ( "gfx/env/nebula3_ft.tga" ) precache_generic ( "gfx/env/nebula3_dn.tga" ) precache_generic ( "gfx/env/nebula3_bk.tga" ) precache_generic ( "gfx/env/nebula3_up.tga" )
precache_generic ( "gfx/env/vr_rt.tga" ) precache_generic ( "gfx/env/vr_lf.tga" ) precache_generic ( "gfx/env/vr_ft.tga" ) precache_generic ( "gfx/env/vr_dn.tga" ) precache_generic ( "gfx/env/vr_bk.tga" ) precache_generic ( "gfx/env/vr_up.tga" )
g_boss_sprite = precache_model("sprites/beacon.spr") new fog = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_fog")) DispatchKeyValue(fog, "density", "0.001") DispatchKeyValue(fog, "rendercolor", "0 0 0") if ((g_pcvar_no_objectives = get_cvar_pointer(ZOMBIE_OBJECTIVES))) { new cvar_val[8] get_pcvar_string(g_pcvar_no_objectives, cvar_val, sizeof cvar_val - 1) g_no_objectives = read_flags(cvar_val) & REMOVE_OBJECTIVES } if (g_no_objectives) { register_forward(FM_Spawn, "forward_spawn") } }
/////////////////////////////////////////////////////////////////// // Plugin Start // /////////////////////////////////////////////////////////////////
public plugin_init() { g_iMaxPlayers = get_maxplayers(); register_plugin("zombiehell", "0.0", "hectorz0r") gPluginMode = register_cvar( "sv_skies_mode", "1" ); // 0 - disabled, 1 - random skies register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_event("ResetHUD", "event_set_power", "be") register_event("DeathMsg", "event_eat_brain", "a", "1>0") register_event("DeathMsg", "event_death_msg", "a") register_event("CurWeapon", "event_check_speed", "be", "1=1") register_event("AmmoX", "event_free_ammo", "be", "1=1", "1=2", "1=3", "1=4", "1=5", "1=6", "1=7", "1=8", "1=9", "1=10") register_event("SendAudio", "dinosaurs_win", "a", "2&%!MRAD_terwin") register_event("SendAudio", "predators_win", "a", "2&%!MRAD_ctwin") register_event("TeamInfo", "join_spawn", "a") RegisterHam(Ham_Touch, "weapon_shield", "ham_weapon_cleaner", 1) RegisterHam(Ham_Touch, "weaponbox", "ham_weapon_cleaner", 1) RegisterHam(Ham_TakeDamage, "player", "ham_zombie_knife") RegisterHam(Ham_Spawn, "player", "ham_player_spawn", 1) RegisterHam(Ham_Killed, "player", "ham_player_killed") RegisterHam(Ham_Killed, "player", "ham_killed_respawn", 1) register_forward(FM_GetGameDescription, "fm_game_description") register_forward(FM_SetClientKeyValue, "fm_client_key") register_forward(FM_ClientUserInfoChanged, "fm_client_info") register_forward(FM_SetModel, "fm_set_model") register_forward(FM_Think, "fm_think") register_impulse(100, "Impulse_Light") register_clcmd("nightvision", "Clcmd_Nightvision"); register_clcmd("say predator", "clcmd_show_surv_class_menu");
survivor_weaponkit = register_cvar("survivor_weaponkit", "1") zombie_spawnpoint = register_cvar("zombie_spawnpoint", "1") zombie_knife = register_cvar("zombie_knife", "0") zombie_maxslots = register_cvar("zombie_maxslots", "10") zombie_effect = register_cvar("zombie_effect", "1") zombie_level = register_cvar("zombie_level", "1") zombie_respawns = register_cvar("zombie_respawns", "1") survivor_classes = register_cvar("survivor_classes", "1") level1_respawns = register_cvar("level1_respawns", "") level1_health = register_cvar("level1_health", "") level1_maxspeed = register_cvar("level1_maxspeed", "") level1_bosshp = register_cvar("level1_bosshp", "") level1_bossmaxspeed = register_cvar("level1_bossmaxspeed", "") level2_respawns = register_cvar("level2_respawns", "") level2_health = register_cvar("level2_health", "") level2_maxspeed = register_cvar("level2_maxspeed", "") level2_bosshp = register_cvar("level2_bosshp", "") level2_bossmaxspeed = register_cvar("level2_bossmaxspeed", "") level3_respawns = register_cvar("level3_respawns", "") level3_health = register_cvar("level3_health", "") level3_maxspeed = register_cvar("level3_maxspeed", "") level3_bosshp = register_cvar("level3_bosshp", "") level3_bossmaxspeed = register_cvar("level3_bossmaxspeed", "") level4_respawns = register_cvar("level4_respawns", "") level4_health = register_cvar("level4_health", "") level4_maxspeed = register_cvar("level4_maxspeed", "") level4_bosshp = register_cvar("level4_bosshp", "") level4_bossmaxspeed = register_cvar("level4_bossmaxspeed", "") level5_respawns = register_cvar("level5_respawns", "") level5_health = register_cvar("level5_health", "") level5_maxspeed = register_cvar("level5_maxspeed", "") level5_bosshp = register_cvar("level5_bosshp", "") level5_bossmaxspeed = register_cvar("level5_bossmaxspeed", "") level6_respawns = register_cvar("level6_respawns", "") level6_health = register_cvar("level6_health", "") level6_maxspeed = register_cvar("level6_maxspeed", "") level6_bosshp = register_cvar("level6_bosshp", "") level6_bossmaxspeed = register_cvar("level6_bossmaxspeed", "") level7_respawns = register_cvar("level7_respawns", "") level7_health = register_cvar("level7_health", "") level7_maxspeed = register_cvar("level7_maxspeed", "") level7_bosshp = register_cvar("level7_bosshp", "") level7_bossmaxspeed = register_cvar("level7_bossmaxspeed", "") level8_respawns = register_cvar("level8_respawns", "") level8_health = register_cvar("level8_health", "") level8_maxspeed = register_cvar("level8_maxspeed", "") level8_bosshp = register_cvar("level8_bosshp", "") level8_bossmaxspeed = register_cvar("level8_bossmaxspeed", "") level9_respawns = register_cvar("level9_respawns", "") level9_health = register_cvar("level9_health", "") level9_maxspeed = register_cvar("level9_maxspeed", "") level9_bosshp = register_cvar("level9_bosshp", "") level9_bossmaxspeed = register_cvar("level9_bossmaxspeed", "") level10_respawns = register_cvar("level10_respawns", "") level10_health = register_cvar("level10_health", "") level10_maxspeed = register_cvar("level10_maxspeed", "") level10_bosshp = register_cvar("level10_bosshp", "") level10_bossmaxspeed = register_cvar("level10_bossmaxspeed", "") server_cmd("zombie_level 1") server_cmd("mp_roundtime 5.0") server_cmd("mp_limitteams 0") server_cmd("mp_autoteambalance 1") server_cmd("mp_flashlight 1") server_cmd("mp_startmoney 0") server_cmd("mp_timelimit 0") server_cmd("mp_freezetime 0") server_cmd("sv_maxspeed 999") server_cmd("exec addons/amxmodx/configs/jurassic_park.cfg") server_cmd("exec addons/amxmodx/configs/jurassic_park_levels.cfg") set_msg_block(get_user_msgid("RoundTime"), BLOCK_SET) set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET) set_task(1.0, "hud", _, "", 0, "b") csdm_respawn() g_maxplayers = get_maxplayers() g_hide_weapon = get_user_msgid("HideWeapon") g_screen_shake = get_user_msgid("ScreenShake") register_message(get_user_msgid("TextMsg"), "round_end_message") register_message(g_hide_weapon, "message_hide_weapon") if (!g_pcvar_no_objectives) { new cvar_defval[8] get_flags(REMOVE_OBJECTIVES, cvar_defval, sizeof cvar_defval - 1) register_cvar(ZOMBIE_OBJECTIVES, cvar_defval) } if (is_objective_map()) { return }
new iEnt = -1 while( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, "classname", "armoury_entity" ) ) ) { engfunc( EngFunc_RemoveEntity, iEnt ) } }
public client_authorized(id) { g_player_class[id] = 0; }
/////////////////////////////////////////////////////////////////// // Mod Name // /////////////////////////////////////////////////////////////////
public fm_game_description() { forward_return(FMV_STRING, "• Парк Динозавров •") return FMRES_SUPERCEDE }
/////////////////////////////////////////////////////////////////// // Zombie Extra Health // /////////////////////////////////////////////////////////////////
public event_eat_brain() { new client = read_data(1) new client2 = read_data(2) new name[32] new name2[32] get_user_name(client, name, 31) get_user_name(client2, name2, 31) if(cs_get_user_team(client) == CS_TEAM_T && is_user_alive(client)) { set_user_health(client, get_user_health(client) + 300) client_cmd(0, "spk jurassic_park/rev_dino_1.wav") } }
/////////////////////////////////////////////////////////////////// // Remove Weapon Entities // /////////////////////////////////////////////////////////////////
public Impulse_Light(id) { if(!is_user_alive(id)) return 0; if(get_user_team(id) != 2) return 1; return 0; }
public Clcmd_Nightvision(id) { if(!is_user_alive(id)) return 0; if(get_user_team(id) != 1) return 1; return 0; }
public ham_weapon_cleaner(iEntity) { call_think(iEntity) }
/////////////////////////////////////////////////////////////////// // Extra Knife Damage // /////////////////////////////////////////////////////////////////
public ham_zombie_knife(id, ent, idattacker, Float:damage, damagebits) { if(ent == idattacker && is_user_alive(ent) && get_user_weapon(ent) == CSW_KNIFE && cs_get_user_team(id) == CS_TEAM_CT && get_pcvar_num(zombie_knife) == 1) { new Float:flHealth pev(id, pev_health, flHealth) SetHamParamFloat(4, flHealth * 5) return HAM_HANDLED } return HAM_IGNORED }
/////////////////////////////////////////////////////////////////// // Round Start // /////////////////////////////////////////////////////////////////
public event_round_start() { for(new i = 1; i <= g_maxplayers; i++) { g_respawn_count[i] = 0 remove_task(i) } set_task(0.1, "zombie_game_start")
g_roundstart_time = get_gametime() }
public zombie_game_start() { set_task(1.0, "ambience_sound") set_task(1.0, "bot_cfg") }
public ambience_sound() { client_cmd(0, "mp3 play sound/jurassic_park/zvuki_lesa.mp3") set_task(1185.0, "ambience_sound") }
/////////////////////////////////////////////////////////////////// // Permanently Hud Texts // /////////////////////////////////////////////////////////////////
public hud() { new sInfo[64]; for(new id = 1; id <= g_iMaxPlayers; id++) { if(!is_user_alive(id)) continue; switch(get_user_team(id)) { case 1:{ set_dhudmessage(0, 255, 0, 0.01, 0.92, 0, 0.1, 1.0, 0.1, 0.1); show_dhudmessage(id, "Тип • Динозавр • Ярость • Огонь [E] и Длинный прыжок • Здоровье • %i %%", get_user_health(id)); } case 2:{ switch(g_player_class[id]) { case 0: format(sInfo, charsmax(sInfo), "Не Выбран"); case 1: format(sInfo, charsmax(sInfo), "Шрам"); case 2: format(sInfo, charsmax(sInfo), "Чоппер"); case 3: format(sInfo, charsmax(sInfo), "Ночной Волк"); case 4: format(sInfo, charsmax(sInfo), "Кельт"); case 5: format(sInfo, charsmax(sInfo), "Берсеркер"); case 6: format(sInfo, charsmax(sInfo), "Охотник"); case 7: format(sInfo, charsmax(sInfo), "Старейшина"); case 8: format(sInfo, charsmax(sInfo), "Повелитель"); case 9: format(sInfo, charsmax(sInfo), "Властелин"); } set_dhudmessage(255, 255, 255, 0.01, 0.92, 0, 0.1, 1.0, 0.1, 0.1); show_dhudmessage(id, "Тип • Хищник • Класс • %s • Ярость • Дым [E] • Здоровье • %i %%", sInfo, get_user_health(id)); } } } if(get_pcvar_num(zombie_level)) { server_cmd("zombie_knife 0") } }
/////////////////////////////////////////////////////////////////// // Bot Settings // /////////////////////////////////////////////////////////////////
public bot_cfg() { server_cmd("pb_minbots %d", get_pcvar_num(zombie_maxslots)) server_cmd("pb_maxbots %d", get_pcvar_num(zombie_maxslots)) //server_cmd("pb_bot_quota_match 0") //server_cmd("pb_mapstartbotdelay 1.0") //server_cmd("pb_bot_join_team T") //server_cmd("pb_minbotskill 100") //server_cmd("pb_maxbotskill 100") //server_cmd("pb_jasonmode 1") //server_cmd("pb_detailnames 0") //server_cmd("pb_chat 0") //server_cmd("pb_radio 1") //server_cmd("pb_aim_type 1") }
/////////////////////////////////////////////////////////////////// // Set Zombie/Survivor Values // /////////////////////////////////////////////////////////////////
public event_set_power(id) { message_begin(MSG_ONE, g_hide_weapon, _, id) write_byte(1<<4) message_end() set_task(0.1, "round_start_effects", id) switch(cs_get_user_team(id)) { case CS_TEAM_CT:{ set_task(0.1, "survivor_power1", id) } case CS_TEAM_T:{ new szFunc[16]; formatex(szFunc, charsmax(szFunc), "zombie_power_%i", get_pcvar_num(zombie_level)); set_task(0.1, szFunc, id) } } }
public zombie_power_1(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 1 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level1_health)) set_user_maxspeed(id, get_pcvar_float(level1_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_2(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 2 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level2_health)) set_user_maxspeed(id, get_pcvar_float(level2_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_3(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 3 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level3_health)) set_user_maxspeed(id, get_pcvar_float(level3_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_4(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 4 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level4_health)) set_user_maxspeed(id, get_pcvar_float(level4_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_5(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 5 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level5_health)) set_user_maxspeed(id, get_pcvar_float(level5_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_6(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 6 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level6_health)) set_user_maxspeed(id, get_pcvar_float(level6_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_7(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 7 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level7_health)) set_user_maxspeed(id, get_pcvar_float(level7_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_8(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 8 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level8_health)) set_user_maxspeed(id, get_pcvar_float(level8_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_9(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 9 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level9_health)) set_user_maxspeed(id, get_pcvar_float(level9_maxspeed)) set_user_gravity(id, 0.5) }
public zombie_power_10(id) { cs_set_user_money(id, 0) g_boss_class[id] = 0 g_zombie_class[id] = 10 cs_set_user_nvg(id, 1) set_user_health(id, get_pcvar_num(level10_health)) set_user_maxspeed(id, get_pcvar_float(level10_maxspeed)) set_user_gravity(id, 0.3) }
public survivor_power1(id) { g_zombie_class[id] = 0 g_boss_class[id] = 0 if (get_pcvar_num(survivor_weaponkit) == 1) if(get_user_team(id) != 2 && get_user_weapon(id) != CSW_KNIFE) { return } strip_user_weapons(id) { give_item(id, "weapon_ak47") cs_set_user_bpammo(id, CSW_AK47, 200) give_item(id, "weapon_m4a1") cs_set_user_bpammo(id, CSW_M4A1, 200) give_item(id, "weapon_m249") cs_set_user_bpammo(id, CSW_M249, 200) give_item(id, "weapon_mp5navy") cs_set_user_bpammo(id, CSW_MP5NAVY, 200) give_item(id, "weapon_aug") cs_set_user_bpammo(id, CSW_AUG, 200) give_item(id, "weapon_m3") cs_set_user_bpammo(id, CSW_M3, 200) give_item(id, "weapon_galil") cs_set_user_bpammo(id, CSW_GALIL, 200) give_item(id, "weapon_xm1014") cs_set_user_bpammo(id, CSW_XM1014, 200) give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 200) give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_hegrenade") give_item(id, "weapon_smokegrenade") cs_set_user_nvg( id, 1) cs_set_user_armor ( id, 100, CsArmorType:2 ) } if(get_pcvar_num(survivor_classes) == 1) { switch(g_player_class[id]) { case 1: { set_user_health(id, 50); set_user_maxspeed(id, 275.0) } case 2: { set_user_health(id, 300) set_user_maxspeed(id, 165.0) } case 3: { set_user_health(id, 10) set_user_maxspeed(id, 380.0) } case 4: { set_user_health(id, 100) set_user_maxspeed(id, 250.0) } case 5: { set_user_health(id, 1) set_user_maxspeed(id, 400.0) set_user_gravity(id, 0.3) } case 6: { set_user_health(id, 500) set_user_maxspeed(id, 220.0) set_user_gravity(id, 3.2) } case 7: { set_user_health(id, 40) set_user_maxspeed(id, 210.0) set_user_gravity(id, 0.5) } case 8: { set_user_health(id, 800) set_user_maxspeed(id, 120.0) } case 9: { set_user_health(id, 300) set_user_maxspeed(id, 600.0) set_user_gravity(id, 7.5) } } if(!g_bChoose[id]) set_task(1.0, "task_show_surv_class_menu", id) } }
/////////////////////////////////////////////////////////////////// // Set Zombie Model // /////////////////////////////////////////////////////////////////
public ham_player_spawn(id) { if(is_user_alive(id)) return
remove_task(id + 100) if(g_zombie[id]) { switch (random_num(1, 3)) { case 1: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL1) case 2: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL2) case 3: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL3) } new currentmodel[32] fm_get_user_model(id, currentmodel, charsmax(currentmodel)) if(!equal(currentmodel, g_player_model[id])) { if(get_gametime() - g_roundstart_time < 5.0) set_task(5.0 * 0.5, "fm_user_model_update", id + 100) else fm_user_model_update(id + 100) } } else if(g_has_custom_model[id]) { fm_reset_user_model(id) switch(g_player_class[id]) { case 1: { set_user_health(id, 50); set_user_maxspeed(id, 275.0) } case 2: { set_user_health(id, 300) set_user_maxspeed(id, 165.0) } case 3: { set_user_health(id, 10) set_user_maxspeed(id, 380.0) } case 4: { set_user_health(id, 100) set_user_maxspeed(id, 250.0) } case 5: { set_user_health(id, 1) set_user_maxspeed(id, 400.0) set_user_gravity(id, 0.3) } case 6: { set_user_health(id, 500) set_user_maxspeed(id, 220.0) set_user_gravity(id, 3.2) } case 7: { set_user_health(id, 40) set_user_maxspeed(id, 210.0) set_user_gravity(id, 0.5) } case 8: { set_user_health(id, 800) set_user_maxspeed(id, 120.0) } case 9: { set_user_health(id, 300) set_user_maxspeed(id, 600.0) set_user_gravity(id, 7.5) } } } }
public fm_client_key(id, const infobuffer[], const key[]) { if(g_has_custom_model[id] && equal(key, "model")) return FMRES_SUPERCEDE return FMRES_IGNORED }
public fm_client_info(id) { if(!g_has_custom_model[id]) return FMRES_IGNORED static currentmodel[32] fm_get_user_model(id, currentmodel, charsmax(currentmodel)) if(!equal(currentmodel, g_player_model[id]) && !task_exists(id + 100)) fm_set_user_model(id + 100) return FMRES_IGNORED }
public fm_user_model_update(taskid) { static Float:current_time current_time = get_gametime() if(current_time - g_models_target_time >= 0.5) { fm_set_user_model(taskid) g_models_target_time = current_time } else { set_task((g_models_target_time + 0.5) - current_time, "fm_set_user_model", taskid) g_models_target_time = g_models_target_time + 0.5 } }
public fm_set_user_model(player) { player -= 100 engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", g_player_model[player]) g_has_custom_model[player] = true }
/////////////////////////////////////////////////////////////////// // Player Connected // /////////////////////////////////////////////////////////////////
public client_connect(id) { g_first_spawn[id] = true }
/////////////////////////////////////////////////////////////////// // Player Disconnected // /////////////////////////////////////////////////////////////////
public client_disconnected(id) { remove_task(id) g_respawn_count[id] = 0 g_bChoose[id] = false; }
/////////////////////////////////////////////////////////////////// // Death Event // /////////////////////////////////////////////////////////////////
public ham_player_killed(victim, attacker, shouldgib) { new cts[32], ts[32], ctsnum, tsnum new CsTeams:team for(new i=1; i<=g_maxplayers; i++) { if(!is_user_alive(i)) { continue } team = cs_get_user_team(i) if(team == CS_TEAM_T) { ts[tsnum++] = i } else if(team == CS_TEAM_CT) { cts[ctsnum++] = i } } if(ctsnum == 0) { switch(get_pcvar_num(zombie_level)) { case 1: { server_cmd("zombie_level 1") server_cmd("zombie_respawns %d", get_pcvar_num(level1_respawns)) } case 2: { server_cmd("zombie_level 1") server_cmd("zombie_respawns %d", get_pcvar_num(level1_respawns)) } case 3: { server_cmd("zombie_level 2") server_cmd("zombie_respawns %d", get_pcvar_num(level2_respawns)) } case 4: { server_cmd("zombie_level 3") server_cmd("zombie_respawns %d", get_pcvar_num(level3_respawns)) } case 5: { server_cmd("zombie_level 4") server_cmd("zombie_respawns %d", get_pcvar_num(level4_respawns)) } case 6: { server_cmd("zombie_level 5") server_cmd("zombie_respawns %d", get_pcvar_num(level5_respawns)) } case 7: { server_cmd("zombie_level 6") server_cmd("zombie_respawns %d", get_pcvar_num(level6_respawns)) } case 8: { server_cmd("zombie_level 7") server_cmd("zombie_respawns %d", get_pcvar_num(level7_respawns)) } case 9: { server_cmd("zombie_level 8") server_cmd("zombie_respawns %d", get_pcvar_num(level8_respawns)) } case 10: { server_cmd("zombie_level 9") server_cmd("zombie_respawns %d", get_pcvar_num(level9_respawns)) } } } if(tsnum == 0) { switch(get_pcvar_num(zombie_level)) { case 1: { server_cmd("zombie_level 2") server_cmd("zombie_respawns %d", get_pcvar_num(level2_respawns)) } case 2: { server_cmd("zombie_level 3") server_cmd("zombie_respawns %d", get_pcvar_num(level3_respawns)) } case 3: { server_cmd("zombie_level 4") server_cmd("zombie_respawns %d", get_pcvar_num(level4_respawns)) } case 4: { server_cmd("zombie_level 5") server_cmd("zombie_respawns %d", get_pcvar_num(level5_respawns)) } case 5: { server_cmd("zombie_level 6") server_cmd("zombie_respawns %d", get_pcvar_num(level6_respawns)) } case 6: { server_cmd("zombie_level 7") server_cmd("zombie_respawns %d", get_pcvar_num(level7_respawns)) } case 7: { server_cmd("zombie_level 8") server_cmd("zombie_respawns %d", get_pcvar_num(level8_respawns)) } case 8: { server_cmd("zombie_level 9") server_cmd("zombie_respawns %d", get_pcvar_num(level9_respawns)) } case 9: { server_cmd("zombie_level 10") server_cmd("zombie_respawns %d", get_pcvar_num(level10_respawns)) } case 10: { set_task(3.0, "new_map") server_cmd("zombie_level 1") server_cmd("zombie_respawns %d", get_pcvar_num(level1_respawns)) } } } if(tsnum == 1 && g_boss_class[ts[0]] < 1) { switch(get_pcvar_num(zombie_level)) { case 1: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 1 new tname[32] get_user_name(ts[0], tname, 31) set_hudmessage(255, 255, 255, -1.0, 0.20, 0, 6.0, 999.0, 0.1, 0.2, 2) //show_hudmessage(0, "%s Теперь он босс!!!", tname) client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level1_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level1_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 2: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 2 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level2_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level2_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 3: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 3 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level3_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level3_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 4: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 4 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level4_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level4_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 5: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 5 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level5_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level5_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 6: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 6 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level6_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level6_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 7: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 7 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level7_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level7_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 8: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 8 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level8_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level8_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 9: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 9 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level9_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level9_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } case 10: { g_zombie_class[ts[0]] = 0 g_boss_class[ts[0]] = 10 client_cmd(0,"stopsound") client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3") set_user_health(ts[0], get_pcvar_num(level10_bosshp)) set_user_maxspeed(ts[0], get_pcvar_float(level10_bossmaxspeed)) server_cmd("zombie_knife 1") set_task(1.0, "boss_beacon", ts[0]) } } } if(cs_get_user_team(victim) == CS_TEAM_T && get_pcvar_num(zombie_effect) == 1) { static Float:FOrigin2[3] pev(victim, pev_origin, FOrigin2) engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin2, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, FOrigin2[0]) engfunc(EngFunc_WriteCoord, FOrigin2[1]) engfunc(EngFunc_WriteCoord, FOrigin2[2]) write_short(50) write_byte(72) write_byte(10) message_end() } }
public new_map() { new nextmap[32] get_cvar_string("amx_nextmap", nextmap, 31) server_cmd("changelevel %s", nextmap) }
/////////////////////////////////////////////////////////////////// // Death Event 2 // /////////////////////////////////////////////////////////////////
public event_death_msg() { new zrespawn = read_data(2) set_pev(zrespawn, pev_effects, EF_NODRAW) if(get_user_team(zrespawn) == 0) { if(++g_respawn_count[zrespawn] > get_pcvar_num(zombie_respawns)) { return } set_task(1.0, "zombie_respawner", zrespawn) } }
/////////////////////////////////////////////////////////////////// // Survivor Respawn // /////////////////////////////////////////////////////////////////
public ham_killed_respawn(id) { if(is_user_connected(id) && cs_get_user_team(id) == CS_TEAM_CT) { g_respawn_delay[id] = 10 survivor_respawner(id) } }
public survivor_respawner(id) { if(is_user_alive(id) || !is_user_connected(id)) return PLUGIN_CONTINUE if(g_respawn_delay[id] > 0) { g_respawn_delay[id]-- set_task(1.0, "survivor_respawner", id) } else ExecuteHamB(Ham_CS_RoundRespawn, id) return PLUGIN_CONTINUE }
public join_spawn() { new player_spawn = read_data(1) static user_team[32] read_data(2, user_team, 31) if(!is_user_connected(player_spawn)) return PLUGIN_CONTINUE switch(user_team[0]) { case 'C': set_task(1.0, "survivor_respawner", player_spawn) //case 'T': client_print(player_spawn, print_chat, "Zombies cant use this respawn method!") //case 'S': client_print(player_spawn, print_chat, "Spectators cant use this respawn method!") } return PLUGIN_CONTINUE }
/////////////////////////////////////////////////////////////////// // CSDM Respawn // /////////////////////////////////////////////////////////////////
public zombie_respawner(zrespawn) { new cts[32], ts[32], ctsnum, tsnum new CsTeams:team for(new i=1; i<=g_maxplayers; i++) { if(!is_user_alive(i)) { continue } team = cs_get_user_team(i) if(team == CS_TEAM_T) { ts[tsnum++] = i } else if(team == CS_TEAM_T) { cts[ctsnum++] = i } } if(tsnum > 1) { switch(get_pcvar_num(zombie_spawnpoint)) { case 1: { ExecuteHamB(Ham_CS_RoundRespawn, zrespawn) set_task(0.1, "respawn_effect", zrespawn) strip_user_weapons(zrespawn) give_item(zrespawn, "") set_user_godmode(zrespawn, 1) set_task(5.0, "remove_zombie_protection", zrespawn) } case 2: { pev(zrespawn, pev_origin, g_vec_last_origin[zrespawn]) ExecuteHamB(Ham_CS_RoundRespawn, zrespawn) engfunc(EngFunc_SetOrigin, zrespawn, g_vec_last_origin[zrespawn]) set_task(0.1, "respawn_effect", zrespawn) strip_user_weapons(zrespawn) give_item(zrespawn, "") set_user_godmode(zrespawn, 1) set_task(5.0, "remove_zombie_protection", zrespawn) } } } }
csdm_respawn() { new map[32], config[32], mapfile[64]
get_mapname(map, 31) get_configsdir(config, 31) format(mapfile, 63, "%s\csdm\%s.spawns.cfg", config, map) g_total_spawn = 0
if (file_exists(mapfile)) { new new_data[124], len new line = 0 new pos[12][8] while(g_total_spawn < 60 && (line = read_file(mapfile , line , new_data , 123 , len) ) != 0 ) { if (strlen(new_data)<2 || new_data[0] == '[') continue parse(new_data, pos[1], 7, pos[2], 7, pos[3], 7, pos[4], 7, pos[5], 7, pos[6], 7, pos[7], 7, pos[8], 7, pos[9], 7, pos[10], 7) g_spawn_vec[g_total_spawn][0] = str_to_float(pos[1]) g_spawn_vec[g_total_spawn][1] = str_to_float(pos[2]) g_spawn_vec[g_total_spawn][2] = str_to_float(pos[3]) g_spawn_angle[g_total_spawn][0] = str_to_float(pos[4]) g_spawn_angle[g_total_spawn][1] = str_to_float(pos[5]) g_spawn_angle[g_total_spawn][2] = str_to_float(pos[6]) g_spawn_v_angle[g_total_spawn][0] = str_to_float(pos[8]) g_spawn_v_angle[g_total_spawn][1] = str_to_float(pos[9]) g_spawn_v_angle[g_total_spawn][2] = str_to_float(pos[10]) g_total_spawn++ } if (g_total_spawn >= 2 && get_pcvar_num(zombie_spawnpoint) == 1) { RegisterHam(Ham_Spawn, "player", "csdm_player_spawn", 1) } } return 1 }
public csdm_player_spawn(id) { if (!is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_CT) return if (g_first_spawn[id]) { g_first_spawn[id] = false return } new list[60] new num = 0 new final = -1 new total=0 new players[32], n, x = 0 new Float:loc[32][3], locnum get_players(players, num) for (new i=0; i<num; i++) { if (is_user_alive(players[i]) && players[i] != id) { pev(players[i], pev_origin, loc[locnum]) locnum++ } } num = 0 while (num <= g_total_spawn) { if (num == g_total_spawn) break n = random_num(0, g_total_spawn-1) if (!list[n]) { list[n] = 1 num++ } else { total++ if (total > 100) break continue } if (locnum < 1) { final = n break } final = n for (x = 0; x < locnum; x++) { new Float:distance = get_distance_f(g_spawn_vec[n], loc[x]) if (distance < 250.0) { final = -1 break } } if (final != -1) break } if (final != -1) { new Float:mins[3], Float:maxs[3] pev(id, pev_mins, mins) pev(id, pev_maxs, maxs) engfunc(EngFunc_SetSize, id, mins, maxs) engfunc(EngFunc_SetOrigin, id, g_spawn_vec[final]) set_pev(id, pev_fixangle, 1) set_pev(id, pev_angles, g_spawn_angle[final]) set_pev(id, pev_v_angle, g_spawn_v_angle[final]) set_pev(id, pev_fixangle, 1) } }
/////////////////////////////////////////////////////////////////// // Respawn Effect // /////////////////////////////////////////////////////////////////
public respawn_effect(id) { if(get_pcvar_num(zombie_effect) == 1) { static Float:FOrigin3[3] pev(id, pev_origin, FOrigin3) engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin3, 0) write_byte(TE_IMPLOSION) engfunc(EngFunc_WriteCoord, FOrigin3[0]) engfunc(EngFunc_WriteCoord, FOrigin3[1]) engfunc(EngFunc_WriteCoord, FOrigin3[2]) write_byte(255) write_byte(255) write_byte(5) message_end() } }
/////////////////////////////////////////////////////////////////// // Respawn Protection // /////////////////////////////////////////////////////////////////
public remove_zombie_protection(id) { set_user_godmode(id, 0) give_item(id, "weapon_knife") }
/////////////////////////////////////////////////////////////////// // Survivor Classes // /////////////////////////////////////////////////////////////////
public task_show_surv_class_menu(id) { if(cs_get_user_team(id) != CS_TEAM_CT) return; if(g_player_class[id] != 0) return; survivor_class_menu(id); g_bChoose[id] = true; }
public clcmd_show_surv_class_menu(id) { if(cs_get_user_team(id) != CS_TEAM_CT) { #if AMXX_VERSION_NUM < 183 ColorChat(id, RED, "^4[ Парк Динозавров ] ^1Это меню доступно только ^3Хищникам !") #else client_print_color(id, print_team_red, "^4[ Парк Динозавров ] ^1Это меню доступно только ^3Хищникам !") #endif return; } survivor_class_menu(id) }
public survivor_class_menu(id) { new menuid = menu_create("\rПарк Динозавров\w^n\yКлассы Хищников\w", "survivor_menu_handler") menu_additem(menuid, "Шрам", "1", 0) menu_additem(menuid, "Чоппер", "2", 0) menu_additem(menuid, "Ночной Волк", "3", 0) menu_additem(menuid, "Кельт", "4", 0) menu_additem(menuid, "Берсеркер", "5", 0) menu_additem(menuid, "Охотник", "6", 0) menu_additem(menuid, "Старейшина", "7", 0) menu_additem(menuid, "Повелитель", "8", 0) menu_additem(menuid, "Властелин", "9", 0) menu_setprop(menuid, MPROP_PERPAGE, 0); menu_setprop(menuid, MPROP_EXIT, MEXIT_NEVER); menu_display(id, menuid, 0) }
public survivor_menu_handler(id, menuid, item) { new data[6], iName[64] new access, callback menu_item_getinfo(menuid, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 1 set_user_health(id, 50) set_user_maxspeed(id, 275.0) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Шрам ]", g_player_class) } case 2: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 2 set_user_health(id, 300) set_user_maxspeed(id, 165.0) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Чоппер ]", g_player_class) } case 3: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 3 set_user_health(id, 10) set_user_maxspeed(id, 380.0) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Ночной Волк ]", g_player_class) } case 4: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 4 set_user_health(id, 100) set_user_maxspeed(id, 250.0) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Кельт ]", g_player_class) } case 5: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 5 set_user_health(id, 1) set_user_maxspeed(id, 400.0) set_user_gravity(id, 0.3) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Берсеркер ]", g_player_class) } case 6: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 6 set_user_health(id, 500) set_user_maxspeed(id, 220.0) set_user_gravity(id, 3.2) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Охотник ]", g_player_class) } case 7: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 7 set_user_health(id, 40) set_user_maxspeed(id, 210.0) set_user_gravity(id, 0.5) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Старейшина ]", g_player_class) } case 8: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 8 set_user_health(id, 800) set_user_maxspeed(id, 120.0) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Повелитель ]", g_player_class) } case 9: { g_zombie_class[id] = 0 g_boss_class[id] = 0 g_player_class[id] = 9 set_user_health(id, 300) set_user_maxspeed(id, 600.0) set_user_gravity(id, 7.5) ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Властелин ]", g_player_class) } } menu_destroy(menuid) return PLUGIN_HANDLED }
/////////////////////////////////////////////////////////////////// // Weapon Switch Event // /////////////////////////////////////////////////////////////////
public event_check_speed(id) { if(get_pcvar_num(survivor_classes) == 1) { switch(g_player_class[id]) { case 1: { set_user_maxspeed(id, 275.0) } case 2: { set_user_maxspeed(id, 165.0) } case 3: { set_user_maxspeed(id, 380.0) } case 4: { set_user_maxspeed(id, 250.0) } case 5: { set_user_maxspeed(id, 400.0) } case 6: { set_user_maxspeed(id, 220.0) } case 7: { set_user_maxspeed(id, 210.0) } case 8: { set_user_maxspeed(id, 120.0) } case 9: { set_user_maxspeed(id, 600.0) } } if(!g_bChoose[id]) set_task(1.0, "task_show_surv_class_menu", id) } if(g_zombie_class[id]) { switch(g_zombie_class[id]) { case 1: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level1_maxspeed)) } case 2: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level2_maxspeed)) } case 3: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level3_maxspeed)) } case 4: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level4_maxspeed)) } case 5: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level5_maxspeed)) } case 6: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level6_maxspeed)) } case 7: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level7_maxspeed)) } case 9: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level8_maxspeed)) } case 8: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level9_maxspeed)) } case 10: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level10_maxspeed)) } } } if(g_boss_class[id]) { switch(g_boss_class[id]) { case 1: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level1_bossmaxspeed)) } case 2: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level2_bossmaxspeed)) } case 3: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level3_bossmaxspeed)) } case 4: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level4_bossmaxspeed)) } case 5: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level5_bossmaxspeed)) } case 6: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level6_bossmaxspeed)) } case 7: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level7_bossmaxspeed)) } case 9: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level8_bossmaxspeed)) } case 8: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level9_bossmaxspeed)) } case 10: { engclient_cmd(id, "weapon_knife") set_user_maxspeed(id, get_pcvar_float(level10_bossmaxspeed)) } } } }
/////////////////////////////////////////////////////////////////// // Lock Zombie Team // /////////////////////////////////////////////////////////////////
public force_team(id) { engclient_cmd(id, "jointeam", "2", "3") }
/////////////////////////////////////////////////////////////////// // Unlimited Ammo // /////////////////////////////////////////////////////////////////
public event_free_ammo(id) { set_pdata_int(id, 376 + read_data(1), 200, 5) }
/////////////////////////////////////////////////////////////////// // Remove Map Objectives // /////////////////////////////////////////////////////////////////
public forward_spawn(ent) { if (!pev_valid(ent)) return FMRES_IGNORED static classname[32], i pev(ent, pev_classname, classname, sizeof classname - 1) for (i = 0; i < sizeof g_objective_ents; ++i) { if (equal(classname, g_objective_ents[i])) { if (!(REMOVE_OBJECTIVES & g_objective_type[i])) return FMRES_IGNORED engfunc(EngFunc_RemoveEntity, ent) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
bool:is_objective_map() { new const classname[] = "classname" for (new i = 0; i < sizeof g_objective_ents; ++i) { if (g_objective_prim[i] && engfunc(EngFunc_FindEntityByString, FM_NULLENT, classname, g_objective_ents[i])) return true } return false }
/////////////////////////////////////////////////////////////////// // Stocks // /////////////////////////////////////////////////////////////////
stock fm_get_user_model(player, model[], len) { engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len) }
stock fm_reset_user_model(player) { g_has_custom_model[player] = false dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player)) }
/////////////////////////////////////////////////////////////////// // Boss Beacon // /////////////////////////////////////////////////////////////////
public boss_beacon(id) { if(g_boss_class[id] >= 1 && is_user_alive(id)) { static origin[3] get_user_origin(id, origin) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMCYLINDER) write_coord(origin[0]) write_coord(origin[1]) write_coord(origin[2]-20) write_coord(origin[0]) write_coord(origin[1]) write_coord(origin[2]+200) write_short(g_boss_sprite) write_byte(0) write_byte(1) write_byte(6) write_byte(2) write_byte(1) write_byte(50) write_byte(50) write_byte(255) write_byte(200) write_byte(6) message_end() set_task(1.0, "boss_beacon", id) } }
/////////////////////////////////////////////////////////////////// // Round Start Screen Effects // /////////////////////////////////////////////////////////////////
public round_start_effects(id) { new Float:screen_shake[3] screen_shake[0] = random_float(100.0, 175.0) screen_shake[1] = random_float(20.0, 80.0) screen_shake[2] = random_float(550.0, 1200.0) message_begin(MSG_ONE, g_screen_shake, {0,0,0}, id) write_short(1<<14) write_short(1<<14) write_short(1<<14) message_end() }
/////////////////////////////////////////////////////////////////// // Round End Text & Sounds // /////////////////////////////////////////////////////////////////
public dinosaurs_win() { client_cmd(0,"stopsound") client_cmd(0,"mp3 play sound/jurassic_park/dinosaurs_sound.mp3") }
public predators_win() { client_cmd(0,"stopsound") client_cmd(0,"mp3 play sound/jurassic_park/predators_sound.mp3") }
public round_end_message(const MsgId, const MsgDest, const MsgEntity) { static Message[192] get_msg_arg_string(2, Message, 191) if (equal(Message, "#Terrorists_Win")) { set_msg_arg_string(2, "") } else if (equal(Message, "#CTs_Win")) { set_msg_arg_string(2, "") } }
/////////////////////////////////////////////////////////////////// // Remove Round Time // /////////////////////////////////////////////////////////////////
public message_hide_weapon() { set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | 1<<4) }
public plugin_end() { if( get_pcvar_num( gPluginMode ) == 1 ) { server_cmd( "sv_skyname %s", skies[ random_num( 0, charsmax( skies ) ) ] ); } }
/////////////////////////////////////////////////////////////////// // EOF // ///////////////////////////////////////////////////////////////// /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */

• МультиМод CS •
|