[Setup] Product=InvisibleSpawn Version=100 Archive=invisiblespawn.umod SrcPath=. MasterPath=.. Requires=UnrealTournament400Requirement Group=SetupGroup Group=umodINIGroup Group=InvisibleSpawnGroup Group=umodIncludeFilesGroup [UnrealTournament400Requirement] Product=UnrealTournament Version=400 [SetupGroup] Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=629,Flags=3) Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=555,Flags=3) [umodINIGroup] Ini=System\UnrealTournament.ini,InvisibleSpawn.InvisibleSpawn.InvisTime=20 [InvisibleSpawnGroup] File=(Src=System\invisiblespawn.int,Size=427) File=(Src=System\InvisibleSpawn.u,Size=4983) [umodIncludeFilesGroup] File=(Src=System\InvisibleSpawn.txt,Size=1274) [Setup] LocalProduct=InvisibleSpawn ReadMe=System\InvisibleSpawn.txt SetupWindowTitle=InvisibleSpawn Setup AutoplayWindowTitle=InvisibleSpawn Options ProductURL=http://www.planetunreal.com/nzone VersionURL=http://www.planetunreal.com/nzone Developer=William 'Ntruder' Chenoweth DeveloperURL=http://www.planetunreal.com/nzone [UnrealTournament400Requirement] LocalProduct=UnrealTournament ProductURL=http://www.unrealtournament.com/ VersionURL=http://unreal.epicgames.com/ Developer=Epic Games, Inc. DeveloperURL=http://www.epicgames.com/ [Public] Object=(Name=InvisibleSpawn.InvisibleSpawn,Class=Class,MetaClass=Engine.Mutator,Description="Invisible Spawn,Players are invisible when spawned.") Object=(Name=InvisibleSpawn.InvisibleSpawnMenuItem,Class=Class,MetaClass=UMenu.UMenuModMenuItem) Preferences=(Caption="Mutators",Parent="Advanced Options") Preferences=(Caption="InvisibleSpawn",Parent="Mutators",Class=InvisibleSpawn.InvisibleSpawn,Immediate=True) *EI@^.OO9}qINoneInvisibleSpawnCoreSystemUWindow ModifyPlayerCreatedEngineCreateControl SetHelpTextSetNumericOnlyInvisibleSpawnMenuItemInvisibleSpawnConfigWindow ClientClass MenuCaption SetMaxLengthExecuteUMenu MenuHelpSetText WindowTitle ActivateGiveTo GetValueNotify SetValueInvisibleSpawnConfigClientOwner RespawnTimeOtherObjectPropertyFloatProperty BoolProperty bHeldItem NextMutatorInvCChargeStaticSaveConfigE IntProperty FunctionUWindowEditControlUWindowPulldownMenuItemUWindowDialogClientWindowUWindowFramedWindowUWindowRootWindowUWindowDialogControlUWindowWindowUWindowPulldownMenuSetSize CreateWindow ScriptTextAlignWinLeft EditBoxWidth WinHeight WinWidthWinTopRootPawnMutator InventoryClassUMenuModMenuItem MenuItemBotpackUT_invisibility BytePropertyPackage TextBufferObject InvisTime(쟈lj@j@j@j@j@l@ /T~(쟅t(쟅ttttttt( 2?Mo o  ]InvisibleSpawn Config^class InvisibleSpawnConfigClient expands UWindowDialogClientWindow; var UWindowEditControl InvisTime; function Created() { Super.Created(); InvisTime = UWindowEditControl(CreateControl(class'UWindowEditControl', 10, 10, 120, 1)); InvisTime.SetText("Invisible Time"); InvisTime.SetHelpText("Time a freshly spawned player is invisible"); InvisTime.SetNumericOnly(True); InvisTime.SetMaxLength(3); InvisTime.EditBoxWidth = 25; InvisTime.Align = TA_Left; InvisTime.SetValue(string(class'InvisibleSpawn'.default.InvisTime)); // You could of course add heaps of controls in here. // See the UMenu and UTMenu for a billion examples. } function Notify(UWindowDialogControl C, byte E) { switch(E) { case DE_Change: switch(C) { case InvisTime: class'InvisibleSpawn'.default.InvisTime = int(InvisTime.GetValue()); break; } class'InvisibleSpawn'.static.StaticSaveConfig(); break; } } sclass InvisibleSpawnMenuItem expands UMenuModMenuItem; function Execute() { MenuItem.Owner.Root.CreateWindow(class'InvisibleSpawnConfigWindow', 10, 10, 150, 100); }  2 ل7ͷ;aGնmo ]InvisibleSpawn Options]$#Set the options for InvisibleSpawnZX CHB?,?, {class InvisibleSpawn expands Mutator; var globalconfig int InvisTime; function ModifyPlayer(Pawn Other) { // called by GameInfo.RestartPlayer() local Inventory Inv; inv = Spawn(class'UT_Invisibility'); if( inv != None ) { inv.charge = InvisTime; inv.bHeldItem = true; inv.RespawnTime = 0.0; inv.GiveTo(Other); inv.Activate(); } if ( NextMutator != None ) NextMutator.ModifyPlayer(Other); } .  A AB?Invisible Time2 Time a freshly spawned player is invisible ',A$S   W R$ = J@  U  ^class InvisibleSpawnConfigWindow expands UWindowFramedWindow; function Created() { Super.Created(); SetSize(140, 50); WinLeft = (Root.WinWidth - WinWidth) / 2; WinTop = (Root.WinHeight - WinHeight) / 2; }  a uw*-' w*  S<  A ACB EEE?0?*?>???=?G?)?@?-?E?F;?,?.?/98)"?+)(%6:?1?< !))2)&)7D5)3?D?(A)EB?CH i# vKCH N ZSg Dz' ~$ K44iX 44~A+ s-Sr044FE2JK9UU<44ij=vSA FIC---------------------- About InvisibleSpawn ---------------------- This is just a simple Mutator that makes respawning players invisible for a configurable time. It is intended for multiplayer games because the bots seem to be able to see you when you're invisible most of the time anyway. On certain levels, "Faceless Worlds" in particular, I have respawned with my head practically on its way to the ground already from sniper fire (btw - "Facless Worlds" is one of my favorite levels). In other instances on smaller boards there are a few individuals who, once properly armed and juiced with life/armor, are really good at circling the respawning positions and picking off unarmored and poorly-armed players. Hopefully this Mutator will balance the gameplay a little more. The invisible time configured is in seconds. You can modify the invisible time from Advanced Options or by editing your Unrealtournament.ini file and editing these lines: [InvisibleSpawn.InvisibleSpawn] InvisTime= InvisTime is the time the players will remain invisible on respawn. Enjoy... - William 'Ntruder' Chenoweth (ntruder@home.com) ------------------ Revision History ------------------ 1.0 - First version, includes UWindows support.System\Manifest.iniSystem\Manifest.int+System\invisiblespawn.int+System\InvisibleSpawn.uwSystem\InvisibleSpawn.txtMG  X