Class ScriptRoomPlayer
서버에서 게임 유저를 관리하는 단위입니다. 유저 한명에 대응됩니다.
네임스페이스: Commons.Server.Scripts
어셈블리: Creator.dll
Syntax
[MoonSharpUserData]
public class ScriptRoomPlayer : ScriptObject
생성자
ScriptRoomPlayer(ScriptServer, RoomPlayer)
서버에서 게임 유저를 관리하는 단위입니다. 유저 한명에 대응됩니다.
선언
public ScriptRoomPlayer(ScriptServer parent, RoomPlayer rp)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
ScriptServer | parent | |
Commons.Server.RoomPlayer | rp |
프로퍼티
baseEXP
현재 플레이어의 레벨의 하나 전 레벨까지 필요한 총 경험치 양
EX)현재 플레이어의 레벨이 3 이고 경험치 요구량이
1 레벨 => 2 레벨 요구 경험치: 10
2 레벨 => 3 레벨 요구 경험치: 20
3 레벨 => 4 레벨 요구 경험치: 30
일 때 baseExp의 값은 30. (10 + 20)
선언
public long baseEXP { get; }
프로퍼티 값
타입 | 설명 |
---|---|
long |
clan
플레이어가 현재 속해있는 클랜
선언
public ScriptClan clan { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptClan |
clanID
플레이어가 속해있는 클랜의 ID
선언
public long clanID { get; }
프로퍼티 값
타입 | 설명 |
---|---|
long |
exp
이 플레이어의 현재 누적 경험치
선언
public long exp { get; }
프로퍼티 값
타입 | 설명 |
---|---|
long |
id
이 플레이어의 고유 ID
선언
public long id { get; }
프로퍼티 값
타입 | 설명 |
---|---|
long |
isChatBanned
플레이어의 채팅 차단 상태
선언
public bool isChatBanned { get; }
프로퍼티 값
타입 | 설명 |
---|---|
bool |
isGM
이 플레이어가 게임 관리자(마스터)인지 반환합니다
선언
public bool isGM { get; }
프로퍼티 값
타입 | 설명 |
---|---|
bool |
isGuest
이 플레이어가 게스트 계정인지 반환합니다.
선언
public bool isGuest { get; }
프로퍼티 값
타입 | 설명 |
---|---|
bool |
langauge
서버에서 게임 유저를 관리하는 단위입니다. 유저 한명에 대응됩니다.
선언
public string langauge { get; }
프로퍼티 값
타입 | 설명 |
---|---|
string |
level
이 플레이어의 레벨
선언
public int level { get; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
maxEXP
현재 플레이어의 레벨까지 필요한 총 경험치 양
ex)현재 플레이어의 레벨이 3 이고 경험치 요구량이
1 레벨 => 2 레벨 요구 경험치: 10
2 레벨 => 3 레벨 요구 경험치: 20
3 레벨 => 4 레벨 요구 경험치: 30
일 때 maxEXP의 값은 60. (10 + 20 + 30)
선언
public long maxEXP { get; }
프로퍼티 값
타입 | 설명 |
---|---|
long |
name
이 플레이어의 이름
선언
public string name { get; }
프로퍼티 값
타입 | 설명 |
---|---|
string |
remoteIP
이 플레이어의 remote IP
선언
public string remoteIP { get; }
프로퍼티 값
타입 | 설명 |
---|---|
string |
score
설정한 스코어의 값
선언
public int score { get; set; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
team
팀 값 (0 ~ 3 = 팀1 ~ 팀4)
선언
public int team { get; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
unit
이 플레이어가 갖고있는 유닛 ScriptUnit 객체
선언
public ScriptUnit unit { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptUnit |
wallet_address
이 플레이어의 Wallet address
선언
public string wallet_address { get; }
프로퍼티 값
타입 | 설명 |
---|---|
string |
함수
AddStorageItem(int, int, int)
플레이어 창고에 아이템 지급
선언
public bool AddStorageItem(int storageID, int itemDataID, int count)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | storageID | 창고 ID |
int | itemDataID | 아이템 데이터 ID |
int | count | 아이템 개수 |
반환
타입 | 설명 |
---|---|
bool | 아이템 지급 성공 여부 |
Destroy()
플레이어 할당 해제
선언
public void Destroy()
FireEvent(string, params object[])
클라이언트로 Topic에 대한 이벤트를 보냅니다.
선언
public void FireEvent(string topic, params object[] arguments)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
string | topic | 보낼 Topic |
object[] | arguments | 함께 보낼 인자들 |
GetItem(long)
플레이어가 가지고있는 아이템
선언
public TItem GetItem(long id)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
long | id | 해당 아이템의 고유 ID |
반환
타입 | 설명 |
---|---|
TItem |
GetItems(Closure)
현재 플레이어가 가지고 있는 아이템들을 System.Collections.Generic.List<T> 형식으로 반환합니다.
예) 해당 이벤트를 클릭했을때 밑의 스크립트 사용시 Titem 사용print(unit.player.GetItems()[1])
선언
public List<TItem> GetItems(Closure filterCallback)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
MoonSharp.Interpreter.Closure | filterCallback |
반환
타입 | 설명 |
---|---|
System.Collections.Generic.List<T><TItem> | TItem 테이블 |
GetNFTs()
플레이어가 보유한 NFT 아이템 가져오기
선언
public ScriptNFT[] GetNFTs()
반환
타입 | 설명 |
---|---|
ScriptNFT[] |
GetOtherGameItemCount(long, int, int)
다른 게임의 아이템 갯수를 가져옵니다.
선언
public int GetOtherGameItemCount(long targetGameID, int targetItemID, int targetItemLevel = 0)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
long | targetGameID | 다른 게임 ID |
int | targetItemID | 타겟 아이템 ID |
int | targetItemLevel | 타겟 아이템 레벨 |
반환
타입 | 설명 |
---|---|
int |
GetStorageItems(int)
플레이어의 창고 아이템 목록을 가져옵니다.
선언
public List<TItem> GetStorageItems(int id)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | id | 불러올 창고 ID |
반환
타입 | 설명 |
---|---|
System.Collections.Generic.List<T><TItem> |
GetWalletAddress()
플레이어의 지갑 주소
선언
public string GetWalletAddress()
반환
타입 | 설명 |
---|---|
string |
GetWalletBalance(string)
플레이어의 지갑의 가상화폐 금액 (단위 WEI)
선언
public string GetWalletBalance(string chain)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
string | chain | 메인넷 이름 (ethereum, matic, klaytn) |
반환
타입 | 설명 |
---|---|
string |
HasOtherGameItem(long, int, int)
해당 유닛이 다른 게임의 아이템을 가지고 있는지 확인합니다.
선언
public bool HasOtherGameItem(long targetGameID, int targetItemID, int targetItemCount = 1)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
long | targetGameID | |
int | targetItemID | |
int | targetItemCount |
반환
타입 | 설명 |
---|---|
bool |
IsValid()
이 개체의 유효성 여부를 가져옵니다.
선언
public bool IsValid()
반환
타입 | 설명 |
---|---|
bool |
RemoveStorageItem(int, int, int)
플레이어 창고의 아이템 회수
선언
public bool RemoveStorageItem(int storageID, int itemDataID, int count)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | storageID | 창고 ID |
int | itemDataID | 아이템 데이터 ID |
int | count | 아이템 개수 |
반환
타입 | 설명 |
---|---|
bool | 아이템 회수 성공 여부 |
SendItemUpdated(TItem)
현재 유닛이 가진 아이템 정보 갱신
선언
public void SendItemUpdated(TItem item)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
TItem | item | 갱신할 아이템 |
SortBagItems(Closure)
플레이어의 가방의 아이템을 정리합니다.
선언
public List<TItem> SortBagItems(Closure compareCallback)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
MoonSharp.Interpreter.Closure | compareCallback |
반환
타입 | 설명 |
---|---|
System.Collections.Generic.List<T><TItem> |