-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.lua
More file actions
67 lines (57 loc) · 2.27 KB
/
Copy pathmain.lua
File metadata and controls
67 lines (57 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
local last_use_time = 0
local last_pulse_time = 0
local session_use_count = 0
local cycle_start_time = 0
local menu_elements = {
main_toggle = checkbox:new(false, get_hash("MIND_FINAL_V12")),
use_toggle = checkbox:new(false, get_hash("MIND_FINAL_V13")),
}
local function render_menu()
if tree_node:new(0):push("Mindcage Manager") then
menu_elements.main_toggle:render("Enable Master", "Global Toggle")
menu_elements.use_toggle:render("Manual Reset", "Resets counter to 0")
tree_node:new(0):pop()
end
end
local function on_update_loop()
local current_time = get_time_since_inject()
if not menu_elements.main_toggle:get() then return end
-- Reset Counter Logic
if menu_elements.use_toggle:get() or (current_time - cycle_start_time > 3300) then
session_use_count = 0
cycle_start_time = current_time
menu_elements.use_toggle:set(false)
console.print("Mindcage Manager: New 55m cycle started.")
end
-- THE BUFF GUARD: Even if script reloads, don't use if buffs are present
local local_player = get_local_player()
if not local_player then return end
local buffs = local_player:get_buffs()
local active_buff_count = 0
for _, buff in ipairs(buffs) do
if string.find(buff:name(), "ProfaneMindcage") then
active_buff_count = active_buff_count + 1
end
end
-- If we see 3 buffs, sync the internal counter to 3 so it stops
if active_buff_count >= 3 and session_use_count < 3 then
session_use_count = 3
console.print("Mindcage Manager: Detected active buffs. Syncing counter to 3.")
end
-- HARD LOCKS
if session_use_count >= 3 or active_buff_count >= 3 then return end
if current_time - last_use_time < 5 then return end
-- ITEM USAGE
local items = local_player:get_consumable_items()
for _, item in ipairs(items) do
if string.find(item:get_name(), "ProfaneMindcage") or string.find(item:get_name(), "Mindcage") then
console.print("Mindcage Manager: Using stack " .. (session_use_count + 1))
use_item(item)
session_use_count = session_use_count + 1
last_use_time = current_time
return
end
end
end
on_update(on_update_loop)
on_render_menu(render_menu)