GSE: Sequences, Variables, Macros

GSE: Sequences, Variables, Macros

6M Downloads

[BUG] Storage.lua Division by zero

Signs opened this issue Β· 1 comments

commented

πŸ”΅ Describe the bug:
Neither changes in sequences nor imports of sequences seem to work.

πŸ”΅ To reproduce: (Steps to reproduce the behavior)
1.Open the GSE Addon (/gse)
2. Edit any Sequence, save.
3. Reopen /gse and edit said sequence, your changes won't have saved.
4. The same issue occurs trying to import sequences, they do not import and do not show up in the "sequence list"

πŸ”΅ The error:
Paste the error message in this blockquote.

9x GSE\API\Storage.lua:1243: Division by zero
[string "@GSE\API\Storage.lua"]:1243: in function `processAction'
[string "@GSE\API\Storage.lua"]:1172: in function `processAction'
[string "@GSE\API\Storage.lua"]:1389: in function `CompileTemplate'
[string "@GSE\API\Storage.lua"]:536: in function `OOCUpdateSequence'
[string "@GSE\API\Events.lua"]:562: in function `?'
[string "@Details\Libs\AceTimer-3.0\AceTimer-3.0-17.lua"]:55: in function <...ceDetails\Libs\AceTimer-3.0\AceTimer-3.0.lua:50>

Locals:
action = <table> {
 Variable = "GCD"
 Type = "Pause"
}
metaData = <table> {
 Combat = true
 Trinket1 = true
 Trinket2 = true
}
variables = <table> {
 RPTE = <table> {
 }
 RPTB = <table> {
 }
}
PauseActions = <table> {
}
clicks = 0
(*temporary) = 1500
(*temporary) = "0"
(*temporary) = "0"
(*temporary) = true
(*temporary) = nil
(*temporary) = true
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "Division by zero"
Statics = <table> {
 StringFormatEscapes = <table> {
 }
 ReversePriority = "ReversePriority"
 CastCmds = <table> {
 }
 TranslationShadow = "SHADOW"
 CommPrefix = "GSE"
 Priority = "Priority"
 PrintKeyModifiers = "print("Right alt key " .. tostring(IsRightAltKeyDown()))
print("Left alt key " .. tostring(IsLeftAltKeyDown()))
print("Any alt key " .. tostring(IsAltKeyDown()))
print("Right ctrl key " .. tostring(IsRightControlKeyDown()))
print("Left ctrl key " .. tostring(IsLeftControlKeyDown()))
print("Any ctrl key " .. tostring(IsControlKeyDown()))
print("Right shft key " .. tostring(IsRightShiftKeyDown()))
print("Left shft key " .. tostring(IsLeftShiftKeyDown()))
print("Any shft key " .. tostring(IsShiftKeyDown()))
print("Any mod key " .. tostring(IsModifierKeyDown()))
print("GetMouseButtonClicked() " .. GetMouseButtonClicked() )
"
 SpecIDClassList = <table> {
 }
 CoreLoadedMessage = "GS-CoreLoaded"
 MacroResetSkeleton = "if %s then
	self:SetAttribute('step', 1)
	self:SetAttribute('loopiter', 1)
end
"
 SpecIDHashList = <table> {
 }
 StringReset = "|r"
 CleanStrings = <table> {
 }
 Class = "Class"
 ReloadMessage = "Reload"
 MacroCommands = <table> {
 }
 DebugModules = <table> {
 }
 TranslatorMode = <table> {
 }
 SourceLocal = "Local"
 GSE3OnClick = "local step = self:GetAttribute('step')
step = tonumber(step)
self:SetAttribute('macrotext', macros[step] )
step = step % #macros + 1
if not step or not macros[step] then -- User attempted to write a step method that doesn't work, reset to 1
	print('|cffff0000Invalid step assigned by custom step sequence', self:GetName(), step or 'nil', '|r')
	step = 1
end
self:SetAttribute('step', step)
self:CallMethod('UpdateIcon')
"
 Sequential = "Sequential"
 Random = "Random"
 ActionsIcons = <table> {
 }
 Actions = <table> {
 }
 Patrons = <table> {
 }
 Global = "Global"
 BaseSpellTable = <table> {
 }
 All = "All"
 Spec = "Spec"
 QuestionMark = "INV_MISC_QUESTIONMARK"
 SequenceDebug = "SEQUENCEDEBUG"
 TableMetadataFunction = <table> {
 }
 TranslationHash = "HASH"
 SystemVariableDescriptions = <table> {
 }
 SampleMacros = <table> {
 }
 SourceTransmission = "Transmission"
 TranslationKey = "KEY"
 SpecIDList = <table> {
 }
 SystemVariables = <table> {
 }
}
GSE = <table> {
 ResetButtons = <function> defined @GSE\API\Storage.lua:497
 StartOOCTimer = <function> defined @GSE\API\Events.lua:543
 ReportTargetProtection = <function> defined @GSE\API\Options.lua:1434
 RequestSequence = <function> defined @GSE\API\Serialisation.lua:331
 CloneSequence = <function> defined @GSE\API\Storage.lua:37
 modules = <table> {
 }
 CancelTimer = <function> defined @Details\Libs\AceTimer-3.0\AceTimer-3.0.lua:147
 CheckOOCQueueStatus = <function> defined @GSE\API\Events.lua:614
 StopOOCTimer = <function> defined @GSE\API\Events.lua:548
 GUIImportSequence = <function> defined @GSE_GUI\Import.lua:87
 inArena = false
 GUIRecordFrame = <table> {
 }
 GUISetColour = <function> defined @GSE_GUI\GUIFunctions.lua:167
 GUIConfirmDeleteSequence = <function> defined @GSE_GUI\GUIFunctions.lua:19
 TableDiff = <function> defined @GSE\API\StringFunctions.lua:314
 inDungeon = false
 UsedSequences = <table> {
 }
 ScheduleTimer = <function> defined @Details\Libs\AceTimer-3.0\AceTimer-3.0.lua:94
 UnsavedOptions = <table> {
 }
 UpdateIcon = <function> defined @

πŸ”΅ GSE.lua file:
GSE.lua.txt

πŸ”΅ Desktop (please complete the following information):

  • OS: Windows 10 64bit
  • Game Version wrath classic

πŸ”΅ GSE Version:

πŸ”΅ Additional context:
Add any other context about the problem here.

I think this problem started either after i used a Pause Action to wait for the GCD in one of my sequences, or after i imported a retail sequence into classic (purely as a means of inspiration, i never tried to run it). The variables "RPTE" and "RPTB" were, i think, used in that retail sequence (A PaulDuks Single Target Sequence from deadly hunters camp), which makes this a possible source of the bug.

I have tried uninstalling and reinstalling the addon, the issue seems to persist. I hope this helps, thanks for your hard work and cheers.

commented