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, 无视条件);
		循环;
	}
}

预览

评论
这里空空如也~
这里空空如也~