이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.19.3 |
게임버전 (BE) | 관련없음 |
command /무기설정 [<integer>]:
trigger:
player is op:
if arg 1 is not set:
message "&f/무기설정 &c<공격력>"
else:
if player's tool is air:
message "&c손에 장비를 들어주세요."
else:
set the 5st line of player's tool' lore to "&c▩ 공격력 : %arg 1%"
message "&c무기스탯을 설정했습니다."
on damage:
if attacker is player:
set {_lore::*} to uncolored lore of attacker's tool
loop {_lore::*}:
if loop-value contains "▩ 공격력 :":
set {at} to loop-value
replace all "▩ 공격력 : " with "" in {at}
set {at} to {at} parsed as number
if attacker's tool is wooden sword or diamond sword or iron sword or stone sword or golden sword:
if {at} is set:
set {_at2} to mod({at}/2,{at}) # {at2}에 {at}/2 값을 넣음
set damage to random number between {_at2} to {at}
else:
set damage to random number between 0.01 to 1
이런식으로 무기에 공격력 lore 가 붙은 검에만 설정한 데미지가 나오게 하고
다른 것들은 다 0.01~1 사이의 데미지만 나오게 짠 것 같은데..
공격력 lore가 붙지 않은 무기들도 데미지가 0.01~1 사이가 아니라 다른 무기에 설정한 공격력이 설정이 되네요...
이유가 뭔가요??
qsef1256
2023.02.24{at}가 전역 변수라서요. 스크립트에서 {a} 같이 그냥 적은 변수는 전역 변수고 전역 변수는 지우지 않은 이상 계속 남아요.
ysj5896
2023.02.24그럼 _넣어서 바꾸면 될까요? 혹시
set {_at2} to mod({at}/2,{at}) # {at2}에 {at}/2 값을 넣음
set damage to random number between {_at2} to {at}
여기 구문을 효과를 빼고 싶진 않은데 어떻게 바꾸면 좋을까요..
ysj5896
2023.02.24해결했습니다 감사합니다!!!