From e44c882da738e2349c0bd3835f8dc532f9b86504 Mon Sep 17 00:00:00 2001 From: OKKGRel Date: Sun, 12 May 2024 06:23:28 +0200 Subject: [PATCH] Sandbox option to hide NPC names --- .../02_mod_utils/PZNS_UtilsDataNPCs.lua | 4 +++- .../04_data_management/PZNS_NPCsManager.lua | 4 +++- .../lua/client/05_npc_actions/PZNS_Speak.lua | 20 ++++++++++++------ .../lua/shared/Translate/EN/Sandbox_EN.txt | 3 +++ .../lua/shared/Translate/PL/Sandbox_PL.txt | 21 +++++++++++-------- PZNS_Framework/media/sandbox-options.txt | 7 +++++++ 6 files changed, 42 insertions(+), 17 deletions(-) diff --git a/PZNS_Framework/media/lua/client/02_mod_utils/PZNS_UtilsDataNPCs.lua b/PZNS_Framework/media/lua/client/02_mod_utils/PZNS_UtilsDataNPCs.lua index 4005962..06ed017 100644 --- a/PZNS_Framework/media/lua/client/02_mod_utils/PZNS_UtilsDataNPCs.lua +++ b/PZNS_Framework/media/lua/client/02_mod_utils/PZNS_UtilsDataNPCs.lua @@ -148,7 +148,9 @@ function PZNS_UtilsDataNPCs.PZNS_SpawnNPCFromModData(npcSurvivor) npcSurvivor.textObject:setAllowAnyImage(true); npcSurvivor.textObject:setDefaultFont(UIFont.Small); npcSurvivor.textObject:setDefaultColors(255, 255, 255); - npcSurvivor.textObject:ReadString(npcSurvivor.survivorName); + if not SandboxVars.PZNS_Framework.HideNpcNameTags then + npcSurvivor.textObject:ReadString(survivorName); + end npcSurvivor.isSavedInWorld = false; npcSurvivor.isSpawned = true; end diff --git a/PZNS_Framework/media/lua/client/04_data_management/PZNS_NPCsManager.lua b/PZNS_Framework/media/lua/client/04_data_management/PZNS_NPCsManager.lua index 79763fc..c5348d3 100644 --- a/PZNS_Framework/media/lua/client/04_data_management/PZNS_NPCsManager.lua +++ b/PZNS_Framework/media/lua/client/04_data_management/PZNS_NPCsManager.lua @@ -134,7 +134,9 @@ function PZNS_NPCsManager.createNPCSurvivor( npcSurvivor.textObject:setAllowAnyImage(true); npcSurvivor.textObject:setDefaultFont(UIFont.Small); npcSurvivor.textObject:setDefaultColors(255, 255, 255); - npcSurvivor.textObject:ReadString(survivorName); + if not SandboxVars.PZNS_Framework.HideNpcNameTags then + npcSurvivor.textObject:ReadString(survivorName); + end else -- WIP - Cows: Alert player the ID is already used and the NPC cannot be created. print(string.format("NPC already exist! ID: %s", survivorID)) diff --git a/PZNS_Framework/media/lua/client/05_npc_actions/PZNS_Speak.lua b/PZNS_Framework/media/lua/client/05_npc_actions/PZNS_Speak.lua index f5f7f29..108a334 100644 --- a/PZNS_Framework/media/lua/client/05_npc_actions/PZNS_Speak.lua +++ b/PZNS_Framework/media/lua/client/05_npc_actions/PZNS_Speak.lua @@ -9,9 +9,13 @@ local function resetSpeechText(npcSurvivor) else npcSurvivor.textObject:setDefaultColors(230, 230, 230, 0.8); -- White text end - npcSurvivor.textObject:ReadString( - npcSurvivor.survivorName - ); + if not SandboxVars.PZNS_Framework.HideNpcNameTags then + npcSurvivor.textObject:ReadString( + npcSurvivor.survivorName + ); + else + npcSurvivor.textObject:ReadString(""); + end npcSurvivor.speechTicks = 0; end @@ -69,9 +73,13 @@ function PZNS_NPCSpeak(npcSurvivor, text, intention) end end npcSurvivor.speechTicks = 0; -- Cows: Reset speechTicks so the text stays rendered. - npcSurvivor.textObject:ReadString( - text .. "\n" .. npcSurvivor.survivorName - ); + if not SandboxVars.PZNS_Framework.HideNpcNameTags then + npcSurvivor.textObject:ReadString( + text .. "\n" .. npcSurvivor.survivorName + ); + else + npcSurvivor.textObject:ReadString(text); + end end end diff --git a/PZNS_Framework/media/lua/shared/Translate/EN/Sandbox_EN.txt b/PZNS_Framework/media/lua/shared/Translate/EN/Sandbox_EN.txt index 69321ed..1c4d08e 100644 --- a/PZNS_Framework/media/lua/shared/Translate/EN/Sandbox_EN.txt +++ b/PZNS_Framework/media/lua/shared/Translate/EN/Sandbox_EN.txt @@ -7,6 +7,9 @@ Sandbox_EN = { Sandbox_PZNS_Framework_IsInfiniteAmmoActive = "NPC has Infinite Ammo?", Sandbox_PZNS_Framework_IsInfiniteAmmoActive_tooltip = "Check to activate, uncheck to deactivate - NPCs will have keep shooting without needing ammo in inventory if activated", + Sandbox_PZNS_Framework_HideNpcNameTags = "Hide NPC Names", + Sandbox_PZNS_Framework_HideNpcNameTags_tooltip = "Check to activate, uncheck to deactivate - NPCs names wont be visible if activated", + Sandbox_PZNS_Framework_IsNPCsNeedsActive = "(WIP)NPC has needs", Sandbox_PZNS_Framework_IsNPCsNeedsActive_tooltip = "(WIP)Check to activate, uncheck to deactivate - NPCs will need food and water if activated", diff --git a/PZNS_Framework/media/lua/shared/Translate/PL/Sandbox_PL.txt b/PZNS_Framework/media/lua/shared/Translate/PL/Sandbox_PL.txt index e7ad2a2..2c26e4e 100644 --- a/PZNS_Framework/media/lua/shared/Translate/PL/Sandbox_PL.txt +++ b/PZNS_Framework/media/lua/shared/Translate/PL/Sandbox_PL.txt @@ -2,25 +2,28 @@ Sandbox_PL = { Sandbox_PZNS_Framework = "PZNS Framework", Sandbox_PZNS_Framework_IsDebugModeActive = "Aktywuj tryb debugowania", - Sandbox_PZNS_Framework_IsDebugModeActive_tooltip = "Sprawdź, czy aktywować, odznacz do dezaktywacji", + Sandbox_PZNS_Framework_IsDebugModeActive_tooltip = "Zaznacz aby aktywować, odznacz aby dezaktywować", - Sandbox_PZNS_Framework_IsInfiniteAmmoActive = "NPC ma nieskończoną amunicję?", - Sandbox_PZNS_Framework_IsInfiniteAmmoActive_tooltip = "Sprawdź, aby aktywować, odznacz do dezaktywacji - NPC będą kręcić bez konieczności amunicji w zapasach, jeśli zostanie aktywowane", + Sandbox_PZNS_Framework_IsInfiniteAmmoActive = "NPC ma nieskończoną amunicję", + Sandbox_PZNS_Framework_IsInfiniteAmmoActive_tooltip = "Zaznacz aby aktywować, odznacz aby dezaktywować - NPC będą kręcić bez konieczności amunicji w zapasach, jeśli zostanie aktywowane", + + Sandbox_PZNS_Framework_HideNpcNameTags = "Ukryj Imiona NPC", + Sandbox_PZNS_Framework_HideNpcNameTags_tooltip = "Zaznacz aby aktywować, odznacz aby dezaktywować - Imiona NPC będą nie widoczne.", Sandbox_PZNS_Framework_IsNPCsNeedsActive = "(WIP) NPC ma potrzeby", - Sandbox_PZNS_Framework_IsNPCsNeedsActive_tooltip = "(WIP) Sprawdź aktywację, odznacz do dezaktywacji - NPC będą potrzebować żywności i wody, jeśli się aktywuje", + Sandbox_PZNS_Framework_IsNPCsNeedsActive_tooltip = "(WIP) Zaznacz aby aktywować, odznacz aby dezaktywować - NPC będą potrzebować żywności i wody, jeśli się aktywuje", Sandbox_PZNS_Framework_GroupSizeLimit = "(WIP) Limit wielkości grupy", Sandbox_PZNS_Framework_GroupSizeLimit_tooltip = "(WIP) ustawia limit NPC, jakie może mieć grupa", - Sandbox_PZNS_Framework_CompanionFollowRange = "Towarzysząca się zasięg", + Sandbox_PZNS_Framework_CompanionFollowRange = "Zasięg towarzyszy", Sandbox_PZNS_Framework_CompanionFollowRange_tooltip = "Ustawia odległość, z jaką NPC będą próbowały śledzić gracza", - Sandbox_PZNS_Framework_CompanionRunRange = "Zakres biegów towarzyszący", - Sandbox_PZNS_Framework_CompanionRunRange_tooltip = "Ustawia odległość, z jaką NPC zaczną działać, aby nadrobić zaległości", + Sandbox_PZNS_Framework_CompanionRunRange = "Zasięg biegania towarzyszy", + Sandbox_PZNS_Framework_CompanionRunRange_tooltip = "Ustawia odległość, z jaką NPC zaczną biegać, aby być bliżej gracza", - Sandbox_PZNS_Framework_CompanionIdleTicks = "(WIP) towarzysz jałowy w kleszczu", - Sandbox_PZNS_Framework_CompanionIdleTicks_tooltip = "(WIP) Ustawia licznik kleszczy, przy którym NPC rozpoczną bezczynne zachowania", + Sandbox_PZNS_Framework_CompanionIdleTicks = "(WIP) Tiki Pracy NPC", + Sandbox_PZNS_Framework_CompanionIdleTicks_tooltip = "(WIP) Ustawia tiki, przy którymi NPC rozpoczną bezczynne zachowania", } diff --git a/PZNS_Framework/media/sandbox-options.txt b/PZNS_Framework/media/sandbox-options.txt index 6482ddf..8340e1e 100644 --- a/PZNS_Framework/media/sandbox-options.txt +++ b/PZNS_Framework/media/sandbox-options.txt @@ -16,6 +16,13 @@ option PZNS_Framework.IsInfiniteAmmoActive page = PZNS_Framework, translation = PZNS_Framework_IsInfiniteAmmoActive, } +option PZNS_Framework.HideNpcNameTags +{ + type = boolean, + default = false, + + page = PZNS_Framework, translation = PZNS_Framework_HideNpcNameTags, +} option PZNS_Framework.IsNPCsNeedsActive {