# Manual Documentation

## Reanimate Configuration

This section will explain to you all the possible settings from the **KryptonConfiguration** table, as well as some examples to understand certain things better.

### Hats

{% hint style="success" %}
For people who don't know how to extract specified TextureId, MeshId and Name of the hat, there will be a module in the [Visual Guides](/main/visual-guides.md) that let's you extract data from specified accessory with just few clicks.
{% endhint %}

{% hint style="warning" %}
It's best to use only numeric values for TextureId and MeshId to ensure reliable checks
{% endhint %}

```lua
-- Here is an example snippet on how the table is constructed.
Hats = {
	["LimbName"] = { -- Replace with the actual limb name (e.g., "Head")
		{Texture = "123", Mesh = "123", Name = "Something", Offset = CFrame.Angles(0, 0, math.pi / 3)},
		{Texture = "321", Mesh = "321", Name = "AlternativeHat", Offset = CFrame.identity}
	},
}
```

<table><thead><tr><th width="202">Parameters (4)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>Texture: <mark style="color:purple;">string</mark> | <mark style="color:purple;">int</mark></td><td>The <a href="https://create.roblox.com/docs/reference/engine/classes/FileMesh#TextureId">TextureID</a> of the accessory.</td><td></td></tr><tr><td>Mesh: <mark style="color:purple;">string</mark> | <mark style="color:purple;">int</mark></td><td>The <a href="https://create.roblox.com/docs/reference/engine/classes/FileMesh#MeshId">MeshID</a> of the accessory.</td><td></td></tr><tr><td>Name: <mark style="color:purple;">string</mark></td><td>The <a href="https://create.roblox.com/docs/reference/engine/classes/Instance#Name">Name</a> property of the accessory. </td><td></td></tr><tr><td>Offset: <mark style="color:purple;">CFrame</mark></td><td>The <a href="https://create.roblox.com/docs/reference/engine/datatypes/CFrame">CFrame</a> offset to adjust the position and orientation of the accessory.  </td><td></td></tr></tbody></table>

| Logical Description                                                                                                                                                                                                                                 |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>Uses the Character hats to replicate the client rigs limbs.<br></p><p>The limb table is a dictionary that organizes hats based on the limbs they are attached to. Each limb (like 'Head' or 'LeftArm') can have multiple hats assigned to it</p> |

### RigName

{% hint style="warning" %}
Changing the name to something commonly used in experiences such as Camera or Baseplate might cause the user some trouble when attempting to index the client rig (ex. for scripts.).
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>name: <mark style="color:purple;">string</mark></td><td>Renames the client-sided rig to your liking, In some cases it will help with compatibility along other scripts.</td><td></td></tr></tbody></table>

### NoCollisions

{% hint style="warning" %}
In some cases you might get automatically under the map due to your collisions being barely there
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Disables your client-sided rig collisions, letting you clip through walls</td><td></td></tr></tbody></table>

### SetCharacter

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Sets the <code>Player.Character</code> to the client-sided rig, which permits you to use default movement mechanism. </td><td></td></tr></tbody></table>

### Animations

{% hint style="warning" %}
It is generally recommended to keep this disabled if you are planning to do script conversions.
{% endhint %}

{% hint style="success" %}
The animation handler has been fully reworked to work faster, thus no performance drops shall occur.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Enables default animations on the client-sided rig,</td><td></td></tr></tbody></table>

### AccessoryFallbackDefaults

{% hint style="info" %}
Recommended to keep it enabled if you are messing with the `Hats` table.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Checks the <code>Hats</code> table, if an issue is found on assigned limb table, It will automatically use default hats for that specified limb earlier instead. </td><td></td></tr></tbody></table>

### OverlayFakeCharacter

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Sets the Client-sided rig limb transparency to 0.5, letting you see the rig even without the hats, but keep in mind others don't see it.</td><td></td></tr></tbody></table>

### ShowClientHats

{% hint style="info" %}
Works with accessories but not with hats that are linked defined in the `Hats` table.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>If you lose network ownership on the part, it will set the transparency of the part it was linked with to <code>0.5</code>. </td><td></td></tr></tbody></table>

### WaitTime

{% hint style="info" %}
A recommended value is `0.255`, as it's the lowest you can go without making the thing dependent on your internet connection and ping.
{% endhint %}

{% hint style="warning" %}
Setting the value less than `0.16` will automatically turn it to `0`, as anything below that will cause the replication of teleporting the character to it's destination wouldn't work.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>time: <mark style="color:purple;">double</mark></td><td>Yields the <code>OnCharacterAdded</code> to ensure that teleporting the character to it's destination replicates successfully.</td><td></td></tr></tbody></table>

### TeleportOffsetRadius

{% hint style="warning" %}
Setting the value high will make the reanimate stability solely depend on your simulation radius, keep it in a range of `12` and `36`.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>time: <mark style="color:purple;">double</mark></td><td>Determinate the radius of teleporting your character close to client-sided rig to claim hats.</td><td></td></tr></tbody></table>

### AntiVoiding

{% hint style="warning" %}
In some cases, you might automatically get stuck under the game if most of the walk able area in your game is close to the `FallenPartsDestroyHeight` Value.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>If you fall into the void, you will be sent back to where you have ran the reanimate at.</td><td></td></tr></tbody></table>

### DisableCharacterScripts

{% hint style="warning" %}
In very special cases, disabling character scripts might ruin some aspects of the game, so proceed with caution.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Disables any local scripts from the Character to avoid any tampering with client-sided rig.</td><td></td></tr></tbody></table>

