Always snap to grid
Difference between revisions of "UE1:Authorizer"
From Unreal Wiki, The Unreal Engine Documentation Site
m |
m |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{classbox| [[Legacy:UT|UT]] :: [[Legacy:Actor_(UT)|Actor_(UT)]] >> [[Legacy:Triggers_(UT)|Triggers_(UT)]] >> Authorizer}} | {{classbox| [[Legacy:UT|UT]] :: [[Legacy:Actor_(UT)|Actor_(UT)]] >> [[Legacy:Triggers_(UT)|Triggers_(UT)]] >> Authorizer}} | ||
− | This is very old script | + | 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> | <uscript> | ||
Line 15: | Line 15: | ||
class Authorizer extends Trigger; | class Authorizer extends Trigger; | ||
− | var() class KeyClass; | + | var() class<inventory> KeyClass; |
var() bool bDestroyKey; | var() bool bDestroyKey; | ||
var() bool bCheckKeyOnceOnly; | var() bool bCheckKeyOnceOnly; | ||
Line 36: | Line 36: | ||
local actor A; | local actor A; | ||
− | if (Other.IsA('Pawn') && KeyClass != | + | if (Other.IsA('Pawn') && KeyClass != none && !bWasOpened) |
{ | { | ||
key = Pawn(Other).FindInventoryType(KeyClass); | key = Pawn(Other).FindInventoryType(KeyClass); | ||
− | if (key != none && Event != '') | + | if (key != none && Event != '' && !bCheckKeyOnceOnly) |
foreach AllActors( class 'Actor', A, Event ) | foreach AllActors( class 'Actor', A, Event ) | ||
A.Trigger( Other, Other.Instigator ); | A.Trigger( Other, Other.Instigator ); |
Revision as of 05:45, 3 May 2008
The classbox template is only supposed to be used by the converted content imported into the Legacy: namespace. Consider adding descriptions to existing class pages instead.
This is very old script I've created to Skaarj Evasion TC (RIP). As a base was used KeyMover tutorial from Chimeric.
//================================================= // 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< SEMI > 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." }