RedConsole

RedConsole

控制台。用来输入东西,让事情发生。诸如此类的事情,是的。\_(ツ)_/

[color=#e06666][size=6][b]- 简介 -[/b][/size][/color]



我发现自己很怀念CET控制台,但我想要原生的ink版本,所以……和往常一样,我自己动手做了!这就是RedConsole!

你可以用它输入命令,下面会列出一些,也可以编写自己的命令并注册到控制台。就是这么简洁,正合我意!

另外,它还支持CET风格的输入。比如,用CET风格给自己加点钱,测试一下吧。但前提是你是作弊者!这里可没有作弊者,才没有呢!

还有,还有,CLIPPY也回来了!算是吧……请看下文。😉

感谢新的依赖项,它还支持复制/粘贴。啊,终于能在Redscript里实现了!为此需要获取RedFunctions模组!


[i]太长不看 - 妈妈,快看,我不用手! (ノ◕ヮ◕)ノ[/i]


[color=#e06666][size=6][b]- 使用方法 -[/b][/size][/color]

在“配置模组”选择器中打开它,或在设置中绑定一个热键——它可以在游戏内和主菜单中运行。输入命令,按回车执行。上下方向键浏览历史记录,按住按键可重复输入,Esc释放键盘,热键关闭窗口。

[b]复制和粘贴[/b](需要可选的RedFunctions插件):[b]Ctrl+V[/b]粘贴到输入行,这样你就可以直接从wiki页面粘贴命令;[b]Ctrl+C[/b]复制你输入的内容;[b]点击任何输出行即可复制它[/b]——比如whereami的坐标。所有输入和输出内容也会记录到模组的日志文件中,可以在管理中心的日志查看器中阅读,或直接从磁盘读取。

内置命令:
[quote][code]help [命令]       列出所有命令,或某个命令的帮助
money <金额>      给予欧元(负数则扣除)
give <Items.X> [数量] 按TweakDB id添加物品
level <1-60>      设置角色等级
cred <1-50>      设置街头声望
heal          恢复生命和耐力
god          切换无敌模式
tp <x> <y> <z>     传送至世界坐标
whereami        打印V的位置
time <0-23> [分钟]  设置游戏时钟
fact <名称> [值]    读取或设置任务事实
vehicle <Vehicle.X>  在呼叫列表中解锁载具
slowmo <倍率>     时间膨胀(1恢复)
effect <BaseStatusEffect.X>  /施加状态效果
clear / version     清屏/版本信息[/code][/quote]
以及CET风格的拼写,可直接从任何指南中逐字使用(每行一次调用——它不是Lua解释器,不支持链式或表达式):
[quote][code]Game.AddToInventory("Items.SQ031_Samurai_Jacket", 1)
Game.AddToInventory("Items.money", 10000)
Game.SetLevel("Level", 50)
Game.SetLevel("StreetCred", 50)
Game.TeleportPlayerToPosition(-1200, 1500, 50)
Game.SetTimeDilation(0.3)
Game.ApplyEffectOnPlayer("BaseStatusEffect.Drunk")[/code][/quote]
两个值得了解的开关:[b]允许作弊命令[/b]会将游戏玩法命令锁定,而[b]自动复制输出[/b]会将每条命令的应答直接放到剪贴板上——这样whereami的结果无需触碰任何东西即可粘贴。在标题栏也有一个[b]CLIPPY[/b]按钮:如果按钮亮着表示开启,如果看起来和其他按钮一样暗淡则表示关闭,它与设置页面中的选项是同一个设置。默认关闭,因为它会覆盖你之前复制的其他内容。


[color=#e06666][size=6][b]- 给模组作者 -[/b][/size][/color]

一个子类,一次调用,你的模组就拥有控制台命令了,喔耶:
[quote][code]import RedConsole.*

public class MyCmd extends RedConsoleCmd {
  public func Name() -> String { return "mymod"; }
  public func Help() -> String { return "mymod <thing> - does the thing"; }
  public func Run(gi: GameInstance, args: array<String>) -> String {
    return "did the thing: " + args[0];
  }
}

// 在Session/Ready时:
RedConsoleAPI.Register(gi, new MyCmd());[/code][/quote]
返回的字符串会打印到控制台(“\\n”用于换行,“ERROR”前缀以红色渲染)。注册已存在的名称会替换它——这是有意为之,以便你可以覆盖内置命令。如果你的命令应遵循作弊开关,请将
[code]IsCheat()[/code]重写为true。像往常一样,使用
[code]@if(ModuleExists("RedConsole"))[/code]进行软依赖。因为这才是赢家的风格,诸位!


[color=#e06666][size=6][b]- 更新日志 -[/b][/size][/color]

[i][u]1.0.0[/u][/i] - 初始发布:控制台窗口、16个内置命令、CET风格命令兼容、历史记录、命令注册API。


[color=#e06666][size=6][b]- 需求 -[/b][/size][/color]

此模组需要你安装以下内容:
[url=https://www.nexusmods.com/cyberpunk2077/mods/1511]Redscript[/url]
[url=https://www.nexusmods.com/cyberpunk2077/mods/7780]Codeware[/url]
[url=https://www.nexusmods.com/cyberpunk2077/mods/30726]Redscript配置框架[/url] - v2.1.0以上

可选:
[url=https://www.nexusmods.com/cyberpunk2077/mods/32312]RedFunctions[/url]
[url=https://www.nexusmods.com/cyberpunk2077/mods/31920]RedLogger[/url]


[color=#e06666][size=6][b]- 安装方法 -[/b][/size][/color]

1) 安装所有依赖项。
2) 将下载的文件解压到你的游戏主目录中。
3) 可选:在“配置模组”管理中心的RedConsole选项中绑定打开热键。


[color=#e06666][size=6][b]- 卸载方法 -[/b][/size][/color]

删除目录 \Cyberpunk 2077\r6\scripts\RedConsole

你的存档中不会残留任何信息,因此随时移除都是安全的。


[color=#e06666][size=6][b]- 制作名单 -[/b][/size][/color]

感谢redscript和Codeware社区提供的工具和文档。

[center][size=2]DigitalVixen模组系列的一部分。[/size][/center]
[center][size=2]你可以在Discord上找到我:[url=https://discord.gg/TRuuDSrGWJ]点击这里![/url][/size][/center]