Results 1 to 10 of 52

Thread: The Ultimate Halo CE Tutorial Index

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #10
    Free Kantanomo English Mobster's Avatar
    Join Date
    Nov 2008
    Location
    Southern California
    Posts
    1,932

    Re: [Tutorial] The Ultimate Halo CE Tutorial Index

    Single Player Modding/Scripting and Implementation
    [PDF] Multix - Basic Scripting Tutorial

    [TEXT/PDF] Many Authors - Big Book of Scripts

    [PDF] Gamma927 - Scripting Variables Tutorial

    [VIDEO] DHalo - Cutscene Camera Movement

    [VIDEO] BioCroc - Vehicle Teleporting (with Application)

    [VIDEO] PlasmaGhost - AI Tutorial


    [TEXT]p0lar_bear - Rules of Thumb for Making Solo Maps (Local Only)

    Here's a list of some tips, tricks, and other stuff with scripts to make a solo map good.

    Friendly AI

    Whenever you make an AI encounter you want to be friendly with the player, add in the (ai_allegiance) command to make an AI team friends
    with the player. For example, if you make a solo map in which you are a
    Covenant Elite, and would like Covenant encounters to buddy up with
    you, use this command in a startup script:
    (ai_allegiance 'player' 'covenant'). Valid teams
    are 'player', 'human', 'covenant', 'flood', and 'sentinel'.

    Checkpoints

    To make a map less frustrating to play, you have to know when to make
    the game do a checkpoint. Usually, I'd put checkpoints before and after
    BIG battles, long sequences, or when you have to traverse a large
    distance and would like to not have to drive/walk a long ways again, like
    in the Silent Cartographer. The checkpoint script command is
    (game_save).

    Objective Parameters

    Let's say there's a vehicle, person, or position you have to protect, or
    else the mission fails, like protecting Capt. Keyes in the end segment of
    Truth and Reconciliation. How they did that was, they placed a Keyes
    biped down with a name, and attached it to the AI encounter of the
    marine squad that follows you around. There was a script that continually
    checked for Keyes's health, and if it hit 0, the game would revert to your
    last checkpoint.

    To make a came continually check a unit's health, make a continuous
    script with the command (unit_get_health <unit>) in an (if) statement, so
    when the unit dies, the game is lost. Here's a sample, which assumes
    your biped's name was 'protectme':

    (if (= (unit_get_health protectme) 0) (game_lost))

    You can also make it wake a dormant script that uses (camera_control 1)
    and (camera_set_dead <unit>) with (game_lost) to show how badly you
    phailed and rub it in your face. >

    Friendly to all

    Make sure your map can be played by all. Do not force the player to use
    a 'skill' weapon in an area that may cause a newbie to get killed 50 times
    before they finally get it. You should usually provide alternative routes
    and strategies. For example, before an enemy-infested area, stick some
    dead marines with dropped pistols, ARs, shotguns, maybe rockets, and
    ammo. And maybe there's a cliff next to you with a sniper rifle on it' You
    don't have to set all of that down, but don't just lay down a plasma pistol
    and expect everyone to be able to get through the area. Also, do not
    make enemy AI overpowered or overwhelming in number without a
    powerful weapon or vehicle to help the player get by. Keep in mind that it
    takes at least 8 headshots to an fully sheilded elite with a pistol to kill,
    and not 3 like the cyborg biped.


    [TEXT] p0lar_bear - Navpoints/Waypoints Tutorial (Local only)

    Meh. Same difference. Via scripts, there are four ways to set a navpoint (the engine refers to them as waypoints), and those are by attaching the waypoint to either a cutscene flag or an object, and have it visible to either one unit, or a team. To set a waypoint, use
    (activate_nav_point_flag) or (activate_team_nav_point_flag) to attach the
    waypoint to a cutscene flag, and use (activate_nav_point_object)
    (activate_team_nav_point_object) to attach a waypoint to a named
    object. When done with a waypoint, use a (deactivate_nav_point') or
    (deactivate_team_nav_point') to turn it off. Since I don't know how to
    refer to the players as units, I usually set a team waypoint. The full
    syntax of a team waypoint command is
    (activate_team_nav_point_flag/object <waypoint type> <team>
    <flag/object> <vertical offset>).

    <waypoint type> can be, by default, 'default', 'default_red', 'flag_blue', 'flag_red', 'target_blue', 'target_red', 'skull_blue', 'skull_red', 'crown_blue', and 'crown_red'. Singleplayer maps should use only the default, and maybe, if you have to kill a certain enemy, the target nav points. the 'default' type and red types of waypoints should be used on urgent things, like the exit on an area that would ahve a timed escape, or an enemy that is about to own you.

    <team> should always be set to 'player', if you want the player to see the waypoint!

    <flag/object> is what you are attatching the waypoint to, which depends on the type of command you're using. Simply put in the name of the desired object or flag you wish to attach the waypoint to.

    <vertical offset> is how much higher on the z-axis the waypoint is placed from the object or flag's marker in sapien. If you attach it to something on the ground, like a door, biped, or weapon, make sure to set it to about .6 or higher, but if its something like a picture on a wall, or if the flag/object is otherwise not on the ground, set it to 0.

    (deactivate_team_nav_point_flag/object) is a bit different. The syntax for it is (deactivate_team_nav_point_flag/object <team> <object/flag>), where <team> is what team you wish to not see the navpoint anymore, and <object/flag> is the object or flag the navpoint is attached to.

    So, let's say we wanted to set a normal waypoint at a position we want the player to go to. Lay down a cutscene flag, name it nav_1, then add a script in your map that has this command: (activate_team_nav_point_flag default 'player' nav_1 .6)

    Now for something a little more useful. Let's make it so we put a waypoint on a warthog, and it turns off whenever the player is in the driver seat,
    and turns on if the player is ejected. Place a warthog and name it
    drive_me. Now, make and compile this script:

    (script continuous hog_checker (if (vehicle_test_seat_list drive_me 'w-
    driver' (players)) (deactivate_team_nav_point_object 'player' drive_me)
    (activate_team_nav_point_object 'default_red' 'player' drive_me 1)) )

    In theory, that will constantly deactivate the waypoint while a player is in
    the driver seat, and then constantly activate it when there is no player in
    the driver seat. I don't know if more than one waypoint can be put on the
    same object or flag, but if it doesn't, then this should work fine.

    Anyway, read up hs_doc, or the HS Bible, and find out more ways on how
    to make and use waypoints effectively.


    [TEXT] adumass - AI Follow Tutorial

    [PDF] Unknown - AI Driving Warthogs

    [PDF] P0lar Bear - Trigger Volumes for Dummies

    [TEXT] L0d3x - Firefight Map Tutorial
    Last edited by English Mobster; November 1st, 2009 at 01:45 PM.
    Reply With Quote

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •