개인 자료란 (JE)

  서버 커뮤니티

Profile 신제원 대표칭호 없음
Profile

질문하기 스크립트

재료시스템

2021.06.11 조회 수 64 추천 수 0

혹시 플레이어의 인벤토리에 특정아이템이있으면 무언가를 실행시키게하려면 어떤구문을써야할까요?

1개의 댓글

스크립터브혼
2021.06.11

먼저 ItemType으로 인벤토리에 있는지 확인하는 방법입니다.

[Amount of Items] 익스프레션으로 인벤토리에 있는 ItemType과 일치하는 개수를 구할 수 있습니다.

> set {_amount} to amount of stone in inventory of player


이 방식은 같은 종류의 아이템의 개수를 구하는 것으로 메타데이터에 따라 다른 값을 가질 수 도 있습니다.



#> 인벤토리에 있는 아이템의 개수를 반환합니다.
#> @param i 찾을 아이템
#> @param inv 검색할 인벤토리
#> @return 아이템의 개수
function ExprItemAmount(item:item,inventory:inventory) :: integer:
    set {_one} to 1 of {_item}
    loop all items in ExprToInventory( {_inventory} ):
        1 of loop-item is {_one}
        add item amount of loop-item to {_amount}
    return {_amount} otherwise 0

다음은 Item으로 명확한 아이템의 개수를 구하는 함수입니다.

item에 검색할 아이템을, inventpry에 검색할 인벤토리를 넘겨주시면 됩니다


set {_item} to stone named "검색 가능한 돌"
if ExprItemAmount( {_item}, inventory of player ) > 0:
    send "검색 된 돌 아이템 있음"

이런식으로 사용할 수 있습니다.