개인 자료란 (JE)

  서버 커뮤니티

Profile 준너 정품인증자

Ricky_Kim f8e47150bfe44d8695eca6ad48f4e552

Profile

질문하기 스크립트

교환 스크립트 작업중인데..

2021.03.09 조회 수 280 추천 수 0
이해도 1.16 
게임버전 (JE) 스피곳 
게임버전 (BE) sk Dragon, Skellett-legacy, Skquery, skRayFall, Skript-mirror, skUtilities, vault 
스크립트 애드온 2.5.3 

on inventory click:

    if inventory name of current inventory contains "&b&l[&6&l인생 도박&b&l]":

        cancel event

        if name of click item contains "&f&l하얀 큐브":

            give 10 white glazed terracotta named "&f&l하얀 큐브" to player

            message "&6&l[준너 온라인] &b&l하얀큐브 를 구매하셨습니다!&7-은화 10개(을)를 소모했습니다." to player

            remove 10 of iron nugget named "&6&l [꼬질이 은화]" from inventory of player

            stop

            else:

                if amount of iron nugget in inventory of player < 10:

                cancel event

                message "&6&l[!]소지금이 충분하지 않습니다[!]"

                stop


현재 작업중인 스크립트 구문입니다. 시계(도박장) 으로 가상 인벤토리를 열었을때 플레이어에게 10개의 큐브를 주고 10 은화를 소모 하는것 까지는 구현이 됬습니다.  제가 원하는것은 10개의 iron nugget 을 소모 하여 얻는것->10개의 iron nugget 이 없을경우 교환이 불가 합니다 라는 상태를 만들고 싶은데 마음대로 잘 되지 않더라구요..


아시는분들은 도와주신다면 정말 감사하겠습니다.


버킷 버전:1.16.5

특별한 모드 없음

사용중인 애드온: sk Dragon , Skellett-legacy, Skquery , skRayFall , Skript-mirror, skUtilities, vault


+스크립트 구버전에서 인벤토리 홀더 문제가 최신버전의 스크립트롤 사용해도 똑같이 일어나더군요 ㅠㅜ  해외 스크립트 사이트를 찾아보니 SKQuary 애드온이 문제를 일으킨다는데 저 애드온 없이는 구문을 작성을 못해서 슬픕니다 ㅠㅜ




2개의 댓글

스크립터브혼
2021.03.09

은화를 소비하기 전에 판단하면 됩니다.
큐브를 얻기 위해서 플레이어가 해야할 일은 [GUI 열기 → 큐브 선택 → 구매] 구조입니다.

give 10 white glazed terracotta named "&f&l하얀 큐브" to player
message "&6&l[준너 온라인] &b&l하얀큐브 를 구매하셨습니다!&7-은화 10개(을)를 소모했습니다." to player
remove 10 of iron nugget named "&6&l [꼬질이 은화]" from inventory of player

이 코드가 [구매]에 해당하는 코드입니다.

구매가 이루어지기 전에 플레이어가 구매가 가능한지 판단하면 됩니다.

if %condition%:
    ~ 구매 불가
    stop

if %condition%:
    ~ 구매 불가
    stop

~ 구매 가능

이처럼 [구매] 코드가 실행되기전 불가능한 상황을 먼저 처리하면 됩니다.

준너
2021.03.09
@스크립터브혼

너무 감사합니다:)!