Inermis_ f74bd10639544527845f60e073427a16
이해도 | 1.16 |
---|---|
게임버전 (JE) | 버킷 |
스크립트 애드온 | 2.5 |
해당 블로그에서 받은 스크립트를 1.16.3에서 사용하려하는데
모든 기능이 작동하지만 목록 수정에 아이템을 올리고 창을 닫으면 저장이 안되고 사라집니다.. ㅠㅠ 해결방법이 있을까요?
options:
1 : &f&l[ &6&lRandom Chest &f&l]
command /랜덤상자 [<text> ] [<text>] [<player>]:
permission: op.op
permission message: &c당신은 권환이 없습니다
trigger:
if arg 1 is not set:
send "{@1} /랜덤상자 생성 이름 - &b&l랜덤 상자를 만듭니다."
send "{@1} /랜덤상자 삭제 이름 - &b&l랜덤 상자를 삭제합니다."
send "{@1} /랜덤상자 설정 이름 - &b&l랜덤 상자 아이템을 설정합니다."
send "{@1} /랜덤상자 목록 - &b&l랜덤 상자 리스트를 확인합니다."
send "{@1} /랜덤상자 지급 이름 플레이어 - &b&l랜덤 상자를 지급합니다."
if arg 1 is "생성":
if arg 2 is set:
if {chest.random.%arg 2%} is not set:
set {chest.random.%arg 2%} to true
send "{@1} %arg 2% 를 생성하였습니다."
add "%arg 2%" to {chest.random.list::*}
else:
send "{@1} 이미 존재하는 상자입니다."
else:
send "{@1} 이름을 설정해주세요"
if arg 1 is "삭제":
if arg 2 is set:
if {chest.random.%arg 2%} is true:
clear {chest.random.%arg 2%}
clear {chest.random.%arg 2%.item::*}
loop {chest.random.list::*}:
if "%loop-value%" is "%arg 2%":
clear {chest.random.list::%loop-index%}
exit loop
send "{@1} 정상적으로 삭제되었습니다."
if arg 1 is "목록":
if {chest.random.list::1} is not set:
send "{@1} 존재하는 상자가 없습니다. /랜덤상자 생성 으로 만들어보세요 !"
if {chest.random.list::1} is set:
send "&6&l----==== Random Chest List ====----"
loop {chest.random.list::*}:
send "&f[&c%loop-index%&f] &f&l%loop-value%"
send "&6&l----===========================----"
if arg 1 is "설정":
if arg 2 is set:
if {chest.random.%arg 2%} is true:
open chest with 6 row named "랜덤상자 %arg 2% 아이템 설정" to player
loop {chest.random.%arg 2%.item::*}:
wait 1 tick
add 1 to {_player}
set slot {_player}-1 of current inventory of player to {chest.random.%arg 2%.item::%loop-index%}
else:
send "{@1} 존재하지 않은 상자입니다."
else:
send "{@1} 이름을 설정해주세요"
if arg 1 is "지급":
if arg 2 is set:
if {chest.random.%arg 2%} is true:
if arg 3 is set:
give chest named "&c&l%arg 2% &6&l랜덤상자" with lore "&6&l● &f&l우클릭시 랜덤상자를 엽니다." to arg 3
send "{@1} 정상적으로 지급되었습니다."
send "{@1} 랜덤 상자가 지급되었습니다." to arg 3
else:
send "{@1} 플레이어 닉네임을 적어주세요"
else:
send "{@1} 존재하지 않은 상자입니다."
else:
send "{@1} 이름을 설정해주세요"
on inventory close:
if inventory name of current inventory of player contains "랜덤상자":
set {_name} to uncolored inventory name of current inventory of player
replace all "랜덤상자" and "아이템" and "설정" and " " with "" in {_name}
clear {chest.random.%{_name}%.item::*}
loop 54 times:
add 1 to {_player}
add slot {_player}-1 of current inventory of player to {chest.random.%{_name}%.item::*}
on right click with chest:
if name of player's tool contains "랜덤상자":
cancel event
set {_name} to uncolored name of player's tool
replace all "랜덤상자" and " " with "" in {_name}
remove 1 of player's tool from player's tool
loop {chest.random.%{_name}%.item::*}:
if loop-value is not air:
add 1 to {_player}
set {_integer} to random integer between 0.1 and {_player}
give {chest.random.%{_name}%.item::%{_integer}%} to player
set {_item} to {chest.random.%{_name}%.item::%{_integer}%}
send "{@1} 랜덤 상자에서 %{_item}% 을 뽑으셨습니다. "
스크립터브혼
2020.10.31먼저, 원작자가 있는 게시물이면 원작자에게 먼저 문의해보시길 바랍니다.
인벤토리가 저장되는 부분은
이 부분 입니다. 이부분의 조건문, 변수 등이 어떻게 흘러가는지 분석해 보시길 바랍니다.