Skip to content

Making a Custom Map

42 edited this page Sep 22, 2023 · 8 revisions

Escape Zones

Escape zones are necessary is a rescue mode map. They're simple enough to add. To consider a Scientist or Class-D Personal escaped, TF_COND_TELEPORTED (or condition 6) needs to be applied. This can be done with entities such as trigger_add_tf_player_condition. You can apply a team filter like filter_activator_tfteam.

Filter Logic

There may be conflicts with team-based filters due to SCPs being on team 0 (Unassigned). To get if a player is in the SCP team, use a filter_multi, checking if the player is neither on RED or BLU team.

Example of a filter_multi for checking SCP team

Items

Items can be placed around the map and can be controlled by the map.

In Hammer

Any variant of prop_dynamic can be used for item pickups. When a player touches the item OnUser1 will be sent to the entity. When a player pickups the item OnUser2 will be sent before the entity is killed. These outputs can be used for creating events when interacting with an item. Items need a specific targetname in order to be considered pickups, scp_item_# with # being the item index (see the weapons.cfg) will consider this entity an item that can be picked up. scp_rand_# can be used to make the item not guaranteed, a random chance when the round begins will kill this item, being more likely with less players on the server, this type can be useful to scale items with player count.

In Config

The index specified in the config is what to use for your map items. "model" key is specified to override existing worldmodel an item may have, along with "skin" key to override the color. It is recommended that you keep the model in the map the same as the item but it's not required.

Default Table

