My program doesn't have bugs. It just develops random features.

Legacy:Tribes Vengeance

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

UnrealScript changes

Fully qualified names

You will have to use fully qualified names (package.class) to refer to classes in external packages.

New macros

#define NAME [1|0]
#if <expression>
  //... if code
#else
  //... else code
#endif

The expression is evaluated to true (1) or false (0).

The macro line can contain a single line comment, that should be ignored.

For example:

#define THIS 1
#define THAT 0
 
#if (THIS && THAT) // only if this and that are true
  DoStuff();
#endif

The following operators are allowed in the experssion: && (and), ! (not), || (or)

These macros can not be used in the defaultproperties section.

Unknown:

  • are these defines global to the system, or only to the current class and subclasses
  • when is it parsed, on the spot or pre-compile

Script latent functions

New latent functions can be defined in UnrealScript.

Variable descriptions

var(Display) bool bVolumetricShadowCast "If true, lights with bCastsVolumetricShadows=true will cast volumetric shadows from this actor";
#

The string after the variable declaration contains a description about this variable. These are referred to as Editor Tooltips, as they are used inside of the Editor when click the ? beside a variable in Properties.

El Muerte: Just found out this is part of the stock engine.

Mychaeel: Indeed, this syntax compiles in UT2004... too bad there's no "?" button to click on to display this tooltip. I remember an idea like that having been mentioned on Epic's 2002 Mod Summit.

New variable modifiers

var() editdisplay(displayActorLabel)
  editcombotype(enumTeamInfo)
  TeamInfo  team  "The team that the base belongs to";

Interfaces

interface IInterestedActorDestroyed
    native;
class SoundEffectsSubsystem extends IGEffectsSystem.EffectsSubsystem
    implements Engine.IInterestedActorDestroyed
    config(SoundEffects)
    native;

Unknown:

  • Multiple implements allowed?
  • Only native code?

Importing

import class Engine.Actor;
import class Engine.Pawn;
import class Engine.LevelInfo;
 
import enum AlertnessLevels from Rook;
import enum ACT_ErrorCodes from ActionBase;

Unknown:

  • what does this do? import declarations from these classes (maybe working implementation of the #import macro)

Constructors

overloaded native function Construct();
overloaded native function Construct( actor Owner, optional name Tag, 
				  optional vector Location, optional rotator Rotation);

Function overloading

Used by the contructors.

Unknown: is this limited to constructors?

dec 26, 2004- dont think it is, its implicit in regular function calls.

Constructors

Seems like constructors can only use functions, not variable declarations.

Grabbing an instance of Level

Has anyone been able to do this from within a hud, or some sub class trickery?

Despite the nerfing of "client-side scripting" seems like a lot could be done if we

could just an instance of the damn object.

Interactions

I haven't really looked into how these are used so far, but I'm very interested

if any can explain how they are used in T:V.

IGEffectsSystem

Whats the story here.

New iterators

native final iterator function AllProperties ( class FromClass, class TerminatingSuperClass, out Name PropName, optional out string PropType );
native final iterator function AllEditableProperties ( class FromClass, class TerminatingSuperClass, out Name PropName, optional out string PropType );

Includes properties for super classes up to but not including "TerminatingSuperClass"

'None' returns all properties including those in class "Object"

Tribes Vengeance Resources

  • irc.dynamix.com #tvscripters
  • irc.dynamix.com #tvmappers
  • www.house-of-style.com (3 tribes scripting forums)
  • www.tribalwar.com (scripting/modifying forum and tribes talk, beware general discussion)
  • www.tribesrevengeance.net (the only one, game is still alive)
  • www.stats.tribesrevengeance.net (the stat page for all active listed servers with player names etc.)

Related Topics


El Muerte: Yes, it's a mess, but it's a start

Pachacutec: hardly, nice work! i can't find constructors in other unreal documentation, just this page. that tells me we got the cooler set up! seems like all unreal has is a very rigid "defaultproperties" box where can they set instance variables.


Category:Legacy Game
Category:Legacy To Do – Convert to common page layout. See UT2003 for the layout.