kotone的技能批量显示工具

预览

预览

预览
使用三条规则和一个数组,自动给每个英雄生成专属的技能显示器(仅使用8个HUD,想要增加上限调节循环次数)
将技能名称和描述写入数组即可自动生成
(附源码和注释)
以下代码建议使用vscode(使用Xcrystal的Overwatch Workshop扩展)打开
变量
{
全局:
35: skillhud
玩家:
43: skillhud
}
规则("技能描述数组[文本]作者kotone#11606")
{
事件
{
持续 - 全局;
}
动作
{
全局.skillhud=
数组(
数组(自定义字符串("—————————————————"),
数组(空)),
//数组从这里开始
数组(//一个英雄一个数组,每做一个新英雄从这里复制aaa
数组(英雄图标字符串(英雄(天使)),
数组(自定义字符串("扑棱蛾子"),自定义字符串(""))),
数组(技能图标字符串(英雄(天使), 按钮(主要攻击模式)),
数组(自定义字符串("治療光束"),
自定义字符串("(缓慢治疗队友)\r\n"))),//如果文本过长需要添加【\r\n】来换行
数组(技能图标字符串(英雄(天使), 按钮(技能2)),
数组(自定义字符串("死者苏生"),
自定义字符串("(复活死亡队友)\r\n"))),
数组(技能图标字符串(英雄(天使), 按钮(近身攻击)),
数组(自定义字符串("果断反击"),
自定义字符串("(击晕对手)\r\n"))),
数组(技能图标字符串(英雄(天使), 按钮(技能1)),
数组(自定义字符串("此处填技能名称"),
自定义字符串("(此处填技能效果作用)\r\n"))),
//每做一个新技能从这里复制bbb
数组(技能图标字符串(英雄(天使), 按钮(终极技能)),
数组(自定义字符串("此处填技能名称"),
自定义字符串("(此处填技能效果作用)\r\n"))),
//到这里,这一段在下方空白处添加新技能bbb
//这里放空白的新技能
//
数组(自定义字符串(""),数组(自定义字符串(""),自定义字符串("")))),//每做一个新英雄从这里复制到这里aaa,放在下方空白处
//这里放空白的新英雄
//示例:
数组(//一个英雄一个数组,每做一个新英雄从这里复制aaa
数组(英雄图标字符串(英雄(源氏)),
数组(自定义字符串("龙魂武士"),自定义字符串(""))),
数组(技能图标字符串(英雄(源氏), 按钮(主要攻击模式)),
数组(自定义字符串("飞镖"),
自定义字符串("(投掷三枚飞镖造成伤害)\r\n"))),
数组(技能图标字符串(英雄(源氏), 按钮(技能2)),
数组(自定义字符串("格挡"),
自定义字符串("(阻挡伤害并反弹)\r\n"))),
数组(技能图标字符串(英雄(源氏), 按钮(近身攻击)),
数组(自定义字符串("近战"),
自定义字符串("(击晕对手)\r\n"))),
数组(技能图标字符串(英雄(源氏), 按钮(技能1)),
数组(自定义字符串("闪现"),
自定义字符串("(向前突进对沿途敌人造成伤害)\r\n"))),
数组(技能图标字符串(英雄(源氏), 按钮(终极技能)),
数组(自定义字符串("龙刃"),
自定义字符串("(拔刀,持续时间内变为近战攻击)\r\n"))),
数组(自定义字符串(""),数组(自定义字符串(""),自定义字符串("")))),
数组(空)
);
}
}
规则("创建[HUD]作者kotone#11606")
{
事件
{
持续 - 全局;
}
条件
{
// 游戏正在进行中==真;
}
动作
{ //全局.skillhud[本地玩家.skillhud[0]][0][1],英雄昵称
// 等待(3, 无视条件);
For 全局变量(I, 0, 8, 1);//最多循环8次,根据玩家描述数量来显示(也就是最多8个技能)
创建HUD文本(
数量(全局.skillhud[本地玩家.skillhud[0]])-单次赋值(全局.I)-1<0?空:本地玩家,//此条是否显示
空,
单次赋值(全局.I)-1==-1 ? 自定义字符串("") ://标题下方空白
自定义字符串("{0}{1}",
全局.skillhud[本地玩家.skillhud[0]][单次赋值(全局.I)-1][1][1],//描述
//0,分隔符“——”
数量(全局.skillhud[本地玩家.skillhud[0]])-单次赋值(全局.I)-2<0?自定义字符串(""):全局.skillhud[0][0]
),
全局.skillhud[本地玩家.skillhud[0]][0]!=空//用于判断是否为合法玩家
?
自定义字符串("{0}{1}",//1技能描述
全局.skillhud[本地玩家.skillhud[0]][单次赋值(全局.I)][0],
全局.skillhud[本地玩家.skillhud[0]][单次赋值(全局.I)][1][0],自定义字符串(""))
:
自定义字符串("---"),
右边,单次赋值(全局.I)+4/* 2 + 单次赋值(全局.I) */, 颜色(白色), 颜色(白色), 颜色(白色), 可见和字符串, 默认可见度);
End;
}
}
规则("【数据】【初始化】")
{
事件
{
持续 - 每名玩家;
双方;
全部;
}
条件
{
// 游戏正在进行中==真;
// 已重生(事件玩家)==真;
}
动作
{
等待直到(已重生(事件玩家), 99999);
If((所用英雄(事件玩家)==英雄(天使)));
事件玩家.skillhud=数组(1,0);
//添加新英雄复制这一段在
Else If(所用英雄(事件玩家)==英雄(源氏));
事件玩家.skillhud=数组(2,0);//每添加一个英雄把里面的数字+1
//下面空白处,顺序要和上面那个数组一致
Else;
事件玩家.skillhud=数组(999,0);
End;
等待直到(单次赋值(所用英雄(事件玩家))!=所用英雄(事件玩家), 99999);
等待(0.25, 无视条件);
循环;
}
}

预览
评论
这里空空如也~