Compare commits
7 Commits
short-name
...
master
Author | SHA1 | Date | |
---|---|---|---|
e064a55d86
|
|||
bf5e6e7b9c
|
|||
bb8225bc8f
|
|||
e6ed3a4ebf | |||
85e235316c | |||
10bd48e082 | |||
d55cc77e05
|
@ -13,6 +13,12 @@ var private localized String IncompatibleGRI;
|
||||
var const String IncompatibleGRIWarningDefault;
|
||||
var private localized String IncompatibleGRIWarning;
|
||||
|
||||
var const String NoneGRIDefault;
|
||||
var private localized String NoneGRI;
|
||||
|
||||
var const String NoneGRIWarningDefault;
|
||||
var private localized String NoneGRIWarning;
|
||||
|
||||
var const String SecondsShortDefault;
|
||||
var private localized String SecondsShort;
|
||||
|
||||
@ -25,6 +31,8 @@ enum E_LTI_LocalMessageType
|
||||
LTI_WaitingGRI,
|
||||
LTI_IncompatibleGRI,
|
||||
LTI_IncompatibleGRIWarning,
|
||||
LTI_NoneGRI,
|
||||
LTI_NoneGRIWarning,
|
||||
LTI_SecondsShort,
|
||||
LTI_PleaseWait
|
||||
};
|
||||
@ -52,6 +60,12 @@ public static function String GetLocalizedString(
|
||||
case LTI_IncompatibleGRIWarning:
|
||||
return (default.IncompatibleGRIWarning != "" ? default.IncompatibleGRIWarning : default.IncompatibleGRIWarningDefault);
|
||||
|
||||
case LTI_NoneGRI:
|
||||
return (default.NoneGRI != "" ? default.NoneGRI : default.NoneGRIDefault);
|
||||
|
||||
case LTI_NoneGRIWarning:
|
||||
return (default.NoneGRIWarning != "" ? default.NoneGRIWarning : default.NoneGRIWarningDefault);
|
||||
|
||||
case LTI_SecondsShort:
|
||||
return (default.SecondsShort != "" ? default.SecondsShort : default.SecondsShortDefault);
|
||||
|
||||
@ -68,6 +82,8 @@ defaultproperties
|
||||
WaitingGRIDefault = "Waiting GRI..."
|
||||
IncompatibleGRIDefault = "Incompatible GRI:"
|
||||
IncompatibleGRIWarningDefault = "You can enter the game, but the trader may not work correctly.";
|
||||
NoneGRIDefault = "GRI is not initialized!"
|
||||
NoneGRIWarningDefault = "It is recommended to reconnect. If you enter the game right now, the trader may not work correctly.";
|
||||
SecondsShortDefault = "s"
|
||||
PleaseWaitDefault = "Please wait"
|
||||
}
|
@ -150,8 +150,15 @@ private simulated function Finished()
|
||||
}
|
||||
else
|
||||
{
|
||||
`Log_Error("Incompatible Replication info:" @ String(GRI));
|
||||
NotifyIncompatibleGRI();
|
||||
`Log_Error("Incompatible Game Replication info:" @ String(GRI));
|
||||
if (GRI == None)
|
||||
{
|
||||
NotifyNoneGRI();
|
||||
}
|
||||
else
|
||||
{
|
||||
NotifyIncompatibleGRI();
|
||||
}
|
||||
}
|
||||
|
||||
ShowReadyButton();
|
||||
@ -308,6 +315,7 @@ private simulated function KeepNotification()
|
||||
|
||||
private simulated function ClientCleanup()
|
||||
{
|
||||
`Log_Debug("Cleanup");
|
||||
ServerCleanup();
|
||||
SafeDestroy();
|
||||
}
|
||||
@ -363,6 +371,16 @@ private simulated function NotifyIncompatibleGRI()
|
||||
class'KFLocalMessage'.default.InteractionColor);
|
||||
}
|
||||
|
||||
private simulated function NotifyNoneGRI()
|
||||
{
|
||||
WriteToChatLocalized(
|
||||
LTI_NoneGRI,
|
||||
class'KFLocalMessage'.default.InteractionColor);
|
||||
WriteToChatLocalized(
|
||||
LTI_NoneGRIWarning,
|
||||
class'KFLocalMessage'.default.InteractionColor);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
bAlwaysRelevant = false
|
||||
|
BIN
Localization/CHN/LTI.chn
Normal file
BIN
Localization/CHN/LTI.chn
Normal file
Binary file not shown.
BIN
Localization/CHT/LTI.cht
Normal file
BIN
Localization/CHT/LTI.cht
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,64 +1,86 @@
|
||||
[img]https://img.shields.io/static/v1?logo=GitHub&labelColor=gray&color=blue&logoColor=white&label=&message=Open Source[/img] [img]https://img.shields.io/github/license/GenZmeY/KF2-LootedTraderInventory[/img] [img]https://img.shields.io/steam/downloads/2864857909[/img] [img]https://img.shields.io/steam/favorites/2864857909[/img] [img]https://img.shields.io/steam/update-date/2864857909[/img] [url=https://steamcommunity.com/sharedfiles/filedetails/changelog/2864857909][img]https://img.shields.io/github/v/tag/GenZmeY/KF2-LootedTraderInventory[/img][/url]
|
||||
|
||||
[h1]Features[/h1]
|
||||
[list]
|
||||
[*]remove items from trader.
|
||||
[/list]
|
||||
|
||||
[h1]Description[/h1]
|
||||
[h1]📋 Description[/h1]
|
||||
This is a heavily stripped-down version of [url=https://steamcommunity.com/sharedfiles/filedetails/?id=2830826239]CTI[/url] that only allows you to remove weapons, not add them.
|
||||
[url=https://steamcommunity.com/sharedfiles/filedetails/?id=2830826239]CTI[/url] has no chance of being whitelisted, but this version has a chance because it can't add anything unbalanced to the game - and that's the only reason this version exists.
|
||||
If we're lucky with that then server operators will have more tools to fine-tune the server.
|
||||
|
||||
[h1]Whitelisted?[/h1]
|
||||
[b]No.[/b] But I really hope that it will be whitelisted.
|
||||
[h1]✨ Features[/h1]
|
||||
[list]
|
||||
[*]Remove items from trader
|
||||
[/list]
|
||||
|
||||
[b]⚠️ I submitted whitelist request here:[/b]
|
||||
[h1]❌ Whitelisted?[/h1]
|
||||
No. This mod is not whitelisted and will de-rank your server. Any XP earned will not be saved.
|
||||
|
||||
But I hope that it will be whitelisted - I submitted whitelist request here:
|
||||
https://forums.tripwireinteractive.com/index.php?threads/whitelisting-mods-and-mutators.120340/post-2353665
|
||||
|
||||
[h1]Usage (single player)[/h1]
|
||||
[h1]🎮 Usage (single player)[/h1]
|
||||
[olist]
|
||||
[*]Subscribe to this mutator;
|
||||
[*]Start KF2;
|
||||
[*]Open console (~) and input:
|
||||
[b]open KF-BioticsLab?Mutator=LTI.Mut[/b]
|
||||
(replace the map and add the parameters you need)
|
||||
[*]<Enter>.
|
||||
[*]Subscribe to this mutator.
|
||||
[*]Create a file [b](*)[/b]: [code]C:\Users\<username>\Documents\My Games\KillingFloor2\KFGame\Config\KFLTI.ini[/code]
|
||||
with content:
|
||||
[code][LTI.LTI]
|
||||
Version=0[/code]
|
||||
[*]Launch KF2.
|
||||
[*]Open console (~) and start any map with the mutator (this will generate the default KFLTI.ini content):
|
||||
[code]open KF-BioticsLab?Mutator=LTI.Mut[/code]
|
||||
[*]Close the game and configure the mutator (see [b]⚙️ Setup (KFLTI.ini)[/b] below).
|
||||
[*]Launch KF2 again, open the console, and start the game:
|
||||
[code]open KF-BioticsLab?Game=KFGameContent.KFGameInfo_Survival?Difficulty=3?GameLength=2?Mutator=LTI.Mut[/code]
|
||||
(replace the map and set/add parameters you need).
|
||||
[/olist]
|
||||
[h1]Usage (server)[/h1]
|
||||
[b]Note:[/b] [i]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.[/i]
|
||||
|
||||
[h1]🖥️ Usage (server)[/h1]
|
||||
[b]Note:[/b] [i]If this is unclear, first read: [url=https://wiki.killingfloor2.com/index.php?title=Dedicated_Server_(Killing_Floor_2)][u]Dedicated Server Guide (KF2 wiki)[/u][/url][/i]
|
||||
[olist]
|
||||
[*]Open your [b]PCServer-KFEngine.ini[/b] / [b]LinuxServer-KFEngine.ini[/b];
|
||||
[*]Find the [b][IpDrv.TcpNetDriver][/b] section and make sure that there is a line (add if not):
|
||||
[b]DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload[/b]
|
||||
❗️ If there are several [b]DownloadManagers=[/b] then the line above should be the first ❗️
|
||||
[*]Open [b]PCServer-KFEngine.ini[/b] / [b]LinuxServer-KFEngine.ini[/b].
|
||||
[*]Find [b][IpDrv.TcpNetDriver][/b] section and ensure line exists (add if missing):
|
||||
[code]DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload[/code]
|
||||
(If there are several [b]DownloadManagers[/b] then the line above should be the first)
|
||||
[*]Add the following string to the [b][OnlineSubsystemSteamworks.KFWorkshopSteamworks][/b] section (create one if it doesn't exist):
|
||||
[b]ServerSubscribedWorkshopItems=2864857909[/b]
|
||||
[*]Start the server and wait until the mutator is downloading;
|
||||
[*]Add mutator to server start parameters: [b]?Mutator=LTI.Mut[/b] and restart the server.
|
||||
[code]ServerSubscribedWorkshopItems=2864857909[/code]
|
||||
[*]Start server and wait for mutator download.
|
||||
[*]When the download is complete, stop the server.
|
||||
[*]Create a file [b](*)[/b]: [code]<kf2-server>\KFGame\Config\KFLTI.ini[/code]
|
||||
with content:
|
||||
[code][LTI.LTI]
|
||||
Version=0[/code]
|
||||
[*]Add mutator to server start parameters: [code]?Mutator=LTI.Mut[/code] and start the server (this will generate the default KFLTI.ini content).
|
||||
[*]Stop the server and configure the mutator (see [b]⚙️ Setup (KFLTI.ini)[/b] below).
|
||||
[*]Start the server.
|
||||
[/olist]
|
||||
|
||||
[h1]Important setup information[/h1]
|
||||
The config should be created on first start, but now the game contains a bug that initializes the config values randomly if they are not explicitly set. Thus, the config may have incorrect values or not be created at all.
|
||||
So if you are using this mutator for the first time, I highly recommend doing the following:
|
||||
[olist]
|
||||
[*]Create (modify) [b]KFLTI.ini[/b] manually. Put the following content there:
|
||||
[b][LTI.LTI]
|
||||
Version=0[/b]
|
||||
[*]Start the game/server with LTI to generate the contents of the config
|
||||
[*]Close the game/server
|
||||
[/olist]
|
||||
[b]Right now this is the only way to correctly create the default config.[/b]
|
||||
Unfortunately I can't do anything about it because it's a game problem (not mutator). I hope TWI fixes this someday.
|
||||
[h1]🐞 (*) Buggy config initialization[/h1]
|
||||
This mutator (like many others) relies on UnrealScript's default values (0 for int type) to detect first-time use and generate a config.
|
||||
However, the game contains a bug that initializes unset values to random data, which can lead to incorrect settings or missing configs.
|
||||
|
||||
[h1]Setup (KFLTI.ini)[/h1]
|
||||
As a workaround, I recommend explicitly setting [b]Version=0[/b] in the config during the first initialization.
|
||||
|
||||
Unfortunately, I can't fix this issue because it's a game engine problem (not the mutator's fault).
|
||||
|
||||
[h1]⚙️ Setup (KFLTI.ini)[/h1]
|
||||
[list]
|
||||
[*]Set [b]bOfficialWeaponsList=True[/b] to have an auto-updated list of all official weapons in the config (for a convenient copy-paste).
|
||||
[*]Set [b]bOfficialWeaponsList=True[/b] to have an auto-updated list of all official weapons in the config (for a convenient copy-paste) or leave it [b]False[/b] if you want a clean config without unnecessary things.
|
||||
[*]Use [b][LTI.RemoveItems][/b] to remove items from the trader inventory.
|
||||
example: [b]Item=KFGame.KFWeapDef_Mac10[/b] will remove MAC10 from sale.
|
||||
[*]Set [b]bHRG=True[/b] to remove HRG items.
|
||||
[*]Set [b]bDLC=True[/b] to remove DLC items.
|
||||
[/list]
|
||||
|
||||
[h1]Sources[/h1]
|
||||
[url=https://github.com/GenZmeY/KF2-LootedTraderInventory]https://github.com/GenZmeY/KF2-LootedTraderInventory[/url] [b](GNU GPLv3)[/b]
|
||||
[h1]🌍 Credits[/h1]
|
||||
[list]
|
||||
[*]The cat on the cover is Meawbin (original character by [url=https://x.com/horrormove]Cotton Valent[/url]).
|
||||
[/list]
|
||||
[b]Translators:[/b]
|
||||
[list]
|
||||
[*][url=https://steamcommunity.com/profiles/76561199126205919]cheungfatzong[/url] - Traditional [CHT] and Simplified [CHN] Chinese.
|
||||
[/list]
|
||||
|
||||
[h1]☑️ Status: Completed[/h1]
|
||||
✔️ The mutator works with the current version of the game (v1150) and I have implemented everything I planned.
|
||||
⛔️ Development has stopped: I no longer have the time or motivation to maintain this mod. No further updates or bug fixes are planned.
|
||||
|
||||
[h1]📜 Sources[/h1]
|
||||
https://github.com/GenZmeY/KF2-LootedTraderInventory [b](GNU GPLv3)[/b]
|
Reference in New Issue
Block a user