min
1080c18ae0
feat(rbxl): Tool/Backpack/Mouse flow — Шаг 1/3 (Zapper)
Цель: запустить Roblox Tools (Zapper и подобные оружия) в плеере.
Архитектура:
1. RobloxShim: localPlayer.Backpack, localPlayer:GetMouse(), allTools registry,
equippedTool — внутренний учёт текущего Tool.
2. Instance.new('Tool') — теперь автоматически:
- создаёт виртуальный Handle (Part) внутри
- регистрирует Tool в allTools[]
- шлёт 'toolRegistered' в GameRuntime
3. fireGlobalEvent обработка новых событий из плеера:
- equipTool {index} → Tool.Equipped:Fire(playerMouse)
- unequipTool → Tool.Unequipped:Fire()
- toolActivated → Tool.Activated:Fire()
- mouseButton1Down {hit} → mouse.Hit.Position + mouse.Button1Down:Fire()
- keyDown {key} → mouse.KeyDown:Fire(key)
4. LuaSharedSandbox.addScript принимает toolName, в _startSingleScript
подсовывает виртуальный Tool как script.Parent (через
__rbxl_get_tool_by_name).
5. GameRuntime эвристика: скрипты с target=null и упоминанием
script.Parent.Equipped/Activated → toolName='Tool', группируются
в один Tool.
6. GameRuntime._registerRbxlTool: при получении toolRegistered кладёт
item в InventoryUI.hotbar, слушает смену слота → equipTool.
7. Клики canvas → mouseButton1Down с raycast Hit.Position.
Следующие шаги:
- HUD: индикатор экипированного Tool в плеере (Шаг 2)
- Leaderboard UI из leaderstats IntValue (Шаг 3)
2026-06-08 13:57:37 +03:00
..
2026-06-08 13:57:37 +03:00
2026-06-07 21:13:16 +03:00
2026-06-07 21:13:16 +03:00
2026-06-07 18:24:27 +03:00
2026-06-07 18:24:27 +03:00
2026-06-08 06:18:55 +03:00
2026-06-07 18:24:27 +03:00
2026-06-07 18:24:27 +03:00
2026-06-07 18:24:27 +03:00
2026-06-07 18:24:27 +03:00
2026-06-07 18:24:27 +03:00