Esse é o primeiro prompt, o segundo está abaixo que foi o que o ChatGPT melhorou
--_----------------_
Nesse local script, adicione checkbox para noclip que ao ativar inicia um loop que
fica desativando a colisão, ao desativar a checkbox o loop é interrompido; Um
slider para modificar a minha velocidade em tempo real, outro para modificar o
tamanho do meu pulo. Faça diversas opções legais para o script.
--[[
✦ Dear ReGui - Template Base por JhonaDev139
✦ Inclui:
→ Sistema de abas
→ Elementos nativos (Label, Checkbox, Button e dropdown)
→ Elementos de controle (SliderFloat, SliderInt)
→ Campos de entrada (InputText)
✦ Compatível com: [Link]
--]]
--// Importa a biblioteca principal
local ReGui = loadstring(game:HttpGet("[Link]
Dear-ReGui/refs/heads/main/[Link]"))()
---------------------------------------------------------------------
--[[ JANELA PRINCIPAL ]]--
---------------------------------------------------------------------
local Window = ReGui:TabsWindow({
Title = "JhonaDev139 | ReGui Template",
Size = [Link](420, 340)
})
--// Cria as abas/categorias
local TabsList = {"Player", "Visual", "Menu"}
for _, Name in ipairs(TabsList) do
local Tab = Window:CreateTab({Name = Name})
--// Aba Player
if Name == "Player" then
Tab:Label({Text = "Player Tab"})
Tab:Checkbox({
Value = true,
Label = "Enable feature",
Callback = function(_, Value)
print("Checkbox:", Value)
end
})
--// Array
Tab:Combo({
Label = "Combo",
Selected = "AAAA",
Items = {
"AAAA",
"BBBB",
"CCCC"
}
})
--// Function
Tab:Combo({
Label = "Combo",
Selected = "aaa",
GetItems = function()
return {
"aaa",
"bbb",
"ccc",
}
end,
})
Tab:SliderInt({
Label = "Slider",
Value = 5,
Minimum = 1,
Maximum = 32
})
--// Aba Visual
elseif Name == "Visual" then
Tab:Label({Text = "Visual Tab"})
Tab:Button({
Text = "Visual Action",
Callback = function()
print("Button clicked!")
end
})
Tab:InputText({Label="Visual Input"})
--// Aba Menu
elseif Name == "Menu" then
Tab:Label({Text = "Menu Tab"})
Tab:SliderFloat({Label = "Float",
Minimum = 0,
Maximum = 1
})
end
end
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
--------------
PROMPT MELHORADO 👇
Objetivo
--------
Implemente um **LocalScript** para Roblox (compatível com a biblioteca Dear-ReGui
já presente no projeto) que ofereça um painel de controle para o jogador com as
seguintes funcionalidades principais: **Noclip (checkbox)**, **Speed slider (ajusta
WalkSpeed em tempo real)** e **Jump slider (ajusta JumpPower/JumpHeight em tempo
real)**. Adicione também várias opções adicionais úteis (ver lista abaixo). O
script deve ser seguro, modular e documentado em português.
Requisitos funcionais
---------------------
1. **Contexto e execução**
- O script **deve** ser um `LocalScript` e executado no contexto do jogador
(ex.: `StarterGui` / `PlayerGui` ou `StarterPlayerScripts`).
- Compatível com: `[Link] (usar os widgets já
carregados com `ReGui:TabsWindow({...})`).
- **Não** usar bibliotecas externas além do ReGui presente no código do usuário.
2. **Noclip**
- Interface: `Checkbox` com label “Noclip”.
- Comportamento: ao ativar, inicia um loop eficiente (usar
`[Link]` ou `Stepped`) que desativa `CanCollide` em todas as
`BasePart` do personagem **não-armazenando** alterações indesejadas no servidor. Ao
desativar, restaura os estados originais de `CanCollide`.
- Implementação segura:
- Armazenar um mapa `{ part -> originalCanCollide }` para restaurar exatamente
como estava.
- Ignorar partes que estejam explicitamente `Locked` ou pertencem a objetos
essenciais (ex.: accessories que não devem mudar).
- O loop deve parar automaticamente em `CharacterRemoving`/`[Link]` e
reconectar em `CharacterAdded`.
- Debounce/flag para evitar múltiplas coroutines ativas.
- Usar checks para evitar tentar mudar partes inexistentes (nil safe).
- Edge cases: se uma part for `Anchored`, não remover `Anchored` (apenas
documentar que anchored parts não são afetadas). Fornecer opção extra (opcional)
“Forçar desancorar” com aviso (potencialmente problemático/visível para servidor) —
por padrão desligada.
- Performance: minimizar writes — somente escrever `CanCollide = false` quando o
valor atual for `true`.
3. **Speed Slider**
- Interface: `SliderFloat` ou `SliderInt` com label “Velocidade (WalkSpeed)”.
- Comportamento: altera `[Link]` em tempo real.
- Requisitos:
- Salvar valor original do `WalkSpeed` para restauração.
- Faixa sugerida: `Minimum = 8`, `Default = 16`, `Maximum = 200`, `Step = 1`.
- Atualização suave opcional (lerp) para evitar jumps bruscos e diminuir
chances de detecção: ativável por checkbox “Transição Suave”.
- Evitar aplicação quando o jogador estiver em veículo (detectar via
`Humanoid:GetVehicleSeat()` ou similar).
4. **Jump Slider**
- Interface: `SliderInt` com label “Pulo (JumpPower)”.
- Requisitos:
- Detectar se o jogo usa `UseJumpPower` ou `JumpHeight` e aplicar o
apropriado:
- Preferir `[Link]` (se disponível). Caso não, usar
`[Link]`.
- Faixa sugerida: `Minimum = 20`, `Default = 50`, `Maximum = 300`, `Step = 1`.
- Salvar o valor original e restaurar ao desativar/fechar UI.
- Atualização em tempo real com debounce para reduzir writes.
5. **UX e segurança**
- Todos os controles devem ter **tooltips** que expliquem efeitos e riscos (ex.:
“A aumentar muito a velocidade pode ser detectado por servidores anti-cheat”).
- Incluir `Button` para “Restaurar valores originais”.
- Salvar presets locais (WriteFile) com nomes (ex.: “Preset: Sprint”) e botão
para carregar/remover presets. (Use rotinas seguras para read/write).
- Hotkeys configuráveis (ex.: toggle Noclip com `K`, Sprint com `LeftShift`) e
exibir quais estão ativos.
- Mostrar estado atual (labels): `Noclip: ON/OFF`, `WalkSpeed: X`, `JumpPower:
Y`.
6. **Extras “legais” (sugestões a serem implementadas)**
- Sprint (hold): multiplicador de velocidade enquanto tecla pressionada; opção
de ativar/desativar.
- Bunnyhop automático (toggle): aplica pequenos saltos ao tocar no chão mantendo
a tecla de movimento.
- Double Jump (toggle): registrar um salto extra no ar e gerenciar cooldown.
- Glide / Fall Slow (slider): reduzir queda ao segurar uma tecla.
- StepHeight Adjuster (slider): alterar `[Link]` / `Humanoid` step
behavior para subir pequenos obstáculos.
- Anti-Freeze: detectar quando o jogador é “congelado” pelo servidor localmente
e tentar contornar (com cuidado; documentar limites).
- Smooth transitions (lerp) entre valores para evitar mudanças instantâneas.
7. **Estrutura de código sugerida**
- Modular: funções públicas bem definidas e comentadas:
- `initUI()` — cria a janela e elementos ReGui.
- `enableNoclip()` / `disableNoclip()` — controlam noclip.
- `applyWalkSpeed(value, smooth)` / `restoreWalkSpeed()`.
- `applyJump(value)` / `restoreJump()`.
- `savePreset(name)` / `loadPreset(name)` / `removePreset(name)`.
- `onCharacterAdded(character)` / `onCharacterRemoving()`.
- `cleanup()` — desconecta eventos, restaura valores.
- Comentários em PT-BR explicando motivos de cada decisão.
- Evitar rede (nenhuma requisição externa durante runtime) — apenas
leitura/escrita local permitida para presets.
8. **Critérios de aceitação / testes**
- Ao ativar Noclip: todas as `BasePart` do personagem (exceto as restritas) têm
`CanCollide == false` imediatamente; ao desativar, voltam aos estados originais.
- Ajustar o slider de velocidade altera `[Link]` em tempo real,
slider mostra número atual.
- Ajustar o slider de pulo altera `[Link]` ou `JumpHeight` conforme
o jogo.
- Ao morrer ou respawn, valores originais são restaurados e o UI reinicializa
corretamente.
- Presets são salvos/carregados corretamente via arquivo local.
Entrega pedida
-------------
- Forneça **apenas** o código Lua final pronto para colar em um `LocalScript`
(nenhum comentário supérfluo fora do código).
- Código com **comentários** em PT-BR claros e concisos.
- Estruture o código de forma legível e modular (funções nomeadas).
- Inclua um pequeno comentário no topo indicando onde o script deve ser colocado
(ex.: `StarterGui`).
- Se alguma limitação técnica existir (ex.: jogos que forçam valores do servidor),
explique rapidamente (máx. 2 linhas).
Notas finais (boas práticas)
---------------------------
- Salve valores originais e restaure sempre que possível.
- Evite writes redundantes para diminuir impacto de performance e reduzir chances
de detecção por servidores anti-cheat.
- Seja robusto contra `nil` (ex.: Humanoid ausente) e reconecte em
`CharacterAdded`.
- Documente qualquer alteração que possa ser detectável pelo servidor e deixe o
controle para o usuário (ex.: transição suave ON/OFF).
Resultado esperado
------------------
- Um LocalScript completo e testado (com comentários) que adiciona um painel ReGui
com:
- Checkbox Noclip (com loop seguro e restauração),
- Slider de Velocidade (com transição opcional),
- Slider de Pulo (com detecção JumpPower/JumpHeight),
- Botões de restaurar e presets,
- Hotkeys e opções extras conforme lista.