【PC游戏】杀戮尖塔basemod百科翻译(3)


3楼猫 发布时间:2023-03-15 02:08:43 作者:区区一个呆唯__ Language

本篇仅包含杀戮尖塔控制台的使用翻译。

关于控制台的两个事实:

1.目前loadout mod已经基本上能代替控制台。

2.控制台只有在运行basemod后后才能使用。

控制台

开启

使用`按键打开控制台。控制台必须在BaseMod的游戏内置mod配置中启用。按键捆绑也可以在mod配置中更改。

指令

(注:下面的“[]”表示自定义内容,实际上在控制台并不需要输入“[]”!记得加空格就行)

_________________________________________

卡组修改

deck add [名称] {卡牌数量} {升级}

添加卡牌到卡组 (可选项1: 你想要添加这张卡的整数次) (可选项2: 卡牌升级的整数次)

deck remove [名称] 

从卡组删牌

deck remove all 

删掉卡组里的所有牌

_________________________________________

战斗中

draw [数量] 

抽牌

energy add [数量] 

获得能量

energy inf 

无限能量

energy remove [数量] 

失去能量

hand add [名称] {卡牌数量} {升级} 

添加牌到手牌中 (可选项1: 你想要添加这张卡的整数次) (可选项2: 卡牌升级的整数次)

hand remove all 

消耗所有手牌(恶魔火)

hand remove [名称] 

消耗手牌中的指定牌

kill all 

干掉所有敌人

kill self 

干掉你的角色

power [名称] [数量] 

生成一个瞄准线(指的是你出攻击牌时的那种红色的箭头),对玩家或怪物施加一系列效果(注:小提一嘴,这里用到的power包括很多效果,例如:毒效果,易伤,无惧疼痛,黑暗之拥等等)

_________________________________________

战斗外

fight [怪物名称] 

进入一场指定怪物名称的战斗

event [事件名称] 

开始一场指定名称的事件

_________________________________________

任何时候

gold add [数量] 

增加金币

gold lose [数量] 

失去金币

info toggle 

设置信息切换?

potion [位置] [名称] 

在指定槽位(0,1或2)添加指定药水

hp add [数量] 

回血

hp lose [数量] 

扣血

maxhp add [数量] 

加血上限

maxhp remove [数量] 

扣血上限

debug [true/false] 

设置是否调试

_________________________________________

遗物

relic add [名称] 

添加遗物

relic list 

列出所有遗物

relic remove [名称] 

失去遗物

_________________________________________

解锁

unlock always

死亡时总是获得一次解锁

unlock level [level]

设置获得指定等级的解锁

_________________________________________

行动

act boss

直接传送到当前层的BOSS房

act [行动名称] 

直接到指定层的开始位置

_________________________________________

进入四层打心脏的钥匙

key add [指定颜色 或者 all] 

将相应的钥匙添加到当前一局中

key lose [指定颜色 或者 all] 

从当前一局中删除相应的钥匙

_________________________________________

历史

history random 

随机给你一个过去胜利一局的遗物和卡组

history last 

给你当前角色最后成功一局的遗物和卡组的

_________________________________________

【PC游戏】杀戮尖塔basemod百科翻译(3)-第0张

添加你的指令

完成它需要两个东西:一个处理你的指令的类,和一个在控制台中触发它的空键位。

java类

所有命令都必须是抽象类basemod.devcommands.ConsoleCommand的扩展。该类有一些参数,你可以在构造函数中设置这些参数来处理你的命令。请注意,这些都不是强制性的,所有的这些都有默认值。

-----------------------------------

public class YourCommand extends ConsoleCommand {

public YourCommand() {

maxExtraTokens = 2; //这个单词后面还能有多少单词?如果未指定,maxExtraTokens = 1。

minExtraTokens = 0; //这句话后面还有多少词呢?如果未指定,minExtraTokens = 0。

requiresPlayer = true; //如果为true,则表示该命令只能在运行期间执行。如果未指定,则requiresplayer = false。

simplecheck = true;

/**

* 如果这个标志为真,并且您没有实现重写命令语法检查方法自己的逻辑,它将检查所输入的内容是否在您所说的命令具有的选项中。

* 注意,这只适用于控制台的自动补全功能,与执行命令时的操作无关!

* 如果未指定,simplecheck = false。

*/

followup.put("whateveryouwantmetobebaby", YourSecondCommand.class);

/**

* 这样做可能会将这个单词作为当前面命令的后续,并将其传递给YourSecondCommand。

* 你可以随心所欲地添加这些东西。

*/

}

...

}

-----------------------------------

每个指令都必须使用该方法 

void execute(String[] tokens, int depth).


字符是开发控制台的全部输入,由/\s/(空格)分开。

深度可以标记中当前位置的索引。例如:tokens[depth] 会成为你指令的第一个词。

该方法包含语法检查命令,以及它的实际功能。对于过渡性命令,execute(…)通常只调用errorMsg();


你还可以重写以下方法:


  • ArrayList<String> extraOptions(String[] tokens, int depth)
  • void errorMsg(String[]? tokens)

额外选项返回的内容将显示在控制台的自动完成特性中,以及你在构造函数中添加到followup的内容中。

-----------------------------------

...

public ArrayList extraOptions(String[] tokens, int depth) {

ArrayList result = new ArrayList<>();

result.add("add");

result.add("lose");

if(tokens[depth].equals("add") || tokens[depth].equals("lose")) {

complete = true;

/**

* 将complete设置为true会在自动完成窗口中显示“命令已完成”。

* 如果构造函数中有"simplecheck = true",并且你没有额外的逻辑策略,那么这就不必要!

*/

}

return result;

}

...

-----------------------------------

当控制台识别到您想要访问指令时,这将显示添加和丢失自动补全选项。

errorMsg()是一种显示错误消息的标准化方法

execute(...).一种显示选项的错误消息

extraOptions(...)

以下为上述内容的例子:

-----------------------------------

@Override

    public void errorMsg() {

        DevConsole.couldNotParse();

        DevConsole.log("options are:");

        DevConsole.log("* add [amt]");

        DevConsole.log("* lose [amt]");

    }

-----------------------------------

注意,这个方法必须在执行过程中被专门调用。

注册你的指令

在你的mod主文件中的receivePostInitialize中,调用下面的静态方法:

-----------------------------------

public void receivePostInitialize() {

...

ConsoleCommand.addCommand("yourphrasehere", YourCommand.class);

...

}

-----------------------------------

这里使用的关键字只能包含字母和冒号。 如果关键字已经被占用或无效, basemod将不会注册你的指令,并在basemod日志窗口中打印错误信息,但它不会让游戏崩溃。

【PC游戏】杀戮尖塔basemod百科翻译(3)-第1张

#杀戮尖塔#   #mod#  #翻译# 


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com