이해도 | 입문자(아무것도 몰라요) |
---|---|
게임버전 (JE) | 1.12.2 |
게임버전 (BE) | 관련없음 |
유월님의 커스텀 gui 스크립트를 쓰고 있는데 gui스크립트안에 아이템을 넣어놓으면 증발합니다 명령어도 없어지구요 해결방법이 뭔가요?
# 이 스크립트는 오류가 있을 수 있습니다.
# 1인 개발이다보니 실험에 한계가 있습니다.
# 2차 수정은 가능하나 2차 배포는 불가능합니다.
# 2차 배포를 원하시는 경우 저에게 먼저 " 허락 " 을 받아주세요.
options:
c: &e[ &f유월&c블로그 &e]
variables:
{gui.list} = 0
command /GUI [<text>] [<text>] [<integer>] [<text>]:
permission: op.op
trigger:
if arg 1 is not set:
message ""
message "{@c} &f/GUI &e목록 &f- GUI &e목록&f을 &e확인&f합니다."
message "{@c} &f/GUI &e열기 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI(을)를 &e오픈 &f합니다."
message "{@c} &f/GUI &e생성 &c[&f이름&c] &c[&f줄 수&c] &f- &c[&f이름&c] &f(이)라는 GUI(을)를 &e생성 &f합니다."
message "{@c} &f/GUI &e제거 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI(을)를 &e제거 &f합니다."
message ""
message "{@c} &f/GUI &e슬롯설정 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI의 &e슬롯&f을 &e설정 &f합니다."
message "{@c} &f/GUI &e명령어설정 &c[&f이름&c] [&f슬롯&c] [&c&f명령어&c] &f- &c[&f이름&c] &f(이)라는 GUI 각 슬롯에 &e명령어&f를 &e설정 &f합니다."
message "{@c} &f/GUI &e명령어초기화 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI의 &e명령어&f를 &e초기화 &f합니다."
message ""
stop
if arg 1 is "목록":
message ""
if {gui.list} is 0:
message "{@c} &f생성된 &eGUI&f(이)가 없습니다."
else:
loop {gui.list} times:
add 1 to {_숫자}
message "{@c} &a[ &f%{_숫자}% &a] &c%{gui::%{_숫자}%}%"
if {gui.list} is not set:
message "{@c} &f생성된 &eGUI&f(이)가 없습니다."
else:
loop {gui.list} times:
add 1 to {_숫자}
message "{@c} &a[ &f%{_숫자}% &a] &c%{gui::%{_숫자}%}%"
message ""
if arg 1 is "열기":
if arg 2 is set:
if "%{gui::*}%" contains "%arg-2%":
open chest with {guiline.%arg 2%} row named "&e[ &fGUI &e] &c%arg 2%" to player
wait 1 tick
loop {guiline.%arg-2%}*9 times:
add 1 to {_슬롯}
set slot {_슬롯}-1 of current inventory of player to {guislot.%arg-2%::%{_슬롯}%}
else:
message ""
message "{@c} &f/GUI &e열기 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI(을)를 &e오픈 &f합니다."
message ""
stop
if arg 1 is "생성":
if arg 2 is set:
if arg 3 is set:
if "%{gui::*}%" contains "%arg-2%":
message ""
message "{@c} &f당신이 이미 &c%arg-2% &f(이)라는 GUI(을)를 &e생성 &f했습니다."
message ""
stop
else:
add 1 to {gui.list}
add "%arg-2%" to {gui::*}
add arg-3 to {guiline.%arg-2%}
message ""
message "{@c} &f당신은 &c%arg-2% &f(이)라는 이름의 GUI(을)를 &e생성 &f하였습니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e생성 &c[&f이름&c] &c[&f줄 수&c] &f- &c[&f이름&c] &f(이)라는 GUI(을)를 &e생성 &f합니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e생성 &c[&f이름&c] &c[&f줄 수&c] &f- &c[&f이름&c] &f(이)라는 GUI(을)를 &e생성 &f합니다."
message ""
stop
if arg 1 is "제거":
if arg 2 is set:
if "%{gui::*}%" contains "%arg-2%":
remove "%arg-2%" from {gui::*}
set {gui::*} to {gui::*}
delete {guiline.%arg-2%}
delete {guislot.%arg-2%::*}
delete {guicommand.%arg-2%::*}
remove 1 from {gui.list}
message ""
message "{@c} &f당신은 &c%arg-2% &f(이)라는 이름의 GUI(을)를 &e제거 &f하였습니다."
message ""
stop
else:
message ""
message "{@c} &f생성되지 않거나 이미 &e제거&f된 &eGUI&f입니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e제거 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI(을)를 &e제거 &f합니다."
message ""
stop
if arg 1 is "슬롯설정":
if arg 2 is set:
if "%{gui::*}%" contains "%arg-2%":
wait 1 tick
open chest with {guiline.%arg 2%} row named "&e[ &fGUI설정 &e] &c%arg 2%" to player
wait 1 tick
loop {guiline.%arg-2%}*9 times:
add 1 to {_슬롯}
set slot {_슬롯}-1 of current inventory of player to {guislot.%arg-2%::%{_슬롯}%}
else:
message ""
message "{@c} &f생성되지 않은 &eGUI&f입니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e슬롯설정 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI의 &e슬롯&f을 &e설정 &f합니다."
message ""
stop
if arg 1 is "명령어설정":
if arg 2 is set:
if arg 3 is set:
if arg 4 is set:
if "%{gui::*}%" contains "%arg-2%":
set {guicommand.%arg-2%::%arg-3%} to arg-4
message ""
message "{@c} &c%arg-2% &f(이)라는 GUI의 &e%arg-3%&f번 슬롯&f을 &c[ &f/%{guicommand.%arg 2%::%arg 3%}% &c] &f(으)로 &e설정 &f하였습니다."
message ""
stop
else:
message ""
message "{@c} &f생성되지 않은 &eGUI&f입니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e명령어설정 &c[&f이름&c] [&f슬롯&c] [&c&f명령어&c] &f- &c[&f이름&c] &f(이)라는 GUI 각 슬롯에 &e명령어&f를 &e설정 &f합니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e명령어설정 &c[&f이름&c] [&f슬롯&c] [&c&f명령어&c] &f- &c[&f이름&c] &f(이)라는 GUI 각 슬롯에 &e명령어&f를 &e설정 &f합니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e명령어설정 &c[&f이름&c] [&f슬롯&c] [&c&f명령어&c] &f- &c[&f이름&c] &f(이)라는 GUI 각 슬롯에 &e명령어&f를 &e설정 &f합니다."
message ""
stop
if arg 1 is "명령어초기화":
if arg 2 is set:
if "%{gui::*}%" contains "%arg-2%":
delete {guicommand.%arg 2%::*}
message ""
message "{@c} &f당신은 성공적으로 &c%arg-2%&f의 &e명령어&f를 &e초기화 &f하였습니다."
message ""
stop
else:
message ""
message "{@c} &f생성되지 않은 &eGUI&f입니다."
message ""
stop
else:
message ""
message "{@c} &f/GUI &e명령어초기화 &c[&f이름&c] &f- &c[&f이름&c] &f(이)라는 GUI의 &e명령어&f를 &e초기화 &f합니다."
message ""
stop
on inventory click:
if inventory name of current inventory of player contains "&e[ &fGUI &e]":
cancel event
set {_인벤토리} to inventory name of player's current inventory
replace all "[" and "GUI" and "]" and " " with "" in {_인벤토리}
set {_인벤토리} to uncolored {_인벤토리} parsed as text
if {guicommand.%{_인벤토리}%::%clicked slot+1%} is not set:
exit
set {_command} to {guicommand.%{_인벤토리}%::%clicked slot+1%}
run player cmd "/%{_command}%" as op
on inventory close:
if uncolored inventory name of event-inventory contains "GUI설정":
set {_인벤토리} to inventory name of player's current inventory
replace all "[" and "GUI설정" and "]" and " " with "" in {_인벤토리}
set {_인벤토리} to uncolored {_인벤토리} parsed as text
clear {guislot.%{_인벤토리}%::*}
message ""
message "{@c} &f성공적으로 &eGUI&f(을)를 &c설정&f하셨습니다."
message ""
loop {guiline.%{_인벤토리}%}*9 times:
set {guislot.%{_인벤토리}%::%loop-num%} to slot loop-num -1 of current inventory of player
execute console command "/fly %player% off"
execute console command "/플라이"
command /변수초기화:
permission: op.op
trigger:
delete {gui.list}
delete {gui::*}
delete {guicommand.유월::*}
delete {guislot.유월::*}
delete {guiline.유월::*}
밑에는 오류 구문입니다.
Can't understand this condition: 'inventory name of current inventory of player contains "&e[ &fGUI &e]"' (커스텀.sk, line 199: if inventory name of current inventory of player contains "&e[ &fGUI &e]":')
[19:18:59] [Server thread/ERROR]: [Skript] event-inventory is neither an item stack, an item type nor an entity type (커스텀.sk, line 210: if uncolored inventory name of event-inventory contains "GUI설정":')
[20:28:29] [Server thread/ERROR]: [Skript] Parsing as text is useless as only things that are already text may be parsed (커스텀.sk, line 203: set {_인벤토리} to uncolored {_인벤토리} parsed as text')
[20:28:29] [Server thread/ERROR]: [Skript] the clicked slot is not a number (커스텀.sk, line 204: if {guicommand.%{_인벤토리}%::%clicked slot+1%} is not set:')
[20:28:29] [Server thread/ERROR]: [Skript] the clicked slot is not a number (커스텀.sk, line 206: set {_command} to {guicommand.%{_인벤토리}%::%clicked slot+1%}')
[20:28:29] [Server thread/ERROR]: [Skript] Parsing as text is useless as only things that are already text may be parsed (커스텀.sk, line 213: set {_인벤토리} to uncolored {_인벤토리} parsed as text')
qsef1256
2022.07.19display name of event-inventory
display name of current inventory
mjwonbin06
2022.07.19이런게 처음이라서 죄송하지만 무슨말인지 못알아 듣겠어요. 이런게 처음이라서
qsef1256
2022.07.19답만 알려드리자면
inventory name of event-inventory -> display name of event-inventory
Parsing as text -> parsed as text 때기
clicked slot -> 애드온 기능 삭제 되었으므로 대신 index of clicked slot 쓰기
테스트 안 해봤습니다, 작동 안 하면 다시 달아주세요
qsef1256
2022.07.19커스텀, 구버전 스크립트를 쓴다는 건 어느 정도 리스크도 진단 소리입니다. 코딩 실력이 없으면 스크립트를 갖다 쓸게 아니라 검증된, 업데이트 되고 있는 플러그인을 가져다 쓰는 게 맞습니다.
qsef1256
2022.07.19스크립트가 쉽다고 접근하는데, 쉽지 않아요. 프로그래머들 입장에서나 좀 쉽고 간편한거지 일반인 입장에서 쉬운 게 아닙니다