4ªUunutscripts/vscriptsl4d1h\ÿØÿâ½(ÿÿtxtmodesl4d1coop¯"4tÿ!Áÿÿ addoninfo 5ñ4ÿ!ÿÿ"AddonInfo" { addonSteamAppID ''550'' addontitle "L4D1 Co-op enhanced mutation Version 2" addonversion "1" addonauthor "i love witch" addonURL0 "https://steamcommunity.com/sharedfiles/filedetails/?id=3729324821" addonDescription "in this mode the spitter is a part of infecteds together with the l4d specials infected and the dlc3 tanker whas removed from game.. also you have one more smg in game..the mp5 smg .. and finaly include few other enhanced settings in l4d1coop file.." }"l4d1coop" { "base" "coop" "maxplayers" "4" "Author" "Valve/i love witch" "DisplayTitle" "L4D1 Co-op enhanced mutation" "Description" "Play Co-op old school" "Image" "maps/any" convar { ammo_assaultrifle_max 600 ammo_autoshotgun_max 128 ammo_shotgun_max 120 ammo_smg_max 800 nav_max_view_distance 1500.000000 //sb_path_lookahead_range 300 //sb_separation_danger_min_range 500 cl_ragdoll_limit -1 cl_showhelp 0 cl_glow_blur_scale 0.7 m_pitch 0.022000 m_pitch2 0.022 m_side 0.8 m_yaw 0.022 r_teeth 0 sv_infected_ceda_vomitjar_probability 0 sv_infected_police_tonfa_probability 0 sv_infected_riot_control_tonfa_probability 0 sb_skill bill sb_skill francis sb_skill louis sb_skill zoey sb_skill coach sb_skill ellis sb_skill nick sb_skill rochelle sb_vomit_blind_time 2 snd_obscured_gain_dB 1 survivor_limp_health 15 survivor_revive_health 70 survivor_respawn_with_guns 2 survivor_speed 96 pipe_bomb_timer_duration 8 fuel_barrel_health 300 gas_can_use_duration 4 tank_burn_duration 200 tank_burn_duration_expert 200 tank_burn_duration_hard 200 hunter_pounce_air_speed 400 hunter_pounce_ready_range 600 hunter_pounce_max_loft_angle 60 smoker_tongue_delay 1.0 tongue_hit_delay 6 tongue_miss_delay 3 director_threat_radius 300 director_threat_clear_radius 50 director_pipe_bomb_density 0.2 director_molotov_density 0.2 director_gas_can_density 0.2 z_survivor_respawn_health 70 z_noise_level_footstep 30 z_noise_level_vocalize 5 z_noise_level_max 30 z_witch_burn_time 8 z_witch_allow_change_victim 1 z_speed 252 z_walk_speed 120 z_health 70 z_hunter_health 1000 z_exploding_health 700 z_gas_health 1000 z_spitter_health 1000 z_acquire_far_time 0.01 z_acquire_near_time 0.01 z_force_attack_from_sound_range 300 z_hear_gunfire_range 400 z_notice_it_range 400 z_infected_flashlight 1 z_max_stagger_duration 1.7 z_stomp_always 0 z_pushaway_force 0 z_scrimmage_creep_delay 4 z_spit_spread_delay 1.3 z_special_burn_dmg_scale 0.1 z_tank_footstep_shake_amplitude 11 z_gas_speed 265 z_exploding_speed 190 z_spitter_speed 310 z_witch_speed 280 z_finale_spawn_safety_range 600 z_gun_swing_coop_max_penalty 999999999 z_gun_swing_coop_min_penalty 999999999 z_gun_swing_interval 0.6 } }//============ Copyright (c) Valve Corporation, All rights reserved. ========== // // //============================================================================= Msg("Activating Mutation L4D1\n"); if ( !IsModelPrecached( "models/infected/smoker_l4d1.mdl" ) ) PrecacheModel( "models/infected/smoker_l4d1.mdl" ); if ( !IsModelPrecached( "models/infected/boomer_l4d1.mdl" ) ) PrecacheModel( "models/infected/boomer_l4d1.mdl" ); if ( !IsModelPrecached( "models/infected/hunter_l4d1.mdl" ) ) PrecacheModel( "models/infected/hunter_l4d1.mdl" ); if ( !IsModelPrecached( "models/infected/hulk_l4d1.mdl" ) ) PrecacheModel( "models/infected/hulk_l4d1.mdl" ); DirectorOptions <- { ActiveChallenge = 1 JockeyLimit = 0 ChargerLimit = 0 EscapeSpawnTanks = true weaponsToConvert = { weapon_shotgun_spas = "weapon_autoshotgun_spawn" weapon_defibrillator = "weapon_pain_pills_spawn" weapon_ammo_pack = "weapon_first_aid_kit_spawn" weapon_sniper_awp = "weapon_hunting_rifle_spawn" weapon_sniper_military = "weapon_smg_mp5_spawn" weapon_sniper_scout = "weapon_smg_mp5_spawn" weapon_vomitjar = "weapon_molotov_spawn" weapon_adrenaline = "weapon_pain_pills_spawn" weapon_pistol_magnum = "weapon_pistol_spawn" weapon_shotgun_chrome = "weapon_pumpshotgun_spawn" weapon_rifle_ak47 = "weapon_rifle_spawn" weapon_rifle_desert = "weapon_rifle_spawn" weapon_rifle_sg552 = "weapon_smg_mp5_spawn" weapon_smg_silenced = "weapon_smg_mp5_spawn" } function ConvertWeaponSpawn( classname ) { if ( classname in weaponsToConvert ) { return weaponsToConvert[classname]; } return 0; } weaponsToRemove = { weapon_rifle_m60 = 0 weapon_grenade_launcher = 0 weapon_chainsaw = 0 weapon_melee = 0 weapon_upgradepack_explosive = 0 weapon_upgradepack_incendiary = 0 upgrade_item = 0 } function AllowWeaponSpawn( classname ) { if ( classname in weaponsToRemove ) { return false; } return true; } function ShouldAvoidItem( classname ) { if ( classname in weaponsToRemove ) { return true; } return false; } } function OnGameEvent_round_start_post_nav( params ) { EntFire( "worldspawn", "AddOutput", "timeofday 0" ); EntFire( "weapon_*", "AddOutput", "skin 0" ); EntFire( "weapon_*", "AddOutput", "weaponskin -1" ); EntFire( "trigger_upgrade_laser_sight", "Kill" ); foreach( wep, val in DirectorOptions.weaponsToRemove ) EntFire( wep + "_spawn", "Kill" ); foreach( wep, val in DirectorOptions.weaponsToConvert ) { for ( local wep_spawner; wep_spawner = Entities.FindByClassname( wep_spawner, wep + "_spawn" ); ) { local spawnTable = { origin = wep_spawner.GetOrigin(), angles = wep_spawner.GetAngles().ToKVString(), targetname = wep_spawner.GetName(), count = NetProps.GetPropInt( wep_spawner, "m_itemCount" ), spawnflags = NetProps.GetPropInt( wep_spawner, "m_spawnflags" ) } wep_spawner.Kill(); SpawnEntityFromTable(val, spawnTable); } } if ( Director.IsL4D1Campaign() ) { DirectorOptions.WaterSlowsMovement <- true; if ( SessionState.ModeName == "l4d1coop" || SessionState.ModeName == "l4d1vs" ) { if ( IsMissionFinalMap() ) { if ( SessionState.MapName != "c7m3_port" ) { local finale = Entities.FindByClassname( null, "trigger_finale" ); if ( finale ) NetProps.SetPropInt( finale, "m_type", 0 ); } } else { if ( SessionState.MapName == "c10m4_mainstreet" ) { local relay = Entities.FindByName( null, "forklift_relay" ); if ( relay ) { EntityOutputs.RemoveOutput( relay, "OnTrigger", "director", "BeginScript", "c10m4_onslaught" ); EntityOutputs.AddOutput( relay, "OnTrigger", "director", "ForcePanicEvent", "", 9.0, -1 ); } EntFire( "onslaught1", "Kill" ); } else if ( SessionState.MapName == "c11m4_terminal" ) { local van = Entities.FindByName( null, "van_button" ); if ( van ) { EntityOutputs.RemoveOutput( van, "OnPressed", "@director", "", "" ); EntityOutputs.AddOutput( van, "OnPressed", "@director", "ForcePanicEvent", "", 3.0, -1 ); } local relay = Entities.FindByName( null, "alarm_on_relay" ); if ( relay ) { EntityOutputs.RemoveOutput( relay, "OnTrigger", "@director", "", "" ); EntityOutputs.RemoveOutput( relay, "OnTrigger", "alarm_safety_relay", "", "" ); EntityOutputs.AddOutput( relay, "OnTrigger", "@director", "ForcePanicEvent", "", 0.0, -1 ); EntityOutputs.AddOutput( relay, "OnTrigger", "alarm_off_relay", "Trigger", "", 15.0, -1 ); } EntFire( "van_follow_trigger", "Kill" ); EntFire( "van_endscript_relay", "Kill" ); EntFire( "onslaught_hint_trigger", "Kill" ); } else if ( SessionState.MapName == "c12m3_bridge" ) { local relay = Entities.FindByName( null, "train_engine_relay" ); if ( relay ) { EntityOutputs.RemoveOutput( relay, "OnTrigger", "director", "BeginScript", "c12m3_onslaught" ); EntityOutputs.AddOutput( relay, "OnTrigger", "director", "ForcePanicEvent", "", 2.0, -1 ); } EntFire( "zombie_spawn1", "Kill" ); EntFire( "onslaught_hint_template", "Kill" ); } else if ( SessionState.MapName == "c12m4_barn" ) EntFire( "window_trigger", "Kill" ); } } } } if ( HasPlayerControlledZombies() ) { if ( !IsModelPrecached( "models/v_models/weapons/v_claw_smoker_l4d1.mdl" ) ) PrecacheModel( "models/v_models/weapons/v_claw_smoker_l4d1.mdl" ); if ( !IsModelPrecached( "models/v_models/weapons/v_claw_boomer_l4d1.mdl" ) ) PrecacheModel( "models/v_models/weapons/v_claw_boomer_l4d1.mdl" ); if ( !IsModelPrecached( "models/v_models/weapons/v_claw_hunter_l4d1.mdl" ) ) PrecacheModel( "models/v_models/weapons/v_claw_hunter_l4d1.mdl" ); if ( !IsModelPrecached( "models/v_models/weapons/v_claw_hulk_l4d1.mdl" ) ) PrecacheModel( "models/v_models/weapons/v_claw_hulk_l4d1.mdl" ); function OnGameEvent_item_pickup( params ) { local player = GetPlayerFromUserID( params["userid"] ); if ( ( !player ) || ( player.IsSurvivor() ) ) return; local modelName = player.GetModelName(); if ( ( modelName.find( "l4d1" ) != null ) || ( modelName == "models/infected/hulk_l4d1.mdl" ) ) return; local function SetClawModel( modelName ) { local claw = player.GetActiveWeapon(); local viewmodel = NetProps.GetPropEntity( player, "m_hViewModel" ); if ( ( !claw ) || ( !viewmodel ) ) return; claw.SetModel( modelName ); NetProps.SetPropInt( viewmodel, "m_nModelIndex", NetProps.GetPropInt( claw, "m_nModelIndex" ) ); NetProps.SetPropString( viewmodel, "m_ModelName", modelName ); } switch( player.GetZombieType() ) { case 1: { player.SetModel( "models/infected/smoker_l4d1.mdl" ); SetClawModel( "models/v_models/weapons/v_claw_smoker_l4d1.mdl" ); break; } case 2: { player.SetModel( "models/infected/boomer_l4d1.mdl" ); SetClawModel( "models/v_models/weapons/v_claw_boomer_l4d1.mdl" ); break; } case 3: { player.SetModel( "models/infected/hunter_l4d1.mdl" ); SetClawModel( "models/v_models/weapons/v_claw_hunter_l4d1.mdl" ); break; } case 8: { player.SetModel( "models/infected/hulk_l4d1.mdl" ); SetClawModel( "models/v_models/weapons/v_claw_hulk_l4d1.mdl" ); break; } default: break; } } } function OnGameEvent_player_spawn( params ) { local player = GetPlayerFromUserID( params["userid"] ); if ( ( !player ) || ( player.IsSurvivor() ) ) return; local modelName = player.GetModelName(); if ( ( modelName.find( "l4d1" ) != null ) || ( modelName == "models/infected/hulk_l4d1.mdl" ) ) return; switch( player.GetZombieType() ) { case 1: { player.SetModel( "models/infected/smoker_l4d1.mdl" ); break; } case 2: { player.SetModel( "models/infected/boomer_l4d1.mdl" ); break; } case 3: { player.SetModel( "models/infected/hunter_l4d1.mdl" ); break; } case 8: { player.SetModel( "models/infected/hulk_l4d1.mdl" ); break; } default: break; } } function OnGameEvent_player_death( params ) { if ( !("userid" in params) ) return; local victim = GetPlayerFromUserID( params["userid"] ); if ( ( !victim ) || ( !victim.IsSurvivor() ) ) return; local prevRagdoll = NetProps.GetPropEntity( victim, "m_hRagdoll" ); if ( prevRagdoll != null ) return; local clOrigin = victim.GetOrigin(); local ragdoll = null; // cs_ragdoll can crash if proper netprops aren't set, some future-proofing // get rid of uninitialized ragdoll if something goes wrong here try { ragdoll = SpawnEntityFromTable( "cs_ragdoll", {} ) NetProps.SetPropVector( ragdoll, "m_vecOrigin", clOrigin ); NetProps.SetPropVector( ragdoll, "m_vecRagdollOrigin", clOrigin ); NetProps.SetPropInt( ragdoll, "m_nModelIndex", NetProps.GetPropInt( victim, "m_nModelIndex" ) ); NetProps.SetPropInt( ragdoll, "m_iTeamNum", NetProps.GetPropInt( victim, "m_iTeamNum" ) ); NetProps.SetPropEntity( ragdoll, "m_hPlayer", victim ); NetProps.SetPropInt( ragdoll, "m_iDeathPose", NetProps.GetPropInt( victim, "m_nSequence" ) ); NetProps.SetPropInt( ragdoll, "m_iDeathFrame", NetProps.GetPropInt( victim, "m_flAnimTime" ) ); NetProps.SetPropInt( ragdoll, "m_bClientSideAnimation", 1 ); NetProps.SetPropInt( ragdoll, "m_iTeamNum", NetProps.GetPropInt( victim, "m_iTeamNum" ) ); NetProps.SetPropInt( ragdoll, "m_nForceBone", NetProps.GetPropInt( victim, "m_nForceBone" ) ); NetProps.SetPropInt( ragdoll, "m_ragdollType", 4 ); NetProps.SetPropInt( ragdoll, "m_survivorCharacter", NetProps.GetPropInt( victim, "m_survivorCharacter" ) ); NetProps.SetPropEntity( victim, "m_hRagdoll", ragdoll ); //EntFire( "survivor_death_model", "Kill" ); // EntFire is too slow and you can see one-frame image of death model for ( local body; body = Entities.FindByClassname( body, "survivor_death_model" ); ) { body.Kill(); } } catch (err) { if ( ragdoll != null && ragdoll.IsValid() ) ragdoll.Kill(); EntFire( "survivor_death_model", "BecomeRagdoll" ); } }