Left 4 Dead 2

Left 4 Dead 2

Resident Evil Mode
 This topic has been pinned, so it's probably important
Toranks  [developer] 14 Apr, 2022 @ 5:46pm
Sourcemod plugins and mods recommended - Configs
Thanks to Left 4 Bots in combination with Sourcemod, you can get one of the best AI I've seen in any coop FPS videogame. I've tried and tested them for months and they work flawlessly with dozens of official and fan-made maps and are literally capable of performing in all situations. The only issues still impossible to correct are those related to hard-coded behavior and that bots can fall into cliffs or similar in poorly designed areas of custom maps, but learning their behavior can be avoided with good use of the 'bots wait' and 'bots warp' commands, etc. Below I will give a list of sourcemod mods and the usefulness they have with the bots AI function, which are perfectly compatible with Left4Bots, Resident Evil Mode, and with the recommended configuration to obtain the desired behavior.

- Left 4 Bots & Left 4 Libs (mandatory)

- "L4D2 Survivor Bot Fix" (1.00) by DingbatFlat" > This is the jewel in the crown, and the one that turns bots into true killing zombies and helping teammates machines. Use this settings:

sb_fix_dont_switch_secondary 0 > If you allow bots to use melee weapons. I recommend yes. With this addon, It is VERY hard for commons or SI to get close enough to a survivor bot because bots has infinite stamina and can shove again and again

sb_fix_help_shove_type 3

sb_fix_ci_range 300 or 400 (according to your CPU) > Value of 500+ is very CPU intensive and not necessary as the standard AI does quite well with zombies that are not very close

sb_fix_rock_enabled 0 > Because Left 4 bots now can shoot tank rocks by itself

All other settings, use defaults

https://forums.alliedmods.net/showpost.php?p=2774567&postcount=34

- "Improved L4D2 Survivor AI Auto Trigger" (1.3) by Xanaguy" > Allows bots to be able to complete absolutely all official maps by themselves, and a lot of custom maps.

https://forums.alliedmods.net/showthread.php?t=310638

- "L4D Survivor AI Pounced Fix" (1.1.1) by AtomicStryker" > Improves bots ability to free teammates from SI grabs

https://forums.alliedmods.net/showthread.php?p=893326

- [L4D2] Nerf Damage To Commons [v1.0.8], nullifies the instakills of certain weapons, instead dealing the actual damage that corresponds to them. I fix this plugin so now commons can be dismembered alive with any weapon except legs and heads and is compatible with Extended Common Infected and any other mod that modifies the common models.

l4d2_nerf_damage_common_non_melee_stumble_chance "25.0" > High value because the zombies will overwhelm you very quickly

l4d2_nerf_damage_common_shotgun_stumble "1" > Default game behavior is fine

l4d2_nerf_damage_common_chainsaw 0
l4d2_nerf_damage_common_explosive_ammo 0
l4d2_nerf_damage_common_explosive_ammo_stumble 0
l4d2_nerf_damage_common_incendiary_ammo 0 > Chainsaw and upgrade ammo is fine as is, not need a nerf, really, only if there is a lot of this type of ammunition on the map

l4d2_nerf_damage_common_insta_kill_chance 0 > No free instakills

l4d2_nerf_damage_common_minigun_damage 100
l4d2_nerf_damage_common_50cal_damage 100 > All turrets need more damage with these type of zombies or you will be quickly overwhelmed

All other settings, use defaults

https://forums.alliedmods.net/showpost.php?p=2775636&postcount=54

- UPDATED Common Infected Health - Damage Received (1.7), Anula los instakills en tiros a la cabeza, melé, motosierra, bomba, y bombonas de propano y oxígeno, dando en su lugar un daño personalizable. Permite ajustar la vida de los zombis raros como Jimmy Jibbs. También previene decapitaciones completas y zombis sin piernas.

https://forums.alliedmods.net/showthread.php?t=332832

- NEW Shove Handler (1.2), nullifies shove kills, so that instead of killing commons or specials with a certain number of shoves, indicate by yourself how much damage is received from each shove, even 0.

https://forums.alliedmods.net/showthread.php?t=337808

- First Person Animations], animations that normally play in third person, will play in first person. This effect has potential game-breaking bugs, but I have played with this solo and online without problems so far. Sourcemod version is less customizable without code knowledge, but can be activated-deactivated by any player individually.

https://forums.alliedmods.net/showthread.php?t=297161

