想写个全民副本,即使是萌新也能参与。只需要付出一些时间。
以前在某些服务器见过一种怪、无论玩家身穿什么装备 每次攻击怪物只能照成1伤害。
或者有能达到要求的方案。
服务器使用的是MythicMobs-4.5.9
我玩的服务器就是这种 应该是一个插件 通过修改怪物让玩家无论如何只能打怪物一滴血 而且怪物打玩家是真实伤害
这个需要安装一个插件 mod 或者服务器的辅助指令
本帖最后由 632b781af97903 于 2022-6-2 00:26 编辑
插件
mmm.jar
(2.02 KB, 下载次数: 4)
命令/mmm 重载配置#权限op
config
- # 检测的实体名称
- name: '&aSkeletal Knight'
- # 设置的伤害
- damage: 1
复制代码
有个方案可以参考下,给怪物抗性5,造成无敌效果,然后每次攻击怪物在召唤另外一个怪物,可以达到你说的效果,好比你打的怪为A,这个怪物受到伤害后召唤为B的怪物,血量可以为 A=10 B=9 这样,一直到1,就可以实现你说的造成1点伤害,这是最简单的方法
参考楼上改进
给怪物抗性提升5形成无敌,让检测到受伤时,对自己造成1点真实伤害就行了
- damage{a=1;ia=true}
@self ~onDamaged
这个插件....只能针对原版武器。RPG武器直接无视了。
我写法有问题吗,抗性提升并没有起到效果
- potion{type=DAMAGE_RESISTANCE;duration=80000;level=5}
@self
mm没怎么用过,如果有可以执行脚本类型的东西,我这个里可以提供一个思路
设置怪物收到的伤害如果大于100,则给怪物恢复该伤害值的血量并-100血
如果可以进行这个操作,除非秒杀怪物,不然就做到了“限伤”
直接加到怪物上
Skills:
- potion{type=DAMAGE_RESISTANCE;dur=30;lvl=4;force=true}
@self ~onTimer:10
- damage{a=1;ia=true} @self ~onDamaged
第二条没有效果无法对怪物自身照成伤害
我自己摸索了好久都一样。
本帖最后由 Neige 于 2022-6-2 16:51 编辑
NeigeDamageLimit.zip
(2.06 MB, 下载次数: 2)
解压进plugins,重启服务器生效。
使用文本编辑器打开plugins/Pouvoir/scripts/NeigeDamageLimit.js文件,在其中配置你要限制的怪物。
- config_NDL = {
- // 这个怪物单次最高只受到1点伤害
- 怪物ID: 1
- }
复制代码要限制多个怪物可以改为
- config_NDL = {
- // 这个怪物单次最高只受到1点伤害
- 怪物ID1: 1,
- // 这个怪物单次最高只受到3点伤害
- 怪物ID2: 3
- }
复制代码注意逗号, 怪物ID指的是MM的怪物ID
攻击怪物后报错,并无效果
[16:20:07 ERROR]: Could not pass event EntityDamageByEntityEvent to Pouvoir v1.2.12jdk.nashorn.internal.runtime.ECMAException: ReferenceError: "config_DL" is not defined
at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57) ~[nashorn.jar:?]
at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319) ~[nashorn.jar:?]
at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291) ~[nashorn.jar:?]
at jdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1442) ~[nashorn.jar:?]
at jdk.nashorn.internal.scripts.Script$Recompilation$33$498A$\^eval\_.onEntityDamageByEntity_NDL(<eval>:17) ~[?:?]
at jdk.nashorn.internal.scripts.Script$Recompilation$24$396A$\^eval\_.onEnable_NDL#L:10(<eval>:11) ~[?:?]
at jdk.nashorn.javaadapters.java.util.function.Consumer.accept(Unknown Source) ~[?:?]
at com.skillw.pouvoir.api.script.ScriptTool$addListener$1.invoke(ScriptTool.kt:144) ~[?:?]
at com.skillw.pouvoir.api.script.ScriptTool$addListener$1.invoke(ScriptTool.kt:143) ~[?:?]
at com.skillw.pouvoir.api.script.ScriptTool.addListener$lambda-0(ScriptTool.kt:143) ~[?:?]
at com.skillw.pouvoir.api.listener.ScriptListener$Companion$build$1.invoke(ScriptListener.kt:28) ~[?:?]
at com.skillw.pouvoir.api.listener.ScriptListener$Companion$build$1.invoke(ScriptListener.kt:27) ~[?:?]
at com.skillw.pouvoir.taboolib.common.platform.function.ListenerKt$registerBukkitListener$1.invoke(Listener.kt:21) ~[?:?]
at com.skillw.pouvoir.taboolib.common.platform.function.ListenerKt$registerBukkitListener$1.invoke(Listener.kt:21) ~[?:?]
at com.skillw.pouvoir.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:35) ~[?:?]
at com.skillw.pouvoir.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:35) ~[?:?]
at com.skillw.pouvoir.taboolib.platform.BukkitListener$BukkitListener.execute(BukkitListener.kt:72) ~[?:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:94) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:620) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:523) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:652) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.EntityLiving.damageEntity0(EntityLiving.java:1415) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.EntityLiving.damageEntity(EntityLiving.java:888) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.EntityMonster.damageEntity(EntityMonster.java:44) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.EntityZombie.damageEntity(EntityZombie.java:163) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.EntityHuman.attack(EntityHuman.java:1028) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.EntityPlayer.attack(EntityPlayer.java:1390) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1708) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.PacketPlayInUseEntity.a(PacketPlayInUseEntity.java:49) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.PacketPlayInUseEntity.a(PacketPlayInUseEntity.java:6) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_281]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_281]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[PaperSpigot-1.12.2-b1562.jar:git-Paper-1562]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_281] |
我原样复制的,其他设置应该影响不到吧...
测试怪物1: Type: Zombie
Display: '&e测试'
Disguise:
Type: player
Player: '&e测试'
Skin:
Health: 20
Damage: 0
AIGoalSelectors:
- 0 clear
- 1 meleeattack
- 2 lookatplayers
Modules:
ImmunityTable: true
Equipment:
- air:0
- air:4
- air:3
- air:2
- air:1
KillMessages:
- '&7[&b<target.name>&7] &6被 &c<mob.name>&c 杀死了'
Skills:
- potion{type=DAMAGE_RESISTANCE;dur=30;lvl=5;force=true} @self ~onTimer:10
- damage{a=1;ia=true} @self ~onDamaged
Options:
AlwaysShowName: true
PreventOtherDrops: true
KnockbackResistance: 1.0
FollowRange: 5
MovementSpeed: 0.00
NoDamageTicks: 10
Drops:
- exp 8
- money 60 |