I love the smell of UnrealEd crashing in the morning. – tarquin

Difference between revisions of "UE1:Authorizer"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
m
Line 1: Line 1:
{{classbox| [[Legacy:UT|UT]] :: [[Legacy:Actor_(UT)|Actor_(UT)]] >> [[Legacy:Triggers_(UT)|Triggers_(UT)]] >> Authorizer}}
+
==Source Code==
 +
{{Infobox class
 +
| class  = Authorizer
 +
| custom  = yes
 +
| parent1 = Actor
 +
| parent2 = Triggers
 +
}}
 +
<uscript>
  
 
This is very old script I've created to Skaarj Evasion TC (RIP). As a base was used KeyMover tutorial from [http://chimeric.beyondunreal.com/tutorials/tut11.html Chimeric].
 
This is very old script I've created to Skaarj Evasion TC (RIP). As a base was used KeyMover tutorial from [http://chimeric.beyondunreal.com/tutorials/tut11.html Chimeric].
Line 66: Line 73:
  
 
</uscript>
 
</uscript>
 
[[Category:Legacy Mapping|{{PAGENAME}}]]
 
[[Category:Legacy Custom Class (UT)|{{PAGENAME}}]]
 

Revision as of 02:31, 5 May 2008

Source Code

UE1 Triggers >> Actor >> Authorizer (custom)

Contents

This is very old script I've created to Skaarj Evasion TC (RIP). As a base was used KeyMover tutorial from [http://chimeric.beyondunreal.com/tutorials/tut11.html Chimeric].
 
<uscript>
//=================================================
// Authorizer: This Trigger can replace
// KeyMover (as base I use KeyMover avidible
// form http://chimeric.beyondunreal.com/tutorials/tut11.html).
//=================================================
// by Raven
// http://turniej.unreal.pl/rp
// for The Chosen One SP mod
//=================================================
class Authorizer extends Trigger;
 
var() class<inventory> KeyClass;
var() bool bDestroyKey;
var() bool bCheckKeyOnceOnly;
var() bool bShowSuccessMessage;
var() bool bShowFailtureMessage;
var() localized String SuccessMessage; 
var() localized String FailtureMessage; 
var bool bWasOpened;
 
replication
{
	// Variables the server should send to the client.
	reliable if( Role==ROLE_Authority )
		bWasOpened;
}
 
function Touch( actor Other )
{
	local Inventory key;
	local actor A;
 
	if (Other.IsA('Pawn') && KeyClass != none && !bWasOpened)
	{
		key = Pawn(Other).FindInventoryType(KeyClass);
 
		if (key != none && Event != '' && !bCheckKeyOnceOnly)
			foreach AllActors( class 'Actor', A, Event )
				A.Trigger( Other, Other.Instigator );
 
		if(bDestroyKey)
			if(!bWasOpened) Pawn(Other).DeleteInventory(key);
		if(bCheckKeyOnceOnly)
			bWasOpened=true;
	}
	if(bWasOpened && Event != '')
		foreach AllActors( class 'Actor', A, Event )
			A.Trigger( Other, Other.Instigator );
	if(bShowSuccessMessage && PlayerPawn(Other) != none)
		PlayerPawn(Other).ClientMessage(SuccessMessage);
	if(bShowFailtureMessage && !bWasOpened)
		PlayerPawn(Other).ClientMessage(FailtureMessage);
}
 
defaultproperties
{
     bShowFailtureMessage=True
     SuccessMessage="Access granded."
     FailtureMessage="You need a key to open this door."
}