개인 자료란 (JE)

  서버 커뮤니티

Profile 누비10723 대표칭호 없음
Profile

질문하기 스크립트

이 스크립트를 사용하려면 어느 부분을 수정하거나 추가해야 하나요?

2024.07.16 조회 수 72 추천 수 0
이해도 입문자 
게임버전 (JE) 1.9.4 
게임버전 (BE) 관련없음 

네이버 블로그에서 다운 받은 코드입니다

원래는 본문에 적힌 스크립트보다 더 길지만 필요 없어 보이는 부분은 굳이 넣지 않았습니다

책을 들고 우클릭했을 때 뽑기가 되게끔 하고 싶은데 어느 부분을 건드려야 할 지 모르겠습니다...

코드 수정을 해야 하나요  아니면 코드에 추가를 해야 하나요?



options:

    p: %{item.prefix}%

    inven.item-win: ItemCube.Win-

    inven.item-normal: ItemCube.Nor-

    lore.code: &0[ItemCube]-

on load:

    {item.prefix} is not set

    set {item.prefix} to "&e&l[&f&lItemCube&e&l]&r"

on rightclick:

    set {_lore::*} to tool' lore

    set {_num} to number of {_lore::*}

    set {_code} to {_lore::%{_num}%}

    {_code} contains "{@lore.code}"

    cancel event

    loop 36 times:

        slot loop-number - 1 of player is air

        set {_has.space} to true

        exit loop

    if {_has.space} is not set:

        send "{@p} 인벤토리 공간을 비우신 후 다시 시도해주세요."

        exit

    replace "{@lore.code}" with "" in {_code}

    if {item.data::%{_code}%} is not set:

        send "{@p} 아이템 사용 중 오류가 발생했습니다. 관리자에게 문의해주세요."

        exit

    remove 1 of tool from tool

    chance of {item.data::%{_code}%::chance} %:

        set {_win} to true

        set {_item} to random element of {item.data::%{_code}%::win::*}

    else:

        set {_item} to random element of {item.data::%{_code}%::normal::*}

    if {_item}' name is set:

        set {_display} to {_item}' name

    else:

        set {_display} to {_item}' type

    give {_item} to player

    if {_win} is true:

        broadcast ""

        broadcast "{@p} &e&l%player% &r님이 &e%{_code}% &r뽑기에서 &a&l[  %{_display}%  &a&l] &r아이템을 획득했습니다 !"

        broadcast ""

    else:

        send "{@p} &e%{_code}% &r뽑기에서 &a&l[  %{_display}%  &a&l] &r아이템을 획득했습니다 !"

on inventory close:

    if name of event-inventory contains "{@inven.item-win}":

        set {_name} to name of event-inventory

        replace "{@inven.item-win}" with "" in {_name}

        delete {item.data::%{_name}%::win::*}

        loop 54 times:

            slot loop-number - 1 of event-inventory is not air

            add slot loop-number - 1 of event-inventory to {item.data::%{_name}%::win::*}

        send "{@p} &e%{_name}% &r뽑기의 당첨 아이템을 설정했습니다."

    if name of event-inventory contains "{@inven.item-normal}":

        set {_name} to name of event-inventory

        replace "{@inven.item-normal}" with "" in {_name}

        delete {item.data::%{_name}%::normal::*}

        loop 54 times:

            slot loop-number - 1 of event-inventory is not air

            add slot loop-number - 1 of event-inventory to {item.data::%{_name}%::normal::*}

        send "{@p} &e%{_name}% &r뽑기의 일반 아이템을 설정했습니다."

4개의 댓글

windy_wind
2024.07.16

1 of player's tool is book을 사용하시면 될 것 같은데.. 그보다

아이템 로어에 코드(변수 인덱스)를 저장해서 변수값들을 가져오는 방식이라서

책으로 하실거면 book에 확률 아이템설정 인벤토리 이름이 아이템 로어에 붙어있어야 할 것 같네용

 

누비10723
2024.07.22
@windy_wind

답변이 늦은 점 죄송합니다

제가 마크 스크립트를 잘 몰라서 선생님 말이 이해가 잘 되지 않습니다....

확률 아이템설정 인벤토리가 어디있는지 잘 모르겠습니다

windy_wind
2024.07.24
@누비10723

if name of event-inventory contains "{@inven.item-normal}":

 

set {_name} to name of event-inventory

 

replace "{@inven.item-normal}" with "" in {_name}

 

delete {item.data::%{_name}%::normal::*}

 

loop 54 times:

 

slot loop-number - 1 of event-inventory is not air

 

add slot loop-number - 1 of event-inventory to {item.data::%{_name}%::normal::*}

 

send "{@p} &e%{_name}% &r뽑기의 일반 아이템을 설정했습니다."

 

이 부분에 뽑기 아이템 설정하는 인벤토리요.

만드신 사람의 코드 해석하시기 힘드시면 이참에 스크립트 배워보시는 건 어떠십니까 ^D^d

windy_wind
2024.07.24
@windy_wind

저기 스크립트에서 일단 수정하기 좀 까다로워 보임 (아무튼 그럼.)

그래서 추천하는거임 ^D^d