恢复了一部分1.5.3控制台功能,附方法
本帖最后由 mrh121 于 2020-4-24 14:10 编辑参考了hroys和一只双眼皮两位大神的帖子
https://bbs.3dmgame.com/thread-6034155-1-1.html
https://bbs.3dmgame.com/thread-6037258-1-1.html
https://bbs.3dmgame.com/thread-5985422-1-1.html
控制台使用方法:
原:按左CTRL+i/U/F1/F2/F3...以此类推打开DEBUG菜单(F1为物品菜单,左CTRL+i获得该物品)。现:快捷键更改为取消左CTRL(组合ctrl会导致角色一直蹲着)直接按F1/F2/F3/F4/F5/F6/F7/F9/F11/I即可解锁全部蓝图需要左CTRL+U
F8为秒建筑新增:
左CTRL+G开启无敌(原CTRL+M占用地图所以改了)
左CTRL+J开启建筑大师砍东西不掉材料(参考https://bbs.3dmgame.com/thread-5985422-1-1.html)
还有原来DEBUG原版快捷键一大堆具体都什么功能不知道(原左CTRL改为又CTRL,其余没变)
下载date2
*因为没有小键盘所以按键都用的字母代替
下载地址:
链接:https://pan.baidu.com/s/1NN7aLtn42kCDmlnDPQQ3cQ
提取码:phs2
搜索MainLevel.UpdateInputsDebug替换代码如下:
private void UpdateInputsDebug()
{
if (Input.GetKeyDown(KeyCode.Numlock))
{
this.CycleTimeScaleSlowdown();
}
else if (Input.GetKeyDown(KeyCode.KeypadDivide))
{
this.CycleTimeScaleSpeedup();
}
else if (Input.GetKeyDown(KeyCode.KeypadPlus))
{
this.m_TODTime.AddHoursDebug(1f);
ReflectionProbeUpdater[] array = UnityEngine.Object.FindObjectsOfType<ReflectionProbeUpdater>();
for (int i = 0; i < array.Length; i++)
{
array.RenderProbe();
}
}
else if (Input.GetKeyDown(KeyCode.KeypadMinus))
{
this.m_TODTime.AddHoursDebug(-1f);
ReflectionProbeUpdater[] array2 = UnityEngine.Object.FindObjectsOfType<ReflectionProbeUpdater>();
for (int j = 0; j < array2.Length; j++)
{
array2.RenderProbe();
}
}
else if (Input.GetKeyDown(KeyCode.KeypadEnter))
{
this.m_TODTime.AddHours(10f, true, false);
ReflectionProbeUpdater[] array3 = UnityEngine.Object.FindObjectsOfType<ReflectionProbeUpdater>();
for (int k = 0; k < array3.Length; k++)
{
array3.RenderProbe();
}
}
else if (Input.GetKeyDown(KeyCode.Pause))
{
this.m_DebugPause = !this.m_DebugPause;
CursorManager.Get().ShowCursor(this.m_DebugPause, false);
this.Pause(this.m_DebugPause);
if (this.m_DebugPause)
{
Player.Get().BlockMoves();
Player.Get().BlockRotation();
}
else
{
Player.Get().UnblockMoves();
Player.Get().UnblockRotation();
}
}
else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.G))
{
Cheats.m_GodMode = !Cheats.m_GodMode;
}
else if (Input.GetKeyDown(KeyCode.KeypadPeriod))
{
this.m_TODTime.ProgressTime = !this.m_TODTime.ProgressTime;
}
else if (Input.GetKey(KeyCode.LeftAlt) && Input.GetKeyDown(KeyCode.BackQuote))
{
if (Input.GetKey(KeyCode.LeftShift))
{
Player.Get().TwentyFivePointsOfDamage();
}
else
{
Player.Get().Kill();
Player.Get().UpdateDeath();
}
}
else if (Input.GetKeyDown(KeyCode.Equals))
{
if (Input.GetKey(KeyCode.LeftShift))
{
RainManager.Get().ToggleDebug();
}
else
{
RainManager.Get().ToggleRain();
}
if (Input.GetKey(KeyCode.RightShift))
{
RainManager.Get().TogglePeriodDebug();
}
}
else if (Input.GetKeyDown(KeyCode.Semicolon))
{
HUDManager.Get().ShowCredits();
}
else if (Input.GetKeyDown(KeyCode.Minus))
{
this.m_DebugShowCursor = !this.m_DebugShowCursor;
CursorManager.Get().ShowCursor(this.m_DebugShowCursor, false);
if (this.m_DebugShowCursor)
{
Vector2 zero = Vector2.zero;
zero.Set((float)(Screen.width / 2), (float)(Screen.height / 2));
CursorManager.Get().SetCursorPos(zero);
}
}
else if (Input.GetKeyDown(KeyCode.U) && !Input.GetKey(KeyCode.LeftControl))
{
ParticleSystem[] array4 = Resources.FindObjectsOfTypeAll<ParticleSystem>();
int num = 0;
int num2 = 0;
for (int l = 0; l < array4.Length; l++)
{
bool activeInHierarchy = array4.gameObject.activeInHierarchy;
Debug.Log("ParticleSystem " + array4.gameObject.name + (activeInHierarchy ? " 1" : " 0"));
if (activeInHierarchy)
{
num++;
}
else
{
num2++;
}
}
Debug.Log("ParticleSystem num active " + num.ToString());
Debug.Log("ParticleSystem num inactive " + num2.ToString());
}
else if (Input.GetKeyDown(KeyCode.LeftBracket) || Input.GetKeyDown(KeyCode.RightBracket))
{
if (this.m_CutscenePlayer == null)
{
GameObject original;
if (Input.GetKeyDown(KeyCode.LeftBracket))
{
original = (Resources.Load("Prefabs/TempPrefabs/CutscenePlayer/CutscenePlayer") as GameObject);
}
else
{
original = (Resources.Load("Prefabs/TempPrefabs/CutscenePlayer/CutscenePlayer2") as GameObject);
}
this.m_CutscenePlayer = UnityEngine.Object.Instantiate<GameObject>(original);
this.m_CutscenePlayer.transform.rotation = Player.Get().transform.rotation;
this.m_CutscenePlayer.transform.position = Player.Get().transform.position;
CameraManager.Get().SetTarget(this.m_CutscenePlayer.GetComponent<Being>());
CameraManager.Get().SetMode(CameraManager.Mode.CutscenePlayer);
}
else
{
UnityEngine.Object.Destroy(this.m_CutscenePlayer);
this.m_CutscenePlayer = null;
CameraManager.Get().SetTarget(Player.Get());
CameraManager.Get().SetMode(CameraManager.Mode.Normal);
}
}
else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.F6))
{
Player.Get().StartController(PlayerControllerType.BodyInspectionMiniGame);
}
else if (Input.GetKeyDown(KeyCode.Keypad9))
{
SaveGame.Save();
}
if (Input.GetKey(KeyCode.RightControl))
{
HUDCameraPosition.Get().m_Active = true;
}
else
{
HUDCameraPosition.Get().m_Active = false;
}
if (Input.GetKey(KeyCode.F10))
{
if (Input.GetKey(KeyCode.LeftShift))
{
this.EnableSkyDome();
return;
}
this.DisableSkyDome();
}
if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.J))
{
Cheats.m_NoSpawn = !Cheats.m_NoSpawn;
}
if (GreenHellGame.DEBUG && !MenuInGameManager.Get().IsAnyScreenVisible())//这几行应该是用来检测DEBUG文件的,如果想有DEBUG文件才能开启就把上面代码移动到这下面
{
bool textInputActive = InputsManager.Get().m_TextInputActive;
}//到这里的下面
}
默认生效:
1.修改物品2倍叠加(好像叠加倍数太高导致背包物品数量有bug?不知道是不是这个问题)
2.负重300
3.营火加木棍获得木炭
4.火把于天不灭
5.储藏箱=冰箱
6.奔跑耐力消耗减半
7.背包物品显示大小调整
8.框架建筑最高改为6层
下面分享一下我恢复控制台的方法
搜索ItemsManager.UpdateDebug
在private void UpdateDebug()下面粘贴
if (Input.GetKey(KeyCode.LeftControl))
{
if (Input.GetKeyDown(KeyCode.F1))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugItem));
return;
}
if (Input.GetKeyDown(KeyCode.F2))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugScenario));
return;
}
if (Input.GetKeyDown(KeyCode.F3))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugSpawners));
return;
}
if (Input.GetKeyDown(KeyCode.F4))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugSkills));
return;
}
if (Input.GetKeyDown(KeyCode.F5))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugAI));
return;
}
if (Input.GetKeyDown(KeyCode.F6))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugWounds));
return;
}
if (Input.GetKeyDown(KeyCode.F7))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugDialogs));
return;
}
if (Input.GetKeyDown(KeyCode.F9))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugLog));
return;
}
if (Input.GetKeyDown(KeyCode.F11))
{
MenuInGameManager.Get().ShowScreen(typeof(MenuDebugScenarioDialogs));
}
}
if (this.m_DebugSpawnID != ItemID.None && Input.GetKeyDown(KeyCode.I) && Input.GetKey(KeyCode.LeftControl))
{
Vector3 forward = Player.Get().GetHeadTransform().forward;
Vector3 vector = Player.Get().GetHeadTransform().position + 0.5f * forward;
RaycastHit raycastHit;
vector = (Physics.Raycast(vector, forward, out raycastHit, 3f) ? raycastHit.point : (vector + forward * 2f));
this.CreateItem(this.m_DebugSpawnID, true, vector - forward * 0.2f, Player.Get().transform.rotation);
}
if (Input.GetKeyDown(KeyCode.P))
{
this.UnlockItemInNotepad(ItemID.Logs_Bed);
}
if (Input.GetKey(KeyCode.U) && Input.GetKey(KeyCode.LeftControl))
{
this.UnlockAllItemsInNotepad();
PlayerDiseasesModule.Get().UnlockAllDiseasesInNotepad();
PlayerDiseasesModule.Get().UnlockAllDiseasesTratmentInNotepad();
PlayerDiseasesModule.Get().UnlockAllSymptomsInNotepad();
PlayerDiseasesModule.Get().UnlockAllSymptomTreatmentsInNotepad();
PlayerInjuryModule.Get().UnlockAllInjuryState();
PlayerInjuryModule.Get().UnlockAllInjuryStateTreatment();
PlayerInjuryModule.Get().UnlockAllKnownInjuries();
this.UnloackAllConsumed();
this.UnlockAllCrafted();
this.UnlockAllBoiledData();
this.UnlockAllCollected();
this.UnlockAllItemInfos();
MapTab mapTab = (MapTab)MenuNotepad.Get().m_Tabs;
if (mapTab == null)
{
return;
}
mapTab.UnlockAll();
}搜索MenuDebugItem
全选替换为原1.5.2的内容如下:
using System;
using System.Collections.Generic;
using Enums;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
// Token: 0x020001C2 RID: 450
public class MenuDebugItem : MenuDebugScreen
{
// Token: 0x06001099 RID: 4249
public override void OnShow()
{
base.OnShow();
this.m_List.SetFocus(true);
this.m_Field.text = string.Empty;
EventSystem.current.SetSelectedGameObject(this.m_Field.gameObject, null);
this.m_Field.OnPointerClick(new PointerEventData(EventSystem.current));
this.m_LastField = string.Empty;
this.Setup();
}
// Token: 0x0600109A RID: 4250
public override void OnHide()
{
base.OnHide();
if (!ItemsManager.Get())
{
return;
}
if (this.m_List.GetSelectionIndex() < 0 || this.m_List.GetSelectionIndex() >= this.m_Items.Count)
{
ItemsManager.Get().m_DebugSpawnID = ItemID.None;
return;
}
string selectedElementText = this.m_List.GetSelectedElementText();
if (selectedElementText != string.Empty)
{
ItemsManager.Get().m_DebugSpawnID = (ItemID)Enum.Parse(typeof(ItemID), selectedElementText);
}
}
// Token: 0x0600109B RID: 4251
private void Setup()
{
if (!this.m_List)
{
return;
}
this.m_List.Clear();
this.m_Items = ItemsManager.Get().GetAllInfos();
using (Dictionary<int, ItemInfo>.KeyCollection.Enumerator enumerator = this.m_Items.Keys.GetEnumerator())
{
while (enumerator.MoveNext())
{
ItemID itemID = (ItemID)enumerator.Current;
string text = string.Empty;
text += itemID.ToString();
if (text.ToLower().Contains(this.m_LastField))
{
this.m_List.AddElement(text, -1);
}
}
}
this.m_List.SortAlphabetically();
this.m_List.SetSelectionIndex(0);
}
// Token: 0x0600109C RID: 4252
protected override void Update()
{
if (this.m_LastField != this.m_Field.text)
{
this.m_LastField = this.m_Field.text.ToLower();
this.Setup();
}
if (Input.GetKeyDown(KeyCode.Return))
{
this.OnClose();
}
}
// Token: 0x0600109D RID: 4253
public MenuDebugItem()
{
}
// Token: 0x04000FC8 RID: 4040
public UIList m_List;
// Token: 0x04000FC9 RID: 4041
public InputField m_Field;
// Token: 0x04000FCA RID: 4042
private Dictionary<int, ItemInfo> m_Items = new Dictionary<int, ItemInfo>();
// Token: 0x04000FCB RID: 4043
private string m_LastField = string.Empty;
}
汉化一下哈哈哈哈 UKL-MF-ENB 发表于 2020-4-24 10:10
汉化一下哈哈哈哈
调用的类型是ItemID交给有能力的大神去汉化吧,我不懂C#所以没办法,暂时可以下载圣火令https://bbs.3dmgame.com/thread-5985422-1-1.html的物品名称来查看
众人拾柴火焰高。
终于在greenhell 有同道一起来玩mod了。
stranded deep 和 thelongdark 曾经就我一个人在做,好孤单:P
多开发哦。有闲大家一起研究 再顶一下。
楼主的实现方法比我的好。简单就是美,方便就是好。
另外。楼楼确定左Ctrl+U 可以打开图纸吗?
我曾经尝试过,失效。
按理说我不应该犯某种低级错误啊,
有空我再做一次试试。
解锁蓝图后笔记全部变黑了,啥都看不到 一只双眼皮 发表于 2020-4-24 23:11
再顶一下。
楼主的实现方法比我的好。简单就是美,方便就是好。
另外。楼楼确定左Ctrl+U 可以打开图纸吗?
:L我的毛病没测试,因为原来存档图纸已经全开了
发送到法师法师 发表于 2020-4-25 15:20
解锁蓝图后笔记全部变黑了,啥都看不到
我错了,之前图纸全开了,就没测试,我研究一下
mrh121 发表于 2020-4-26 13:07
我错了,之前图纸全开了,就没测试,我研究一下
https://bbs.3dmgame.com/thread-6037258-1-1.html
看page2Ctrl+U过测了。
我怀疑 itemsmanager.update 没有生效,移到 mainlevel.updateinput 里面就能用。
想问一下楼主F5控制创建生物 之前的调试台是小键盘0 现在没有小键盘 那是按什么创建生物啊 aa5931 发表于 2020-4-26 13:44
想问一下楼主F5控制创建生物 之前的调试台是小键盘0 现在没有小键盘 那是按什么创建生物啊 ...
不好意思啊,因为我没有小键盘所以就没修复这一步,我研究一下单独做一个让别人帮我测试瞎
一只双眼皮 发表于 2020-4-26 13:11
https://bbs.3dmgame.com/thread-6037258-1-1.html
看page2Ctrl+U过测了。
我怀疑 itemsmanager.update ...
我刚才登陆游戏新开档测试了一下在ItemsManager.UpdateDebug里面生效了
发送到法师法师 发表于 2020-4-25 15:20
解锁蓝图后笔记全部变黑了,啥都看不到
是老版本的存档吗?
aa5931 发表于 2020-4-26 13:44
想问一下楼主F5控制创建生物 之前的调试台是小键盘0 现在没有小键盘 那是按什么创建生物啊 ...
重新上传了文件,重新下载下就可以了,我测试了一下可以正常进入游戏,还需要你自己测试能不能生成。因为还有点工作没做完,今天别的功能更新不上了 mrh121 发表于 2020-4-26 19:29
我刚才登陆游戏新开档测试了一下在ItemsManager.UpdateDebug里面生效了
:L那是什么灵异问题。我是本论坛版从1.5.0升级上来到1.5.3的。按理来说...不应该存在你行我不行啊
算了,反正这个已经解决了。
请问楼主生物是搜 哪个类 1.5.3用 想自己改改 HBGD8542 发表于 2020-4-30 03:14
请问楼主生物是搜 哪个类 1.5.3用 想自己改改
搜索AIs.AIManager.UpdateDebug
一只双眼皮 发表于 2020-4-26 22:44
那是什么灵异问题。我是本论坛版从1.5.0升级上来到1.5.3的。按理来说...不应该存在你行我不行啊
算了, ...
我是steam上从1.5.1升级上来的,明天试一下从1.5.1升级看一下,这几天一直上班来着
mrh121 发表于 2020-4-30 16:18
搜索AIs.AIManager.UpdateDebug
谢谢大佬
大佬666
页:
[1]