欢迎来到Minecraft插件百科!
对百科编辑一脸懵逼?
帮助:快速入门
带您快速熟悉百科编辑!
因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
查看“MythicMobs/教程/护盾”的源代码
←
MythicMobs/教程/护盾
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
自动确认用户
、
巡查者
您可以查看和复制此页面的源代码。
<pre>*原理:首先让怪物出生自动生成一个护盾,同时初始化两个记分板冷却利用变量读取两次实体的生命 ,因为需要一个"上一次生命"和"当前生命",故俩次读取中间加了个延迟(delay)接着每次读取到生命 都转化为记分板加减的数值,(护盾容量+上一次生命-当前生命=剩余护盾). 接着利用变量读取记分板加减后得到的数值,并作为heal(治疗)的数值,来做到表面上的无敌 (护盾容量-剩余护盾=护盾受到的伤害=恢复的数值),由于受到的伤害可能大于剩余护盾,就会导致护盾变 为负数,从而影响每秒恢复2点护盾,所以需要技能"护盾数值修正"来让剩余护盾无法变为负数. *这里不将剩余护盾提示放到怪物yml的原因是要让它计算后读取并提示玩家,如果放怪物yml,数值可能就是 刚加了最大生命的护盾数值,也可能是减去当前生命后的护盾数值. *每次受伤都会重置护盾恢复的冷却(5秒,也就是指定记分板100分数),也就是说5秒内没受到任 何伤害才会进行护盾恢复,每0.25秒-5分,也就是每秒-20分,20分=1秒冷却 剩余护盾为0时会使怪物无敌,获得抗性提升VI,并再次利用记分板设置5秒冷却. 鲲鲲为啥不用其它方法做冷却QAQ,(被火龙果指点)利用实体是否拥有指定药水效果条件来做也是行的QAQ 好惹,下面是详细配置QAQ </pre> {| class="wikitable mw-collapsible mw-collapsed" ! style="text-align: left;" | 技能配置 |- | 怪物Yml: - skill{s=测试护盾} @self ~onDamaged - skill{s=护盾恢复冷却} @self ~onTimer:5 - skill{s=测试护盾提示} @self ~onDamaged - skill{s=护盾格挡伤害} @self ~onDamaged - skill{s=护盾无敌冷却} @self ~onTimer:1 - skill{s=护盾恢复1} @self ~onTimer:10 - modifytargetscore{o=护盾;a=SET;v=40} @self ~onSpawn - modifytargetscore{o=护盾无敌冷却;a=SET;v=0} @self ~onSpawn - modifytargetscore{o=护盾恢复冷却;a=SET;v=0} @self ~onSpawn 测试增伤: Skills: - setvariable{type=STRING;var=caster.dm;value="<caster.php>"} @self 测试增伤提示: Skills: - damage{a='1 + 1 * (100 - <caster.var.dm>) '} @EIR{r=10} 护盾数值修正: Conditions: - score{o=护盾;value=<0} Skills: - modifytargetscore{o=护盾;a=SET;v=0} @self 测试护盾: Conditions: #护盾是否还没呗耗尽 - score{objective=护盾;value=<0} false Skills: - removeTag{t=护盾恢复1} @self - modifytargetscore{o=护盾恢复冷却;a=SET;v=100} @self - skill{s=清除无敌一秒} @self - setvariable{type=STRING;var=caster.hd1;value="<caster.hp>"} @self 护盾恢复冷却: Conditions: - score{objective=护盾恢复冷却;value=>1} Skills: - modifytargetscore{o=护盾恢复冷却;a=SUBTRACT;v=5} @self 测试护盾提示: Conditions: - score{objective=护盾;value=<0} false Skills: - modifytargetscore{o=护盾;a=SUBTRACT;v='<caster.var.hd1>'} - delay 1 - setvariable{type=STRING;var=caster.hd2;value="<caster.hp>"} @self - delay 1 - modifytargetscore{o=护盾;a=ADD;v='<caster.var.hd2>'} - delay 1 - setvariable{type=STRING;var=caster.hd;value="<mob.score.护盾>"} @self - skill{s=测试护盾提示1} @self - delay 5 - skill{s=护盾数值修正} @self - delay 2 - skill{s=护盾耗尽无敌} @self 测试护盾提示1: Conditions: - variableInRange{var=caster.hd;value=>0} Skills: - speak{offset=0.6f;radius=10;maxlinelength=22;lineprefix="&5";message="&b剩余护盾:<caster.var.hd>";chatprefix=&f<&co>;duration=60} @self 护盾格挡伤害: Conditions: - variableInRange{var=caster.hd;value=>0} Skills: - delay 5 - heal{a='40 - <caster.var.hd>'} @self 护盾无敌冷却: Conditions: - score{objective=护盾无敌冷却;value=<1} false Skills: - modifytargetscore{o=护盾无敌冷却;a=SUBTRACT;v=1} @self 护盾耗尽无敌: Conditions: - score{o=护盾;v=0} - score{o=护盾无敌冷却;v=<1} Skills: - modifytargetscore{o=护盾无敌冷却;a=SET;v=100} @self - speak{offset=0.6f;radius=10;maxlinelength=22;lineprefix="&5";message="&c怪物的护盾耗尽,无敌1秒>";chatprefix=&f<&co>;duration=60} @self - potion{t=DAMAGE_RESISTANCE;d=20;lvl=5} @self 护盾恢复1: Conditions: - score{o=护盾恢复冷却;v=<1} - score{objective=护盾;value=<40} Skills: - modifytargetscore{o=护盾;a=ADD;v=1} @self |}
返回
MythicMobs/教程/护盾
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
编辑相关
百科公告
编辑帮助
互助客栈
贡献分数
测试沙盒
发布条目
插件分类
管理
安全
聊天
编程
经济
修正
娱乐
综合
信息
机械
角色
传送
网页
整地
创世
付费
其它
工具
链入页面
相关更改
特殊页面
页面信息
相关网站
MCMOD百科
Minecraft中文百科
Minecraft纪念论坛
Minecraft百度贴吧
虚无世界Wiki