- Enhanced Angry Vanilla Bots: If you don't know or don't want to install Metamod + Sourcemod, you have a pretty good alternative with this plugin, designed to be compatible with Left4Bots (remember to only use the 'enhanced angry vanilla bots 2.vpk' file, it is the one that is adapted). Don't use at same time with sourcemod plugin Survivor Bot Fix because both are very CPU-expensive.

https://www.gamemaps.com/details/26774

List of my config files for Left 4 Bots

Settings.txt:

horde_nades_radius = 500
vocalizer_commands = 1
rock_shoot_range = 700
throw_molotov = 1
pickup_medkit = 1
should_hurry = 1
force_heal = 1
nades_bots_give = 1
anti_pipebomb_bug = 1
pickup_pipe_bomb = 1
show_commands = 1
pickup_molotov = 1
t3_ammo_human = 0
pickup_max_separation = 450
close_saferoom_delay = 0.9
t3_ammo_bots = 1
sorry_chance = 80
trigger_witch = 0
horde_nades_maxaltdiff = 150
keep_holding_position = 0
load_convars = 1
tank_molotov_chance = 30
pills_bots_give = 1
jockey_redirect_damage = 25
scavenge_max_bots = 2
user_can_command_bots = 1
laugh_chance = 25
pickup_vomitjar = 1
min_start_health = 50
kill_empty_chainsaw = 1
loglevel = 1
horde_nades_chance = 5
thanks_chance = 90
play_sounds = 1
deploy_upgrades = 1
horde_nades_size = 25
close_saferoom_door = 0
scavenge_pour = 1
pickup_animation = 1
throw_pipe_bomb = 1
spit_damage_multiplier = 1
medkits_bots_give = 1
nades_give = 1
pickup_pills_adrenaline = 1
upgrades_bots_give = 1
spit_block_nav = 1
tank_vomitjar_chance = 3
max_chainsaws = 1
throw_vomitjar = 1
trigger_caralarm = 0


ontank_convars.txt

sb_battlestation_give_up_range_from_human 1500
sb_max_battlestation_range_from_human 1000
sb_follow_stress_factor 0
sb_separation_range 500
sb_separation_danger_max_range 1000
sb_sidestep_for_horde 0
sb_max_team_melee_weapons 2


ontank_settings.txt

scavenge_max_bots = 0
horde_nades_chance = 20
horde_nades_size = 15
close_saferoom_door = 1
scavenge_pour = 0
spit_block_nav = 0


const.nut (Change these parameters only if you know what you are doing)

const SPIT_RADIUS = 160
const MOLOTOV_SURVIVORS_MINDISTANCE = 250
const THROW_NADE_DELTAPITCH = -8
const BOT_GOTOPICKUP_RANGE = 500
const BOT_PICKUP_RANGE = 150
const BOT_PICKUP_RANGE2 = 150
const BOT_GOTODEFIB_RANGE = 1250
const BOT_GOTODEFIB_MAX_ALTDIFF = 350
const NEARBY_DEFIB_RADIUS = 500
const PROXIMITY_RANGE_MAX = 99999
const RETREAT_FROM_TANK_DINSTANCE = 500


My convars.txt with Resident Evil Mode:

NOTE: It's not the same as the one I'm distributing with the article, as it has a lot of personal things, like more light from the flashlight, different colors of auras, etc. Copy it only if you know what you're doing.

