# 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) | **해당 캐릭터의 현재 이동 속도를 얻을 수 있어요.**  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ditoland-utplus.gitbook.io/ditoland/api-reference/server/characterserver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
