mirror of
https://github.com/Ragora/T2-BoL.git
synced 2026-01-19 19:14:45 +00:00
1528 lines
45 KiB
PHP
1528 lines
45 KiB
PHP
// Mission type-dependent objective HUDs
|
|
|
|
// TR2 additions
|
|
$TR2::Color::CarrierEnemy = "205 0 0 100";
|
|
$TR2::Color::CarrierFriendly = "0 205 0 100";
|
|
$TR2::Color::CarrierNeutral = "190 190 190 100";
|
|
$TR2::DebriefGuiLoaded = 0;
|
|
|
|
addMessageCallback('MsgClientReady', setCameraSpeedState);
|
|
|
|
function setCameraSpeedState(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
if( detag(%gameType) $= "TR2Game" )
|
|
{
|
|
$_Camera::movementSpeed = $Camera::movementSpeed;
|
|
$Camera::movementSpeed = 80;
|
|
}
|
|
else
|
|
{
|
|
%val = $_Camera::movementSpeed $= "" ? 40 : $_Camera::movementSpeed;
|
|
$Camera::movementSpeed = %val;
|
|
}
|
|
}
|
|
|
|
///// -MISSION START- //////////////////////////////////////////////////////////////
|
|
addMessageCallback('MsgClientReady', clientReadyMSG);
|
|
|
|
function clientReadyMSG(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
clearObjHudMSG();
|
|
setupObjHud(%gameType);
|
|
}
|
|
|
|
addMessageCallback('MsgClearObjHud', clearObjHudMSG);
|
|
|
|
function clearObjHudMSG(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
// clear the separator lines
|
|
objectiveHud.setSeparators("");
|
|
objectiveHud.disableHorzSeparator();
|
|
|
|
|
|
//remove everything in the objective Hud
|
|
while (objectiveHud.getCount() > 0)
|
|
objectiveHud.getObject(0).delete();
|
|
}
|
|
|
|
// TR2 Message Callbacks - AO
|
|
//-----------------------
|
|
// 05-13 removed the team size window
|
|
// 05-13 Removed syntax bug in hud (doh!)
|
|
// Created separate message type/callback and serverside function for adjusting bonus value
|
|
// Scores can now be updated independantly of bons value
|
|
//
|
|
// NEED TO ADD CODE TO MESSAGE CLIENT THE BONUS VALUE AND TEAM WHEN THEY JOIN!!!
|
|
|
|
|
|
addMessageCallback('MsgTR2UpdateBonus', handleTR2UpdateBonus);
|
|
|
|
|
|
|
|
addMessageCallback('MsgTR2ObjInit', TR2HudInit);
|
|
|
|
function TR2HudInit(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9)
|
|
{
|
|
objectiveHud.teamName[1].setValue(detag(%a1));
|
|
objectiveHud.teamName[2].setValue(detag(%a2));
|
|
|
|
objectiveHud.teamScore[1].setValue(detag(%a3));
|
|
objectiveHud.teamScore[2].setValue(detag(%a4));
|
|
|
|
objectiveHud.carrierName.setValue(detag(%a5));
|
|
objectiveHud.carrierHealth.setValue(detag(%a6));
|
|
|
|
TR2BonusObject.doBonus(%a7, $TR2::NeutralColor);
|
|
}
|
|
|
|
addMessageCallback('MsgTR2SetScore', handleTR2SetScore);
|
|
|
|
function handleTR2SetScore(%msgType, %msgString, %team, %score)
|
|
{
|
|
%team = detag(%team);
|
|
objectiveHud.teamScore[%team].setValue( detag(%score) );
|
|
}
|
|
// end TR2 message callbacks - AO
|
|
|
|
// REPLACE profile definition in objectiveHud.cs
|
|
new GuiControlProfile ("TR2CarrierHealth")
|
|
{
|
|
opaque = false;
|
|
fillColor = "0 205 0 100";
|
|
border = true;
|
|
borderColor = "190 190 190 100";
|
|
};
|
|
|
|
addMessageCallback('MsgTR2FlagStatus', handleTR2FlagStatus);
|
|
|
|
function handleTR2FlagStatus(%msgType, %msgString, %location)
|
|
{
|
|
objectiveHud.carrierName.setValue(detag(%location));
|
|
}
|
|
|
|
addMessageCallback('MsgTR2FlagTaken', handleTR2FlagTaken);
|
|
|
|
function handleTR2FlagTaken(%msgType, %msgString, %client, %team, %flagteam, %clientnamebase)
|
|
{
|
|
objectiveHud.carrierName.setValue(detag(%client));
|
|
}
|
|
|
|
addMessageCallback('MsgTR2FlagDropped', handleTR2FlagDropped);
|
|
|
|
function handleTR2FlagDropped(%msgType, %msgString, %client, %team, %flagteam)
|
|
{
|
|
objectiveHud.carrierName.setValue("Dropped");
|
|
}
|
|
|
|
addMessageCallback('MsgTR2CarrierHealth', handleTR2CarrierHealth);
|
|
|
|
function handleTR2CarrierHealth(%msgType, %msgString, %amt, %team)
|
|
{
|
|
if( detag(%team) == 1 ) // carrier is on our team
|
|
{
|
|
objectiveHud.carrierHealth.profile.fillColor = $TR2::Color::CarrierFriendly;
|
|
}
|
|
else
|
|
{
|
|
objectiveHud.carrierHealth.profile.fillColor = $TR2::Color::CarrierEnemy;
|
|
}
|
|
objectiveHud.carrierHealth.setValue(detag(%amt));
|
|
}
|
|
|
|
function setupObjHud(%gameType)
|
|
{
|
|
if(%gameType $= "PracticeCTFGame" || %gameType $= "CTFPlusGame")
|
|
%gameType = "CTFGame";
|
|
|
|
objectiveHud.gameType = %gameType;
|
|
|
|
// TR2 additions
|
|
if( %gameType $= "TR2Game" )
|
|
{
|
|
if( $TR2::DebriefGuiLoaded == 0 )
|
|
{
|
|
if( isObject(DB_ChatDlg) )
|
|
DB_ChatDlg.delete();
|
|
if( isObject(DebriefGui) )
|
|
DebriefGui.delete();
|
|
exec("gui/TR2DebriefGui.gui");
|
|
$TR2::DebriefGuiLoaded = 1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if( $TR2::DebriefGuiLoaded == 1 )
|
|
{
|
|
if( isObject(DB_ChatDlg) )
|
|
DB_ChatDlg.delete();
|
|
if( isObject(DebriefGui) )
|
|
DebriefGui.delete();
|
|
exec("gui/DebriefGui.gui");
|
|
$TR2::DebriefGuiLoaded = 0;
|
|
}
|
|
}
|
|
|
|
switch$ (%gameType)
|
|
{
|
|
// Begin TR2 hud stuff - AO
|
|
case TR2Game: // <player cnt> | <Your team> | <score> | < Carrier Name >
|
|
// <player cnt> | <Other team>| <score> | <Carrier Health>
|
|
// set separators
|
|
objectiveHud.setSeparators("104 147");
|
|
objectiveHud.enableHorzSeparator();
|
|
|
|
// Team names
|
|
objectiveHud.teamName[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGoldLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "96 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamName[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjSilverLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "96 16";
|
|
visible = "1";
|
|
};
|
|
// Team scores
|
|
objectiveHud.teamScore[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGoldCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "108 3";
|
|
extent = "35 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamScore[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjSilverCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "108 19";
|
|
extent = "35 16";
|
|
visible = "1";
|
|
};
|
|
|
|
// Bonus
|
|
objectiveHud.carrierName = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "151 3";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
text = "";
|
|
};
|
|
objectiveHud.carrierHealth = new GuiProgressCtrl() {
|
|
profile = "TR2CarrierHealth";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "159 22";
|
|
extent = "75 10";
|
|
minExtent = "8 8";
|
|
visible = "1";
|
|
hideCursor = "0";
|
|
bypassHideCursor = "0";
|
|
helpTag = "0";
|
|
};
|
|
|
|
for(%i = 1; %i <= 2; %i++)
|
|
{
|
|
objectiveHud.add(objectiveHud.teamScore[%i]);
|
|
objectiveHud.add(objectiveHud.teamName[%i]);
|
|
}
|
|
objectiveHud.add(objectiveHud.carrierName);
|
|
objectiveHud.add(objectiveHud.carrierHealth);
|
|
|
|
// end TR2 Hud stuff - AO
|
|
|
|
case BountyGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("56 156");
|
|
objectiveHud.disableHorzSeparator();
|
|
|
|
// Your score label ("SCORE")
|
|
objectiveHud.scoreLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "SCORE";
|
|
};
|
|
// Your score
|
|
objectiveHud.yourScore = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "60 3";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
// Target label ("TARGET")
|
|
objectiveHud.targetLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "TARGET";
|
|
};
|
|
// your target's name
|
|
objectiveHud.yourTarget = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "60 19";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
|
|
objectiveHud.add(objectiveHud.scoreLabel);
|
|
objectiveHud.add(objectiveHud.yourScore);
|
|
objectiveHud.add(objectiveHud.targetLabel);
|
|
objectiveHud.add(objectiveHud.yourTarget);
|
|
|
|
case CnHGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("96 162 202");
|
|
objectiveHud.enableHorzSeparator();
|
|
|
|
// Team names
|
|
objectiveHud.teamName[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamName[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
// Team scores
|
|
objectiveHud.teamScore[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "105 3";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamScore[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "105 19";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
};
|
|
// Hold label ("HOLD")
|
|
objectiveHud.holdLabel[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "165 3";
|
|
extent = "35 16";
|
|
visible = "1";
|
|
text = "HOLD";
|
|
};
|
|
objectiveHud.holdLabel[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "165 19";
|
|
extent = "35 16";
|
|
visible = "1";
|
|
text = "HOLD";
|
|
};
|
|
// number of points held
|
|
objectiveHud.numHeld[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "205 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.numHeld[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "205 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
|
|
for(%i = 1; %i <= 2; %i++)
|
|
{
|
|
objectiveHud.add(objectiveHud.teamName[%i]);
|
|
objectiveHud.add(objectiveHud.teamScore[%i]);
|
|
objectiveHud.add(objectiveHud.holdLabel[%i]);
|
|
objectiveHud.add(objectiveHud.numHeld[%i]);
|
|
}
|
|
|
|
case CTFGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("75 100 133");
|
|
objectiveHud.enableHorzSeparator();
|
|
|
|
// Team names
|
|
objectiveHud.teamName[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "68 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamName[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "68 16";
|
|
visible = "1";
|
|
};
|
|
// Team scores
|
|
objectiveHud.teamScore[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "78 3";
|
|
extent = "22 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamScore[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "78 19";
|
|
extent = "22 16";
|
|
visible = "1";
|
|
};
|
|
// Flag label ("FLAG")
|
|
objectiveHud.flagLabel[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "103 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
text = "FLAG";
|
|
};
|
|
objectiveHud.flagLabel[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "103 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
text = "FLAG";
|
|
};
|
|
// flag location (at base/in field/player carrying it)
|
|
objectiveHud.flagLocation[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "138 3";
|
|
extent = "102 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.flagLocation[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "138 19";
|
|
extent = "102 16";
|
|
visible = "1";
|
|
};
|
|
|
|
for(%i = 1; %i <= 2; %i++)
|
|
{
|
|
objectiveHud.add(objectiveHud.teamName[%i]);
|
|
objectiveHud.add(objectiveHud.teamScore[%i]);
|
|
objectiveHud.add(objectiveHud.flagLabel[%i]);
|
|
objectiveHud.add(objectiveHud.flagLocation[%i]);
|
|
}
|
|
|
|
case DMGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("56 96 156");
|
|
objectiveHud.disableHorzSeparator();
|
|
|
|
// Your score label ("SCORE")
|
|
objectiveHud.scoreLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "SCORE";
|
|
};
|
|
// Your score
|
|
objectiveHud.yourScore = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "60 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
// Your kills label ("KILLS")
|
|
objectiveHud.killsLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "KILLS";
|
|
};
|
|
// Your kills
|
|
objectiveHud.yourKills = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "60 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
// Your deaths label ("DEATHS")
|
|
objectiveHud.deathsLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "100 19";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "DEATHS";
|
|
};
|
|
// Your deaths
|
|
objectiveHud.yourDeaths = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "160 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
|
|
objectiveHud.add(objectiveHud.scoreLabel);
|
|
objectiveHud.add(objectiveHud.yourScore);
|
|
objectiveHud.add(objectiveHud.killsLabel);
|
|
objectiveHud.add(objectiveHud.yourKills);
|
|
objectiveHud.add(objectiveHud.deathsLabel);
|
|
objectiveHud.add(objectiveHud.yourDeaths);
|
|
|
|
case HuntersGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("96 132");
|
|
objectiveHud.disableHorzSeparator();
|
|
|
|
// Your score label ("SCORE")
|
|
objectiveHud.scoreLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
text = "SCORE";
|
|
};
|
|
// Your score
|
|
objectiveHud.yourScore = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "100 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
// flags label ("FLAGS")
|
|
objectiveHud.flagLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
text = "FLAGS";
|
|
};
|
|
// number of flags
|
|
objectiveHud.yourFlags = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "100 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
|
|
objectiveHud.add(objectiveHud.scoreLabel);
|
|
objectiveHud.add(objectiveHud.yourScore);
|
|
objectiveHud.add(objectiveHud.flagLabel);
|
|
objectiveHud.add(objectiveHud.yourFlags);
|
|
|
|
case RabbitGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("56 156");
|
|
objectiveHud.disableHorzSeparator();
|
|
|
|
// Your score label ("SCORE")
|
|
objectiveHud.scoreLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "SCORE";
|
|
};
|
|
// Your score
|
|
objectiveHud.yourScore = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "60 3";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
// Rabbit label ("RABBIT")
|
|
objectiveHud.rabbitLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "RABBIT";
|
|
};
|
|
// rabbit name
|
|
objectiveHud.rabbitName = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "60 19";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
|
|
objectiveHud.add(objectiveHud.scoreLabel);
|
|
objectiveHud.add(objectiveHud.yourScore);
|
|
objectiveHud.add(objectiveHud.rabbitLabel);
|
|
objectiveHud.add(objectiveHud.rabbitName);
|
|
|
|
case SiegeGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("96 122 177");
|
|
objectiveHud.enableHorzSeparator();
|
|
|
|
// Team names
|
|
objectiveHud.teamName[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamName[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "90 16";
|
|
visible = "1";
|
|
};
|
|
// Team scores
|
|
objectiveHud.teamScore[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "100 3";
|
|
extent = "20 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamScore[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "100 19";
|
|
extent = "20 16";
|
|
visible = "1";
|
|
};
|
|
// Role label ("PROTECT" or "DESTROY")
|
|
objectiveHud.roleLabel[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "125 3";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.roleLabel[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "125 19";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
};
|
|
// number of objectives to protect/destroy
|
|
objectiveHud.objectives[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "180 3";
|
|
extent = "60 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.objectives[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "180 19";
|
|
extent = "60 16";
|
|
visible = "1";
|
|
};
|
|
|
|
for(%i = 1; %i <= 2; %i++)
|
|
{
|
|
objectiveHud.add(objectiveHud.teamName[%i]);
|
|
objectiveHud.add(objectiveHud.teamScore[%i]);
|
|
objectiveHud.add(objectiveHud.roleLabel[%i]);
|
|
objectiveHud.add(objectiveHud.objectives[%i]);
|
|
}
|
|
|
|
case TeamHuntersGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("57 83 197");
|
|
objectiveHud.enableHorzSeparator();
|
|
|
|
// flags label ("FLAGS")
|
|
objectiveHud.flagLabel = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "50 16";
|
|
visible = "1";
|
|
text = "FLAGS";
|
|
};
|
|
// number of flags
|
|
objectiveHud.yourFlags = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "60 3";
|
|
extent = "20 16";
|
|
visible = "1";
|
|
};
|
|
// team names
|
|
objectiveHud.teamName[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "85 3";
|
|
extent = "110 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamName[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "85 19";
|
|
extent = "110 16";
|
|
visible = "1";
|
|
};
|
|
// team scores
|
|
objectiveHud.teamScore[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "200 3";
|
|
extent = "40 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamScore[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "200 19";
|
|
extent = "40 16";
|
|
visible = "1";
|
|
};
|
|
|
|
objectiveHud.add(objectiveHud.flagLabel);
|
|
objectiveHud.add(objectiveHud.yourFlags);
|
|
for(%i = 1; %i <= 2; %i++)
|
|
{
|
|
objectiveHud.add(objectiveHud.teamName[%i]);
|
|
objectiveHud.add(objectiveHud.teamScore[%i]);
|
|
}
|
|
|
|
case SinglePlayerGame:
|
|
// no separator lines
|
|
objectiveHud.setSeparators("");
|
|
objectiveHud.disableHorzSeparator();
|
|
|
|
// two lines to print objectives
|
|
objectiveHud.spText[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "235 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.spText[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "235 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.add(objectiveHud.spText[1]);
|
|
objectiveHud.add(objectiveHud.spText[2]);
|
|
// z0dd - ZOD, 9/13/02. New gametype
|
|
case JBGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("64 114 152 202");
|
|
objectiveHud.enableHorzSeparator();
|
|
|
|
// Team names
|
|
objectiveHud.teamName[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "60 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamName[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "60 16";
|
|
visible = "1";
|
|
};
|
|
// In Jail ("JAILED")
|
|
objectiveHud.inJailLabel[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "68 3";
|
|
extent = "42 16";
|
|
visible = "1";
|
|
text = "JAILED";
|
|
};
|
|
objectiveHud.inJailLabel[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "68 19";
|
|
extent = "42 16";
|
|
visible = "1";
|
|
text = "JAILED";
|
|
};
|
|
// Players in Jail
|
|
objectiveHud.playersJailed[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "118 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.playersJailed[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "118 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
// Score label ("SCORE")
|
|
objectiveHud.scoreLabel[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "156 3";
|
|
extent = "42 16";
|
|
visible = "1";
|
|
text = "SCORE";
|
|
};
|
|
objectiveHud.scoreLabel[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "156 19";
|
|
extent = "42 16";
|
|
visible = "1";
|
|
text = "SCORE";
|
|
};
|
|
// scores
|
|
objectiveHud.teamScore[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "206 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamScore[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "206 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
for(%i = 1; %i <= 2; %i++)
|
|
{
|
|
objectiveHud.add(objectiveHud.teamName[%i]);
|
|
objectiveHud.add(objectiveHud.inJailLabel[%i]);
|
|
objectiveHud.add(objectiveHud.playersJailed[%i]);
|
|
objectiveHud.add(objectiveHud.scoreLabel[%i]);
|
|
objectiveHud.add(objectiveHud.teamScore[%i]);
|
|
}
|
|
// z0dd - ZOD, 9/13/02. New gametype
|
|
case DnDGame:
|
|
// set separators
|
|
objectiveHud.setSeparators("75 114 150 210");
|
|
objectiveHud.enableHorzSeparator();
|
|
|
|
// Team names
|
|
objectiveHud.teamName[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 3";
|
|
extent = "68 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamName[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudLeftProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "4 19";
|
|
extent = "68 16";
|
|
visible = "1";
|
|
};
|
|
// Label: Scores
|
|
objectiveHud.scoreLabel[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "75 3";
|
|
extent = "42 16";
|
|
visible = "1";
|
|
text = "Score";
|
|
};
|
|
objectiveHud.scoreLabel[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "75 19";
|
|
extent = "42 16";
|
|
visible = "1";
|
|
text = "Score";
|
|
};
|
|
// Team scores
|
|
objectiveHud.teamScore[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "118 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.teamScore[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "118 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
// Label: Objectives
|
|
objectiveHud.objectivesLabel[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "158 3";
|
|
extent = "44 16";
|
|
visible = "1";
|
|
text = "Objectives";
|
|
};
|
|
objectiveHud.objectivesLabel[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "158 19";
|
|
extent = "44 16";
|
|
visible = "1";
|
|
text = "Objectives";
|
|
};
|
|
// Team objectives
|
|
objectiveHud.objectives[1] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjGreenCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "210 3";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
objectiveHud.objectives[2] = new GuiTextCtrl() {
|
|
profile = "GuiTextObjHudCenterProfile";
|
|
horizSizing = "right";
|
|
vertSizing = "bottom";
|
|
position = "210 19";
|
|
extent = "30 16";
|
|
visible = "1";
|
|
};
|
|
for(%i = 1; %i <= 2; %i++)
|
|
{
|
|
objectiveHud.add(objectiveHud.teamName[%i]);
|
|
objectiveHud.add(objectiveHud.scoreLabel[%i]);
|
|
objectiveHud.add(objectiveHud.teamScore[%i]);
|
|
objectiveHud.add(objectiveHud.objectivesLabel[%i]);
|
|
objectiveHud.add(objectiveHud.objectives[%i]);
|
|
}
|
|
}
|
|
chatPageDown.setVisible(false);
|
|
}
|
|
|
|
addMessageCallback('MsgCheckTeamLines', checkTeamLines);
|
|
|
|
function checkTeamLines(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%team = detag(%a1);
|
|
|
|
if(%team == 1)
|
|
%other = 2;
|
|
else if(%team == 2)
|
|
%other = 1;
|
|
else
|
|
return;
|
|
|
|
%tY = getWord(objectiveHud.teamName[%team].position, 1);
|
|
%oY = getWord(objectiveHud.teamName[%other].position, 1);
|
|
|
|
// if player's team is lower on objective hud than other team is, switch them
|
|
if(%tY > %oY)
|
|
swapTeamLines();
|
|
}
|
|
|
|
function swapTeamLines()
|
|
{
|
|
// if player's team is on the bottom of the objective hud, swap them so that it's on top
|
|
%bLeft = "GuiTextObjHudLeftProfile";
|
|
%bCenter = "GuiTextObjHudCenterProfile";
|
|
%gLeft = "GuiTextObjGreenLeftProfile";
|
|
%gCenter = "GuiTextObjGreenCenterProfile";
|
|
|
|
%teamOneY = getWord(objectiveHud.teamName[1].position, 1);
|
|
%teamTwoY = getWord(objectiveHud.teamName[2].position, 1);
|
|
|
|
// z0dd - ZOD, 9/13/02. Code streamlining
|
|
%newTop = %teamOneY > %teamTwoY ? 1 : 2;
|
|
%newBottom = %teamOneY > %teamTwoY ? 2 : 1;
|
|
|
|
|
|
// these are present in every team-based mission type
|
|
%nameX = firstWord(objectiveHud.teamName[1].position);
|
|
objectiveHud.teamName[1].position = %nameX SPC %teamTwoY;
|
|
objectiveHud.teamName[2].position = %nameX SPC %teamOneY;
|
|
objectiveHud.teamName[%newTop].setProfile(%gLeft);
|
|
objectiveHud.teamName[%newBottom].setProfile(%bLeft);
|
|
|
|
%scoreX = firstWord(objectiveHud.teamScore[1].position);
|
|
objectiveHud.teamScore[1].position = %scoreX SPC %teamTwoY;
|
|
objectiveHud.teamScore[2].position = %scoreX SPC %teamOneY;
|
|
objectiveHud.teamScore[%newTop].setProfile(%gCenter);
|
|
objectiveHud.teamScore[%newBottom].setProfile(%bCenter);
|
|
|
|
if(isObject(objectiveHud.flagLocation[1]))
|
|
{
|
|
// CTF
|
|
%locatX = firstWord(objectiveHud.flagLocation[1].position);
|
|
objectiveHud.flagLocation[1].position = %locatX SPC %teamTwoY;
|
|
objectiveHud.flagLocation[2].position = %locatX SPC %teamOneY;
|
|
// swap profiles so top line is green (don't bother with labels)
|
|
objectiveHud.flagLocation[%newTop].setProfile(%gLeft);
|
|
objectiveHud.flagLocation[%newBottom].setProfile(%bLeft);
|
|
}
|
|
if(isObject(objectiveHud.numHeld[1]))
|
|
{
|
|
// CnH
|
|
%locatX = firstWord(objectiveHud.numHeld[1].position);
|
|
objectiveHud.numHeld[1].position = %locatX SPC %teamTwoY;
|
|
objectiveHud.numHeld[2].position = %locatX SPC %teamOneY;
|
|
// swap profiles so top line is green (don't bother with labels)
|
|
objectiveHud.numHeld[%newTop].setProfile(%gCenter);
|
|
objectiveHud.numHeld[%newbottom].setProfile(%bCenter);
|
|
}
|
|
if(isObject(objectiveHud.objectives[1]))
|
|
{
|
|
// Siege
|
|
%locX = firstWord(objectiveHud.roleLabel[1].position);
|
|
objectiveHud.roleLabel[1].position = %locX SPC %teamTwoY;
|
|
objectiveHud.roleLabel[2].position = %locX SPC %teamOneY;
|
|
%locatX = firstWord(objectiveHud.objectives[1].position);
|
|
objectiveHud.objectives[1].position = %locatX SPC %teamTwoY;
|
|
objectiveHud.objectives[2].position = %locatX SPC %teamOneY;
|
|
// swap profiles so top line is green (don't forget role label)
|
|
objectiveHud.roleLabel[%newTop].setProfile(%gCenter);
|
|
objectiveHud.roleLabel[%newbottom].setProfile(%bCenter);
|
|
objectiveHud.objectives[%newTop].setProfile(%gCenter);
|
|
objectiveHud.objectives[%newbottom].setProfile(%bCenter);
|
|
}
|
|
if(isObject(objectiveHud.playersJailed[1])) // z0dd - ZOD, 9/13/02. New Gametype
|
|
{
|
|
%jailedX = firstWord(objectiveHud.playersJailed[1].position);
|
|
objectiveHud.playersJailed[1].position = %jailedX SPC %teamTwoY;
|
|
objectiveHud.playersJailed[2].position = %jailedX SPC %teamOneY;
|
|
objectiveHud.playersJailed[%newTop].setProfile(%gCenter);
|
|
objectiveHud.playersJailed[%newbottom].setProfile(%bCenter);
|
|
}
|
|
if (isObject(objectiveHud.objectives[1])) // z0dd - ZOD, 9/13/02. New Gametype
|
|
{
|
|
%locatX = firstWord(objectiveHud.objectives[1].position);
|
|
objectiveHud.objectives[1].position = %locatX SPC %teamTwoY;
|
|
objectiveHud.objectives[2].position = %locatX SPC %teamOneY;
|
|
objectiveHud.objectives[%newTop].setProfile(%gCenter);
|
|
objectiveHud.objectives[%newBottom].setProfile(%bCenter);
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
//CLOCK HUD Callback
|
|
addMessageCallback('MsgSystemClock', setSystemClock);
|
|
|
|
function setSystemClock(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
$Hud::TimeLimit = detag(%a1);
|
|
%timeLeftMS = detag(%a2);
|
|
clockHud.setTime(%timeLeftMS / (60 * 1000));
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
//Generic msg callbacks...
|
|
|
|
addMessageCallback('MsgYourScoreIs', YourScoreIs);
|
|
|
|
function YourScoreIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
if ( isObject( objectiveHud.yourScore ) )
|
|
objectiveHud.yourScore.setValue( detag(%a1) );
|
|
}
|
|
|
|
addMessageCallback('MsgTeamScoreIs', teamScoreIs);
|
|
|
|
function teamScoreIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%score = detag(%a2);
|
|
|
|
if(%score $= "")
|
|
%score = 0;
|
|
|
|
objectiveHud.teamScore[%teamNum].setValue(%score);
|
|
}
|
|
|
|
addMessageCallback('MsgYourRankIs', yourRankIs);
|
|
|
|
function yourRankIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
// the rank (+1) adjustment is taken care of server-side...
|
|
%rank = detag(%a1);
|
|
// no longer displayed in objective hud
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// Bounty - Hud Messages
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
addMessageCallback('msgBountyTargetIs', bountyTargetIs);
|
|
|
|
function bountyTargetIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%hit = detag(%a1);
|
|
if(%hit $= "")
|
|
%hit = "<waiting>";
|
|
|
|
objectiveHud.yourTarget.setValue(%hit);
|
|
}
|
|
|
|
addMessageCallback('msgBountyTargetDropped', bountyTargetDropped);
|
|
addMessageCallback('msgBountyTargetEntObs', bountyTargetDropped);
|
|
|
|
function bountyTargetDropped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
objectiveHud.yourTarget.setValue("<waiting>");
|
|
}
|
|
|
|
//addMessageCallback('msgBountyObjRem', bountyObjRem);
|
|
|
|
function bountyObjRem(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%objRem = detag(%a1);
|
|
|
|
// this is no longer on the objective hud
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// CnH - Hud Messages
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
addMessageCallback('MsgCnHAddTeam', cnhAddTeam);
|
|
|
|
function cnhAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%teamName = detag(%a2);
|
|
%score = detag(%a3);
|
|
if(%score $= "")
|
|
%score = 0;
|
|
%sLimit = detag(%a4);
|
|
%held = detag(%a5);
|
|
|
|
objectiveHud.teamName[%teamNum].setValue(%teamName);
|
|
objectiveHud.teamScore[%teamNum].setValue(%score@"/"@%sLimit);
|
|
objectiveHud.numHeld[%teamNum].setValue(%held);
|
|
}
|
|
|
|
addMessageCallback('MsgFlipFlopsHeld', hudFlipFlopsHeld);
|
|
|
|
function hudFlipFlopsHeld(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%held = detag(%a2);
|
|
|
|
objectiveHud.numHeld[%teamNum].setValue(%held);
|
|
}
|
|
|
|
addMessageCallback('MsgCnHTeamCap', cnhTeamCap);
|
|
|
|
function cnhTeamCap(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a4);
|
|
%score = detag(%a5);
|
|
%sLimit = detag(%a6);
|
|
%string = %score @ "/" @ %sLimit;
|
|
|
|
objectiveHud.teamScore[%teamNum].setValue(%string);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// CTF - Gui Hud Control
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
addMessageCallback('MsgCTFAddTeam', ctfAddTeam);
|
|
|
|
function ctfAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%teamName = detag(%a2);
|
|
%flagStatus = detag(%a3);
|
|
%score = detag(%a4);
|
|
|
|
objectiveHud.teamName[%teamNum].setValue(%teamName);
|
|
objectiveHud.teamScore[%teamNum].setValue(%score);
|
|
objectiveHud.flagLocation[%teamNum].setValue(%flagStatus);
|
|
}
|
|
|
|
addMessageCallback('MsgCTFFlagTaken', ctfFlagTaken);
|
|
|
|
function ctfFlagTaken(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%index = detag(%a3);
|
|
%taker = detag(%a4);
|
|
|
|
objectiveHud.flagLocation[%index].setValue(%taker);
|
|
}
|
|
|
|
addMessageCallback('MsgCTFFlagDropped', ctfFlagDropped);
|
|
|
|
function ctfFlagDropped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%index = detag(%a3);
|
|
objectiveHud.flagLocation[%index].setValue("<In the Field>");
|
|
}
|
|
|
|
addMessageCallback('MsgCTFFlagCapped', ctfFlagCapped);
|
|
|
|
function ctfFlagCapped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%index = detag(%a3);
|
|
objectiveHud.flagLocation[%index].setValue("<At Base>");
|
|
}
|
|
|
|
addMessageCallback('MsgCTFFlagReturned', ctfFlagReturned);
|
|
|
|
function ctfFlagReturned(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%index = detag(%a3);
|
|
objectiveHud.flagLocation[%index].setValue("<At Base>");
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// Deathmatch - Hud Messages
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
addMessageCallback('MsgDMPlayerDies', dmPlayerDies);
|
|
|
|
function dmPlayerDies(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%deaths = detag(%a1);
|
|
objectiveHud.yourDeaths.setValue(%deaths);
|
|
}
|
|
|
|
addMessageCallback('MsgDMKill', dmKill);
|
|
|
|
function dmKill(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%kills = detag(%a1);
|
|
objectiveHud.yourKills.setValue(%kills);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// Hunters - Hud Messages
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
addMessageCallback('MsgHuntAddTeam', huntAddTeam);
|
|
|
|
function huntAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%teamName = detag(%a2);
|
|
%score = detag(%a3);
|
|
|
|
objectiveHud.teamName[%teamNum].setValue(%teamName);
|
|
objectiveHud.teamScore[%teamNum].setValue(%score);
|
|
}
|
|
|
|
addMessageCallback('MsgHuntGreedStatus', huntGreedStatus);
|
|
|
|
function huntGreedStatus(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%greedStatus = detag(%a1);
|
|
%greedAmount = detag(%a2);
|
|
// no longer displayed in objective hud
|
|
}
|
|
|
|
addMessageCallback('MsgHuntHoardStatus', hunthoardStatus);
|
|
|
|
function huntHoardStatus(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
$Hud::HoardMode = detag(%a1);
|
|
$HUD::TimeLimit = detag(%a2);
|
|
%timeLeftMS = detag(%a3);
|
|
$HUD::HoardStartTime = detag(%a4);
|
|
$HUD::HoardDuration = detag(%a5);
|
|
// no longer displayed in objective hud
|
|
}
|
|
|
|
function updateHoardStatusHUD(%timeLeftMS)
|
|
{
|
|
// no longer displayed in objective hud
|
|
}
|
|
|
|
addMessageCallback('MsgHuntYouHaveFlags', huntYouHaveFlags);
|
|
|
|
function huntYouHaveFlags(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%numFlags = detag(%a1);
|
|
objectiveHud.yourFlags.setValue(%numFlags);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// Rabbit - Hud Messages
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
addMessageCallback('MsgRabbitFlagTaken', rabbitFlagTaken);
|
|
|
|
function rabbitFlagTaken(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%bunny = detag(%a1);
|
|
objectiveHud.rabbitName.setValue(%bunny);
|
|
}
|
|
|
|
addMessageCallback('MsgRabbitFlagDropped', rabbitFlagDropped);
|
|
|
|
function rabbitFlagDropped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
objectiveHud.rabbitName.setValue("<In Field>");
|
|
}
|
|
|
|
addMessageCallback('MsgRabbitFlagReturned', rabbitFlagReturned);
|
|
|
|
function rabbitFlagReturned(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
objectiveHud.rabbitName.setValue("<At Home>");
|
|
}
|
|
|
|
addMessageCallback('MsgRabbitFlagStatus', rabbitFlagStatus);
|
|
|
|
function rabbitFlagStatus(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%flagStatus = detag(%a1);
|
|
objectiveHud.rabbitName.setValue(%flagStatus);
|
|
}/////////////////////////////////////////////////////////////////////////////////////////
|
|
// Siege - Hud Messages
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
addMessageCallback('MsgSiegeAddTeam', siegeAddTeam);
|
|
|
|
function siegeAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%teamName = detag(%a2);
|
|
if(detag(%a3))
|
|
%role = "CAPTURE";
|
|
else
|
|
%role = "PROTECT";
|
|
|
|
objectiveHud.teamName[%teamNum].setValue(%teamName);
|
|
objectiveHud.roleLabel[%teamNum].setValue(%role);
|
|
}
|
|
|
|
addMessageCallback('MsgSiegeRolesSwitched', siegeRolesSwitched);
|
|
|
|
function siegeRolesSwitched(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%newOff = detag(%a2);
|
|
%newDef = %newOff == 1 ? 2: 1;
|
|
|
|
objectiveHud.roleLabel[%newDef].setValue("PROTECT");
|
|
objectiveHud.roleLabel[%newOff].setValue("CAPTURE");
|
|
//objectiveHud.objectives[%newDef].setValue("1");
|
|
//objectiveHud.objectives[%newOff].setValue("0");
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// DnD - Hud Messages - z0dd - ZOD, 9/13/02.
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
function dndAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%teamName = detag(%a2);
|
|
%score = detag(%a3);
|
|
if (%score $= "")
|
|
%score = 0;
|
|
|
|
%sLimit = detag(%a4);
|
|
objectiveHud.teamName[%teamNum].setValue(%teamName);
|
|
objectiveHud.objectives[%teamNum].setValue(%sLimit);
|
|
objectiveHud.teamScore[%teamNum].setValue(%score);
|
|
}
|
|
|
|
function dndTeamScores(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%teamName = detag(%a2);
|
|
%score = detag(%a3);
|
|
if(%score $= "")
|
|
%score = 0;
|
|
|
|
%sLimit = detag(%a4);
|
|
objectiveHud.teamScore[%teamNum].setValue(%score);
|
|
}
|
|
|
|
addMessageCallback('MsgDnDAddTeam', dndAddTeam);
|
|
addMessageCallback('MsgDnDTeamScores', dndTeamScores);
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// Single Player Game - Hud Messages
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//addMessageCallback('MsgSPYourRankIs', spYourRankIs);
|
|
|
|
function spYourRankIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
//%rank = detag(%a1);
|
|
//objectiveHud.data[1,1].setValue(%rank);
|
|
}
|
|
|
|
addMessageCallback('MsgSPCurrentObjective1', spCurrentObjective1);
|
|
|
|
function spCurrentObjective1(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%obj = detag(%a1);
|
|
objectiveHud.spText[1].setValue(%obj);
|
|
}
|
|
|
|
addMessageCallback('MsgSPCurrentObjective2', spCurrentObjective2);
|
|
|
|
function spCurrentObjective2(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%obj = detag(%a1);
|
|
objectiveHud.spText[2].setValue(%obj);
|
|
}
|
|
|
|
//addMessageCallback('MsgSPCurrentObjective3', spCurrentObjective3);
|
|
|
|
//function spCurrentObjective3(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
//{
|
|
// %obj = detag(%a1);
|
|
// objectiveHud.data[0,4].setValue(%obj);
|
|
//}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// JB - Hud Messages - z0dd - ZOD, 9/13/02.
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
function jbAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%teamName = detag(%a2);
|
|
%score = detag(%a3);
|
|
if(%score $= "")
|
|
%score = 0;
|
|
|
|
%jailed = detag(%a4);
|
|
if(%jailed $= "" || %jailed < 0)
|
|
%jailed = 0;
|
|
|
|
objectiveHud.teamName[%teamNum].setValue(%teamName);
|
|
objectiveHud.playersJailed[%teamNum].setValue(%jailed);
|
|
objectiveHud.teamScore[%teamNum].setValue(%score);
|
|
}
|
|
|
|
function jbRoundHeld(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a1);
|
|
%score = detag(%a2);
|
|
|
|
objectiveHud.teamScore[%teamNum].setValue(%score);
|
|
}
|
|
|
|
function jbJailed(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6)
|
|
{
|
|
%teamNum = detag(%a4);
|
|
%jailed = detag(%a5);
|
|
if(%jailed < 0)
|
|
%jailed = 0;
|
|
|
|
objectiveHud.playersJailed[%teamNum].setValue(%jailed);
|
|
}
|
|
|
|
addMessageCallback('MsgJBAddTeam', jbAddTeam);
|
|
addMessageCallback('MsgJBRoundHeld', jbRoundHeld);
|
|
addMessageCallback('MsgJBJailed', jbJailed); |