Class Game.Rule
게임 룰 객체
Fields
Game.Rule.name | 룰 이름을 가져오거나 변경합니다. |
Game.Rule.desc | 룰 설명을 가져오거나 변경합니다. |
Game.Rule.user | 임의의 데이터를 저장할 수 있는 테이블입니다. |
Game.Rule.respawnable | 플레이어 리스폰 여부를 가져오거나 변경합니다. |
Game.Rule.respawnTime | 플레이어 리스폰 시간(초)을 가져오거나 변경합니다. |
Game.Rule.enemyfire | 다른 팀 공격 여부를 가져오거나 변경합니다. |
Game.Rule.friendlyfire | 아군 공격 여부를 가져오거나 변경합니다. |
Game.Rule.breakable | 플레이어의 맵 파괴 기능을 가져오거나 변경합니다. |
Methods
Game.Rule:Win (team, exit) | 특정 팀이 승리합니다. |
Game.Rule:Respawn () | 모든 플레이어가 강제로 리스폰됩니다. |
Game.Rule:CanSave () | 현재 맵이 저장 가능한지 확인합니다. |
Game.Rule:SetGameSave (name, value) | 그룹에 저장할 값을 추가합니다. |
Game.Rule:GetGameSave (name) | 그룹에 저장된 값을 가져옵니다. |
Event Callback
Fields
- Game.Rule.name
-
룰 이름을 가져오거나 변경합니다. 주석으로 사용됩니다.
- name string
- Game.Rule.desc
-
룰 설명을 가져오거나 변경합니다. 주석으로 사용됩니다.
- desc string
- Game.Rule.user
-
임의의 데이터를 저장할 수 있는 테이블입니다.
- user table
- Game.Rule.respawnable
-
플레이어 리스폰 여부를 가져오거나 변경합니다.
풀브라우저의 월드세팅은 무시됩니다.- respawnable bool (default true)
- Game.Rule.respawnTime
-
플레이어 리스폰 시간(초)을 가져오거나 변경합니다.
풀브라우저의 월드세팅은 무시됩니다.
0초에서 60초까지 변경할 수 있습니다.- respawnTime number (default 5)
- Game.Rule.enemyfire
-
다른 팀 공격 여부를 가져오거나 변경합니다.
풀브라우저의 월드세팅은 무시됩니다.- enemyfire bool (default true)
- Game.Rule.friendlyfire
-
아군 공격 여부를 가져오거나 변경합니다.
풀브라우저의 월드세팅은 무시됩니다.- friendlyfire bool (default false)
- Game.Rule.breakable
-
플레이어의 맵 파괴 기능을 가져오거나 변경합니다.
풀브라우저의 월드세팅은 무시됩니다.- breakable bool (default false)
Methods
- Game.Rule:Win (team, exit)
-
특정 팀이 승리합니다.
exit 인자가 없으면 승리 후 게임이 종료됩니다.Parameters:
- team Game.TEAM
- exit optional bool 승리 후 게임 종료 여부
- Game.Rule:Respawn ()
- 모든 플레이어가 강제로 리스폰됩니다.
- Game.Rule:CanSave ()
-
현재 맵이 저장 가능한지 확인합니다.
그룹이 지정된 경우에 true를 반환합니다.
자세한 내용은 도움말을 참고하세요Returns:
-
bool
저장 활성화 여부
- Game.Rule:SetGameSave (name, value)
-
그룹에 저장할 값을 추가합니다.
이 데이터는 플레이어와 상관없이 같은 그룹끼리 공유됩니다.
자세한 내용은 도움말을 참고하세요Parameters:
- Game.Rule:GetGameSave (name)
-
그룹에 저장된 값을 가져옵니다.
이 데이터는 플레이어와 상관없이 같은 그룹끼리 공유됩니다.
name이 없으면 nil을 리턴합니다.
자세한 내용은 도움말을 참고하세요Parameters:
- name string
Returns:
-
number, string, bool or nil
저장된 값
Event Callback
- Game.Rule:OnPlayerConnect (player)
-
플레이어가 접속할 때 호출되는 이벤트 콜백입니다.
Parameters:
- player Game.Player
- Game.Rule:OnPlayerDisconnect (player)
-
플레이어가 접속을 종료 할 때 호출되는 이벤트 콜백입니다.
Parameters:
- player Game.Player
- Game.Rule:OnRoundStart ()
- 라운드가 시작할 때 호출되는 이벤트 콜백입니다.
- Game.Rule:OnRoundStartFinished ()
- 라운드 시작과정이 모두 끝난이후 호출되는 이벤트 콜백입니다. 맵의 초기화 등의 작업은 이 함수에 작성해주십시오.
- Game.Rule:OnPlayerSpawn (player)
-
플레이어가 스폰 될 때 호출되는 이벤트 콜백입니다.
Parameters:
- player Game.Player
- Game.Rule:OnPlayerJoiningSpawn (player)
-
플레이어가 클래스를 선택한후 처음 스폰 될 때 호출되는 이벤트 콜백입니다.
Parameters:
- player Game.Player
- Game.Rule:OnPlayerKilled (victim, killer, weapontype, hitbox)
-
플레이어가 사망 할 때 호출되는 이벤트 콜백입니다.
Parameters:
- victim Game.Player 공격당한 플레이어
- killer Game.Player or nil 플레이어의 공격이 아닌 이유로 사망하면 nil
- weapontype Game.WEAPONTYPE 공격한 무기 타입
- hitbox Game.HITBOX 공격당한 부위
- Game.Rule:OnKilled (victim, killer)
-
플레이어 또는 몬스터가 사망 할 때 호출되는 이벤트 콜백입니다.
Parameters:
- victim Game.Entity 공격당한 엔터티
- killer Game.Entity or nil 엔터티의 공격이 아닌 이유로 사망하면 nil
- Game.Rule:OnPlayerSignal (player, signal)
-
UI.Signal를 사용하면 호출되는 이벤트 콜백입니다.
Parameters:
- player Game.Player 신호를 보낸 플레이어
- signal int 플레이어가 보낸 신호값
- Game.Rule:OnUpdate (time)
-
일정시간마다 호출되는 이벤트 콜백입니다.
약 0.1초마다 호출됩니다.Parameters:
- time number 현재 게임시간
- Game.Rule:OnPlayerAttack (victim, attacker, damage, weapontype, hitbox)
-
플레이어가 공격당할 때 호출되는 이벤트 콜백입니다.
임의의 숫자를 리턴하여 받은 대미지를 변경할 수 있습니다.Parameters:
- victim Game.Player 공격당한 플레이어
- attacker Game.Player or nil 공격한 플레이어(플레이어가 아니면 nil)
- damage int 대미지
- weapontype Game.WEAPONTYPE 공격한 무기 타입
- hitbox Game.HITBOX 공격당한 부위
Returns:
-
optional int
변경된 대미지
Usage:
function Game.Rule:OnPlayerAttack(victim, attacker, damage, weapontype, hitbox) -- 근접무기면 대미지를 0으로 만든다 if weapontype == Game.WEAPONTYPE.KNIFE then return 0 -- 그 이외는 damage 그대로 받는다 end
- Game.Rule:OnTakeDamage (victim, attacker, damage, weapontype, hitbox)
-
플레이어 또는 몬스터가 공격당할 때 호출되는 이벤트 콜백입니다.
임의의 숫자를 리턴하여 받은 대미지를 변경할 수 있습니다.Parameters:
- victim Game.Entity 공격당한 엔터티
- attacker Game.Entity or nil 공격한 엔터티(플레이어나 몬스터가 아니면 nil)
- damage int 대미지
- weapontype Game.WEAPONTYPE 공격한 무기 타입
- hitbox Game.HITBOX 공격당한 부위
Returns:
-
optional int
변경된 대미지
- Game.Rule:CanBuyWeapon (player, weaponid)
-
무기를 구매할수 있는지 검사하는 이벤트 콜백입니다.
스크립트 무기 리스트에 포함되지 않는 무기는 불리지 않습니다.
Parameters:
- player Game.Player 대상 플레이어
- weaponid Common.WEAPON 무기종류
Returns:
-
bool
무기를 구매할 수 있다면 true
- Game.Rule:CanHaveWeaponInHand (player, weaponid, weapon)
-
무기를 손에 들수 있는지 검사하는 이벤트 콜백입니다.
스크립트 무기 리스트에 포함되지 않는 무기는 불리지 않습니다.
Weapon 클래스를 사용한적이 없을 경우 weapon인수는 nil로 전달됩니다.
Parameters:
- player Game.Player 대상 플레이어
- weaponid Common.WEAPON 무기종류
- weapon Game.Weapon or nil 무기
Returns:
-
bool
무기를 손에들 수 있다면 true
- Game.Rule:OnGetWeapon (player, weaponid, weapon)
-
무기를 획득 했을때 불리는 이벤트 콜백입니다.
스크립트 무기 리스트에 포함되지 않는 무기는 불리지 않습니다.
Weapon 클래스를 사용한적이 없을 경우 weapon인수는 nil로 전달됩니다.
Parameters:
- player Game.Player 대상 플레이어
- weaponid Common.WEAPON 무기종류
- weapon Game.Weapon or nil 무기
- Game.Rule:OnReload (player, weapon, time)
-
장전할때 불리는 이벤트 콜백입니다.
Weapon 클래스를 사용한적이 없거나 스크립트 무기가 아닐경우 weapon인수는 nil로 전달됩니다.
Parameters:
- player Game.Player 대상 플레이어
- weapon Game.Weapon or nil 무기
- time number 장전에 필요한 시간
- Game.Rule:OnReloadFinished (player, weapon)
-
장전이 끝나고 불리는 이벤트 콜백입니다.
Weapon 클래스를 사용한적이 없거나 스크립트 무기가 아닐경우 weapon인수는 nil로 전달됩니다.
Parameters:
- player Game.Player 대상 플레이어
- weapon Game.Weapon or nil 무기
- Game.Rule:OnSwitchWeapon (player)
-
무기를 교체할때 불리는 이벤트 콜백입니다.
Parameters:
- player Game.Player 대상 플레이어
- Game.Rule:PostFireWeapon (player, weapon, time)
-
발사이후 불리는 이벤트 콜백입니다.
Weapon 클래스를 사용한적이 없거나 스크립트 무기가 아닐경우 weapon인수는 nil로 전달됩니다.
Parameters:
- player Game.Player 대상 플레이어
- weapon Game.Weapon or nil 무기
- time number 다음 발사까지 걸리는 시간
- Game.Rule:OnGameSave (player)
-
플레이어별 save 정보가 저장될때 불리는 이벤트 콜백입니다.
Parameters:
- player Game.Player 대상 플레이어
- Game.Rule:OnLoadGameSave (player)
-
플레이어별 save 정보가 로드될때 불리는 이벤트 콜백입니다.
Parameters:
- player Game.Player 대상 플레이어
- Game.Rule:OnClearGameSave (player)
-
플레이어별 save 정보를 삭제할때 불리는 이벤트 콜백입니다.
Parameters:
- player Game.Player 대상 플레이어