//Bots AI
allow_all_bot_survivor_team 1
sb_all_bot_game 1
sb_allow_shoot_through_survivors 0
sb_battlestation_give_up_range_from_human 750
sb_battlestation_human_hold_time 2
sb_close_checkpoint_door_interval 10
sb_debug_apoproach_wait_time 2.5
sb_close_threat_range 400
sb_combat_saccade_speed 2250
sb_enforce_proximity_range 2500
sb_enforce_proximity_lookat_timeout 5
sb_unstick 1
sb_far_hearing_range 2000
sb_friend_immobilized_reaction_time_expert 0
sb_friend_immobilized_reaction_time_hard 0
sb_friend_immobilized_reaction_time_normal 0
sb_friend_immobilized_reaction_time_vs 0
sb_locomotion_wait_threshold 0.5
sb_max_battlestation_range_from_human 750
sb_max_scavenge_separation 3000
sb_min_attention_notice_time 1
sb_min_orphan_time_to_cover 0.5
sb_near_hearing_range 1000
sb_neighbor_range 200
sb_normal_saccade_speed 1500
sb_path_lookahead_range 1000
sb_pushscale 4
sb_reachability_cache_lifetime 0.1
sb_rescue_vehicle_loading_range 200
sb_separation_danger_max_range 600
sb_separation_danger_min_range 150
sb_separation_range 300
sb_sidestep_for_horde 1
sb_temp_health_consider_factor 0.8
sb_threat_close_range 250
sb_threat_far_range 1000
sb_threat_medium_range 500
sb_threat_very_close_range 150
sb_threat_very_far_range 2000
sb_toughness_buffer 21
sb_vomit_blind_time 2.5
survivor_ff_avoidance 1
survivor_ff_tolerance 10
survivor_allow_crawling 1
survivor_incap_max_fall_damage 300
fall_speed_fatal 800
z_minion_limit 10
z_hunter_limit 5
z_smoker_limit 5
z_spitter_limit 5
z_charger_limit 5
z_boomer_limit 5
z_jockey_limit 5
survivor_crawl_speed 20
survivor_crouch_speed 80
survivor_shove_teammates 1
survivor_drag_type 2
//Armas
ammo_turret_infected_damage 100
ammo_turret_tank_damage 100
ammo_turret_witch_damage 100
z_minigun_damage_rate 60000
mounted_gun_cooldown_time 15
mounted_gun_overheat_penalty_time 15
mounted_gun_overheat_time 15
mounted_gun_rate_of_fire 10
ammo_huntingrifle_max 200
ammo_sniperrifle_max 200
ammo_grenadelauncher_max 50
z_shotgun_bonus_damage_range 250
ammo_chainsaw_max 100
chainsaw_attack_distance 100
chainsaw_attack_cone 50
chainsaw_attract_distance 1500
//Enemigos IA mejorada
skill 3
tank_run_spawn_delay 5
tank_stuck_visibility_tolerance_choose_new_target 1.25
tank_stuck_time_choose_new_target 1
tank_stuck_visibility_tolerance_suicide 60
tank_stuck_visibility_tolerance_choose_new_target 1.5
tank_stasis_time_suicide 90
tank_stuck_time_suicide 90
tank_throw_aim_error 25
tank_throw_loft_rate 0.016
tank_throw_max_loft_angle 90
tank_throw_allow_range 675
tank_throw_lead_time_factor 0.13
tank_visibility_tolerance_suicide 150
tank_burn_duration 90
tank_burn_duration_hard 90
tank_burn_duration_expert 60
nb_path_segment_influence_radius 9999
nb_path_draw_inc 9999
nb_saccade_speed 4150
nb_speed_look_ahead_range 338
nb_goal_look_ahead_range 9999
hunter_pounce_loft_rate 0.0375
hunter_pounce_max_loft_angle 90
hunter_pounce_ready_range 600
jockey_pounce_loft_rate 0.0375
jockey_pounce_max_loft_angle 90
z_jockey_control_max 0.9
z_jockey_control_min 0.1
z_jockey_control_variance 0.5
z_hunter_lunge_pitch 95
smoker_tongue_delay 1
z_charge_duration 10
z_vomit_duration 3
z_witch_flashlight_range 750
z_witch_personal_space 145
z_falling_land_speed 150
z_brawl_chance 5
z_female_boomer_spawn_chance 50
z_tank_has_special_blood 1
//Zombies sensibilidad realista
z_fog_spawn 1
z_notice_near_range 80
z_acquire_far_range 500
z_acquire_near_range 50
z_acquire_far_time 10.0
z_acquire_near_time 1
z_acquire_time_variance_factor 1
z_hear_runner_far_range 300
z_hear_runner_near_range 200
z_hear_gunfire_range 2000
z_vision_range 300
z_vision_range_alert 500
z_vision_range_daylight 750
z_vision_range_obscured 100
z_vision_range_obscured_alert 200
z_noise_level_vocalize 80
z_noise_level_footstep 80
z_spawn_mobs_behind_chance 10
//Rango de atraccion de las bombas
z_notice_it_range 2500
z_force_attack_from_sound_range 2500
//Distancia de spawn y despawn
z_cooldown_spawn_safety_range 1250
z_discard_min_range 1500
z_discard_range 5000
spawn_behind_survivors_distance 1000
z_respawn_distance 1000
z_safe_spawn_range 1000
z_spawn_range 2500
//Fisicas realistas
cl_ragdoll_limit 120
cl_ragdoll_maxcount 120
cl_ragdoll_maxcount_boss 10
cl_ragdoll_maxcount_generic 60
cl_ragdoll_maxcount_gib 50
cl_ragdoll_maxcount_special 20
ragdoll_velocity_multiplier 24
phys2_ragdoll_self_collision 1
cl_ragdoll_gravity 772
cl_ragdoll_force_multiplier 24
cl_ragdoll_physics_enable 1
z_fatal_blast_max_ragdolls 50
//Limites maximos
z_background_limit 100
z_mob_spawn_max_size 60
z_mob_spawn_finale_size 60
z_mega_mob_size 90
music_dynamic_mob_large 75
music_dynamic_mob_med 50
music_dynamic_mob_small 25
z_mob_min_notify_count 50
z_common_limit 100
//Zombies errantes reservados
z_reserved_wanderers 10
cleared_wanderer_respawn_chance 0.1
director_num_reserved_wanderers 10
director_intensity_relax_allow_wanderers_threshold 0.8
director_intensity_relax_allow_wanderers_threshold_expert 0.8
director_intensity_relax_allow_wanderers_threshold_hard 0.8
//Infectados sueltan objetos
sv_infected_ceda_vomitjar_probability 0.01
sv_infected_police_tonfa_probability 0.001
sv_infected_riot_control_tonfa_probability 0.01
//Densidad de objetos
director_scavenge_item_override 0
director_convert_pills_critical_health 20
director_convert_pills_to_defib_health 10
//Items
first_aid_heal_percent 1
pain_pills_decay_rate 0.1
pain_pills_health_value 50
adrenaline_duration 30.0f
pipe_bomb_timer_duration 20
vomitjar_radius 200
vomitjar_duration_infected_bot 120
vomitjar_duration_infected_pz 120
vomitjar_duration_survivor 10
vomitjar_radius_survivors 50
adrenaline_health_buffer 30
//Dificultad
z_health 250
z_speed 68
z_walk_speed 55
z_crouch_speed 50
z_tank_health 20000
z_witch_health 2000
z_spitter_health 400
z_exploding_health 300
z_hunter_health 600
z_jockey_health 800
z_charger_health 1500
z_gas_health 500
z_throttle_hit_interval_expert 1
z_throttle_hit_interval_hard 1
z_throttle_hit_interval_normal 0.5
survivor_friendly_fire_factor_expert 0.3
survivor_friendly_fire_factor_hard 0.3
bullet_ff_through_walls 1
z_hit_incap_factor_expert 0.2
z_hit_incap_factor_hard 0.2
z_hit_incap_factor_normal 0.2
z_non_head_damage_factor_expert 0.4
z_non_head_damage_factor_hard 0.4
z_non_head_damage_factor_normal 0.4
z_hit_from_behind_factor 1
z_gun_swing_coop_max_penalty 10
z_gun_swing_coop_min_penalty 6
z_gun_swing_vs_max_penalty 8
z_gun_swing_vs_min_penalty 5
survivor_damage_speed_factor 0.5f
survivor_max_incapacitated_count 2
rescue_min_dead_time 300
//Mutacion Resident Evil
director_always_allow_wanderers 1
z_wandering_density 0.1
z_charge_start_speed 100
z_spitter_speed 180
z_jockey_speed 200
z_hunter_speed 250
z_exploding_speed 100
z_gas_speed 180
z_tank_speed 120
z_tank_walk_speed 90
//relax2 excepto panico relax
director_relax_max_interval 240
director_relax_min_interval 120
z_mob_spawn_max_interval_expert 1200
z_mob_spawn_max_interval_hard 1200
z_mob_spawn_max_interval_normal 1200
z_mob_spawn_min_interval_expert 600
z_mob_spawn_min_interval_hard 600
z_mob_spawn_min_interval_normal 600
z_mega_mob_spawn_min_interval 1500
z_mega_mob_spawn_max_interval 3000
director_panic_wave_pause_min 5
director_panic_wave_pause_max 15
director_special_initial_spawn_delay_min 120
director_special_initial_spawn_delay_max 240
director_special_respawn_interval 120
z_special_spawn_interval 120
//bots
sb_follow_stress_factor 1
sb_max_team_melee_weapons 3
sb_melee_approach_victim 0
scavengebotsds_on 0
//cvars personales
r_flashlightfar 2000
r_flashlightfov 80
r_flashlightconstant 0.2
r_flashlightbrightness 0.25
r_flashlightmuzzleflash 0
r_flashlightmuzzleflashfov 0
muzzleflash_light 0
director_afk_timeout 999999
cl_detaildist 2000
cl_detailfade 1000
r_decal_cover_count 20
r_decal_overlap_count 10
r_decal_overlap_area 0.6
hud_targetid_player_view_cone 1
hud_deathnotice_threats 1
sv_vote_creation_timer 10
vs_max_team_switches 99
c_thirdpersonshoulderaimdist 720
cl_crosshair_circle_alpha 5
cl_crosshair_circle_mode 2
mat_motion_blur_strength 0
r_shadowmaxrendered 32
fps_max 100
//Supervivientes morado
cl_glow_survivor_r 0.3
cl_glow_survivor_g 0.3
cl_glow_survivor_b 0.7
//Infectado agarrando superviviente, Hunter,Jockey,Charger naranja oscuro
cl_glow_ability_b 0
cl_glow_ability_r 1
cl_glow_ability_g 0.2
//Superviviente Incapacitado o cogido por infectado Rosa
cl_glow_survivor_hurt_r 1
cl_glow_survivor_hurt_g 0.2
cl_glow_survivor_hurt_b 0.4
//Objetos de cerca Verde
cl_glow_item_b 0.2
cl_glow_item_g 1
cl_glow_item_r 0
//Objetos de lejos Azul
cl_glow_item_far_b 1
cl_glow_item_far_g 0
cl_glow_item_far_r 0
//Superviviente vomitado aguamarina leve
cl_glow_survivor_vomit_r 0
cl_glow_survivor_vomit_g 0.2
cl_glow_survivor_vomit_b 0.1
//Infectado vomitado Verde
cl_glow_infected_vomit_r 0
cl_glow_infected_vomit_g 1
cl_glow_infected_vomit_b 0
//Infectado regenerado rojo
cl_glow_infected_g 0
cl_glow_infected_b 0
cl_glow_infected_r 1
//Infectado fantasma morado
cl_glow_ghost_infected_b 1
cl_glow_ghost_infected_g 0.2
cl_glow_ghost_infected_r 0.4
//Superviviente con salud Alta Verde claro
cl_glow_survivor_health_high_g 1
cl_glow_survivor_health_high_b 0.2
cl_glow_survivor_health_high_r 0.2
//Superviviente con salud Media Verde Limon
cl_glow_survivor_health_med_b 0
cl_glow_survivor_health_med_g 1
cl_glow_survivor_health_med_r 0.4
//Superviviente con salud baja Naranja
cl_glow_survivor_health_low_b 0
cl_glow_survivor_health_low_r 1
cl_glow_survivor_health_low_g 0.4
//Superviviente con salud Critica Rosado
cl_glow_survivor_health_crit_b 0.2
cl_glow_survivor_health_crit_g 0
cl_glow_survivor_health_crit_r 1
//Objetos de Tank y Objetos al borde muerte Amarillo
cl_glow_thirdstrike_item_r 1
cl_glow_thirdstrike_item_g 1
cl_glow_thirdstrike_item_b 0
//Glow Witch Normal Amarillo
cl_witch_glow_idle_b 0
cl_witch_glow_idle_g 1
cl_witch_glow_idle_r 1
//Glow witch asustada Violeta
cl_witch_glow_angry_b 1
cl_witch_glow_angry_g 0.2
cl_witch_glow_angry_r 0
Last edited by Toranks; 28 May, 2022 @ 4:30pm
< >
Showing 1-2 of 2 comments
Toranks  [developer] 4 May, 2022 @ 11:33am 
[L4D2] Melee Fix by Mr. Zero
Commons, specials, witches and tanks can be killed by a certain number of melee hits, no matter how much HP have. You can regulate the damage they take with melee with this mod, so you have to give them as many hits as they need depending on how much health they have. You must know how to compile if you want to use this plugin on a listen server, follow my instructions on my thread post:

https://forums.alliedmods.net/showthread.php?t=154366
Last edited by Toranks; 4 May, 2022 @ 12:49pm
Toranks  [developer] 4 May, 2022 @ 11:40am 
[L4D1/2] Varying Zombie Population by Luke Penny
With this plugin, the speed and sensitivity of commons, and HP of commons and specials can vary the values you specify on every individual.

https://forums.alliedmods.net/showthread.php?p=1064872
Last edited by Toranks; 4 May, 2022 @ 12:48pm
< >
Showing 1-2 of 2 comments
Per page: 1530 50