欢迎光临散文网 会员登陆 & 注册

新元的无名杀扩展教程(一)技能_1最简单的trigger类技能

2022-09-13 23:18 作者:新元noname  | 我要投稿

引子

你想创建一个你的拓展,打开编辑拓展,编辑技能,为你的技能输入好漂亮的名字,写好了描述却无从下手?

没关系,这个教程将手把手教你学会编写技能。

1.技能类型

技能有很多类型:trigger类,enable类,mod类,等等。

技能的类型决定了技能的基本结构,下面,我们就以trigger技能为例开始编写技能

2.以trigger类技能为例

trigger类技能即触发技,只要达到某个条件,就发动此技能。比如:你受到伤害后,你失去体力后,你的摸牌阶段……。

要写一个trigger类的技能,就要先表明写的是trigger类的技能,如下:

trigger:{

}

在这个大括号内,就可以填触发的时机。

如果我们要写:你在受到伤害后触发此技能,就在括号内这样写:

player:"damageEnd"

冒号前的是触发的角色,冒号后的是触发的时机。player,就是拥有这个技能的角色。"damageEnd",就是受到伤害后。

如果有多个时机,可以用[]将所有时机框起来,注意时机和时机以","相连,如:

player:["damageEnd","loseHpEnd"]

这样,这名角色就在受到伤害后、失去体力后触发此技能

这个是通法,单个时机也可以写成这样。

现在我们的代码就成了这个样子:

trigger:{

      player:["damageEnd","loseHpEnd"]

}

设置了触发时机,我们接下来就要写技能的内容了。格式如下:

content:function(){

}

接下就是要往里面装东西了。

如果我们想让技能发动者摸牌,怎么办呢?

就在大括号里填

player.draw()

前面那一个是对象,后面一个是对象执行的任务(或者说,做的事情)。player就是技能发动者,draw()就是摸牌。

我们如果想要player摸多张牌呢?draw()的()未填时,默认摸牌数为1。填上一个数,摸牌数就变了。

如:

player.draw(2)

就是摸2张牌了。

这样我们就编写了一个简单的技能:

trigger:{

      player:["damageEnd","loseHpEnd"]

},

content:function(){

       player.draw(2)

}

当你受到伤害后及失去体力后,你摸两张牌。

tips:

①在技能中,我们可以看到 key:value 这样一种形式,要注意的是,除了最末尾的那一个可以不用,其余的在结束必须都要打","(英文逗号)。要注意点是key只能以字母开头,不能含特殊符号。

如:

skill={

a:true,

b:[1,2],

c:"你好",

d:{

d1:1,

d2:function(){

}

}

}

②编辑技能中开始都是skill={},请将所有代码写在这个括号内。另外,确保{},[],()是完整的,而且是英文标点。

新元的无名杀扩展教程(一)技能_1最简单的trigger类技能的评论 (共 条)

分享到微博请遵守国家法律