Item Index Model Skin Info
Fireaxe 192 models/weapons/c_models/c_fireaxe_pyro/c_fireaxe_pyro.mdl Highest damage but lowest fire rate
Wrench 197 models/weapons/c_models/c_wrench/c_wrench.mdl Functions like live TF2 wrench with friendly buildings
Sledge Hammer 153 models/weapons/c_models/c_sledgehammer/c_sledgehammer.mdl High damage against breakables
Frying Pan 264 models/weapons/c_models/c_frying_pan/c_frying_pan.mdl Loud
Machete 30758 models/workshop_partner/weapons/c_models/c_prinny_knife/c_prinny_knife.mdl Able to backstab
Wooden Club 325 models/weapons/c_models/c_boston_basher/c_boston_basher.mdl Highest fire rate but lowest damage
Meat 1013 models/weapons/c_models/c_ham/c_ham.mdl Doubled random crit chance
Disarmer 954 models/weapons/c_models/c_8mm_camera/c_8mm_camera.mdl Able to disarm players
COM-15 773 models/weapons/c_models/c_pep_pistol/c_pep_pistol.mdl Early basic pistol, useful as the first weapon Class-D or Scientists will pick up
COM-18 209 models/weapons/c_models/c_pistol/c_pistol.mdl A rarer but heavier pistol, less common that it's sister but reliable and accurate
FSP-9 751 models/weapons/c_models/c_pro_smg/c_pro_smg.mdl A weapon Guards spawn with, a weak automatic weapon
Crossvec 203 models/weapons/c_models/c_smg/c_smg.mdl A weapon MTF Privates spawn with, a slightly more powerful automatic weapon
MTF-E11-SR 425 models/weapons/c_models/c_russian_riot/c_russian_riot.mdl A weapon other MTF classes spawn with, a powerful automatic weapon but has it's own unique bullet type
AK 1153 models/workshop/weapons/c_models/c_trenchgun/c_trenchgun.mdl A weapon Chaos Insurgency Riflemann spawn with, a good automatic weapon, not something you would find in a normal SCP facility
Shotgun 200 models/weapons/c_models/c_scattergun.mdl A weapon Chaos Insurgency Marauder spawn with, a heavy single-shot weapon, not something you would find in a normal SCP facility
Revolver 61 models/weapons/c_models/c_ambassador/c_ambassador.mdl A weapon Chaos Insurgency Marauder spawn with, a precision single-shot weapon, not something you would find in a normal SCP facility
Logicer 415 models/weapons/c_models/c_reserve_shooter/c_reserve_shooter.mdl A weapon Chaos Insurgency Repressor spawn with, a very powerful automatic weapon but halved damage against SCPs
Flash Grenade 58 models/workshop/weapons/c_models/c_quadball/w_quadball_grenade.mdl 1 A grenade that deals no damage but blinds players it hits
High-Explosive Grenade 1083 models/weapons/w_models/w_grenade_grenadelauncher.mdl 0 A grenade that deals high amount of damage but arms slower
Micro H.I.D. 594 models/workshop/weapons/c_models/c_drg_phlogistinator/c_drg_phlogistinator.mdl A single instance weapon usually locked behind a Tier 3 Armory that as a slower charge up but deals massive damage
"Smoothy Maker" 205 models/weapons/c_models/c_rocketlauncher/c_rocketlauncher.mdl An unused weapon that can nuke an entire large room in a single rocket
Minigun 15 models/weapons/c_models/c_minigun/c_minigun.mdl A powerful minigun used on the official map Frostbite that is spawned with Chaos Insurgency Elite
Janitor Keycard 30001 models/scp_sl/keycard.mdl 3 Can open SCP-914
Scientist Keycard 30002 models/scp_sl/keycard.mdl 8 Can open most SCP rooms
Zone Manager Keycard 30003 models/scp_sl/keycard.mdl 10 Can open SCP-914 and checkpoints
Research Supervisor Keycard 30004 models/scp_sl/keycard.mdl 5 Can open most SCP rooms and checkpoints
Facility Guard Keycard 30005 models/scp_sl/keycard.mdl 2 Can open SCP-914, checkpoints, and Armory Tier 1
MTF Private Keycard 30006 models/scp_sl/keycard.mdl 9 Can open most SCP rooms, checkpoints, and Armory Tier 1
MTF Sergeant Keycard 30007 models/scp_sl/keycard.mdl 4 Can open most SCP rooms, checkpoints, exits, and Armory Tier 2
MTF Captain Keycard 30008 models/scp_sl/keycard.mdl 6 Can open most SCP rooms, checkpoints, exits, intercom, and Armory Tier 3
Containment Engineer Keycard 30009 models/scp_sl/keycard.mdl 0 Can open all SCP rooms, checkpoints, intercom, and warhead
Facility Manager Keycard 30010 models/scp_sl/keycard.mdl 1 Can open all SCP rooms, checkpoints, exits, intercom, and warhead
Chaos Insurgency Access Device 30011 models/scp_sl/keycard.mdl 6 Can open most SCP rooms, checkpoints, exits, intercom, and Armory Tier 3
O5 Keycard 30012 models/scp_sl/keycard.mdl 7 Can open everything
Pain Killer 30013 models/items/medkit_small.mdl Gives a small health regeneration over time when used
Health Kit 30014 models/items/medkit_medium.mdl used to restore half health
Adrenaline 30015 models/weapons/c_models/c_uberneedle/c_uberneedle.mdl Gives unlimited sprinting and resistance when used
Radio 30016 models/weapons/w_models/w_sd_sapper.mdl Allows speaking to other players also using radio in a longer distance
SCP-500 30017 models/items/medkit_small.mdl Instantly restores full health, small health regeneration, and removes some effects
SCP-207 46 models/weapons/c_models/c_energy_drink/c_energy_drink.mdl 0 Gives unlimited sprinting, increases base movement speed, small health degeneration
SCP-018 30018 models/weapons/c_models/c_xms_festive_ornament.mdl 0 A throwable bouncing ball that speeds up rapidly that can damage players until it explodes
SCP-268 107 models/player/items/scout/newsboy_cap.mdl Able to become invisible when used, able to be reused with a cooldown
Light Armor 30019 models/weapons/c_models/c_buffpack/c_buffpack.mdl Armor that Facility Guards spawn with that has little protect but no downsides
Combat Armor 30020 models/weapons/c_models/c_shogun_warpack/c_shogun_warpack.mdl Armor that majority of combat classes spawn with that has more protect, reserve ammo, and in consuming more sprint
Heavy Armor 30021 models/workshop/weapons/c_models/c_battalion_buffpack/c_battalion_buffpack.mdl Armor that higher-up classes spawn with that has massive protection but slows you down the most

Keycards

Keycards can be used to lock specific areas until a player has a valid keycard for it. A logic_relay with a targetname called scp_access_# with # being the access index. Trigger this entity with the player as the activator will return OnUser1 through OnUser4. OnUser1 if the player have access to level 1, OnUser2 if the player have access to level 2, OnUser3 if the player have access to level 3, OnUser4 if the player does not have any acesss.

