defensemobというtagを持ったmobから最も近いattackmobというtagを持ったmobを検知したい

うまい方法が思い当たりませんでした..
6 Replies
L2ck_
L2ck_OP6mo ago
このような状態の時、特定の間隔で相手から送られた敵(今回はzombie)を自分の陣地を守るmob(今回はskeleton)から特定の距離にいる場合zombieのHPを減らすということがしたかったです function getNearestEntity(center: entity, radius: number) :: entity: set {_distance} to {_radius} loop all entities in radius {_radius} around {_center}: loop-entity is not {_center} loop-entity has scoreboard tag "attackmob": distance between {_center} and loop-entity <= {_distance}: set {_distance} to distance between {_center} and loop-entity set {_result} to loop-entity return {_result} every seconds: loop all entities: if loop-entity has scoreboard tag "defensemob": set {_entity} to getNearestEntity(loop-entity, 10) kill {_entity} HPを減らすかわりにkillにしていますができました.. 次からは具体的にやりたいことも書くようにします;;
No description
tanoKun
tanoKun6mo ago
これって自分で歩かせてるんでしょ?
L2ck_
L2ck_OP6mo ago
無理やりtpで動かしてますね 透明なarmorstandがあって 作ってからarmorstandにする意味あったのかとは思いましたけど...
tanoKun
tanoKun6mo ago
全部 no Aiにして処理止めて、その辺の位置情報とかの処理全部独自にしてもいいんじゃないかな
L2ck_
L2ck_OP6mo ago
少し変わるのですがこの上の画像のskeletonをzombieの方向に向かせようとして every seconds: loop all entities: if loop-entity has scoreboard tag "defensemob": set {_entity} to getNearestEntity(loop-entity, {range.%loop-entity%}) remove {damage.%loop-entity%} from {mob.%{_entity}%.hp} set {_location} to location of {_entity} set {_location'} to location of loop-entity set {_v} to vector from {_location} to {_location'} set {_location'}'s yaw to vector yaw of {_v} teleport loop-entity to {_location} set {_entity} to none としたのですがset {_location}'s yaw to vector yaw of {_v}の部分でyaw of {_location'}'s yaw can't be set to 'vector yaw of {_v}' because the letter is not a numberというエラーが出ました。改善すべきところはどこでしょうか... 独自というのはどうゆうことでしょうか...
Want results from more Discord servers?
Add your server