Release v1.2.3.0
Dual delay system with collapsible UI - Added separate Initial Delay and Step Delay sliders for better timing control - Fixed custom delay bug where 290ms custom was failing vs 290ms default - Implemented collapsible "Set Custom Delays" section for cleaner UI - Added internal "Use Custom Delays" checkbox for easy on/off control - Users can now configure delays, enable them, and collapse section to save space - Updated config system to save/load both delay values
This commit is contained in:
parent
4adbe16698
commit
995dc8b505
5 changed files with 53 additions and 27 deletions
|
|
@ -61,7 +61,7 @@ void AutomationLogic::ApplyHealerBoons() {
|
|||
|
||||
try {
|
||||
g_api->GameBinds.InvokeAsync(EGameBinds_MiscInteract, 50);
|
||||
int initialDelay = g_state.useCustomDelays ? g_state.stepDelay : 390;
|
||||
int initialDelay = g_state.useCustomDelays ? g_state.initialDelay : 390;
|
||||
Sleep(initialDelay);
|
||||
|
||||
int delay = g_state.useCustomDelays ? g_state.stepDelay : 290;
|
||||
|
|
@ -128,7 +128,7 @@ void AutomationLogic::ApplyAllBoons() {
|
|||
|
||||
try {
|
||||
g_api->GameBinds.InvokeAsync(EGameBinds_MiscInteract, 50);
|
||||
int initialDelay = g_state.useCustomDelays ? g_state.stepDelay : 390;
|
||||
int initialDelay = g_state.useCustomDelays ? g_state.initialDelay : 390;
|
||||
Sleep(initialDelay);
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
|
|
@ -182,7 +182,7 @@ void AutomationLogic::ApplyGolemSettings() {
|
|||
|
||||
try {
|
||||
g_api->GameBinds.InvokeAsync(EGameBinds_MiscInteract, 50);
|
||||
int initialDelay = g_state.useCustomDelays ? g_state.stepDelay : 390;
|
||||
int initialDelay = g_state.useCustomDelays ? g_state.initialDelay : 390;
|
||||
Sleep(initialDelay);
|
||||
|
||||
for (int i = 0; i < 25; i++) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,10 @@ struct GolemHelperState {
|
|||
bool showUI = false;
|
||||
bool useCustomDelays = false;
|
||||
bool showAdvanced = false;
|
||||
bool showTimingSettings = false;
|
||||
int debugCounter = 0;
|
||||
|
||||
int initialDelay = 390;
|
||||
int stepDelay = 290;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -21,12 +21,13 @@ void ConfigManager::SaveCustomDelaySettings() {
|
|||
configFile << "[GolemHelper]" << std::endl;
|
||||
configFile << "useCustomDelays=" << (g_state.useCustomDelays ? "1" : "0") << std::endl;
|
||||
configFile << "stepDelay=" << g_state.stepDelay << std::endl;
|
||||
configFile << "initialDelay=" << g_state.initialDelay << std::endl;
|
||||
|
||||
configFile.close();
|
||||
|
||||
char logBuffer[200];
|
||||
sprintf_s(logBuffer, "Custom delay settings saved: enabled=%s, delay=%dms",
|
||||
g_state.useCustomDelays ? "true" : "false", g_state.stepDelay);
|
||||
char logBuffer[250];
|
||||
sprintf_s(logBuffer, "Custom delay settings saved: enabled=%s, stepDelay=%dms, initialDelay=%dms",
|
||||
g_state.useCustomDelays ? "true" : "false", g_state.stepDelay, g_state.initialDelay);
|
||||
g_api->Log(ELogLevel_INFO, "GolemHelper", logBuffer);
|
||||
|
||||
}
|
||||
|
|
@ -66,13 +67,19 @@ void ConfigManager::LoadCustomDelaySettings() {
|
|||
g_state.stepDelay = delay;
|
||||
}
|
||||
}
|
||||
else if (key == "initialDelay") {
|
||||
int delay = std::stoi(value);
|
||||
if (delay >= 100 && delay <= 1000) {
|
||||
g_state.initialDelay = delay;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configFile.close();
|
||||
|
||||
char logBuffer[200];
|
||||
sprintf_s(logBuffer, "Custom delay settings loaded: enabled=%s, delay=%dms",
|
||||
g_state.useCustomDelays ? "true" : "false", g_state.stepDelay);
|
||||
char logBuffer[250];
|
||||
sprintf_s(logBuffer, "Custom delay settings loaded: enabled=%s, stepDelay=%dms, initialDelay=%dms",
|
||||
g_state.useCustomDelays ? "true" : "false", g_state.stepDelay, g_state.initialDelay);
|
||||
g_api->Log(ELogLevel_INFO, "GolemHelper", logBuffer);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ void Load(AddonAPI* aApi) {
|
|||
"Toggle GolemHelper UI"
|
||||
);
|
||||
|
||||
g_api->Log(ELogLevel_INFO, "GolemHelper", "=== GolemHelper v1.2.2.0 Loaded ===");
|
||||
g_api->Log(ELogLevel_INFO, "GolemHelper", "=== GolemHelper v1.2.3.0 Loaded ===");
|
||||
g_api->Log(ELogLevel_INFO, "GolemHelper", "<c=#00ff00>GolemHelper addon</c> loaded successfully!");
|
||||
}
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ extern "C" __declspec(dllexport) AddonDefinition* GetAddonDef() {
|
|||
def.Signature = -424248;
|
||||
def.APIVersion = NEXUS_API_VERSION;
|
||||
def.Name = "GolemHelper";
|
||||
def.Version = { 1, 2, 2, 0 };
|
||||
def.Version = { 1, 2, 3, 0 };
|
||||
def.Author = "Azrub";
|
||||
def.Description = "Automates the process of setting optimal boon and golem configurations in the training area";
|
||||
def.Load = Load;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ void UIManager::RenderUI() {
|
|||
|
||||
if (ImGui::Begin("GolemHelper", &g_state.showUI, ImGuiWindowFlags_AlwaysAutoResize)) {
|
||||
|
||||
ImGui::TextColored(ImVec4(0.2f, 0.8f, 1.0f, 1.0f), "GolemHelper v1.2.2.0");
|
||||
ImGui::TextColored(ImVec4(0.2f, 0.8f, 1.0f, 1.0f), "GolemHelper v1.2.3.0");
|
||||
ImGui::Separator();
|
||||
|
||||
ImGui::Text("Status:");
|
||||
|
|
@ -143,34 +143,47 @@ void UIManager::RenderUI() {
|
|||
|
||||
ImGui::Spacing();
|
||||
ImGui::Separator();
|
||||
ImGui::Text("Timing Settings");
|
||||
|
||||
bool oldUseCustomDelays = g_state.useCustomDelays;
|
||||
int oldStepDelay = g_state.stepDelay;
|
||||
if (ImGui::CollapsingHeader("Set Custom Delays")) {
|
||||
|
||||
ImGui::Checkbox("Use Custom Step Delay", &g_state.useCustomDelays);
|
||||
bool oldUseCustomDelays = g_state.useCustomDelays;
|
||||
int oldStepDelay = g_state.stepDelay;
|
||||
int oldInitialDelay = g_state.initialDelay;
|
||||
|
||||
if (g_state.useCustomDelays) {
|
||||
ImGui::SetNextItemWidth(205);
|
||||
ImGui::SliderInt("", &g_state.stepDelay, 100, 1000, "%d ms");
|
||||
ImGui::Checkbox("Use Custom Delays", &g_state.useCustomDelays);
|
||||
|
||||
ImGui::Spacing();
|
||||
|
||||
ImGui::Text("Initial Delay (after F key):");
|
||||
ImGui::SetNextItemWidth(205);
|
||||
ImGui::SliderInt("##initial", &g_state.initialDelay, 100, 1000, "%d ms");
|
||||
|
||||
ImGui::Text("Step Delay (between clicks):");
|
||||
ImGui::SetNextItemWidth(205);
|
||||
ImGui::SliderInt("##step", &g_state.stepDelay, 100, 1000, "%d ms");
|
||||
|
||||
ImGui::Spacing();
|
||||
|
||||
if (ImGui::Button("Reset to Default", ImVec2(120, 0))) {
|
||||
g_state.stepDelay = 290;
|
||||
g_state.initialDelay = 390;
|
||||
ConfigManager::SaveCustomDelaySettings();
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("Slow Mode", ImVec2(80, 0))) {
|
||||
g_state.stepDelay = 1000;
|
||||
g_state.initialDelay = 600;
|
||||
ConfigManager::SaveCustomDelaySettings();
|
||||
}
|
||||
|
||||
ImGui::Spacing();
|
||||
ImGui::TextColored(ImVec4(0.8f, 0.8f, 0.2f, 1.0f), "Increase delay if clicks fail");
|
||||
}
|
||||
ImGui::TextColored(ImVec4(0.8f, 0.8f, 0.2f, 1.0f), "Increase delays if clicks fail");
|
||||
|
||||
if (oldUseCustomDelays != g_state.useCustomDelays || oldStepDelay != g_state.stepDelay) {
|
||||
ConfigManager::SaveCustomDelaySettings();
|
||||
if (oldUseCustomDelays != g_state.useCustomDelays ||
|
||||
oldStepDelay != g_state.stepDelay ||
|
||||
oldInitialDelay != g_state.initialDelay) {
|
||||
ConfigManager::SaveCustomDelaySettings();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -195,7 +208,9 @@ void UIManager::RenderOptions() {
|
|||
g_state.hitboxType = HITBOX_SMALL;
|
||||
g_state.useCustomDelays = false;
|
||||
g_state.showAdvanced = false;
|
||||
g_state.showTimingSettings = false;
|
||||
g_state.stepDelay = 290;
|
||||
g_state.initialDelay = 390;
|
||||
g_state.boonsEnabled = true;
|
||||
g_state.golemEnabled = true;
|
||||
|
||||
|
|
@ -241,6 +256,7 @@ void UIManager::RenderOptions() {
|
|||
ImGui::Text("- Timing: %s", g_state.useCustomDelays ? "Custom" : "Default");
|
||||
|
||||
if (g_state.useCustomDelays) {
|
||||
ImGui::Text("- Custom Delay: %d ms", g_state.stepDelay);
|
||||
ImGui::Text("- Step Delay: %d ms", g_state.stepDelay);
|
||||
ImGui::Text("- Initial Delay: %d ms", g_state.initialDelay);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue