想写个全民副本,即使是萌新也能参与。只需要付出一些时间。
以前在某些服务器见过一种怪、无论玩家身穿什么装备 每次攻击怪物只能照成1伤害。
或者有能达到要求的方案。
服务器使用的是MythicMobs-4.5.9
            
        我玩的服务器就是这种 应该是一个插件 通过修改怪物让玩家无论如何只能打怪物一滴血 而且怪物打玩家是真实伤害 
            
        这个需要安装一个插件 mod 或者服务器的辅助指令
            
         本帖最后由 632b781af97903 于 2022-6-2 00:26 编辑 
插件
 mmm.jar
(2.02 KB, 下载次数: 4)
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)
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
 | 
            
        
            
        
- damage{a=1;ia=true} 
@self ~onDamaged
这个地方当时用手机打的,不知道为什么{前面会空了
改成:
- damage{a=1;ia=true} @self ~onDamaged
            
        
给怪物加上抗性之后,怪物真的就无敌了。即使血量为0依旧不会死亡。
用suicide怪物会假死抽搐,用remove又不给掉落物。
把remove和给mm i give打包在一起又总是丢失目标

            
        
你是paper核心吗?是的话换成spigot核心
MythicLib这个插件没装的话装一下