이해도 | 1.12 |
---|---|
게임버전 (JE) | 모드버킷 |
게임버전 (BE) | GomSK, InvSK, MarSK, Skellett, SkQuery_152, Skript, UltraSKaRebirth, Umbaska-3.3, WildSkript |
스크립트 버전 | 입문자(아무것도 몰라요) |
스크립트 애드온 | dev26 이었던 것 같습니다 |
무료 배포된 상점 스크립트 사용중인데요
상품에 마우스 올리면 떠야하는 설명이 뜨지 않고
판매할 수 있는 상품이 있어도 판매가 되지 않는 오류가 있습니다.
(구매는 잘 됩니다)
캣서버 12.2입니다.
애드온은 배포하신분이 올려주신 리스트 적었습니다.
배포하신분이 연락이 닿지않아 질문 글 올립니다.
해당 구문 첨부 합니다.
[상품 설명]
if arg 1 is "열기":
if arg 2 is set:
if {상점목록::%arg-2%} is set:
open "CHEST" with {상점라인.%arg 2%} row named "{@c} &f%arg 2%" to player
wait 1 tick
loop {상점라인.%arg-2%}*9 times:
add 1 to {_슬롯}
if {상점물품가격.%arg-2%::%{_슬롯}%} is set:
set slot {_슬롯}-1 of current inventory of player to {상점물품.%arg-2%::%{_슬롯}%}
if {상점물품가격.%arg-2%::%{_슬롯}%} is set:
delete {_lore::*}
set {_item} to {상점물품.%arg-2%::%{_슬롯}%}
add "" to {_lore::*}
add "&c[ &f구매 &c] &f%{상점물품구매.%arg-2%::%{_슬롯}%}%" to {_lore::*}
add "&c[ &f판매 &c] &f%{상점물품판매.%arg-2%::%{_슬롯}%}%" to {_lore::*}
add "" to {_lore::*}
add "&8[ &f사용방법 &8]" to {_lore::*}
add " &7- &e좌클릭 &f시 물품을 &c구매&f합니다." to {_lore::*}
add " &7- &e우클릭 &f시 물품을 &c판매&f합니다." to {_lore::*}
add " &7- &e쉬프트 + 좌클릭 &f시 한세트를 &c구매&f합니다." to {_lore::*}
add " &7- &e쉬프트 + 우클릭 &f시 물품을 모두 &c판매&f합니다." to {_lore::*}
set {_item}'s lore to {_lore::*} - 오류 구문입니다.
set slot {_슬롯}-1 of current inventory of player to {_item}
#set line 1 of lore of slot {_슬롯}-1 of player's current inventory to ""
#set line 2 of lore of slot {_슬롯}-1 of player's current inventory to "&c[ &f구매 &c] &f%{상점물품구매.%arg-2%::%{_슬롯}%}%"
#set line 3 of lore of slot {_슬롯}-1 of player's current inventory to "&c[ &f판매 &c] &f%{상점물품판매.%arg-2%::%{_슬롯}%}%"
#set line 4 of lore of slot {_슬롯}-1 of player's current inventory to ""
#set line 5 of lore of slot {_슬롯}-1 of player's current inventory to "&8[ &f사용방법 &8]"
#set line 6 of lore of slot {_슬롯}-1 of player's current inventory to " &7- &e좌클릭 &f시 물품을 &c구매&f합니다."
#set line 7 of lore of slot {_슬롯}-1 of player's current inventory to " &7- &e우클릭 &f시 물품을 &c판매&f합니다."
#set line 8 of lore of slot {_슬롯}-1 of player's current inventory to " &7- &e쉬프트 + 좌클릭 &f시 한세트를 &c구매&f합니다."
#set line 9 of lore of slot {_슬롯}-1 of player's current inventory to " &7- &e쉬프트 + 우클릭 &f시 한세트를 &c판매&f합니다."
else:
set slot {_슬롯}-1 of current inventory of player to {상점물품.%arg-2%::%{_슬롯}%}
stop
[우클 시]
if click type is right mouse button:
loop all items in player's inventory:
if loop-item is {상점물품설정.%{_이름}%::%clicked raw slot + 1%}:
remove {상점물품설정.%{_이름}%::%clicked raw slot + 1%} from player's inventory
add {상점물품판매.%{_이름}%::%clicked raw slot + 1%} to {money::%player%}
# message ""
message "{@c} &f당신은 &e%{상점물품설정.%{_이름}%::%clicked raw slot + 1%}%&f(을)를 &c%{상점물품판매.%{_이름}%::%clicked raw slot + 1%}%&f원에 &e판매&f하셨습니다."
# message ""
stop
else:
# message ""
message "{@c} &f당신은 &e%{상점물품설정.%{_이름}%::%clicked raw slot + 1%}%&f(이)라는 아이템이 없어 &c판매&f하실 수 없습니다."
# message ""
stop
if click type is right mouse button with shift:
loop all items in player's inventory:
if loop-item is {상점물품설정.%{_이름}%::%clicked raw slot + 1%}:
set {_a} to amount of {상점물품설정.%{_이름}%::%clicked raw slot + 1%} in player's inventory
remove {_a} of {상점물품설정.%{_이름}%::%clicked raw slot + 1%} from player's inventory
add {_a} * {상점물품판매.%{_이름}%::%clicked raw slot + 1%} to {money::%player%}
# message ""
message "{@c} &f당신은 &e%{상점물품설정.%{_이름}%::%clicked raw slot + 1%}%&f(을)를 모두 판매하여 &c%{_a} * {상점물품판매.%{_이름}%::%clicked raw slot + 1%}%&f원에 &e판매&f하였습니다."
# message ""
stop
else:
# message ""
message "{@c} &f당신은 &e%{상점물품설정.%{_이름}%::%clicked raw slot + 1%}%&f(이)라는 아이템이 없어 &c판매&f하실 수 없습니다."
# message ""
stop
스크립트 지식이 부족합니다..
설명과 함께 어느부분이 어떻게 수정되어야 하는지
알려주시면 감사하겠습니다.
스크립터브혼
2021.01.291.12 이하 버전의 lore는 '||'를 구분자로 하는 하나의 텍스트를 가지고
1.13 이상 버전은 lore을 줄 마나 하나씩, 여러개의 텍스트를 가지집니다.
> set {_item}'s lore to {_lore::*}
{_lore::*} 변수는 리스트로 여러개의 텍스트를 가지기 때문에 오류가 발생합니다.
[Join]익스프레션으로 '||'를 구분자로 하는 하나의 텍스트로 바꾸세요.
> join {_lore::*} with "||"
판매가 성립되기 위해서는...
> remove {상점물품설정.%{_이름}%::%clicked raw slot + 1%} from player's inventory
> add {상점물품판매.%{_이름}%::%clicked raw slot + 1%} to {money::%player%}
위 두 코드가 실행되어야 합니다.
이 코드가 실행되기 위해서는 앞선 두개의 조건문을 만족해야합니다.
두 조건문이 왜 만족되지 않는지 그 값을 출력해서 확인해보세요.
click type, loop-item, 변수... 등 판매 코드가 동작하기 위해 필요한 데이터들이 어떤 값을 가지는지 확인해보시기 바랍니다.