- Code: Select all
//=============================================================================
// MessageMutator Made by Alex ~ http://www.dxalpha.com/
//=============================================================================
class MessageMutator extends Mutator;
replication
{
reliable if (Role == ROLE_Authority)
_ShowMessage;
}
simulated function PostBeginPlay()
{
Level.Game.BaseMutator.AddMutator(Self);
}
function Mutate (String S, PlayerPawn Player)
{
local DeusExPlayer _Player;
local DeusExPlayer _CurPlayer;
local string _Message;
_Player = DeusExPlayer(Player);
if(_Player != None && _Player.bAdmin)
{
if(Left(S,16) ~= "game.showmessage" && (Left(S,17) ~= "game.showmessage " || Left(S,17) ~= "game.showmessage"))
{
_Message = Right(S,Len(S)-17);
if(Len(_Message) > 0)
{
Log(_Player.PlayerReplicationInfo.PlayerName@"shows a message with ShowMessage:"@_Message);
_Message = "|p1"$_Message;
ForEach AllActors(class 'DeusExPlayer', _CurPlayer)
{
if(_CurPlayer != None)
{
SetOwner(_CurPlayer);
_ShowMessage(_CurPlayer,_Message);
}
}
}
else
{
_Player.ClientMessage("|p3<MiniMachina> Usage: Mutate Game.ShowMessage [Message]");
}
}
}
Super.Mutate(S,Player);
}
simulated function _ShowMessage(DeusExPlayer _Player, string _Message)
{
local HUDMissionStartTextDisplay _HUD;
if ((_Player.RootWindow != None) && (DeusExRootWindow(_Player.RootWindow).HUD != None))
{
_HUD = DeusExRootWindow(_Player.RootWindow).HUD.startDisplay;
}
if(_HUD != None)
{
_HUD.shadowDist = 0;
_HUD.Message = "";
_HUD.charIndex = 0;
_HUD.winText.SetText("");
_HUD.winTextShadow.SetText("");
_HUD.displayTime = 5.50;
_HUD.perCharDelay = 0.30;
_HUD.AddMessage(_Message);
_HUD.StartMessage();
}
}
defaultproperties
{
bHidden=True
}
For the rest; Enjoy.