개인 자료란 (JE)

  서버 커뮤니티

Profile 충무김밥 대표칭호 없음
Profile

질문하기 스크립트

gui 이름 잘못 설정했다가 망했습니다

2021.08.22 조회 수 156 추천 수 0
이해도 1.17 
게임버전 (JE) 페이퍼 
스크립트 버전 입문자(아무것도 몰라요) 
스크립트 애드온 2.6-beta2 

on load:


    set {gui::store::slot::10} to spawner named "&r인간 스포너"

    set lore of {gui::store::slot::10} to "&r대가를 지불하고 원하는 위치에 원하는 몹을 생성합니다."

    

    set {gui::store::slot::11} to tnt named "&rtnt맨"

    set lore of {gui::store::slot::11} to "&r엔드 크리스탈을 들고 f키를 누르세요!" and "&r만약 다른 손에 들고 있는 게 있다면 그 아이템은 영영..."

    

    set {gui::store::slot::12} to iron sword named "&r이속 증가"

    set lore of {gui::store::slot::12} to "&r여러 재료로 힘, 속도, 점프력, 생명력을 증가시킵니다."

    

    set {gui::store::slot::13} to enchanted golden apple named "&r10초 무적"

    set lore of {gui::store::slot::13} to "&r10초 동안 무적 상태가 됩니다! (저항)" and "&r인챈트 된 황금사과를 더 지불하여 시간을 늘리세요."

    

    set {gui::store::slot::14} to glowstone named "&r위치 표시"

    set lore of {gui::store::slot::14} to "&r원하는 상대에게 발광 효과를 부여합니다." and "&r본인은 불가능, 위치는 모두에게 표시됩니다."


    set {gui::store::slot::15} to ender pearl named "&r순간이동"

    set lore of {gui::store::slot::15} to "&r원하는 좌표로 순간이동합니다." and "&r엔더 진주와 셜커 껍데기를 지불하여 가동 범위를 늘리세요."

    

    suppress variable save warning

    set {gui::store::inventory} to chest inventory with 5 rows named "능력 상점"

    

    loop {gui::store::slot::*}:

        set {_slot} to loop-index parsed as integer

        set slot {_slot} of {gui::store::inventory} to loop-value


    set {gui::spawner::slot::4} to spawner named "&r구매하기"

    

    suppress variable save warning

    set {gui::store::inventory} to chest inventory with 1 rows named "능력 구매하기"

    

    loop {gui::spawner::slot::*}:

        set {_slot} to loop-index parsed as integer

        set slot {_slot} of {gui::store::inventory} to loop-value


command /능력상점:

    trigger:

    

        open {gui::store::inventory} to player

        

command /psychicstore:

    trigger:

    

        open {gui::store::inventory} to player

        

on inventory click:


    current inventory of player is {gui::store::inventory}

    cancel event

    

    set {_slot} to index of clicked slot

    set {_item} to clicked slot

    

    if {_item} is {gui::store::slot::10}:

        send "인간 스포너를 선택하셨습니다."

        open {gui::store::inventory} to player

    

    else if {_item} is {gui::store::slot::11}:

        send "tnt맨을 선택하셨습니다."

        

    else if {_item} is {gui::store::slot::12}:

        send "신체 능력 최강자를 선택하셨습니다."

    

    else if {_item} is {gui::store::slot::13}:

        send "10초 무적을 선택하셨습니다."

        

    else if {_item} is {gui::store::slot::14}:

        send "위치 표시를 선택하셨습니다."

        

    else if {_item} is {gui::store::slot::15}:

        send "순간이동을 선택하셨습니다."


브혼님 코드 참고해서 제 맘대로 살짝 바꿔봤는데

spawner라고 입력해야 되는 걸 store로 입력한 채로 한 번 실행해버렸습니다...

한 번 이름을 잘못 입력하니 '인간 스포너'를 선택해야 나올 창이 명령어를  입력하면 바로 나와버리게 되었습니다...

도와주세요  ㅠㅅㅠ

2개의 댓글

스크립터브혼
2021.08.23
suppress variable save warning
set {gui::store::inventory} to chest inventory with 5 rows named "능력 상점"

loop {gui::store::slot::*}:
    set {_slot} to loop-index parsed as integer
    set slot {_slot} of {gui::store::inventory} to loop-value

suppress variable save warning
set {gui::store::inventory} to chest inventory with 1 rows named "능력 구매하기"

loop {gui::spawner::slot::*}:
    set {_slot} to loop-index parsed as integer
    set slot {_slot} of {gui::store::inventory} to loop-value

인벤토리를 저장하는 변수 이름이 겹칩니다. 이 부분을 고치시면 됩니다.

충무김밥
2021.08.25
@스크립터브혼

감사합니다! 해결 성공했어요.

그렇게 상점에서 스포너 구매란으로 옮겨지기까지는 하는데...

거기서 아이템 클릭했을 때 꺼내지더라고요.

그래서 on inventory click에서 보니 상점에만 못 꺼내게 하는 게 적용이 되어있었고,

그것 때문에 아이템이 꺼내지는 것 같았습니다

무식하게 코드 한 줄 추가했다가 둘 다 적용 안 돼서 일단 냅뒀어요

실례가 안 되신다면 도와주실 수 있으실까요?

아니면 상점이랑 구매란을 리스트로 묶을 수 있는 건가요?