SDK Walkthrough

BEFORE YOU START: Download this package containing all the required files and examples for your own custom elevator floors: Elevator: Source SDK
Note: It is required you own Half-Life 2: Episode 2.

  1. Copy the elevator addon files into ../Steam/steamapps/[YOUR_USERNAME]/half-life 2 episode two/ep2/
    Make sure you extract all the content to their proper folders. (ex. ../addon/elevator/materials to ../half-life 2 episode two/ep2/materials)
  2. Open the Hammer editor in Half-Life 2: Episode 2 (2009) mode.

  3. Install the elevator FGD file for use in Hammer.

  4. Open elevator_sdk.vmf. This is the map you will compile all your floors in. It contains the lobby, the end floor, two example floors (dungeon and space), and the intermission elevator.

    Do NOT change any entities named: "elevator_lobby", "elevator_main", "elevator_end". These are required entities and they must stay the same!

  5. Brief break-down of required named entities:
    • elevator_lobby - The lobby elevator floor position.
    • elevator_main - The intermission/waiting elevator floor position.
    • elevator_end - The top/end elevator floor position.
  6. To Create a new floor, copy elevator_floor_prefab.vmf to another VMF (name it something to do with your floor).

    Be sure to edit the follow entity information:

    • The name should start with elevator_custom_[YOUR_FLOORNAME]. The gamemode will detect your floor automatically if it starts with elevator_custom_. Try keep your floor name as simple as possible as you will be entering it later.
    • relayStart should be the name of the logic_relay entity for the start of that floor.
    • relayEnd should be the name of the logic_relay entity for the end of that floor.

    The name should correspond to something similiar as the name of the floor. If the info_elevator_floor is named "elevator_custom_1", name this something easy like "elevator_custom_1_start".

    Same as relayStart, except the name is something like "elevator_custom_1_end".

    Elevator doors
    The elevator doors are opened/closed via animation. The prefab has the correct timing for the doors to work perfectly each time. You will need to rename this entity though, similar to relayStart - except the name will be something like "elevator_custom_1_doors"

    The prefab floor provided has all of the entities setup for you. It even has the proper naming scheme setup as well! Isn't that nice! You just need to change the names of each entity that has "NAMEME" in their name. Make sure whatever you replace "NAMEME" with is a unique floor name, just as explained above. The prefab floor ends after a delay of 10 seconds, as you can see in the end floor relay provided. I suggest you change this to whatever fits your new floor!
  7. To Test your new floor. Simply compile it and do ent_fire elevator_custom_[YOUR_FLOORNAME]_start Trigger
  8. Once you're happy with the new floor, add it to the main VMF (elevator_sdk.vmf). Make sure you place it somewhere far away from other floors to avoid noise pollution.
  9. Compile then open your map in GMod with the gamemode loaded and have fun!