{"id":"hoshinadev/ragdoll-tools","name":"ragdoll-tools","scope":"hoshinadev","platform":"roblox","description":"Server-side R6/R15 ragdoll module for Roblox projects.","version":"0.1.5","latest":"0.1.5","versions":["0.1.2","0.1.3","0.1.4","0.1.5"],"license":"MIT","licenseRating":"safe","licenseCaveats":["The package archive does not include its license text; the license is declared in its manifest metadata."],"licenseVerified":false,"dependencies":{},"integrity":"baae6671823002b6229648f0acdcf63d13acb61d34fefbb3cf13e466209ecd32","likes":0,"downloads":0,"install":"forest install hoshinadev/ragdoll-tools","url":"https://forest.dev/p/roblox/hoshinadev/ragdoll-tools","files":"https://api.forest.dev/ai/package/roblox/hoshinadev/ragdoll-tools/files","readme":"# Server Ragdoll Module for Roblox\n\nModuleScript server-side para ragdoll em personagens **R6** e **R15**, feito para encaixar rapido em projetos **Rojo**.\n\n## Instalacao rapida\n\n1. Copie `src/ServerScriptService/Ragdoll` para o `ServerScriptService` do seu projeto Rojo.\n2. Faca require no servidor:\n\n```lua\nlocal ServerScriptService = game:GetService(\"ServerScriptService\")\nlocal Ragdoll = require(ServerScriptService.Ragdoll)\n```\n\n3. Use em qualquer character:\n\n```lua\nRagdoll.Ragdoll(character, { Duration = 3 })\n```\n\n## API\n\n```lua\nRagdoll.Ragdoll(character, options?)      -- ativa ragdoll\nRagdoll.Unragdoll(character)             -- restaura o character\nRagdoll.Toggle(character, state?, options?)\nRagdoll.IsRagdolled(character)\nRagdoll.BindDeath(character, options?)   -- deixa morrer em ragdoll sem quebrar joints\nRagdoll.Cleanup(character)\n```\n\n## Options\n\n```lua\n{\n\tDuration = 3,              -- opcional: restaura automaticamente depois de N segundos\n\tCollideLimbs = true,       -- partes do corpo colidem durante o ragdoll\n\tKeepRootCollidable = false,\n\tDisableGettingUp = true,\n\tBreakJointsOnDeath = false\n}\n```\n\n## Exemplo server-side\n\n```lua\nlocal Players = game:GetService(\"Players\")\nlocal ServerScriptService = game:GetService(\"ServerScriptService\")\nlocal Ragdoll = require(ServerScriptService.Ragdoll)\n\nPlayers.PlayerAdded:Connect(function(player)\n\tplayer.CharacterAdded:Connect(function(character)\n\t\tRagdoll.BindDeath(character)\n\n\t\t-- Exemplo: ragdoll temporario\n\t\ttask.delay(5, function()\n\t\t\tif character.Parent then\n\t\t\t\tRagdoll.Ragdoll(character, { Duration = 2 })\n\t\t\tend\n\t\tend)\n\tend)\nend)\n```\n\n## Observacoes\n\n- Tudo roda no servidor.\n- O modulo nao usa RemoteEvent.\n- O modulo nao destroi os `Motor6D`; ele desativa temporariamente os joints do corpo e cria `BallSocketConstraint`.\n- Em morte, use `BindDeath` para definir `Humanoid.BreakJointsOnDeath = false` e permitir o ragdoll.\n- Para integrar em outro Rojo, basta apontar o `$path` para `src/ServerScriptService/Ragdoll`.\n","readmeTruncated":false}