pulse-rb 1.2.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +225 -0
- package/adapters/linoria.lua +233 -0
- package/adapters/windui.llms.txt +366 -0
- package/adapters/windui.lua +505 -0
- package/bin/rb.js +2 -0
- package/dist/index.js +3285 -0
- package/package.json +59 -0
- package/pulse/dev/debuggui.lua +1206 -0
- package/pulse/dev/devconfig.lua +81 -0
- package/pulse/dev/ui/9_DevPanel.lua +384 -0
- package/pulse/helpers/aim.lua +193 -0
- package/pulse/helpers/cache.lua +68 -0
- package/pulse/helpers/cleaner.lua +110 -0
- package/pulse/helpers/conn.lua +33 -0
- package/pulse/helpers/cooldown.lua +47 -0
- package/pulse/helpers/draw.lua +122 -0
- package/pulse/helpers/hitbox.lua +63 -0
- package/pulse/helpers/input.lua +24 -0
- package/pulse/helpers/log.lua +228 -0
- package/pulse/helpers/loop.lua +58 -0
- package/pulse/helpers/memory.lua +48 -0
- package/pulse/helpers/narrate.lua +160 -0
- package/pulse/helpers/notify.lua +51 -0
- package/pulse/helpers/perf.lua +48 -0
- package/pulse/helpers/remote.lua +128 -0
- package/pulse/helpers/restore.lua +59 -0
- package/pulse/helpers/store.lua +39 -0
- package/pulse/helpers/team.lua +83 -0
- package/pulse/helpers/testmode.lua +80 -0
- package/pulse/helpers/trace.lua +111 -0
- package/pulse/helpers/track.lua +85 -0
- package/pulse/helpers/vec.lua +52 -0
- package/pulse/helpers/world.lua +51 -0
- package/pulse/runtime.lua +343 -0
- package/pulse/ui/linoria_settings.lua +55 -0
- package/pulse/ui/windui_settings.lua +87 -0
- package/templates/AGENTS.md +177 -0
- package/templates/CLAUDE.md +424 -0
- package/templates/deploy_config.example +17 -0
- package/templates/example_esp.rblua +69 -0
- package/templates/example_fov.rblua +20 -0
- package/templates/example_speed.rblua +25 -0
- package/templates/gitignore +4 -0
- package/templates/globals.lua +66 -0
- package/templates/layout.rblua +28 -0
- package/templates/module.lua +7 -0
- package/templates/module.rblua +32 -0
- package/templates/page_home.rblua +9 -0
- package/templates/remote.lua +6 -0
- package/templates/remotes.lua +14 -0
- package/vscode/language-configuration.json +35 -0
- package/vscode/package.json +35 -0
- package/vscode/src/extension.js +397 -0
- package/vscode/syntaxes/rblua.tmLanguage.json +126 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- FOVChanger — example component. Customize or delete this file.
|
|
2
|
+
component {
|
|
3
|
+
signal enabled = false
|
|
4
|
+
signal fov = 90
|
|
5
|
+
|
|
6
|
+
init {
|
|
7
|
+
Pulse.Notify.onToggle(FOVChanger.enabled, "Custom FOV")
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
ui {
|
|
11
|
+
toggle "Custom FOV" -> enabled
|
|
12
|
+
slider "Field of View" -> fov [30, 120]
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
on enabled, fov {
|
|
16
|
+
guard cam = camera
|
|
17
|
+
cam.FieldOfView = enabled and fov or 70
|
|
18
|
+
Pulse.Log.info("FOVChanger", "fov set", { fov = cam.FieldOfView })
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-- SpeedHack — example component. Customize or delete this file.
|
|
2
|
+
component {
|
|
3
|
+
signal enabled = false
|
|
4
|
+
signal speed = 50
|
|
5
|
+
|
|
6
|
+
init {
|
|
7
|
+
Pulse.Notify.onToggle(SpeedHack.enabled, "Speed Hack")
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
ui {
|
|
11
|
+
toggle "Speed Hack" -> enabled tip="Override character walk speed"
|
|
12
|
+
slider "Walk Speed" -> speed [16, 250]
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
on CharacterAdded {
|
|
16
|
+
guard h = humanoid
|
|
17
|
+
h.WalkSpeed = enabled and speed or 16
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
on enabled, speed {
|
|
21
|
+
guard h = humanoid
|
|
22
|
+
h.WalkSpeed = enabled and speed or 16
|
|
23
|
+
Pulse.Log.info("SpeedHack", "walk speed set", { speed = h.WalkSpeed })
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
-- ── Script Config ─────────────────────────────────────────────────────────────
|
|
2
|
+
-- Edit these values. SCRIPT_NAME is used as the UI window title and notify_title.
|
|
3
|
+
|
|
4
|
+
local SCRIPT_NAME = "{NAME}"
|
|
5
|
+
local SCRIPT_VERSION = "1.0.0"
|
|
6
|
+
local SCRIPT_AUTHOR = "you"
|
|
7
|
+
local SCRIPT_DISCORD = "" -- optional: discord invite link (shown in UI if set)
|
|
8
|
+
|
|
9
|
+
-- ── Shared helpers ─────────────────────────────────────────────────────────────
|
|
10
|
+
-- Add your game-specific helpers here. Generic helpers (Pulse.*) are injected
|
|
11
|
+
-- automatically by the compiler — no need to define them here.
|
|
12
|
+
|
|
13
|
+
local func = {}
|
|
14
|
+
|
|
15
|
+
-- ── Players ────────────────────────────────────────────────────────────────────
|
|
16
|
+
-- Event-driven cache: updates instantly when players join or leave.
|
|
17
|
+
local _playerSet = {}
|
|
18
|
+
local _PS = game:GetService("Players")
|
|
19
|
+
local _LP = _PS.LocalPlayer
|
|
20
|
+
|
|
21
|
+
for _, p in ipairs(_PS:GetPlayers()) do _playerSet[p] = true end
|
|
22
|
+
_PS.PlayerAdded:Connect(function(p)
|
|
23
|
+
_playerSet[p] = true
|
|
24
|
+
local n = 0; for _ in pairs(_playerSet) do n = n + 1 end
|
|
25
|
+
Pulse.Monitor.set("players", n)
|
|
26
|
+
end)
|
|
27
|
+
_PS.PlayerRemoving:Connect(function(p)
|
|
28
|
+
_playerSet[p] = nil
|
|
29
|
+
local n = 0; for _ in pairs(_playerSet) do n = n + 1 end
|
|
30
|
+
Pulse.Monitor.set("players", n)
|
|
31
|
+
end)
|
|
32
|
+
|
|
33
|
+
func.GetCachedPlayers = function()
|
|
34
|
+
local t = {}
|
|
35
|
+
for p in pairs(_playerSet) do t[#t + 1] = p end
|
|
36
|
+
return t
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
-- ── Team monitor ──────────────────────────────────────────────────────────────
|
|
40
|
+
-- Tracks the local player's team in the dev overlay.
|
|
41
|
+
Pulse.Monitor.set("team", _LP.Team and _LP.Team.Name or "none")
|
|
42
|
+
_LP:GetPropertyChangedSignal("Team"):Connect(function()
|
|
43
|
+
Pulse.Monitor.set("team", _LP.Team and _LP.Team.Name or "none")
|
|
44
|
+
end)
|
|
45
|
+
|
|
46
|
+
-- ── Entity folder watcher ──────────────────────────────────────────────────────
|
|
47
|
+
-- Use _watchFolder to keep a set live as entities spawn/despawn.
|
|
48
|
+
-- Add your game-specific entity caches below.
|
|
49
|
+
local function _watchFolder(folder, set)
|
|
50
|
+
for _, child in ipairs(folder:GetChildren()) do set[child] = true end
|
|
51
|
+
folder.ChildAdded:Connect(function(c) set[c] = true end)
|
|
52
|
+
folder.ChildRemoved:Connect(function(c) set[c] = nil end)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
-- Example — uncomment and adapt to your game's entity folder:
|
|
56
|
+
--
|
|
57
|
+
-- local _enemySet = {}
|
|
58
|
+
-- task.spawn(function()
|
|
59
|
+
-- local folder = workspace:WaitForChild("Enemies", 30)
|
|
60
|
+
-- if folder then _watchFolder(folder, _enemySet) end
|
|
61
|
+
-- end)
|
|
62
|
+
-- func.GetCachedEnemies = function()
|
|
63
|
+
-- local t = {}
|
|
64
|
+
-- for v in pairs(_enemySet) do t[#t + 1] = v end
|
|
65
|
+
-- return t
|
|
66
|
+
-- end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
layout {
|
|
2
|
+
title = SCRIPT_NAME,
|
|
3
|
+
author = SCRIPT_AUTHOR, -- shown as subtitle under the title
|
|
4
|
+
toggle_key = "RightControl", -- Enum.KeyCode name — menu open/close bind
|
|
5
|
+
size = { 850, 560 }, -- window width × height in pixels
|
|
6
|
+
ui_library = "windui", -- "linoria" | "windui"
|
|
7
|
+
theme = "Indigo", -- Dark Light Rose Plant Red Indigo Sky Violet Amber Emerald Midnight Crimson MonokaiPro CottonCandy Mellowsi Rainbow
|
|
8
|
+
icon = "code-2", -- Lucide icon name, rbxassetid://, or URL
|
|
9
|
+
folder = "{NAME}", -- executor save folder for config persistence
|
|
10
|
+
notify_title = SCRIPT_NAME, -- notification header text
|
|
11
|
+
transparency = 0.8, -- background transparency: 0 = opaque, 1 = fully transparent
|
|
12
|
+
acrylic = true, -- blur effect behind window (executor must support it)
|
|
13
|
+
open_button_mobile_only = true, -- false = show floating open button on desktop too
|
|
14
|
+
open_button_icon = "code-2", -- Lucide icon for the floating open button
|
|
15
|
+
|
|
16
|
+
-- Custom WindUI themes — entries appear in the theme dropdown automatically.
|
|
17
|
+
-- Available fields: accent background outline text placeholder button icon
|
|
18
|
+
themes = {
|
|
19
|
+
-- { name = "MyTheme", accent = "#7c3aed", background = "#0e0c1a", outline = "#1e1b4b",
|
|
20
|
+
-- text = "#e8e3ff", placeholder = "#6d6d8a", button = "#1e1b4b", icon = "#a78bfa" },
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
-- compat_exclude lists modules dropped from build/script.compat.obf.lua
|
|
24
|
+
-- (the build for executors that don't support full UNC APIs).
|
|
25
|
+
compat_exclude = {
|
|
26
|
+
-- "player/UNC.rblua",
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
-- ==========================================
|
|
2
|
+
-- {UPPER}
|
|
3
|
+
-- ==========================================
|
|
4
|
+
-- Plain Lua helper module. Compiled as a flat upvalue — locals defined here
|
|
5
|
+
-- are visible to all later files. Add shared helpers onto the func table;
|
|
6
|
+
-- keep everything else local.
|
|
7
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
component {
|
|
2
|
+
-- ── Signals ───────────────────────────────────────────────────────────────
|
|
3
|
+
signal enabled = false
|
|
4
|
+
|
|
5
|
+
-- ── Keybind (toggle on keypress) ──────────────────────────────────────────
|
|
6
|
+
-- keybind Enum.KeyCode.X → enabled
|
|
7
|
+
|
|
8
|
+
-- ── State change handler ──────────────────────────────────────────────────
|
|
9
|
+
on enabled {
|
|
10
|
+
if v then
|
|
11
|
+
-- feature activated
|
|
12
|
+
else
|
|
13
|
+
-- feature deactivated
|
|
14
|
+
end
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
-- ── Respawn handler ───────────────────────────────────────────────────────
|
|
18
|
+
on Respawn {
|
|
19
|
+
-- runs every time the player's character loads
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
-- ── Per-frame loop ────────────────────────────────────────────────────────
|
|
23
|
+
-- on Heartbeat when enabled {
|
|
24
|
+
-- guard hrp
|
|
25
|
+
-- -- 60fps logic here
|
|
26
|
+
-- }
|
|
27
|
+
|
|
28
|
+
-- ── Exported functions (callable from other components) ───────────────────
|
|
29
|
+
func Toggle() {
|
|
30
|
+
enabled(not enabled())
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- ==========================================
|
|
2
|
+
-- REMOTES MODULE
|
|
3
|
+
-- ==========================================
|
|
4
|
+
-- Cache all RemoteEvent / RemoteFunction instances here.
|
|
5
|
+
-- Other modules call func.Remote_* wrappers instead of
|
|
6
|
+
-- holding their own WaitForChild chains.
|
|
7
|
+
|
|
8
|
+
local RS = game:GetService("ReplicatedStorage")
|
|
9
|
+
|
|
10
|
+
-- ========== EXAMPLE ==========
|
|
11
|
+
-- local exampleRemote = RS:WaitForChild("Remotes"):WaitForChild("Example")
|
|
12
|
+
-- func.Remote_Example = function(value)
|
|
13
|
+
-- exampleRemote:FireServer(value)
|
|
14
|
+
-- end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"comments": {
|
|
3
|
+
"lineComment": "--",
|
|
4
|
+
"blockComment": ["--[[", "]]"]
|
|
5
|
+
},
|
|
6
|
+
"brackets": [
|
|
7
|
+
["{", "}"],
|
|
8
|
+
["[", "]"],
|
|
9
|
+
["(", ")"]
|
|
10
|
+
],
|
|
11
|
+
"autoClosingPairs": [
|
|
12
|
+
{ "open": "{", "close": "}" },
|
|
13
|
+
{ "open": "[", "close": "]" },
|
|
14
|
+
{ "open": "(", "close": ")" },
|
|
15
|
+
{ "open": "\"", "close": "\"", "notIn": ["string"] },
|
|
16
|
+
{ "open": "'", "close": "'", "notIn": ["string"] }
|
|
17
|
+
],
|
|
18
|
+
"surroundingPairs": [
|
|
19
|
+
["{", "}"],
|
|
20
|
+
["[", "]"],
|
|
21
|
+
["(", ")"],
|
|
22
|
+
["\"", "\""],
|
|
23
|
+
["'", "'"]
|
|
24
|
+
],
|
|
25
|
+
"indentationRules": {
|
|
26
|
+
"increaseIndentPattern": "\\{[^}]*$",
|
|
27
|
+
"decreaseIndentPattern": "^\\s*\\}"
|
|
28
|
+
},
|
|
29
|
+
"onEnterRules": [
|
|
30
|
+
{
|
|
31
|
+
"beforeText": "\\{\\s*$",
|
|
32
|
+
"action": { "indent": "indent" }
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rb-rblua",
|
|
3
|
+
"publisher": "rb",
|
|
4
|
+
"displayName": "rb — .rblua Language Support",
|
|
5
|
+
"description": "Syntax highlighting, linting, and formatting for .rblua Pulse components",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"engines": { "vscode": "^1.75.0" },
|
|
8
|
+
"categories": ["Programming Languages"],
|
|
9
|
+
"contributes": {
|
|
10
|
+
"languages": [
|
|
11
|
+
{
|
|
12
|
+
"id": "rblua",
|
|
13
|
+
"aliases": ["rblua", "Rblua"],
|
|
14
|
+
"extensions": [".rblua"],
|
|
15
|
+
"configuration": "./language-configuration.json"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"grammars": [
|
|
19
|
+
{
|
|
20
|
+
"language": "rblua",
|
|
21
|
+
"scopeName": "source.rblua",
|
|
22
|
+
"path": "./syntaxes/rblua.tmLanguage.json"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"iconThemes": [
|
|
26
|
+
{
|
|
27
|
+
"id": "rb-rblua-icons",
|
|
28
|
+
"label": "rb — rblua file icons",
|
|
29
|
+
"path": "./icons/icon-theme.json"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"activationEvents": ["onLanguage:rblua"],
|
|
34
|
+
"main": "./src/extension.js"
|
|
35
|
+
}
|