• Trong thời gian này, bạn không thể tạo bài mới, đăng comment, hay tạo tài nguyên mới để diễn đàn dọn dẹp nội dung.
    Diễn đàn sẽ sớm mở trở lại, chi tiết hãy theo dõi tại Discord
T

Hỏi đáp Lỗi loop khi dùng damage

  • Người tạo chủ đề Người tạo chủ đề TieuMinh
  • Ngày gửi Ngày gửi
Trạng thái
Không mở trả lời sau này.
bạn phải đưa thêm code thì mới biết bị gì được chứ nói thế chẳng ai hiểu đâu
tuy nhiên mình đoán là do bạn .damage(double,damager) bên trong EntityDamageByEntityEvent hoặc các event tương tự. vì .damage(double,damager) sẽ gọi tiếp 1 cái EntityDamageByEntityEvent khác rồi gọi lại chính nó trong event đó nên cứ thế ...
 
bạn phải đưa thêm code thì mới biết bị gì được chứ nói thế chẳng ai hiểu đâu
tuy nhiên mình đoán là do bạn .damage(double,damager) bên trong EntityDamageByEntityEvent hoặc các event tương tự. vì .damage(double,damager) sẽ gọi tiếp 1 cái EntityDamageByEntityEvent khác rồi gọi lại chính nó trong event đó nên cứ thế ...
Đúng r bạn, mình để nó trong EntityDamageByEntityEvent, ban đầu mình dùng .damage(double) thì không xảy ra lỗi gì nên mình tưởng là nó cũng có thể dùng với cái kia
Thế giờ mình có thể fix sao bạn ?
 
Đúng r bạn, mình để nó trong EntityDamageByEntityEvent, ban đầu mình dùng .damage(double) thì không xảy ra lỗi gì nên mình tưởng là nó cũng có thể dùng với cái kia
Thế giờ mình có thể fix sao bạn ?
damager có thể = null? (Chắc ko phải đâu)
Đăng stacktrace với code của bạn lên xem
 
~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:572) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:479) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:604) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity0(EntityLiving.java:1238) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity(EntityLiving.java:834) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityMonster.damageEntity(EntityMonster.java:48) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityZombie.damageEntity(EntityZombie.java:180) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:238) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at me.neo.Blader.DamagerisPlayer(Blader.java:379) ~[?:?]
at me.neo.Blader.Attack(Blader.java:319) ~[?:?]
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:89) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:572) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:479) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:604) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity0(EntityLiving.java:1238) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity(EntityLiving.java:834) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityMonster.damageEntity(EntityMonster.java:48) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityZombie.damageEntity(EntityZombie.java:180) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:238) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at me.neo.Blader.DamagerisPlayer(Blader.java:379) ~[?:?]
at me.neo.Blader.Attack(Blader.java:319) ~[?:?]
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:89) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:572) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:479) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:604) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity0(EntityLiving.java:1238) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity(EntityLiving.java:834) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityMonster.damageEntity(EntityMonster.java:48) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityZombie.damageEntity(EntityZombie.java:180) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:238) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at me.neo.Blader.DamagerisPlayer(Blader.java:379) ~[?:?]
at me.neo.Blader.Attack(Blader.java:319) ~[?:?]
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:89) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:572) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:479) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:604) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity0(EntityLiving.java:1238) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityLiving.damageEntity(EntityLiving.java:834) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityMonster.damageEntity(EntityMonster.java:48) ~[spigot.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.EntityZombie.damageEntity(EntityZombie.java:180) ~[spigot.jar:git-Spigot-de459a2-51263e9]
1 đoạn lỗi trong đó đó bạn, nó lặp hơn 200 lần đận
Mình không nghĩ là damager = null đâu mà do nó gọi lại event như bạn kichvn nói đó bạn
 
Đúng r bạn, mình để nó trong EntityDamageByEntityEvent, ban đầu mình dùng .damage(double) thì không xảy ra lỗi gì nên mình tưởng là nó cũng có thể dùng với cái kia
Thế giờ mình có thể fix sao bạn ?
vì .damage(double) nó không gọi lại cái event trong khi cái kia thì có
cách giải quyết thì cách 1 bạn có thể xài .damage(double) nhưng vì cái này nó trừ thẳng vào máu chứ không tính giáp các kiểu nên bạn phải tự tính lượng damage đúng sau khi qua giáp
ngoài ra thì cách 2 có thể đánh dấu vào mảng/map để khi event đó gọi lại mà có trong mảng/map thì bỏ qua ko gọi tiếp .damage lần nữa
 
vì .damage(double) nó không gọi lại cái event trong khi cái kia thì có
cách giải quyết thì cách 1 bạn có thể xài .damage(double) nhưng vì cái này nó trừ thẳng vào máu chứ không tính giáp các kiểu nên bạn phải tự tính lượng damage đúng sau khi qua giáp
ngoài ra thì cách 2 có thể đánh dấu vào mảng/map để khi event đó gọi lại mà có trong mảng/map thì bỏ qua ko gọi tiếp .damage lần nữa
Nếu như dùng .damage(double) thì khi giết entity mình ko get killer được
Chắc mình nên dùng mảng để cho thằng Entity vừa damage vào mảng khoảng 1/20 (s) rồi khi lặp lại thì hỏi xem có trong mảng đó không rồi return liền luôn, phải không bạn ?
 
Trạng thái
Không mở trả lời sau này.
Nội dung tương tự Xem nhiều nhất Xem thêm

Thống kê nội dung

Tạo
TieuMinh,
Trả lời lần cuối từ
TieuMinh,
Trả lời
6
Lượt xem
630
Quay lại
Trên cùng