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

Difference between revisions of "User:00zX"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
m (Highlighters)
m (Work)
 
(139 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
==Wiki==
 +
====General====
 +
:[[User:00zX/Setting_Up_Your_UScript_Environment|Setting Up Your UScript Environment]]
 +
====UE3====
 +
:[[User:00zX/Using_The_Unreal_Engine_3_Preprocessor|Using The Unreal Engine 3 Preprocessor]]
 +
====UE2.5====
 +
:[[UE2:Using_the_UT2004_mod_system|Using The UT2004 Mod System]]
 +
====Rants====
 +
[[User:00zX/Rants|Rants]]
  
==WIP (UE3)==
+
==Work==
===Project: Silky (UDK)===
+
====Unreal Development Kit====
====Status: Pre-Alpha (prototype)====
+
:[[User:00zX/Plugin_(UDK)|UDK: ReDeX]] ''Status:'' '''Testing'''  
'''Perspective/Camera:''' Top Down<br>
+
:''Description:'' PC Framework for UDK, its a combination of a framework and macros along with associated parser functionality.
'''Type/Style:''' Arcade Shooter<br><br>
+
::''GamedGFx:''' Scaleform interface along with object saving/loading.
'''Controls/Movement:'''<br>
+
::'''GamedEx:''' GPAK Game framework built using Redux, support for many features; round based play, archetype systems, additions to particles, materials, etc.
:'''Dodging:''' Barrel Roll left/right
+
::'''GamedCaster:''' First Person Multiplayer PvP.
:'''Afterburner:''' Extra Speed
+
'''Weapons:'''<br>
+
:'''Pulse Plasma-Gun:''' Varying degrees of upgrades, TBA
+
:'''Missiles:''' Sidewinder, AMRAAM, SRAAM, etc
+
:'''Rail-Gun:''' Assault, Penetrate (slower)
+
:'''Energy Net:''' Snare
+
 
+
====Description====
+
The idea behind this project was to make something simple, fun and enjoyable. I looked at alot of indy games before coming up with this concept, audiosurf, braid, geometry wars. Eventually I settled on making something similar to one of my favourite arcade games which was macross plus. I remember back then and telling myself there wasnt enough of those top down shooters but honestly even back then perhaps I had ideas mulling around in my skull on what could make a fun top down shooter.<br>
+
The gameplay will revolve around the player being in control of a fighter jet, much like 1942, macross plus or overkill. You'll pickup weapon upgrades of various types, fly through canyons, through cities and other environments yet to be decided. There will be a variety of enemies you encounter along the way with the traditional boss battles.<br>
+
I just got bored with the whole "lets make a badass FPS/TPS" coming from alot of people, dont get me wrong I love those games as well but as a developer/modder working on/with those types of projects for over 10yrs it was time to move on and try my hand at something new and perhaps inspired. Maybe that was it, I was just lacking the inspiration which in turn showed on my motivation when working on those types of projects. Ive made major progress in short time (thanks to all your help guys big shout out to the #unrealscript channel, you know who ya are ;) ).<br>
+
Currently Im tackling the projectile/weapon upgrade system, I'll certainly keep this updated on my progress, being a one man project till this hits anywhere near beta Im hoping things will go smoothly. There wont be any logistical issues with team members, team members leaving and taking their work with them or anything to that effect. Basically this is a one man show and this project was chosen partly because of that, its simple enough that 1 multi-talented person could pull it off in a decent enough timeframe. The only external help I'll need is in regards to sound and music, which I could do myself but Id like to keep it quality and I have a specific sound Im after to keep it within the classic arcade feel.<br>
+
 
+
====How Arcade is too much?====
+
Well I really miss those times sinkin 20c or $ coins into mortal kombat, super offroad or hell even tekken 3, fighting vipers and SCUD racer. I really want to grasp that back in a big way with this project, Im going to try for an authentic revist in almost every detail while bringing things into the new age in terms of graphics and technology. One thing I would like to explore from my youth is system link much like the game gears but with bluetooth. Id like to go the whole hog, high scores, demo intro and even an insert coin screen instead of the well known "press START".<br>
+
<br>
+
Thats about it, like I said I'll keep this page updated with all my code progress ;)
+
 
+
===GameDex: Framework (UT3)===
+
====Status: Alpha 4 (testing)====
+
[http://www.filefront.com/14535753/GameDex_AllGDP_DodgyAlpha_150909.rar/ GameDex_AllGDP_DodgyAlpha_150909.rar]<br>
+
[http://www.filefront.com/14535759/UT-GameDex-Src-150909.rar/ UT-GameDex-Src-150909.rar]
+
 
+
====Description====
+
*Okay so I'll just waffle alittle here and see what comes out about what I was trying to achieve with this.
+
 
+
*For starters I was never a fan of the one class/mutator does everything approach as I like to keep things modular and interconnecting, I noticed inherent problems with Unreal Engines mutator system (as you all would have at one point or another) so I went about starting to hook through it and creating a new system which could actually replace the system especially now we have the UDK at our disposal.
+
 
+
*A Note here about the UDK is that it doesnt contain the [[UE3:GameRules_(UT3)|Gamerules]] class.
+
 
+
*Either way this system would need to be implemented at a [[UE3:GameInfo_(UT3)|GameInfo]] level to provide the appropriate hooks to [[UE3:UT_MDB_GameRules|UT_MDB_GameRules]] which I achieved through the use of a wrapped class [[UE3:UT_GR_Info|UT_GR_Info]] which does nothing but send the hooks from [[UE3:GameInfo_(UT3)|GameInfo]]->[[UE3:GameRules_(UT3)|Gamerules]] into the new system.
+
 
+
*Since the new system is totally reliant on [[UE3:Object_(UT3)|Object]]'s I suspect that its better on system performance and will be dealt with by the internal garbage collection system. These objects can be initialized at any time and for any number of actors, for instance since all damage is hooked through one function one can prune the unwanted actors rather than searching for the specific actors you want to apply a rule to. The rules are meant to be simple as in the vampire mutator, which gives players a portion of the damage they deal back in health. Any number of players could be affected by this, for a duration or globally for the entire match. Mutators dont really allow this kind of control, they can but I believe the front end for interfacing with this system would be much more intuitive.
+
 
+
*This is where I hit my first major hurdle as I wanted to provide a UI similar to 2k4's for adjusting mutator settings, maybe even extending that to allow server admins to interface with the modules on the fly whilst connected to their server.
+
 
+
*Im pretty happy with the results so far but its been a slow arduous journey, I recommend you take a look at [[UE3:UTM_BloodLust|UTM_BloodLust]] for an overview in code of what I was trying to achieve through all of this.
+
-[[User:00zX|00zX]] 11:27, 12 January 2010 (UTC)
+
<br>
+
 
+
====Project Class Tree====
+
*[[UE3:Interface_(UT3)|Interface]]
+
**'''[[UE3:iObjectList_(UT3)|iObjectList]]'''
+
 
+
*[[UE3:Object_(UT3)|Object]]
+
**[[UE3:Actor_(UT3)|Actor]]
+
***[[UE3:Info_(UT3)|Info]]
+
****[[UE3:GameRules_(UT3)|Gamerules]]
+
*****'''[[UE3:UT_GR_Info_(UT3)|UT_GR_Info]]'''
+
****[[UE3:Mutator_(UT3)|Mutator]]
+
*****[[UE3:UTMutator_(UT3)|UTMutator]]
+
******'''[[UE3:UT_MDB_GameExp_(UT3)|UT_MDB_GameExp]]'''
+
*******'''[[UE3:UTM_BloodLust_(UT3)|UTM_BloodLust]]'''
+
**'''[[UE3:UT_MDB_(UT3)|UT_MDB]]'''
+
***'''[[UE3:UT_MDB_FactoryReplacer_(UT3)|UT_MDB_FactoryReplacer]]'''
+
***'''[[UE3:UT_MDB_GameRules_(UT3)|UT_MDB_GameRules]]'''
+
****'''[[UE3:UT_MDB_GR_DmgConversion_(UT3)|UT_MDB_GR_DmgConversion]]'''
+
*****'''[[UE3:UT_MDB_GR_GlobalDamage_(UT3)|UT_MDB_GR_GlobalDamage]]'''
+
*****'''[[UE3:UT_MDB_GR_Vampire_(UT3)|UT_MDB_GR_Vampire]]'''
+
******'''[[UE3:UT_MDB_GR_Bloodlust_(UT3)|UT_MDB_GR_Bloodlust]]'''
+
***'''[[UE3:UT_MDB_ObjectList_(UT3)|UT_MDB_ObjectList]]'''
+
<br>
+
 
+
====Naming Convention====
+
:It actually took me awhile to settle on a naming convention for these packages and classes.
+
:Eventually I settled on appending '''UT_''' as a prefix to designate that it was a modification for [[Unreal Tournament 3|UT3]].
+
:The '''MDB''' is just an acronym to set the project apart incase I ever have other projects where I have similar named classes.
+
:: The beauty of using an acronym for projects is you can have multiple versions/branches of the same project on the same tree without conflicting class names.
+
:: Not only that but you can also develop classes and diff/merge the results based on the requirements for such projects.
+
:: As in Epic's base source code all classes have fixed names, so while you might be using 1 version of GameRules if that class changes you might get errors which cascade.
+
:: With this system you can work from one class say '''MDB''' as in the example, yet develop another which we'll call '''MDA''' all while keepin on the same class tree.
+
:The '''UT_GDP''' designates any package which requires '''UT_GameDex''' and '''UT_MDB'''.
+
 
+
====Project Package Tree====
+
*'''UT_MDB'''- This package contains buffers (empty classes to keep the tree clean) and classes which extend UT3's for things like bNoDelete=true spawning.
+
**'''UT_GameDex''' - Main package containing all the base functionality classes.
+
***'''UT_GDP_Newtators''' - Is one of my mutator packages.
+
***'''UT_GDP_Mutatoes'''
+
  
 +
:[[User:00zX/Project Silky_(UDK)|UDK: Project Silky]] ''Status:'' '''Alpha''' (on hold)
 +
====Unreal Tournament 3====
 +
:[[User:00zX/GameDex Framework_(UT3)|UT3: GameDex Framework]] ''Status:'' '''Beta''' (on hold)
 +
::[[User:00zX/GameDex_Framework_(UT3)#Newtators (Mutator pack)|Newtators-v1.9e]] ''Status:'' '''Point Release'''
 +
::[[User:00zX/GameDex_Framework_(UT3)#Attrition (Gametype)|Attrition-v0.5pb]] ''Status:'' '''Public Beta'''
 +
====Unreal Tournament 2004====
 +
:[[User:00zX/UC2004_(UT2004)|UT2004: Unreal Championship 2004]] ''Status:'' '''Beta''' (dissolved)
 +
:[http://www.divshare.com/download/16967446-918|UT2004: Turbo Instagib] ''Status:'' '''Beta'''
 +
:[http://www.divshare.com/download/16967454-2c0|UT2004: CrapLink]] ''Status:'' '''Beta'''
 
<br>
 
<br>
  
 
==Highlighters==
 
==Highlighters==
  
===Code Noir Redex Wikimedia Theme===  
+
===UnrealWiki - Code Noir Redex Theme===  
[[File:Monobook-noir-alpha3.gif|500px|thumb|left]]
+
[[File:Monobook-noir-alpha3.gif|700px|thumb|left]]
====Status: Alpha 7 (testing)====
+
====Status: Beta====
 
To Install copy the contents of the following page into your own ''''User:[name]/monobook.css'''' page.
 
To Install copy the contents of the following page into your own ''''User:[name]/monobook.css'''' page.
 
::[[User:00zX/monobook.css]]
 
::[[User:00zX/monobook.css]]
<br>
+
::[http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwiki.beyondunreal.com%2FUser%3A00zX%2Fmonobook.css&profile=css21&usermedium=all&warning=1&lang=en W3C CSS Validator]
 +
::[http://i10.photobucket.com/albums/a123/OlympusMons/CodeNoirRedeX.png High Resolution Image]<br>
 
=====Features=====
 
=====Features=====
*Dark Theme
+
:Dark Theme
*High Contrast
+
:High Contrast
*Improved readability
+
:Improved Readability
*Highlighter adjustments for UScript and CSS
+
:Highlighter adjustments for UScript, CSS and XML
*Different coloured borders per GameNameSpace
+
:Different coloured borders per GameNameSpace
*Curved Borders in supporting browsers
+
:Curved Borders in supporting browsers
<br><br>
+
 
=====Known Issues=====
 
=====Known Issues=====
*Edit/Input boxes are still black on white
+
:Edit/Input boxes are still black text on white.
*Tabs arnt coloured correctly
+
:Profile settings page unreadable.
*Redlinks arnt red
+
<br><br><br>
*interwiki links are wrong blue colour and dont have hoverover colours
+
*Picture/thumb borders are still white
+
 
<br>
 
<br>
  
==Proposal - Replication==
+
==Contact Me==
 
+
====IRC====  
===Replication===
+
_00zX on [irc://irc.enterthegame.com EnterTheGame]
====Status: On Hold====
+
;* [irc://irc.enterthegame.com/unrealscript #unrealscript on EnterTheGame]
-[[User:00zX|00zX]] 20:49, 3 April 2009 (UTC)<br>
+
:[[Replication]] / [[Replication_(computer_science)]]
+
:Concept of servers and clients.(NetMode/Relevancy/Reliability)
+
::*''Declaring Replication'' using the [[Legacy:Replication_Block|Replication Block]]
+
::*''Function Replication'' using the replication block?
+
::* Booleans Declared in actor that are useful in replication
+
http://wiki.beyondunreal.com/Introduction_to_replication#
+
<br>
+
*NetMode (concept)
+
*Replication Block
+
**Actor Replication (bools bnetinitial eg)
+
**Variable Value Replication (using block)
+
***Repnotify / ReplicatedEvents
+
**Function call replication(UT2004)
+
*Function call replication(UT3)
+
*Reliability
+
*Relevance (actor replication??)
+
**Role and RemoteRole
+
*Info
+
**ReplicationInfo
+
***GameReplicationInfo (GRI)
+
***PlayerReplicationInfo (PRI)
+
***LinkedReplicationInfo (LRI)
+
<div class="hidden-block"><span class="hint"></span><div class="hidden">
+
===Replication Block===
+
[[UE3:Actor_(UT3)]] - link to replication block<br>
+
Previously in UT200x '''Reliable''' and '''Unreliable''' were used as part of the [[Legacy:Replication_Block|replication block]] as of [[Unreal Engine 3]] this is no longer the case with the keywords becoming [[Functions#Network_modifiers|function modifiers]].
+
 
+
'''UT200x'''
+
 
+
'''replication'''
+
'''{'''
+
  ''reliable/unreliable'' '''if (''' ''replication condition'' ''')'''
+
    ''identifiers'';
+
'''}'''
+
 
+
'''UT3'''
+
 
+
'''replication'''
+
'''{'''
+
    '''if (''' ''replication condition'' ''')'''
+
    ''identifiers'';
+
'''}'''
+
 
+
: ''Identifiers'' can be of many types, certain types however arnt allowed like dynamic arrays.
+
 
+
'''Explain Why'''
+
can loose sync! it is possible to crosscheck dynamic arrays but it would come at a cost.
+
 
+
[[http://wiki.beyondunreal.com/Dynamic_array|Dynamic Array]]
+
'''Unlike any other data type in UnrealScript, dynamic arrays have absolutely no support for replication. Attempting to replicate a dynamic array variable will have no effect on the remote instance of that variable. Attempting to use a dynamic array as parameter of a [[replicated function]] will result in the parameter being empty when the function is executed on the remote side.'''
+
<br>
+
====Actor Replication====
+
<br>
+
====Variable Value Replication====
+
<uscript>
+
var() float NewEquipTime;
+
var() float NewPutDownTime;
+
 
+
replication
+
{
+
if(bNetDirty && (Role == ROLE_Authority) && bNetInitial)
+
NewEquipTime, NewPutDownTime;
+
}
+
</uscript>
+
<br>
+
====Repnotify and Replicated Events====
+
This is new in Unreal Engine 3 and is not available in previous versions.
+
<uscript>
+
simulated event ReplicatedEvent(name VarName); // Called when a variable with the property flag "RepNotify" is replicated
+
 
+
/** adds/removes a property from a list of properties that will always be replicated when this Actor is bNetInitial, even if the code thinks
+
* the client has the same value the server already does
+
* This is a workaround to the problem where an LD places an Actor in the level, changes a replicated variable away from the defaults,
+
* then at runtime the variable is changed back to the default but it doesn't replicate because initial replication is based on class defaults
+
* Only has an effect when called on bStatic or bNoDelete Actors
+
* Only properties already in the owning class's replication block may be specified
+
* @param PropToReplicate the property to add or remove to the list
+
* @param bAdd true to add the property, false to remove the property
+
*/
+
native final function SetForcedInitialReplicatedProperty(Property PropToReplicate, bool bAdd);
+
</uscript>
+
=====usage:=====
+
[[UE3:DroppedPickup_(UT3)]]
+
<uscript>
+
var repnotify class<Inventory> InventoryClass; // Class of the inventory object to pickup
+
var repnotify bool bFadeOut;
+
 
+
replication
+
{
+
if( Role==ROLE_Authority )
+
InventoryClass, bFadeOut;
+
}
+
 
+
simulated event ReplicatedEvent(name VarName)
+
{
+
if( VarName == 'InventoryClass' )
+
{
+
SetPickupMesh( InventoryClass.default.DroppedPickupMesh );
+
SetPickupParticles( InventoryClass.default.DroppedPickupParticles );
+
}
+
else if ( VarName == 'bFadeOut' )
+
{
+
GotoState('Fadeout');
+
}
+
else
+
{
+
super.ReplicatedEvent(VarName);
+
}
+
}
+
 
+
defaultproperties
+
{
+
bOnlyDirtyReplication=true
+
NetUpdateFrequency=8
+
RemoteRole=ROLE_SimulatedProxy
+
}
+
</uscript>
+
<br>
+
====Function call replication====
+
: Like replicated variables, the replication of a function call can be tied to certain conditions. In Unreal Engine 1 and 2 this condition is specified via the replication block and typically involves comparing the actor's Role to the value ROLE_Authority, Unreal Engine 3 provides the special function modifiers client and server instead.
+
 
+
* Using [[Functions#Network_modifiers|Network modifiers]] for Functions
+
 
+
'''Reliable'''
+
'''Unreliable'''
+
 
+
=====Client=====
+
<uscript>
+
/** Sets the clients weapon to use the replicated variables */
+
reliable client function SetWeapProps(UTWeapon W)
+
{
+
W.EquipTime = NewEquipTime;
+
W.PutDownTime = NewPutDownTime;
+
}</uscript>
+
 
+
=====Server=====
+
<uscript>
+
/** Gets the times from the weapons and sets them to the replicated variables */
+
reliable server function GetWeapProps(UTWeapon W)
+
{
+
NewEquipTime = W.default.EquipTime * 0.68;
+
NewPutDownTime = W.default.PutDownTime * 0.70;
+
}</uscript>
+
 
+
===Relevance===
+
 
+
===Role and RemoteRole===
+
 
+
Definition
+
:The [[Actor]] class defines the NetRole enumeration and two variables, [[Role and RemoteRole]], as follows:
+
 
+
:*[[UE3:Actor_(UT3)#ENetRole]]
+
 
+
:*[[UE1:Actor_enums_(UT)#ENetMode]]
+
:*[[UE2:Actor_enums_(U2)#ENetRole]]
+
:*[[UE2:Actor_enums_(UT2003)#ENetRole]]
+
:*[[UE2:Actor_enums_(U2XMP)#ENetMode]]
+
:*[[UE2:Actor_enums_(UT2004)#ENetRole]]
+
<nowiki>{{category game enums|UT3|Unreal Tournament 3}}</nowiki>
+
 
+
<br>
+
<uscript>
+
enum ENetRole
+
{
+
ROLE_None, // No role at all.
+
ROLE_SimulatedProxy, // Locally simulated proxy of this actor.
+
ROLE_AutonomousProxy, // Locally autonomous proxy of this actor.
+
ROLE_Authority, // Authoritative control over the actor.
+
};
+
var ENetRole RemoteRole, Role;
+
</uscript>
+
<br>
+
====usage:====
+
Just like any other Enum really.
+
<uscript>
+
if (Role == ROLE_Authority)
+
{
+
// This is the authorative copy of this actor, it was spawned on this machine.
+
// It is not a guarantee that we are on the server or in single player!
+
}
+
 
+
if (Role < ROLE_Authortity)
+
{
+
// This is a non-authorative copy of this actor that was replicated
+
// from the server. In other words, we must be on a client.
+
}</uscript>
+
<br>
+
As in the replication block of Actor.uc UT3
+
<uscript>
+
// Physics
+
if( (!bSkipActorPropertyReplication || bNetInitial) && bReplicateMovement
+
&& ((RemoteRole == ROLE_SimulatedProxy) && (bNetInitial || bUpdateSimulatedPosition)) )
+
</uscript>
+
 
+
===NetMode===
+
Definition
+
:The [[UE3:WorldInfo_(UT3)|WorldInfo]] (previously Level Class [ut2kx]) class defines the [[UE3:WorldInfo_(UT3)#ENetMode|NetMode]] enumeration and two variables, [[Role and RemoteRole]], as follows:
+
 
+
:*[[UE3:WorldInfo_(UT3)#ENetMode]]
+
:**[[UE3:WorldInfo_internal_variables_(UT3)]]
+
 
+
:*In [[LevelInfo]] for most Unreal Engine games pre UT3/GOW
+
:**[[UE1:LevelInfo_(UT)#ENetMode]]
+
:**[[UE2:LevelInfo_(U2)#ENetMode]]
+
:**[[UE2:LevelInfo_(UT2003)#ENetMode]]
+
:**[[UE2:LevelInfo_(U2XMP)#ENetMode]]
+
:**[[UE2:LevelInfo_(UT2004)#ENetMode]]
+
 
+
 
+
<uscript>
+
var enum ENetMode
+
{
+
NM_Standalone, // Standalone game.
+
NM_DedicatedServer, // Dedicated server, no local client.
+
NM_ListenServer, // Listen server, local client+server.
+
NM_Client // Client only, no local server.
+
} NetMode;
+
</uscript>
+
 
+
'''Standalone game'''
+
'''Dedicated server, no local client'''
+
'''Listen server, local client+server'''
+
'''Client only, no local server'''
+
 
+
=====Examples=====
+
====usage:====
+
Just like any other enum really.
+
<uscript>
+
simulated event PostBeginPlay()
+
{
+
if(WorldInfo.NetMode != NM_DedicatedServer)
+
{
+
// Code here will only be executed on Listen servers and game clients.
+
}
+
+
if(WorldInfo.NetMode == NM_DedicatedServer)
+
{
+
// Code here will only be executed on a server.
+
}
+
}</uscript>
+
or similarly like in the Role and RemoteRole example:<br>
+
<uscript>
+
simulated event PostBeginPlay()
+
{
+
if (WorldInfo.NetMode < NM_DedicatedServer)
+
{
+
// Code here will only be executed on Listen servers and game clients.
+
}
+
 
+
if (WorldInfo.NetMode > NM_DedicatedServer)
+
{
+
// Code here will only be executed on a server or standalone client.
+
}
+
}</uscript>
+
 
+
 
+
==Useful Replication Properties==
+
 
+
===UT3 actor.uc===
+
<uscript>
+
// Networking flags
+
var   const bool bNetTemporary; // Tear-off simulation in network play.
+
var   const bool bOnlyRelevantToOwner; // this actor is only relevant to its owner. If this flag is changed during play, all non-owner channels would need to be explicitly closed.
+
var transient bool bNetDirty; // set when any attribute is assigned a value in unrealscript, reset when the actor is replicated
+
var bool bAlwaysRelevant; // Always relevant for network.
+
var bool bReplicateInstigator; // Replicate instigator to client (used by bNetTemporary projectiles).
+
var bool bReplicateMovement; // if true, replicate movement/location related properties
+
var bool bSkipActorPropertyReplication; // if true, dont replicate actor class variables for this actor
+
var bool bUpdateSimulatedPosition; // if true, update velocity/location after initialization for simulated proxies
+
var bool bTearOff; // if true, this actor is no longer replicated to new clients, and
+
// is "torn off" (becomes a ROLE_Authority) on clients to which it was being replicated.
+
var bool bOnlyDirtyReplication; // if true, only replicate actor if bNetDirty is true - useful if no C++ changed attributes (such as physics)
+
// bOnlyDirtyReplication only used with bAlwaysRelevant actors
+
 
+
 
+
/** Demo recording variables */
+
var transient bool bDemoRecording; /** set when we are currently replicating this Actor into a demo */
+
var transient bool bClientDemoRecording; /** set when we are recording a clientside demo */
+
var transient bool bRepClientDemo; /** set if remote client is recording a clientside demo */
+
var bool bDemoOwner; // Demo recording driver owns this actor.
+
 
+
/** Should replicate initial rotation.  This property should never be changed during execution, as the client and server rely on the default value of this property always being the same. */
+
var const          bool    bNetInitialRotation;
+
 
+
/** If true, never replicate rotation */
+
var bool bNeverReplicateRotation;
+
 
+
var bool bReplicateRigidBodyLocation; // replicate Location property even when in PHYS_RigidBody
+
var bool bKillDuringLevelTransition; // If set, actor and its components are marked as pending kill during seamless map transitions
+
/** whether we already exchanged Role/RemoteRole on the client, as removing then readding a streaming level
+
* causes all initialization to be performed again even though the actor may not have actually been reloaded
+
*/
+
var const bool bExchangedRoles;
+
</uscript>
+
 
+
 
+
=====booleans=====
+
* <code>(Level.NetMode == NM_Client && bNetOwner)</code> &ndash; owner clients (special case of client where the local player is the Owner of the actor in question)
+
 
+
'''UT2004'''
+
 
+
NetUpdateFrequency
+
 
+
NetUpdateFrequency is another variable useful in replication. It effectively causes an otherwise relevant (not useful when the actor is not relevant) actor to be relevant NetUpdateFrequency times per second. This is useful when the data changes frequently but you only want periodic updates. For example, PlayerReplicationInfo contains a lot of data about the client. Stuff like the various player's pings may change quite frequently, and having the client keep track of such information would be quite a network hog. But since PlayerReplicationInfo has a NetUpdateFrequency of 2, it is only updated twice a second, which is much nicer for that player's bandwidth. The list of the current NetUpdateFrequency's for all UT classes are listed below:
+
 
+
Actor - 100 Hz (times per second)<br>
+
ZoneInfo - 4 Hz<br>
+
GameReplicationInfo - 4 Hz<br>
+
PlayerReplicationInfo - 2 Hz<br>
+
Inventory - 8 Hz<br>
+
 
+
:*[[UE3:ReplicationInfo_(UT3)]]
+
::*[[UE3:GameReplicationInfo_(UT3)]]
+
::*[[UE3:PlayerReplicationInfo_(UT3)]]
+
::*[[UE3:UTLinkedReplicationInfo_(UT3)]]
+
 
+
 
+
===Related Topics===
+
* [[Legacy:Introduction_To_Replication|Introduction To Replication]]
+
* [[Legacy:Replication|Replication]]
+
* [[Legacy:Replication Block|Replication Block]]
+
* [[Legacy:Role|Role]] and RemoteRole, and [[Legacy:NetMode|NetMode]]
+
* [[Legacy:Netcode Idioms|Netcode Idioms]]
+
* [[Legacy:Replication Examples|Replication Examples]]
+
* [[Legacy:Replication_De-Obfuscation|Replication De-Obfuscation]]
+
 
+
</div></div>
+
<br>
+
==Wiki==
+
 
+
===Contributions===
+
:*[[UE2:Using_the_UT2004_mod_system|Using the UT2004 Mod System]]
+
 
+
===Contact Me===
+
======IRC======
+
00zX on [irc://irc.enterthegame.com EnterTheGame]
+
 
;* [irc://irc.enterthegame.com/beyondunreal #beyondunreal on EnterTheGame]
 
;* [irc://irc.enterthegame.com/beyondunreal #beyondunreal on EnterTheGame]
;* [irc://irc.enterthegame.com/unrealscript #unrealscript on EnterTheGame]
+
_00zX on [irc://irc.gamesurge.net GameSurge]
;* [irc://irc.enterthegame.com/unrealwiki #unrealwiki on EnterTheGame]
+
;* [irc://irc.irc.gamesurge.net/udkc #udkc on GameSurge]
  
======Other/Profiles======
+
====Other/Profiles====
 
[[Special:Emailuser/00zX|E-mail 00zX]] or on
 
[[Special:Emailuser/00zX|E-mail 00zX]] or on
;* [http://www.filefront.com/user/00zX filefront]
+
;* MonsOlympus @ [www.pastebin.org]
;* [http://delicious.com/00zX delicious]
+
;* [http://photobucket.com/00zX Photobucket]
+
  
 
--------<br>
 
--------<br>

Latest revision as of 08:15, 8 December 2012

Wiki

General

Setting Up Your UScript Environment

UE3

Using The Unreal Engine 3 Preprocessor

UE2.5

Using The UT2004 Mod System

Rants

Rants

Work

Unreal Development Kit

UDK: ReDeX Status: Testing
Description: PC Framework for UDK, its a combination of a framework and macros along with associated parser functionality.
GamedGFx:' Scaleform interface along with object saving/loading.
GamedEx: GPAK Game framework built using Redux, support for many features; round based play, archetype systems, additions to particles, materials, etc.
GamedCaster: First Person Multiplayer PvP.
UDK: Project Silky Status: Alpha (on hold)

Unreal Tournament 3

UT3: GameDex Framework Status: Beta (on hold)
Newtators-v1.9e Status: Point Release
Attrition-v0.5pb Status: Public Beta

Unreal Tournament 2004

UT2004: Unreal Championship 2004 Status: Beta (dissolved)
Turbo Instagib Status: Beta
CrapLink] Status: Beta


Highlighters

UnrealWiki - Code Noir Redex Theme

Monobook-noir-alpha3.gif

Status: Beta

To Install copy the contents of the following page into your own 'User:[name]/monobook.css' page.

User:00zX/monobook.css
W3C CSS Validator
High Resolution Image
Features
Dark Theme
High Contrast
Improved Readability
Highlighter adjustments for UScript, CSS and XML
Different coloured borders per GameNameSpace
Curved Borders in supporting browsers
Known Issues
Edit/Input boxes are still black text on white.
Profile settings page unreadable.





Contact Me

IRC

_00zX on EnterTheGame

_00zX on GameSurge

Other/Profiles

E-mail 00zX or on

  • MonsOlympus @ [www.pastebin.org]