Nyyrazzilyss / NyyLIB

Mudlet client script for Torilmud
http://www.torilmud.com/phpBB3/viewtopic.php?f=4&t=27194
GNU General Public License v2.0
7 stars 4 forks source link

Autoroller bug - autoroll timer isn't set to nil. Breaks autoroller in many scenarios #268

Closed Gyrx closed 4 years ago

Gyrx commented 4 years ago

I've suspect there are issues when you complete a roll using the autoroller, then attempt rolling a 2nd character. In attempting to reproduce the issue, I identified the trigger to prevent timeout by swapping charisma and power fire while I was in the login screen after completing a character roll:

Anecdotally, I've observed the sound will play that indicates a successful roll using the auto roller but the auto-roller will continue to roll. I've observed this 10+ times in the last few weeks. This could be due to the "cha pow" command being fired during an active roll.

To avoid this, now after completing a successful roll using the autoroller I close mudlet and launch a new mudlet session. I have yet to reproduce the above described issue the 1st time rolling a character in a mudlet session.

Taken from assoc: Nyyrazzilyss 'Might not be the cause of the problem you were seeing with it never stopping, but would be a bug' You 'word, i'll keep an eye on it' Nyyrazzilyss 'Didn't really look to closely, that one just kind of jumped out at me' Nyyrazzilyss 'It needs a trigger from the message when you accept the roll to delete that timer'

Log: ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Type the # or name of a character above to login or choose an action below. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- (N)ew character | (L)ink character | (U)nlink character | (R)eorder (E)nter description | (D)elete character | (C)hange password | (Q)uit -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Your choice: n [onNetworkOutput: cha pow] That character doesn't exist! Please try again. N [onNetworkOutput: N]

Entering new character generation mode. Race selection - Please choose one of the following for your character.

a) Human (A for help) i) Ogre (I for help) b) Barbarian (B for help) j) Swamp Troll (J for help) c) Drow Elf (C for help) k) Half Elf (K for help) d) Moon Elf (D for help) p) Illithid (P for help) e) Shield Dwarf* (E for help) q) Yuan-Ti (Q for help) f) Duergar Dwarf (F for help) r) Orc (R for help) g) Halfling (G for help) s) Half-Orc (S for help) h) Gnome (H for help)

1) General listing of classes available to each race, and other info. 9) Return to login

Gyrx commented 4 years ago

Just now reproduced "cha pow" being fired while in the login menu after completing a successful char using autoroller.

Log:

Your choice: N [onNetworkOutput: N]

Entering new character generation mode. Race selection - Please choose one of the following for your character.

a) Human (A for help) i) Ogre (I for help) b) Barbarian (B for help) j) Swamp Troll (J for help) c) Drow Elf (C for help) k) Half Elf (K for help) d) Moon Elf (D for help) p) Illithid (P for help) e) Shield Dwarf* (E for help) q) Yuan-Ti (Q for help) f) Duergar Dwarf (F for help) r) Orc (R for help) g) Halfling (G for help) s) Half-Orc (S for help) h) Gnome (H for help)

1) General listing of classes available to each race, and other info. 9) Return to login

   (HELP) Use the capital letter of the Race you want help on.
          For Help on Classes, type '1' for general information.

NOTE: If you are new to Toril, or MUDding in general, we suggest you begin the game with on of the races marked by a (*) above: Human, Barbarian, or Shield Dwarf.

Your selection?

[onNetworkOutput: cha pow]

Class selection menu

a) Warrior e) Blackguard f) Cleric k) Necromancer r) Enchanter s) Invoker v) Illusionist u) Rogue w) Hexblade

z) Return to the Race selection menu and re-choose your race and/or get more information

Y

Gyrx commented 4 years ago

Update:

I believe this also reproduces if you enter "y" and continue rolling during any autoroll (including the 1st autoroll). The "autoroll" timer is never set to nil.

I'm testing a fix for the 2nd character rolling. Keying off: ^Your character has been created and is ready for you to play.

Command: -- erase current value of autoroll timer timer:set("autoroll", nil)

Gyrx commented 4 years ago

Fix seems to work got keying off completing a character roll. Still need to identify proper line to key off of when users selects "y" to continue rolling.

Unable to reproduce in 3 of 3 attempts with trigger enabled. I am able to reproduce the bug the 1st attempt after disabling the trigger to set autoroll to nil.

Gyrx commented 4 years ago

I also now set the autoroll timer to nil after users types "?" when the have the option to keep the stats or continue rolling stats.

Trigger off of below line in same trigger for "^Your character has been created and is ready for you to play.": ^Explanation of stats:

Nyyrazzilyss commented 4 years ago

4/13/2020 012dev