Access Table

Index Name Levels
0 Containment Chamber Access 3
1 Armory Access 3
2 Exit 1
3 Alpha Warhead 1
4 Checkpoint 1
5 Intercom 1

Keycard Reference

Keycard Containment Armory Exit Warhead Checkpoint Intercom
Janitor 1 0 No No No No
Scientist 2 0 No No No No
Zone Manager 1 0 No No Yes No
Research Supervisor 2 0 No No Yes No
Facility Guard 1 1 No No Yes No
MTF Private 2 1 No No Yes No
MTF Sergeant 2 2 Yes No Yes No
MTF Captain 2 3 Yes No Yes Yes
Containment Engineer 3 0 No Yes Yes Yes
Facility Manager 3 0 Yes Yes Yes Yes
Chaos Insurgency Access Device 2 3 Yes No Yes Yes
O5 3 3 Yes Yes Yes Yes

Example of a locked door to SCP-914 that requires Containment Tier 1

Relays

Some specific relays if you need information or change an event.

Targetname Trigger OnUser1 OnUser2 OnUser3 OnUser4
scp_access_# See Keycards Level 1 Access Level 2 Access Level 3 Access No Access
scp_endmusic Stops and pause plugin music for all players
scp_escapepocket Gives the achievement for escaping SCP-106's pocket dimension to the player
scp_femur Kills SCP-106 and gives the achievement for doing so to all alive human players
scp_floor_# Changes the floor music the player is on with # being the floor number
scp_giveitem_# Gives an item to the player, see Items
scp_intercom Player is able to speak to all players, regardless of range, for 15 seconds
scp_nuke Gives the achievement for surviving an Alpha Warhead to all alive players
scp_nukecancel Gives the achievement for disarming Alpha Warhead within the last 15 seconds
scp_printer Opens Printer menu for duplicating held keycards
scp_removecard Removes a keycard a player is holding or every keycard in a player's inventory
scp_removeitem_# Removes an item from the player, see Items
scp_roundend Team 1 Won (Class-D) Team 2 Won (MTF) Team 3 Won (SCPs) Stalemate
scp_startmusic Starts or restarts plugin music for all players
scp_upgrade Opens SCP-914 menu for upgrading held item for the player

SCP Logic

When SCP-106 hits a player, the player is sent to his pocket dimension which usually consists of 8 hallways with only one of them teleporting the player to SCP-106's containment chamber while the rest instantly kill the player. A info_target with a targetname scp_pocket will be the location in which the player teleports to, there can be more than one location.

Spawn Points

Each class as their own specific spawn point they'll go to upon spawning in.

In Hammer

Normal spawn points are still necessary as a player will spawn at that point before teleporting to their respective spawn point. info_target is used to set spawn points of specific classes, like normal spawn points, they should be slightly above the ground to prevent clipping into the ground. The entity's targetname determines which class should spawn at that point. Names are specified in the plugin's config and can be changed per map for anything custom.

In Config

Each class has a set spawn point, if left blank, it'll default to a normal spawn point. The "spawn" key specify the targetname of the entity it'll check for, if multiple matches are found, it'll choose one at random for the player. A StrContains check will be used so it can find similar matches. For example: An entity named scp_spawn_scientist will match with scp_spawn_sci. It is possible to modify spawn points by deleting/creating entities as it only checks when a player spawns in and goes to a specific spawn point.

Default Table

Classes Info Target Name Team Spawn
Spectator Blue
Class-D Personnel scp_spawn_dboi Red
Chaos Insurgency Agent scp_spawn_chaos Red
Scientist scp_spawn_sci Blue
Facility Guard scp_spawn_guard Blue
Nine-Tailed Fox (All Ranks) scp_spawn_mtf Blue
SCP-049 scp_spawn_049 Red
SCP-076-2 scp_spawn_076 Red
SCP-096 scp_spawn_096 Red
SCP-106 scp_spawn_106 Red
SCP-173 scp_spawn_173 Red
SCP-457 scp_spawn_457 Red
SCP-939 scp_spawn_939 Red