| Home Page | Recent Changes

DocAwk?/Projects

Resources / Scripts

  • AdvancedMover (UT2004)[AdvancedMover (UT2004)]
    Version: 0.96
    Basic Description: A mover with enhanced functionality. (obvious, right?)

    Current Features:
    1. Can have 256 keyframes with individual move-times.
    2. Move time can be specified for each keyframe.
    3. Can specify whether to use individual MoveTimes or a single "global" MoveTime
    4. Can jump back to Key0 once it reaches the last keyframe and has delayed for its StayOpenTime. (not just in ConstLoop mode)
    5. Can be set to accumulate damage to reach the DamageThreshold
    6. Can specify whether the mover begins locked or not
    7. Can specify whether or not the mover needs to be unlocked only once (the key is no longer required)
    8. Can specify the Key (soon, multiple keys)
    9. Can specify the locked and unlocked sounds and their respective volume, pitch, and radius
    10. Can choose whether or not a key is needed to "open" and/or "close" a mover when set to TriggerToggle
    11. Can be a delay between unlocking and triggering.
    12. Can be set to shake the screen at all "states" (except for "moving")
    13. Can shake the screen at each keyframe.
    14. Events can be called at each keyframe.
    15. Can play sounds at each keyframe, including the ability to change the AmbientSound.
    16. In-Editor help. This is a bit hacky, but there are menus that begin with the word "Help_" that contain info about properties that are new to the AdvancedMover class.

Design journal is available on the website

Dev Discussion

AMACTION_DisableTrigger (partial)

class AMACTION_DisableTrigger extends ScriptedAMoverAction;


var(Actions) bool            bByTag;    // if true, triggers will be disabled based on the value of their Tag, else Triggers will have to be named individually
var(Actions) array<name>     Tags;
var(Actions) array<triggers> Triggers;
// var(Actions) bool            bLog;

function bool InitActionFor(ScriptedAMoverController C)
{
   // function DisableTrigger(bool bByTag, array<triggers> Triggers, array<name> Tags)
   C.DisableTrigger(bByTag, Triggers, Tags);
   return false;
}

// ...

ScriptedAMoverController

class ScriptedAMoverController extends controller;

// ...

function DisableTrigger(bool bByTag, array<triggers> Triggers, array<name> Tags)
{
   local int i;
   local triggers CheckedTrigger;

   if(bByTag)
   {
      if(bLog)
         log("Disabling triggers by tag...");
      if(Tags.Length > 0)
      {
         for(i=0; i < Tags.Length; i++)
         {
            CheckedTrigger = none;  //reset the CheckedTrigger var

            if(bLog)
               log("Checking for Triggers with tag" @ Tags[i]);

            foreach AllActors(class'Triggers', CheckedTrigger, Tags[i])
            {
               CheckedTrigger.Disable('Trigger');
               CheckedTrigger.Disable('Touch');
               if(bLog)
                  log("Disabling" @ CheckedTrigger);
            }
            if(bLog)
            {
               if( (i == Tags.Length-1) && (CheckedTrigger == none) )  //if this is the last iteration and we haven't found a matching trigger+tag
                  warn("No triggers with that tag found!!");
            }
         }
      }
      else
      {
         if(bLog)
            warn("No tags defined!!");
      }
   }
   else
   {
      if(bLog)
         log("Disabling triggers by name...");
      if(Triggers.Length > 0)
      {
         for(i=0; i < Triggers.Length; i++)
         {
            if(bLog)
               log("Checking for" @ Triggers[i]);
            if( ValidTrigger(Triggers[i]) )
            {
               Triggers[i].Disable('Trigger');
               Triggers[i].Disable('Touch');
               if(bLog)
                  log("Trigger" @ Triggers[i] @ "disabled");
            }
            else
            {
               if(bLog)
                  warn(Triggers[i] @ "not found!!");
            }
         }
      }
      else
      {
         if(bLog)
            warn("No triggers named!!");
      }
   }
}

// ...

function bool ValidTrigger(triggers T)
{
   local triggers CheckedTrigger;

   if(bLog)
      log("Will check for trigger" @ T);
   foreach AllActors( class'Triggers', CheckedTrigger )
   {
      if(bLog)
         log("CheckedTrigger =" @ CheckedTrigger);
      if(T == CheckedTrigger)
      {
         if(bLog)
            log(T @ "FOUND!!");
         return true;  // break out of the function and return True idicating that the actor exists
      }
   }
   if(bLog)
      log("Trigger" @ T @ "not found!!");
   return false;       // the actor does not exist
}

// ...
 
  • AdvancedMover (UT2003)[AdvancedMover (UT2003)]

    Basic Description: A mover with enhanced functionality. (obvious, right?)

    Currently on hold while I develop the UT2004 version.

    Design journal is available on the website
 
  • LockedTrigger (UT2003)[LockedTrigger (UT2003)]

    Basic Description: A Trigger that can require a key to trigger an event.

    Design journal is available on the website
 
  • CharacterClassSystem1 (UT2003)[CharacterClassSystem1 (UT2003)]

    Still in the works.

    Basic Description: An inventory-driven Character Class mutator based extensively on code/tut written by EvilDrWong.

    Design journal is available on the website
 

Maps

  • DM-KatahfuTemple (UT2003)[DM-KatahfuTemple (UT2003)]

    Basic Description: Multi-leveled, Egyptian-Themed DeathMatch map.

    Preview Description: Tournament producers have unveiled their latest arena. This time UT takes you deep into the deserts of Egypt to the ancient Temple of Katahfu. Revived from its millenia of dormancy, this playground of blood will be a grim delight for fans and competitors alike.

    A new version of this map is now being created for UT2004.

    Design journal is available on the website
 
 

Back to my Personal Page → Dr.AwkwArD

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In