条件をつけると機能しない

on join:
set {centhe2.skill.%player%} to 1

on damage:
if 0 < {centhe2.skill.%attacker%}:
if attacker is not a player:
send "A" to victim
set {_fd} to damage
set damage to {_fd} * 0.1
if attacker is player:
send "B" to attacker
on join:
set {centhe2.skill.%player%} to 1

on damage:
if 0 < {centhe2.skill.%attacker%}:
if attacker is not a player:
send "A" to victim
set {_fd} to damage
set damage to {_fd} * 0.1
if attacker is player:
send "B" to attacker
4 Replies
makaronipizaa
makaronipizaaOP12mo ago
上のものは簡略化したものですが、「特定のアイテムを右クリックすると15秒間特殊状態に入り、その間受けるダメージ90%減」というのを作ろうとしてました 同じ条件を踏んでいるはずの
if attacker is player:
send "B" to attacker
if attacker is player:
send "B" to attacker
はしっかり機能します が
if attacker is not a player:
send "A" to victim
set {_fd} to damage
set damage to {_fd} * 0.1
if attacker is not a player:
send "A" to victim
set {_fd} to damage
set damage to {_fd} * 0.1
が機能しません 単体(if 0 < {centhe2.skill.%attacker%}: なし)でやるとしっかり機能するのですが、どこが悪いのか分かりません if 0 < {centhe2.skill.%attacker%}: も、send Bの方がしっかり機能しているということはコード自体に問題はなさそうですし
soramame_256
soramame_25612mo ago
if attacker is >a< player んでからon damage2行目の条件で0<none比較が通らなくて動かない setしてるのはプレイヤーだけだもん。 typeがプレイヤーじゃない時点で死 (例えばアタッカーがゾンビなら{centhe2.skill.zombie}が参照されてnone出て死)
makaronipizaa
makaronipizaaOP12mo ago
あーーーー!!!! 盲点でした!!! この場合%victim%にすれば大丈夫でしょうか
soramame_256
soramame_25612mo ago
動くだろうけどそれで望む動作をするなら。
Want results from more Discord servers?
Add your server