rename project
This commit is contained in:
parent
3df649a1bb
commit
ac680456d8
@ -1,6 +1,50 @@
|
|||||||
[h1]there should be a description, but there isn't one :( [/h1]
|
[h1]Description[/h1]
|
||||||
|
Yet another scoreboard...
|
||||||
|
Based on the scoreboard from [url=https://steamcommunity.com/sharedfiles/filedetails/?id=1963099942]ClassicHUD[/url] and heavily modified.
|
||||||
|
|
||||||
I will definitely write in more detail (but a little later)
|
[h1]Features[/h1]
|
||||||
|
- Doesn't block the view with the mouse when active;
|
||||||
|
- Correctly displayed in all available resolutions;
|
||||||
|
- Displays a large number of players;
|
||||||
|
- Customizing the appearance and elements of the scoreboard;
|
||||||
|
- Player ranks.
|
||||||
|
|
||||||
|
[h1]Whitelisted?[/h1]
|
||||||
|
No. This mod is not whitelisted and will unrank your server. Any XP gained will not be saved.
|
||||||
|
|
||||||
|
(But I plan to submit a whitelist request when I stop adding changes to this scoreboard)
|
||||||
|
|
||||||
|
[h1]Usage (single player):[/h1]
|
||||||
|
1. Subscribe to this mutator;
|
||||||
|
2. Start KF2;
|
||||||
|
3. Open console (`) and input:
|
||||||
|
[code]open KF-BioticsLab?Mutator=YAS.YASMut?[/code]
|
||||||
|
4. <Enter>.
|
||||||
|
|
||||||
|
[h1]Usage (server):[/h1]
|
||||||
|
[b]Note:[/b] If you don't understand what is written here, read the article [url=https://wiki.killingfloor2.com/index.php?title=Dedicated_Server_(Killing_Floor_2)][u]Dedicated Server (KF2 wiki)[/u][/url] before following these instructions.
|
||||||
|
|
||||||
|
1. Open your PCServer-KFEngine.ini / LinuxServer-KFEngine.ini;
|
||||||
|
2. Add the following string to the [b][OnlineSubsystemSteamworks.KFWorkshopSteamworks][/b] section:
|
||||||
|
[code]ServerSubscribedWorkshopItems=<WORKSHOP_ID>[/code]
|
||||||
|
3. Start the server and wait while the mutator is downloading;
|
||||||
|
4. Stop the server;
|
||||||
|
5. Add mutator to server start line: [b]?Mutator=YAS.YASMut[/b]
|
||||||
|
7. Start the server.
|
||||||
|
|
||||||
|
[h1]Setup[/h1]
|
||||||
|
All settings are here:
|
||||||
|
[code]
|
||||||
|
/KFGame/Config/KFYAS.ini
|
||||||
|
[/code]
|
||||||
|
I will add detailed instructions for setting up the scoreboard later.
|
||||||
|
But these images will help you a little anyway:
|
||||||
|
<ELEMENTS>
|
||||||
|
<RECT_SHAPES>
|
||||||
|
|
||||||
|
[h1]Bug reports[/h1]
|
||||||
|
If you find a bug, describe what it looks like and how to repeat it - I will try to fix it.
|
||||||
|
You can do it right here, but I'll be much happier if you do it [url=https://github.com/GenZmeY/KF2-YetAnotherScoreboard/issues]in issues on github[/url].
|
||||||
|
|
||||||
[h1]Sources:[/h1]
|
[h1]Sources:[/h1]
|
||||||
[u]https://github.com/GenZmeY/KF2-ScoreboardExt[/u] [b](GNU GPLv3)[/b]
|
[u]https://github.com/GenZmeY/KF2-YetAnotherScoreboard[/u] [b](GNU GPLv3)[/b]
|
BIN
PublicationContent/elements.png
Normal file
BIN
PublicationContent/elements.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
BIN
PublicationContent/in_game.png
Normal file
BIN
PublicationContent/in_game.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 MiB |
Binary file not shown.
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 360 KiB |
BIN
PublicationContent/rect_shapes.png
Normal file
BIN
PublicationContent/rect_shapes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 550 KiB |
@ -1 +1 @@
|
|||||||
ScoreboardExt
|
YetAnotherScoreboard
|
@ -1,6 +1,6 @@
|
|||||||
class CustomRanks extends Object
|
class CustomRanks extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,6 +1,6 @@
|
|||||||
class DynamicLevelColor extends Object
|
class DynamicLevelColor extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,6 +1,6 @@
|
|||||||
class DynamicPingColor extends Object
|
class DynamicPingColor extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,6 +1,6 @@
|
|||||||
class DynamicStateColor extends Object
|
class DynamicStateColor extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -14,7 +14,7 @@ var() byte MaxFontScale;
|
|||||||
var float DefaultHeight; // Default font text size.
|
var float DefaultHeight; // Default font text size.
|
||||||
var transient Canvas Canvas;
|
var transient Canvas Canvas;
|
||||||
var transient KF2GUIController Owner;
|
var transient KF2GUIController Owner;
|
||||||
var transient ScoreboardExtHUD HUDOwner;
|
var transient YASHUD HUDOwner;
|
||||||
|
|
||||||
var Font MainFont, NumberFont, InfiniteFont;
|
var Font MainFont, NumberFont, InfiniteFont;
|
||||||
var Color BlurColor, BlurColor2;
|
var Color BlurColor, BlurColor2;
|
||||||
@ -1457,8 +1457,8 @@ static final function string Trim(coerce string S)
|
|||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
// Font'UI_Canvas_Fonts.Font_Main'
|
// Font'UI_Canvas_Fonts.Font_Main'
|
||||||
//MainFont=Font'KFScoreboardExt_Assets.Font.KFMainFont'
|
//MainFont=Font'KFYAS_Assets.Font.KFMainFont'
|
||||||
//InfiniteFont=Font'KFScoreboardExt_Assets.Font.KFInfiniteFont'
|
//InfiniteFont=Font'KFYAS_Assets.Font.KFInfiniteFont'
|
||||||
|
|
||||||
MainFont=Font'UI_Canvas_Fonts.Font_Main'
|
MainFont=Font'UI_Canvas_Fonts.Font_Main'
|
||||||
NumberFont=Font'UI_Canvas_Fonts.Font_General'
|
NumberFont=Font'UI_Canvas_Fonts.Font_General'
|
@ -7,7 +7,7 @@ Class KF2GUIController extends Info
|
|||||||
var() class<GUIStyleBase> DefaultStyle;
|
var() class<GUIStyleBase> DefaultStyle;
|
||||||
|
|
||||||
var PlayerController PlayerOwner;
|
var PlayerController PlayerOwner;
|
||||||
var ScoreboardExtHUD HUDOwner;
|
var YASHUD HUDOwner;
|
||||||
var transient KF2GUIInput CustomInput;
|
var transient KF2GUIInput CustomInput;
|
||||||
var transient PlayerInput BackupInput;
|
var transient PlayerInput BackupInput;
|
||||||
var transient GameViewportClient ClientViewport;
|
var transient GameViewportClient ClientViewport;
|
||||||
@ -47,7 +47,7 @@ static function KF2GUIController GetGUIController(PlayerController PC)
|
|||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach PC.ChildActors(class'ScoreboardExt.KF2GUIController', G)
|
foreach PC.ChildActors(class'YAS.KF2GUIController', G)
|
||||||
{
|
{
|
||||||
if (!G.bIsInvalid)
|
if (!G.bIsInvalid)
|
||||||
{
|
{
|
||||||
@ -57,7 +57,7 @@ static function KF2GUIController GetGUIController(PlayerController PC)
|
|||||||
|
|
||||||
if (G == None)
|
if (G == None)
|
||||||
{
|
{
|
||||||
G = PC.Spawn(class'ScoreboardExt.KF2GUIController', PC);
|
G = PC.Spawn(class'YAS.KF2GUIController', PC);
|
||||||
}
|
}
|
||||||
|
|
||||||
return G;
|
return G;
|
||||||
@ -67,7 +67,7 @@ simulated function PostBeginPlay()
|
|||||||
{
|
{
|
||||||
PlayerOwner = PlayerController(Owner);
|
PlayerOwner = PlayerController(Owner);
|
||||||
ClientViewport = LocalPlayer(PlayerOwner.Player).ViewportClient;
|
ClientViewport = LocalPlayer(PlayerOwner.Player).ViewportClient;
|
||||||
HUDOwner = ScoreboardExtHUD(PlayerOwner.myHUD);
|
HUDOwner = YASHUD(PlayerOwner.myHUD);
|
||||||
|
|
||||||
CurrentStyle = new (None) DefaultStyle;
|
CurrentStyle = new (None) DefaultStyle;
|
||||||
CurrentStyle.InitStyle();
|
CurrentStyle.InitStyle();
|
||||||
@ -143,7 +143,7 @@ simulated function HandleDrawMenu()
|
|||||||
{
|
{
|
||||||
if (HackConsole == None)
|
if (HackConsole == None)
|
||||||
{
|
{
|
||||||
HackConsole = new(ClientViewport)class'ScoreboardExt.KFGUIConsoleHack';
|
HackConsole = new(ClientViewport)class'YAS.KFGUIConsoleHack';
|
||||||
HackConsole.OutputObject = Self;
|
HackConsole.OutputObject = Self;
|
||||||
}
|
}
|
||||||
if (HackConsole != ClientViewport.ViewportConsole)
|
if (HackConsole != ClientViewport.ViewportConsole)
|
||||||
@ -259,7 +259,7 @@ simulated final function SetMenuState(bool bActive)
|
|||||||
{
|
{
|
||||||
if (CustomInput == None)
|
if (CustomInput == None)
|
||||||
{
|
{
|
||||||
CustomInput = new (KFPlayerController(PlayerOwner)) class'ScoreboardExt.KF2GUIInput';
|
CustomInput = new (KFPlayerController(PlayerOwner)) class'YAS.KF2GUIInput';
|
||||||
CustomInput.ControllerOwner = Self;
|
CustomInput.ControllerOwner = Self;
|
||||||
CustomInput.OnReceivedNativeInputKey = ReceivedInputKey;
|
CustomInput.OnReceivedNativeInputKey = ReceivedInputKey;
|
||||||
CustomInput.BaseInput = PlayerOwner.PlayerInput;
|
CustomInput.BaseInput = PlayerOwner.PlayerInput;
|
@ -7,7 +7,7 @@ Class KFGUI_Base extends Object
|
|||||||
|
|
||||||
|
|
||||||
var KF2GUIController Owner;
|
var KF2GUIController Owner;
|
||||||
var ScoreboardExtHUD HUDOwner;
|
var YASHUD HUDOwner;
|
||||||
var KFGUI_Base ParentComponent; // Parent component if any.
|
var KFGUI_Base ParentComponent; // Parent component if any.
|
||||||
var transient Canvas Canvas;
|
var transient Canvas Canvas;
|
||||||
|
|
@ -491,7 +491,7 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
else
|
else
|
||||||
Shape = Settings.Style.ShapePlayerBoxMidPlayer;
|
Shape = Settings.Style.ShapePlayerBoxMidPlayer;
|
||||||
|
|
||||||
BoxWidth = CashXPos + Owner.HUDOwner.ScaledBorderSize - BoxWidth;
|
BoxWidth = CashXPos - BoxWidth - Owner.HUDOwner.ScaledBorderSize * 2;
|
||||||
Owner.CurrentStyle.DrawRectBox(XPos, YOffset, BoxWidth, Height, Settings.Style.EdgeSize, Shape);
|
Owner.CurrentStyle.DrawRectBox(XPos, YOffset, BoxWidth, Height, Settings.Style.EdgeSize, Shape);
|
||||||
|
|
||||||
XPos += BoxWidth;
|
XPos += BoxWidth;
|
@ -1,6 +1,6 @@
|
|||||||
class PlayerRankRelations extends Object
|
class PlayerRankRelations extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,6 +1,6 @@
|
|||||||
class ScoreboardStyle extends Object
|
class ScoreboardStyle extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,5 +1,5 @@
|
|||||||
class ScoreboardStyleClient extends ScoreboardStyle
|
class ScoreboardStyleClient extends ScoreboardStyle
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,6 +1,6 @@
|
|||||||
class SteamGroupRankRelations extends Object
|
class SteamGroupRankRelations extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,6 +1,6 @@
|
|||||||
class SystemAdminRank extends Object
|
class SystemAdminRank extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,6 +1,6 @@
|
|||||||
class SystemPlayerRank extends Object
|
class SystemPlayerRank extends Object
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
@ -1,5 +1,5 @@
|
|||||||
class ScoreboardExtHUD extends KFGFxHudWrapper
|
class YASHUD extends KFGFxHudWrapper
|
||||||
config(ScoreboardExtMut);
|
config(YASMut);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
||||||
@ -37,7 +37,7 @@ function PostRender()
|
|||||||
|
|
||||||
if (GUIController == None || GUIController.bIsInvalid)
|
if (GUIController == None || GUIController.bIsInvalid)
|
||||||
{
|
{
|
||||||
GUIController = Class'ScoreboardExt.KF2GUIController'.Static.GetGUIController(PlayerOwner);
|
GUIController = Class'YAS.KF2GUIController'.Static.GetGUIController(PlayerOwner);
|
||||||
if (GUIController != None)
|
if (GUIController != None)
|
||||||
{
|
{
|
||||||
GUIStyle = GUIController.CurrentStyle;
|
GUIStyle = GUIController.CurrentStyle;
|
@ -1,6 +1,6 @@
|
|||||||
class ScoreboardExtMut extends KFMutator
|
class YASMut extends KFMutator
|
||||||
dependson(Types)
|
dependson(Types)
|
||||||
config(ScoreboardExt);
|
config(YAS);
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
||||||
@ -13,7 +13,7 @@ var private OnlineSubsystem Steamworks;
|
|||||||
|
|
||||||
struct SClient
|
struct SClient
|
||||||
{
|
{
|
||||||
var ScoreboardExtRepInfo RepInfo;
|
var YASRepInfo RepInfo;
|
||||||
var KFPlayerController KFPC;
|
var KFPlayerController KFPC;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ function PostBeginPlay()
|
|||||||
|
|
||||||
Super.PostBeginPlay();
|
Super.PostBeginPlay();
|
||||||
|
|
||||||
WorldInfo.Game.HUDType = class'ScoreboardExtHUD';
|
WorldInfo.Game.HUDType = class'YASHUD';
|
||||||
Steamworks = class'GameEngine'.static.GetOnlineSubsystem();
|
Steamworks = class'GameEngine'.static.GetOnlineSubsystem();
|
||||||
|
|
||||||
InitConfig();
|
InitConfig();
|
||||||
@ -195,7 +195,7 @@ private function AddPlayer(Controller C)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
RepClientNew.KFPC = KFPC;
|
RepClientNew.KFPC = KFPC;
|
||||||
RepClientNew.RepInfo = Spawn(class'ScoreboardExtRepInfo', KFPC);
|
RepClientNew.RepInfo = Spawn(class'YASRepInfo', KFPC);
|
||||||
|
|
||||||
RepClientNew.RepInfo.Mut = Self;
|
RepClientNew.RepInfo.Mut = Self;
|
||||||
RepClientNew.RepInfo.CustomRanks = class'CustomRanks'.default.Rank;
|
RepClientNew.RepInfo.CustomRanks = class'CustomRanks'.default.Rank;
|
@ -1,10 +1,10 @@
|
|||||||
class ScoreboardExtRepInfo extends ReplicationInfo;
|
class YASRepInfo extends ReplicationInfo;
|
||||||
|
|
||||||
`include(Build.uci)
|
`include(Build.uci)
|
||||||
`include(Logger.uci)
|
`include(Logger.uci)
|
||||||
|
|
||||||
// Server vars
|
// Server vars
|
||||||
var public ScoreboardExtMut Mut;
|
var public YASMut Mut;
|
||||||
|
|
||||||
// Client vars
|
// Client vars
|
||||||
var private KFScoreBoard SC;
|
var private KFScoreBoard SC;
|
||||||
@ -39,7 +39,7 @@ private reliable client function GetScoreboard()
|
|||||||
`callstack();
|
`callstack();
|
||||||
|
|
||||||
if (SC == None)
|
if (SC == None)
|
||||||
SC = ScoreboardExtHUD(GetALocalPlayerController().myHUD).Scoreboard;
|
SC = YASHUD(GetALocalPlayerController().myHUD).Scoreboard;
|
||||||
|
|
||||||
if (SC == None)
|
if (SC == None)
|
||||||
SetTimer(0.1f, false, nameof(GetScoreboard));
|
SetTimer(0.1f, false, nameof(GetScoreboard));
|
@ -1,4 +1,4 @@
|
|||||||
`define scelog(text, cond) `log(`text, `cond, 'ScoreboardExt')
|
`define scelog(text, cond) `log(`text, `cond, 'YetAnotherScoreboard')
|
||||||
|
|
||||||
`define info(text) `scelog("[INFO]"@`text, true)
|
`define info(text) `scelog("[INFO]"@`text, true)
|
||||||
`define warning(text) `scelog("[WARNING]"@`text, true)
|
`define warning(text) `scelog("[WARNING]"@`text, true)
|
6
make.sh
6
make.sh
@ -72,13 +72,13 @@ function restore_kfeditorconf ()
|
|||||||
|
|
||||||
function setup_modpackages ()
|
function setup_modpackages ()
|
||||||
{
|
{
|
||||||
multini --set "$KFEditorConf" 'ModPackages' 'ModPackages' 'ScoreboardExt'
|
multini --set "$KFEditorConf" 'ModPackages' 'ModPackages' 'YAS'
|
||||||
multini --set "$KFEditorConf" 'ModPackages' 'ModPackagesInPath' "$(unixpath2win "$MutSource")"
|
multini --set "$KFEditorConf" 'ModPackages' 'ModPackagesInPath' "$(unixpath2win "$MutSource")"
|
||||||
}
|
}
|
||||||
|
|
||||||
function compiled ()
|
function compiled ()
|
||||||
{
|
{
|
||||||
test -f "$MutStructScript/ScoreboardExt.u"
|
test -f "$MutStructScript/YAS.u"
|
||||||
}
|
}
|
||||||
|
|
||||||
function compile ()
|
function compile ()
|
||||||
@ -162,7 +162,7 @@ echo "Map=\"KF-Outpost\"
|
|||||||
Game=\"KFGameContent.KFGameInfo_Survival\"
|
Game=\"KFGameContent.KFGameInfo_Survival\"
|
||||||
Difficulty=\"0\"
|
Difficulty=\"0\"
|
||||||
GameLength=\"0\"
|
GameLength=\"0\"
|
||||||
Mutators=\"ScoreboardExt.ScoreboardExtMut\"
|
Mutators=\"YAS.YASMut\"
|
||||||
Args=\"\"" > "$MutTestingIni"
|
Args=\"\"" > "$MutTestingIni"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user