多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# :-: 判定通关条件,发放通关奖励 ***** <br> :-: 玩家击杀指定怪后,我们需要判定是否通关,以及给予通关奖励 <br> ``` yml #触发器 trigger: #以简单模式为例 通关_简单: #当MM怪物ID为 贪吃猪 的怪物被击杀了3只时触发 #并且不独立于每个玩家,意思是所有玩家一共击杀了3个就行了 trigger: 'type=mm_kill;id=贪吃猪;amount=3;stand_alone=false' #同理通关的事件应该只能执行一次 count: 1 #这里判断 副本变量 难度 是不是 = 简单 #简单的处理简单的奖励,困难的可以另写一个困难的奖励 condition: - 'type=inst_var;note=难度;value=简单' #给予所有玩家奖励,并处理副本后事(QAQ) true-event: #这里告诉副本,该记录每个玩家的通关次数和通关时间了(最快通关记录变量就是用这个生成的) #也会在当前副本生成变量 {var.pass.time} = 当前通关时长 - 'type=pass_instance;to=join' #这里以指令为例 #to是作用人群(可以理解为mm的目标选择器) #join = 进入副本的所有玩家(包含死亡的在副本内的) #可以将to改为 play 以达到死亡玩家不能获得这个奖励(狗头) #这里注意, 奖励的类型 'type' 和事件类型 'type' 冲突,在副本内 奖励的'type'改为了 'reward_type' - 'type=add_reward;to=join;reward_type=cmd;cmd=op:say %player_name% 通关了副本' #上面的语句是给选定的玩家添加一个奖励到他的奖励池中 #然后在副本的某个时刻执行这个语句能给选中的玩家发放奖励 #这2者配合可以达到副本内支线有额外奖励的机制,或者玩家击杀了某些特定的怪物单独给一个额外的特定奖励 #当然这个地方你写2行就给2次当前奖池的奖励,类似于双倍奖励(QAQ) - 'type=reward;to=join' #发送一条tellraw语句给玩家,并且含有可以点击的 '退出副本' 指令文本 - 'type=tellraw;text=&a奖励发放完毕,30秒后副本结束,&e也可以[[&6&n点此退出|/pi q|&7提示信息\n&7换行符号]]&e副本;to=join' #这一条必须在 pass_instance 事件之后使用 - 'type=msg;msg=&a成功通关,通关时长: &e{var.pass.time};to=join' #等待30秒(期间玩家也可以主动退出) - 'type=wait;time=30' #然后将玩家传送回去,并彻底清空副本数据 - 'type=end' ```