### ReturnOnDeath

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Upon stopping the reanimate, your character will return to where the client-sided rig was moment ago.</td><td></td></tr></tbody></table>

### Flinging

{% hint style="info" %}
In the future, the functionality of flinging will be expanded, giving you several options to fling rather than your character.

Also don't be a jerk and don't abuse the flinging, thank you very much.
{% endhint %}

{% hint style="warning" %}
It is recommend for you to apply a simulation radius tweak, as your simulation will gradually decrease the moment your character collides with an player model due to how network ownership works.\
\
Also keep in mind flinging will not work on games with disabled body collisions.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Your character (before it dies) can be used to fling other players. You have to call <code>KadeAPI.CallFling(model: Model)</code> (Which will be mentioned later) to fling a target.</td><td></td></tr></tbody></table>

### SetSimulationRadius

{% hint style="info" %}
This will not work with local scripts due to permission limits.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Sets the Player's SImulationRadius to as high as possible, providing better user experience and stability.</td><td></td></tr></tbody></table>

### NoBodyNearby

<table><thead><tr><th width="147">Parameters (1) </th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>When enabled, <code>BringCharacter</code> will put the character close to the <a href="https://create.roblox.com/docs/reference/engine/classes/Workspace#FallenPartsDestroyHeight">FallenPartsDestroyHeight</a>, thus destroying the characters body limbs and changes its PrimaryPart to the largest accessory you are wearing. </td><td></td></tr></tbody></table>

### LimitHatPerLimb

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th><th data-hidden>Name</th></tr></thead><tbody><tr><td>enabled: <mark style="color:purple;">bool</mark></td><td>Limits the amount of accessories per limb from the <code>Hats</code> table to one.</td><td></td></tr></tbody></table>

## KadeAPI Manual

KadeAPI is a conversion library embedded into Krypton for reliable script converting and easier hat alignment.\
This page will explain on how to utilize KadeAPI, and it's functions.

{% hint style="warning" %}
Some functions of KadeAPI will go under an overhaul in the next update (As of 1.7.1), expect possible deprecations and renaming &#x20;
{% endhint %}

### Setting up KadeAPI

An easiest way to get the KadeAPI is through defining the required module.

<pre><code><strong>local KadeAPI = loadstring(game:HttpGet("https://raw.githubusercontent.com/KadeTheExploiter/Krypton/main/Module.luau"))()
</strong></code></pre>

### GetCharacter

<table><thead><tr><th width="198.09088134765625">Returns</th><th>Description</th></tr></thead><tbody><tr><td>() -> FakeRig: <mark style="color:orange;">Model</mark></td><td>Returns FakeRig Model without indexing.</td></tr></tbody></table>

### GetHumanoid

<table><thead><tr><th width="198.09088134765625">Returns</th><th>Description</th></tr></thead><tbody><tr><td>() -> FakeHumanoid: <mark style="color:orange;">Humanoid</mark></td><td>Returns FakeRig's Humanoid without indexing as well.</td></tr></tbody></table>

### GetRealCharacter

<table><thead><tr><th width="199">Returns</th><th>Description</th></tr></thead><tbody><tr><td>() -> Character: <mark style="color:orange;">Model</mark></td><td>Returns the real characters model without FURTHER indexing. (Actually use this, indexing the real character manually is terrifying.)</td></tr></tbody></table>

### GetHatInformation

{% hint style="warning" %}
Generally, Using `KadeAPI.GetHatInformation()` just to use it as a hat data is a bad habit, as some accessories might have the same names, consider creating a table and filling the contents manually yourself, as this function was made to extract the data easier.
{% endhint %}

<table><thead><tr><th width="147">Parameters (1)</th><th>Description</th></tr></thead><tbody><tr><td>Part1: <mark style="color:purple;">Part</mark></td><td>The accessory you want to extract the hat data information from.</td></tr></tbody></table>

<table><thead><tr><th width="196.27276611328125">Returns</th><th>Description</th></tr></thead><tbody><tr><td>() -> {MeshId = <mark style="color:orange;">string,</mark> TextureId= <mark style="color:orange;">string</mark>, Name = <mark style="color:orange;">string</mark>}</td><td>Returns the hat information from the provided accessory as a dictonary.</td></tr></tbody></table>

### SetHatAlign

{% hint style="warning" %}
Functionality will be expanded in 1.8, look out for changes.
{% endhint %}

<table><thead><tr><th width="147">Parameters (3)</th><th width="189">Examples</th><th>Description</th></tr></thead><tbody><tr><td>HatData: table</td><td>{MeshId = <mark style="color:purple;">"123"</mark>, TextureId= <mark style="color:purple;">"321"</mark>, Name = <mark style="color:purple;">"ABC"</mark>}</td><td>A Hat Data/Information is required to precisely capture the right accessory. </td></tr><tr><td>Part1: <mark style="color:purple;">Part</mark></td><td><code>workspace.Part</code></td><td>The part that you want to link the accessor with.</td></tr><tr><td>Offset: <mark style="color:purple;">CFrame</mark></td><td><code>CFrame.new(), * CFrame.Angles(0,0,0)</code></td><td>The position and rotation offset as a Coordinate Frame</td></tr></tbody></table>

<table><thead><tr><th width="147.18182373046875">Returns</th><th>Description</th></tr></thead><tbody><tr><td>() -> <mark style="color:orange;">nil</mark></td><td>Looks up for an accessory with the provided hat metadata, and if it's found it will align the found accessory to the Part1 with the right offset.</td></tr></tbody></table>


---

# 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://krypton-reanimate.gitbook.io/main/manual-documentation.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.
