> For the complete documentation index, see [llms.txt](https://ditoland-utplus.gitbook.io/ditoland/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ditoland-utplus.gitbook.io/ditoland/api-reference/server/characterserver.md).

# CharacterServer

## CharacterServer

서버에서 사용되는 공용 캐릭터 객체에요.

### **속성**

<br>

| **Visible** |
| ----------- |

캐릭터의 가시성

\-- 샘플 --

```lua
character.Visible = false
```

<br>

| **Transform** |
| ------------- |

캐릭터의 Matring 에요

\-- 샘플 --

```lua
local targetTransform = character.Transform

targetTransform.Location = Vector.new(0, 100, 0)
targetTransform.Rotation = Vector.new(0, 100, 0)
character.Transform = targetTransform --오브젝트를 보간으로 이동시켜요. (캐릭터는 보간없이 움직여요.)
```

<br>

| **Location** |
| ------------ |

캐릭터 위치값이에요.

\-- 샘플 --

```lua
local characterPos = character.Location --캐릭터의 위치값을 Vector로 반환해요.
character.Location = Vector.new(0, 300, 200)
```

<br>

| **Rotation** |
| ------------ |

캐릭터 회전값이에요.

\-- 샘플 --

```lua
local characterRot = character.Rotation --캐릭터의 회전값을 Vector로 반환해요.
character.Rotation = Vector.new(0, 0, 0)
```

### **함수**

<br>

| **void SetEmissive(number Emissive)** |
| ------------------------------------- |

캐릭터 Material의 Emissive 값을 변경 할 수 있어요. (자체 발광하는 수치 값)

\-- 샘플 --

```lua
character:SetEmissive(1) --값이 클수록 캐릭터가 밝아져요.
```

<br>

| **void AddForce(Vector Force)** |
| ------------------------------- |

캐릭터에 물리적인 힘을 가할 수 있어요. (힘을 가할 Vector 값)

\-- 샘플 --

````lua
local force = Vector.new(0, 0, 100000)
character:AddForce(force) --force값만큼 캐릭터를 밀어요.
func void SetMaxSpeed(number Speed)
** 캐릭터의 최대 이동속도를 설정할 수 있어요. (설정할 최대 이동속도 값)
샘플
```lua
</br>

| **number GetMaxSpeed()** |
| :--- |

캐릭터의 최대 이동속도를 얻을 수 있어요.

-- 샘플 --
```lua
print(character:GetMaxSpeed())
````

<br>

| **void SetMaxJump(number Jump)** |
| -------------------------------- |

캐릭터의 최대 점프속도를 설정할 수 있어요. (설정할 최대 점프속도 값)

\-- 샘플 --

```lua
character:SetMaxJump(1000) --캐릭터의 최대 점프 속도를 설정해요.
```

<br>

| **number GetMaxJump()** |
| ----------------------- |

캐릭터의 최대 점프속도를 얻을 수 있어요.

\-- 샘플 --

```lua
print(character:GetMaxJump())
```

<br>

| **void SetFlyControl(number ControlRate)** |
| ------------------------------------------ |

공중에서 캐릭터 컨트롤 비율을 설정할 수 있어요. (설정할 비율 값)

\-- 샘플 --

```lua
character:SetFlyControl(0) --0~1 사이의 값을 적용할 수 있어요
```

<br>

| **number GetFlyControl()** |
| -------------------------- |

공중에서 캐릭터 컨트롤 비율을 얻을 수 있어요.

\-- 샘플 --

```lua
print(character:GetFlyControl())
```

<br>

| **void SetFlyMaxSpeed(number Speed)** |
| ------------------------------------- |

캐릭터의 최대 공중 이동속도를 설정할 수 있어요. 기어오르기, 날기 등의 상태에서만 반영돼요. (설정할 최대 공중 이동속도 값)

\-- 샘플 --

```lua
character:SetFlyMaxSpeed(1000)
```

<br>

| **number GetFlyMaxSpeed()** |
| --------------------------- |

캐릭터의 최대 공중 이동속도를 얻을 수 있어요.

\-- 샘플 --

```lua
print(character:GetFlyMaxSpeed())
```

<br>

| **void JumpEnable(bool CanJump)** |
| --------------------------------- |

캐릭터의 점프 가능 여부를 설정할 수 있어요. (점프 가능 여부)

\-- 샘플 --

```lua
character:JumpEnable(false)
```

<br>

| **void MoveRightEnable(bool CanMove)** |
| -------------------------------------- |

캐릭터의 좌우 이동 가능 여부를 설정할 수 있어요. (좌우 이동 가능 여부)

\-- 샘플 --

```lua
character:MoveRightEnable(false)
```

<br>

| **void MoveToSpawnPoint(SpawnPoint SpawnPointObjecrt, bool ResetRot)** |
| ---------------------------------------------------------------------- |

캐릭터를 특정 스폰 위치로 이동시킬 수 있어요. (이동 할 스폰포인트 오브젝트, 방향 Rot 초기화 여부)

\-- 샘플 --

```lua
local SpawnPoint = Game:AddSpawnPoint(Workspace.Cube)
character:MoveToSpawnPoint(SpawnPoint, true)
```

<br>

| **void ChangeCharacterType(CharacterType Type)** |
| ------------------------------------------------ |

현재 캐릭터의 외형 타입을 바꿀 수 있어요.

\-- 샘플 --

```lua
wait(2)
character:ChangeCharacterType(Enum.CharacterType.ToyCharacter)

wait(2)
character:ChangeCharacterType(Enum.CharacterType.PlayerAvatar)
```

<br>

| **void SetCapsuleSize(number Radius, number Height)** |
| ----------------------------------------------------- |

현재 캐릭터의 캡슐 콜리전의 크기를 바꿀 수 있어요.

\-- 샘플 --

```lua
local radius = 140
local height = 100

character:SetCapsuleSize(radius, height)
```

<br>

| **CharacterType GetCharacterType()** |
| ------------------------------------ |

현재 캐릭터의 외형 타입을 가져 올 수 있어요.

\-- 샘플 --

```lua
print(character:GetCharacterType())
```

<br>

| **void AttachObject(Object TargetObject, AttachPoint Point)** |
| ------------------------------------------------------------- |

캐릭터에 타겟 오브젝트를 붙일 수 있어요. (타겟 오브젝트, 붙일 AttachPoint)

\-- 샘플 --

```lua
Character:AttachObject(Balloon, Enum.AttachPoint.Top)
```

<br>

| **void AttachObject(Object TargetObject, CharacterBone Bone)** |
| -------------------------------------------------------------- |

캐릭터에 타겟 오브젝트를 붙일 수 있어요. (타겟 오브젝트, 붙일 Bone)

\-- 샘플 --

```lua
Character:AttachObject(Balloon, Enum.Bone.LHand)
```

<br>

| **void DetachObject(Object TargetObject)** |
| ------------------------------------------ |

캐릭터에 붙어있는 오브젝트를 떨어뜨릴 수 있어요. (타겟 오브젝트)

\-- 샘플 --

```lua
Character:DetachObject(Balloon)
```

<br>

| **void DetachAllObject()** |
| -------------------------- |

캐릭터에 붙어있는 모든 오브젝트를 떨어뜨려요.

\-- 샘플 --

```lua
Character:DetachAllObject()
```

\ <br>

## **사용 가능한 부모 오브젝트 기능들**

### **속성**

| **이름** | **설명** |
| ------ | ------ |

### **이벤트**

| **이름** | **설명** |
| ------ | ------ |

### **함수**

| **이름**                                                                                         | **설명**                           |
| ---------------------------------------------------------------------------------------------- | -------------------------------- |
| [**IsDie**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/common/character)        | **현재 캐릭터가 죽어있는 상태인지 알 수 있어요.**   |
| [**IsFly**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/common/character)        | **캐릭터가 공중에 떠 있는지 아닌지 얻을 수 있어요.** |
| [**IsCanJump**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/common/character)    | **캐릭터가 현재 점프 가능한 상태인지 알 수 있어요.** |
| [**GetMoveSpeed**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/common/character) | **해당 캐릭터의 현재 이동 속도를 얻을 수 있어요.**  |
