Gah - a solution with more questions. – EntropicLqd

Difference between revisions of "Unreal Editor"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
(New page: Class ownage extends Mutator; var array<AGP_PlayerStart> Spots; var bool bdoing; event PreBeginPlay() { Level.Game.BaseMutator.AddMutator(self); } event Tick (float DeltaTime) { loc...)
 
(Removing all content from page)
Line 1: Line 1:
Class ownage extends Mutator;
 
  
var array<AGP_PlayerStart> Spots;
 
var bool bdoing;
 
 
event PreBeginPlay()
 
{
 
Level.Game.BaseMutator.AddMutator(self);
 
}
 
 
event Tick (float DeltaTime)
 
{
 
local PlayerController PC;
 
 
foreach Level.DynamicActors(Class'PlayerController',PC)
 
{
 
if ((PC.PlayerReplicationInfo.bDead == True) && (PC.playerreplicationinfo.team.teamindex != 255) && PC.bInitialAuthComplete == true && (bdoing == false))
 
{
 
bdoing = true;
 
respawn(PC);
 
}
 
}
 
}
 
 
function respawn(PlayerController Sender)
 
{
 
local AGP_PlayerStart StartSpot;
 
local int i;
 
 
i = 0;
 
 
foreach Level.AllActors(Class'AGP_PlayerStart',StartSpot)
 
{
 
if (StartSpot.TeamNumber == Sender.PlayerReplicationInfo.Team.TeamIndex)
 
{
 
Spots[i] = StartSpot;
 
i++;
 
}
 
}
 
 
if (Spots.Length == 0)
 
{
 
    AGP_Gameinfo(level.game).EnterSpectatorMode(Sender);
 
    HumanController(Sender).ClientResetSpectator();
 
Sender.PlayerReplicationInfo.bDead = true;
 
bdoing = false;
 
return;
 
}
 
 
StartSpot = Spots[Rand(Spots.Length)];
 
 
  if ( StartSpot == None )
 
  {
 
    AGP_Gameinfo(level.game).EnterSpectatorMode(Sender);
 
    HumanController(Sender).ClientResetSpectator();
 
Sender.PlayerReplicationInfo.bDead = true;
 
bdoing = false;
 
return;
 
  }
 
Sender.Pawn = Spawn(Sender.PawnClass,,,StartSpot.Location,StartSpot.Rotation);
 
  if ( sender.Pawn == None )
 
  {
 
    sender.GotoState('Dead');
 
bdoing = false;
 
    return;
 
}
 
else if(Sender.Pawn != None)
 
{
 
Sender.Possess(Sender.Pawn);
 
Sender.ClientSetRotation(Sender.Pawn.Rotation);
 
Sender.PlayerReplicationInfo.bDead = false;
 
Sender.PlayerReplicationInfo.bOutOfLives = false;
 
Sender.PlayerReplicationInfo.bIsSpectator = false;
 
HumanController(Sender).SetStartupStage(1);
 
Sender.bGodMode = True;
 
settimer(8,false);
 
bdoing = false;
 
}
 
}
 
 
function timer()
 
{
 
local PlayerController PC;
 
 
foreach Level.AllActors(Class'PlayerController',PC)
 
{
 
PC.bGodMode = false;
 
}
 
}
 
 
defaultproperties
 
{
 
bdoing=false;
 
}<uscript><uscript>Insert code</uscript></uscript>
 

Revision as of 05:32, 8 June 2008