178 lines
4.3 KiB
Plaintext
178 lines
4.3 KiB
Plaintext
|
|
|
|
; objectdef CombatHelper
|
|
; {
|
|
; variable collection:CastStackAbility CastStack
|
|
; variable queue:CastStackAbility PrirortyAbilityQueue
|
|
|
|
; method Initialize(jsonvalueref jsonCastStackConfig)
|
|
; {
|
|
; CastStack:FromJSON[jsonCastStackConfig]
|
|
; }
|
|
|
|
; member:CastStackAbility CastNextAbility()
|
|
; {
|
|
; if ${PriorityAbilityQueue.Peek(exists)}
|
|
; {
|
|
|
|
; }
|
|
; }
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
objectdef BotController
|
|
{
|
|
variable bool IsBotRunning = FALSE
|
|
variable bool IsShowingSettings = FALSE
|
|
|
|
member:string StartButtonText()
|
|
{
|
|
if ${IsBotRunning}
|
|
{
|
|
return "Stop"
|
|
}
|
|
else
|
|
{
|
|
return "Start"
|
|
}
|
|
}
|
|
|
|
member:string SettingsButtonText()
|
|
{
|
|
if ${IsShowingSettings}
|
|
{
|
|
return "Hide Settings"
|
|
}
|
|
else
|
|
{
|
|
return "Show Settings"
|
|
}
|
|
}
|
|
|
|
; member:string GetSettingsCheckBoxes()
|
|
; {
|
|
; variable jsonvalue checkboxes = "[]"
|
|
; variable jsoniterator settingKeysIterator
|
|
|
|
; setttingKeys:GetIterator[settingsKeyIterator]
|
|
; if ${settingKeysIterator:First(exists)}
|
|
; {
|
|
; echo "items"
|
|
; do
|
|
; {
|
|
; echo "looping"
|
|
; checkboxes:Add[$$>
|
|
; {
|
|
; "type": "checkbox",
|
|
; "name": "${settingKeysIterator.Value.key}",
|
|
; "content": "${settingKeysIterator.display_name}"
|
|
; }
|
|
; <$$]
|
|
; }
|
|
; while ${settingKeysIterator:Next(exists)}
|
|
; }
|
|
; echo "here ${checkboxes.AsJSON~}"
|
|
|
|
; return ${checkboxes.AsJSON~}
|
|
; }
|
|
|
|
method Initialize()
|
|
{
|
|
LGUI2:LoadPackageFile["bot.json"]
|
|
}
|
|
|
|
method Shutdown()
|
|
{
|
|
LGUI2:UnloadPackageFile["bot.json"]
|
|
}
|
|
|
|
method OnClose()
|
|
{
|
|
Script:End
|
|
}
|
|
|
|
method OnCloseSettings()
|
|
{
|
|
IsShowingSettings:Set[FALSE]
|
|
LGUI2.Element[mr.bot.settings]:SetVisibility[Hidden]
|
|
}
|
|
|
|
method ToggleBot()
|
|
{
|
|
IsBotRunning:Set[${IsBotRunning.Not}]
|
|
}
|
|
|
|
method ToggleSettings()
|
|
{
|
|
if ${IsShowingSettings}
|
|
{
|
|
LGUI2.Element[mr.bot.settings]:SetVisibility[Hidden]
|
|
}
|
|
else
|
|
{
|
|
LGUI2.Element["mr.bot.settings"]:SetVisibility[Visible]
|
|
}
|
|
|
|
IsShowingSettings:Set[${IsShowingSettings.Not}]
|
|
}
|
|
|
|
method Pulse()
|
|
{
|
|
; if ${IsBotRunning.Not}
|
|
; {
|
|
; return
|
|
; }
|
|
|
|
; echo "Test: ${settings.IsSettingChecked["test"]}"
|
|
; if ${Me.InCombat}
|
|
; {
|
|
; variable jsoniterator CastStackIterator
|
|
; settings.CastStack:GetIterator[CastStackIterator]
|
|
|
|
; if ${CastStackIterator:First(exists)}
|
|
; {
|
|
; do
|
|
; {
|
|
; if ${CastStackIterator.Value.Get["AbilityType"].Equal["Heal"]} && ${Me.Health} < ${CastStackIterator.Value.Get["Percentage"]}
|
|
; {
|
|
; echo "Casting Heal ${CastStackIterator.Value.Name}"
|
|
; return
|
|
; }
|
|
; elseif ${CastStackIterator.Value.Get["AbilityType"].Equal["Combat"]} && !${AbilityUsed.Element[${CastStackIterator.Value.Get["Name"]}]}
|
|
; {
|
|
; AbilityUsed:Set[${CastStackIterator.Value.Get["Name"]}, TRUE]
|
|
; echo "using Combat ${CastStackIterator.Value.Get["Name"]}"
|
|
; return
|
|
; }
|
|
; elseif ${CastStackIterator.Value.Get["AbilityType"].Equal["CA"]} && !${AbilityUsed.Element[${CastStackIterator.Value.Get["Name"]}]}
|
|
; {
|
|
; AbilityUsed:Set[${CastStackIterator.Value.Get["Name"]}, TRUE]
|
|
; echo "using CA ${CastStackIterator.Value.Get["Name"]}"
|
|
; return
|
|
; }
|
|
; else
|
|
; {
|
|
; }
|
|
; }
|
|
; while ${CastStackIterator:Next(exists)}
|
|
; }
|
|
; }
|
|
}
|
|
}
|
|
|
|
#include "settings_controller.iss"
|
|
|
|
variable(global) BotController MRBotController
|
|
variable(global) SettingsController MRSettingsController
|
|
|
|
function main()
|
|
{
|
|
while 1
|
|
{
|
|
MRBotController:Pulse
|
|
wait 5
|
|
}
|
|
} |