[RELz, BETA] Super Hotkeys

Post » Mon Mar 14, 2011 11:36 pm

This is thread #2 (versions 0.49 to ??).
Thread #1 (versions 0.31 to 0.49) can be found at: http://www.gamesas.com/bgsforums/index.php?showtopic=949637
Thread #0 (versions 0.30 to 0.31) can be found at: http://www.gamesas.com/bgsforums/index.php?showtopic=945344

This mod REQUIRES OBSE
http://obse.silverlock.org/

Download version 0.49 http://tesnexus.com/downloads/file.php?id=22326
Or for links to more beta-ish versions, check the last few posts in this thread.

Fromt the readme:
Super Hotkeys
version 0.49
by SkyRanger-1

Forum thread: http://www.gamesas.com/bgsforums/index.php?showtopic=949637

tesnexus download: none yet

This mod requires OBSE version 16 or later. OBSE can be obtained here:
http://obse.silverlock.org/


=============================================
Section 1: Overview
=============================================

This mod extends the vanilla hotkey wheel in two general ways:
1. It adds new hotkey wheels, accessable by holding down modifier keys.
2. Slots in hotkey wheels can be marked as being special hotkeys. Special hotkeys have similar interfaces to the vanilla hotkeys, but can do a variety of different things like cycling you between weapons, or storing an entire outfit instead of a single item, or switching to a spell and casting it and then switching back to your original spell.


=============================================
Section 2: General Interface
=============================================

The general interface at this point is this:

2.1. It mostly works like regular hotkeys. You press the number and click on the item/spell to bind the key. Pressing and holding the number will cause the wheel to appear, showing you how the keys are currently configured.

2.2. Modifier keys allow you to switch between multiple wheels, similar to Improved Hotkeys. In the default configuration, pressing left-shift will switch you to an alternate wheel of hotkeys, pressing left-alt will switch you to another, and pressing left-shift and left-alt at the same time will switch you to a 3rd wheel of hotkeys, for a total of 4 wheels including the default wheel used when no modifiers are pressed.

2.3. To create a special hotkey, go to the stats menu and press the hotkey (plus optional modifier keys). A menu will come up asking you what type you want that hotkey to be.
Note: Some hotkey types have additional configuration options that can only be accessed by first setting the type of the hotkey, and then accessing this menu again and setting the type to the same thing it already was.

2.4. Now that slot in the hotkey wheel is occupied by a special hotkey of the type you chose. To change it back to a normal hotkey, repeat step 3 and select normal hotkey from the menu.

2.5. The process for configuring the special hotkey depends upon the type of special hotkey, but it generally involves binding items or spells to the hotkey by holding down the hotkey in the inventory or magic menu and clicking on one or more spells or items you want bound to it. In most cases you have to hold the hotkey down until you have finished binding all items.

The hotkey types are:

Normal Hotkey: These work just like in vanilla.
Cycler Hotkey: Used to cycle through a set of weapons or spells.
Gear-Set Hotkey: Used to equip an entire outfit at once.
AutoCast Hotkey: Used to cast a spell or sequence of spells automatically while still keeping your current spell selected.

For more details see section 3.


=============================================
Section 3: Special Hotkey Types
=============================================


Current hotkey types include Normal, Cycler, Gear-Set, Auto-Cast, and Dynamic Cycler.

3.0 Normal Hotkeys
The default hotkey type. Works just like a vanilla hotkey. That's because it IS a vanilla hotkey. All other hotkeys types are collectively referred to as "special hotkey types".

3.1 Cycler Hotkeys
Bind the Cycler Hotkey to each item you want it to cycle through, in order, without lifting the hotkey until all items have been bound. Configuration is now done, but can be repeated at any time. Each Cycler Hotkey remembers a position in the cycle. The position starts out as the first item in the cycle. Each time the hotkey is pressed, it will equip the item in the current position (or select the spell in the current position) and then switch to the next position.

3.2.0 Gear-Set Hotkeys, Mode 0 (default)
Bind the Gear-Set Hotkey to each item you want it to equip or unequip, without lifting the hotkey until all items have been bound. Configuration is now done, but can be repeated at any time. This will unequip any armor, clothing, jewelry, shield, or torch that is not part of the set.

In order to switch a Gear-Set hotkey between normal mode and alternate mode, go to the stats menu and press the hotkey for your Gear-Set. When prompted for what type you want to change it to, select Gear-Set. This will cause a menu to pop up offering you the option of switching to the alternate mode.

3.2.1 Gear-Set Hotkeys, Mode 1
To configure a Gear-Set Hotkey that is in mode 1, equip every item you want the Gear-Set Hotkey to equip, and unequip every item you want it to unequip. Bind the Gear-Set Hotkey to each item you want it to equip or unequip, without lifting the hotkey until all items have been bound. Configuration is now done, but can be repeated at any time. Now when you use the gear-set key it should equip and unequip items appropriately.

3.2.2 Gear-Set Hotkeys, Mode 2
As for mode 0 above, except that weapons and ammo are unequipped just like clothing.

3.2.3 Gear-Set Hotkeys, Mode 3
This gear-set mod equips everything in the set and unequip nothing (though the act of equipping some things may force items occupying the same slots to be unequipped).

3.3 Auto-Cast
Bind the spells you want this hotkey to cast, without lifting the hotkey until all spells have been bound. Configuration is now done, but can be repeated at any time. Now when you use this hotkey, your character should cast the bound spell in order as if you were switching to them and casting them sequentially. You can modify your currently set spell without interfering with the process or being interfered with by the process. You can press additional Cast Hotkeys, the spells they cast will be queued up. You can abort the sequence at any time by pressing the cast key, though if a spell had already started casting then that spell will complete before it aborts.

3.4 Dynamic Cycler
BE WARNED.
This hotkey type is difficult to understand and configure properly.
Go to the inventory or spell menu. Bind the Dynamic Cycler Hotkey to each item you want it to cycle through, in order, without lifting the hotkey until all items have been bound. Configuration is now done, but can be repeated at any time. If you have one item from the cycle selected (and it is only in the cycle once) then using the hotkey should cause you to equip the next item in the cycle (not necessarily unequiping the previous item, if it did not occupy the same slot). The same is true for spells. If you have no items or spells from the cycle equipped then it will cause you to equip the first item from the cycle. If you have multiple items (or a spell and one or more items) from the cycle equipped, or if the cycle includes some items or spells more than once, then the behavior is more complicated but still consistent. Specifically, it will cause you to equip every item that comes immediately after an item in the cycle that you currently have equipped. Your active spell counts as equipped. If you have none of the items in the cycle equiped, then it will equip the first item in the cycle. Note that if this causes multiple scripted items to be equiped from a single keypress then only one of those items will avoid the OnEquip issue in the current version.

Potion Selector/Drinker: A Potion Drinker Hotkey will make you drink one of the selected potion type whenever you press it. The "selected" potion type in this case means the potion type bound to the most recently pressed Potion Selector Hotkey. To make a Potion Selector Hotkey, simply make a Potion Drinker Hotkey and then bind it to a potion type.

Planned but not yet implemented hotkey types include:

Gear-Set Cycler: Bind your Gear-Set Cycler Hotkey to your first set of gear, as for a Gear-Set Hotkey above. Then bind it to your second set of gear, as if you were replacing the original gear set. Repeat for each additional set of gear you want this hotkey to cycle through. Configuration is now done. When you use the Gear-Set Cycler Hotkey is should switch you to the next set of gear, as appropriate. Unlike some other hotkey types, you can not reconfigure by repeating the configuration process. If you want to reconfigure it, you have to reset it by selecting the hotkey type again from the stats menu.


=============================================
Section 4: .ini file configuration
=============================================

While hotkeys are generally configured in-game, modifier keys are configured from the .ini file. The options available from the .ini file are extensive, confusing, and difficult to explain.



=============================================
Section 5: Version History
=============================================

version 0.30: initial release
version 0.31: bug fix? or maybe I added gear keys? I forget
version 0.32: fixed handling of scripted inventory objects
version 0.35:
......added auto-cast hotkey type
......renamed the old cycler hotkeys to dynamic cycler hotkeys
......added new, simpler cycler hotkeys
......more stuff I've forgotten
version 0.36:
......changed cast hotkeys to support multiple spells in one hotkey
......changed name of cast keys to auto-cast keys
......improved handling of queued auto-cast spells
......fixed a couple bugs in auto-cast keys
......fixed bug when changing special hotkeys back to normal hotkeys
......fixed a bug that was preventing modifier keys from working properly
version 0.37:
......fixed issues with selecting the type of hotkeys with modifier keys
version 0.38:
......fixed an issue that was prevent the OnEquip stuff from working
......made modifier keys configurable from an ini file
......added 3 new types of modifier keys
version 0.39:
......improved behavior of auto-cast hotkeys
......added the ability to map a hotkey to an additional key
......changed the default behavior of gear-set hotkey, added menu to select behavior
version 0.40:
......removed spurious popups when viewing the stats menu immediately after starting a new game
version 0.41:
......added another mode for gear-sets
......possible fix for the continuous wheel spam bug
......added "cancel" button to hotkey type menu
version 0.42:
......fixed mode 2 for gear-sets
......added code to fix wheel number if it got messed up somehow
......fixed "cancel" button in hotkey type menu
version 0.43:
......fixed mode 2 for gear-sets, for real this time
......newly created gear-set hotkeys are now by default bound to the items you are wearing
......fixes bug introduced in .41 or .42 where going to the menus in the first few seconds after loading could make this mod go beserk
version 0.43, release 2:
......updates documentation somewhat, no other changes
version 0.44:
......fixes bug in gear-set type selection
......changes some hotkeys names to be more informative
version 0.45:
......fixes bug with multislot items not being unequiped properly in gear-sets
......fixed gear-set name updates
......misc. changes (ie stuff I've forgotten)
version 0.47:
......fixed issues with special hotkeys only equipping a single arrow
......reorganized some code, possibly other stuff I've forgotten
version 0.48:
......removed debugging script that gave player a test object
......added new hotkey type, the potion drinker/selector hotkey
......futzed with cycler hotkeys in hopes of fixing any problems in them
version 0.49:
......fixed a bug with equipping multiple arrows that could cause crashes on some computers
......fixed a bug with equipping scripted items that could cause hotkey 8 to be changed
......NOT INCLUDE: modified OBSE version now available, see below:

Modified OBSE version:
There is a modified version of OBSE 16 available from me. It seems to fix many of the problems that plague users of this mod. However, it is not a standard OBSE version, so until there is a standard OBSE version with these changes incorporated, care must be taken to avoid creating versioning problems for OBSE. If you want to test out this modified OBSE version, post in the forum thread or PM me on the official Bethesda forums, and I'll send you a link to the modified OBSE dll.


=============================================
Section 6: Plans
=============================================

Improve OnEquip handling
Fix up auto-cast hotkeys to work better with my big mod, Enhanced Magic System.
Support for hotkeys that are not part of wheels
Possibly add Pluggy HUD options for potion drinker/selector hotkeys.
Add additional options for mapping hotkeys to other keys.
Add Gear-Set Cycler Hotkey.
Add Toggle-Spell/Maintain-Spell Hotkey.


Current known problems:

OBSE bugs:
1. If not using the modified OBSE dll, sometimes a special hotkey will stop working, permanently. Switching to the modified OBSE will fix this.
2. If not using the modified OBSE dll, sometimes equipping of scripted items will fail strangely and persistently, possibly on a per-item basis. Switching to the modified OBSE will fix this.

Autocast bugs: I've been using auto-cast hotkeys extensively in game lately, playing through Lost Spires and Ivellon, so I have a fairly good idea what the bugs in auto-cast hotkeys are.
3. If you press an autocast hotkey, and then load a saved game while still auto-casting, your cast key will get stuck down. This can be avoided atm by pressing the cast key before loading the save. This can be fixed once it happens atm by pressing an autocast hotkey. This will get fixed in the next release, but might still result in a single spell getting accidentally cast after a game is loaded.
4. If you press an autocast hotkey for a spell that includes summon effects while using Supreme Magicka 0.86 or later, some issues occur due to the way Supreme Magicka is handling things. These issues can result in an old summon of the same type getting dispelled when your new summon appears even though you had not reached your limit on numbers of summons. These issues can also result in your selected spell afterwards being changed to the summon spell. A work-around may be added to fix this.
5. Sometimes autocast hotkeys cast your currently selected spell in place of some of the spell they were supposed to cast. This may be related to framerate, possibly triggered by low framerates. A fix may require showing the icon for next spell to be cast for a longer time than it currently does, making it easier to see where you are in the autocast chain but harder to see what spell you currently have selected.
6. Sometimes autocast hotkeys go bezerk and just keep casting indefinitely. This appears similar to #3 above, but can be fixed by pressing the cast button instead of the fix for #3 above. The is probably a bug in the cast manager script, and should get fixed whenever that script gets rewritten.
7. Casting quick-casting spells from my Enhanced Magic System mod using an auto-cast hotkey results in a normal cast instead. I'll add special code for cooperation between these two mods sometime.
8. The code to make you not accidentally cast your currently selected spell when you press the cast button to cancel an auto-cast may not be working correctly, and/or may fail in low framerate situations. It will probably get better whenever I get around to rewriting the cast manager script, but may not get perfect. One solution would be to switch to another key to abort autocasts, such as block, grab, or attack.
9. The icons for auto-cast hotkeys don't seem right.

General issues:
10. Equipping of scripted items are not handled perfectly... the biggest issue is that at most one scripted item gets handled by this code at once, any other items get redirected to the regular equipping stuff that doesn't worry about OnEquip. Other issues are that there is a tiny delay before the scripted item gets equipped, and that an equipping message and sound get generated for it. There's no good solution available for some of this, unless I want to put serious effort in to figuring out how to fake an OnEquip from an OBSE plugin.
11. Better icons need to get added or something sometime.
12. The modifier keys only count if they are pressed during the frame that the hotkey is released. This isn't really a bug, but it may not be desirable either.
13. Sometimes the game hiccups slightly when a special hotkey is pressed. This "hiccup" may result in a single-frame reduction in framerate, and possibly in the players position or animation jerking slightly, it's not clear to me at this time. I think this is the issue I was referring to earlier when I complained about my character sometimes seeming to jerk forwards when activating a special hotkey while holding down the forwards key. This issue arrises because special hotkeys are currently implemented as a zero-slot clothing item with no mesh bound to a regular hotkey, with an OnEquip script that unequips the item instantly. I think Oblivion thinks it has to update the players graphics or something because a clothing item was equipped and/or unequipped. Probably the only workaround is to intercept the keypresses to special hotkeys. Doing that has some other advantages too... it would let me suppress the stupid rustling sound, and the equip message, and replace them with anything I wanted. Would take a tiny bit more CPU power, but that's no big deal.
14. Persistent reports of hotkey wheels being overwritten by other hotkey wheels. I've never seen this happen, last time I looked at it (a while ago) I didn't see any way for this to happen.
User avatar
daniel royle
 
Posts: 3439
Joined: Thu May 17, 2007 8:44 am

Post » Tue Mar 15, 2011 4:56 am

#3: it hadn't occurred to me that it was already possible until I started writing out #3. I've glanced at the code, and it is sorta possible atm, but I think it will only work correctly if you hold the key down for at least 3 frames. And the ini configuration to make it work is a little strange. Also, making 5 or 10 of them would take more CPU than is really necessary, not that people need many of them.

Would it work better if you don't modify it in the ini file? Not that the ini file is bad, its good to be able to have the changes down separtely and easy to access. On the other hand Improved hokeys allowed you to make new hotkeys by using a menu system then holding downs the keys you wanted. It only allowed newhotkeys to be used with a modifier key though.(i.e Shift and Alt) But I believe this way you could have different key assignments over different saves for different characters.
#7: Well, they sort of did, but that wasn't intentional, and it didn't persist across saves. It could be done intentionally though, wouldn't be difficult, and would then persist across saves.

That Sounds great. :goodjob:

This mod is not likely to do Spell Delete or Take Everything - its hotkeys are not really intended for use in menus.
I might do a seperate mod for Spell Delete however, since scruggs Spell Delete seems to be the only standalone spell delete mod and it clearly has room for improvement.

Improved hotkeys had a confromation box for deleteing a spell, I think this is a good idea for safety. Also both it and the original spell delete required you to select another spell firstst, or switch spell menu/menu tabs, or close the menu before the spell was removed. Would it be possible to force the selection of the next spell down in the list so the spell asked to be deleted gets instantly removed? Unless you have a better solution that is. Sorry kinda off-topic since it will be a different mod.
User avatar
Spooky Angel
 
Posts: 3500
Joined: Thu Aug 10, 2006 5:41 pm

Post » Tue Mar 15, 2011 12:03 am

This mod is not likely to do Spell Delete or Take Everything - its hotkeys are not really intended for use in menus.
I might do a seperate mod for Spell Delete however, since scruggs Spell Delete seems to be the only standalone spell delete mod and it clearly has room for improvement.
I would do a seperate take everything key mod, but I don't know how. I've made requests for such a mod before.

At a basic level, http://www.tesnexus.com/downloads/file.php?id=15681 can do the "Take Everything" hotkey. The Quick Start section describes how to set it up; you can then press the hotkey in the menu, or just while targeting the container to take everything.

It should be bug-free when taking everything, but there may be a few issues when Speedy Looting an npc. Speedy Grabbing has some ownership issues that need to be worked on (some items are marked as stolen when they shouldn't be), but you don't have to use that aspect of the mod.

It is due for a revamp, but I'm hoping that the next OBSE version finally has the inventory functions (a la RefStuff) that have been hinted at since before v15. When that happens, I can avoid the blasted workarounds that are causing most of the bugs.
User avatar
candice keenan
 
Posts: 3510
Joined: Tue Dec 05, 2006 10:43 pm

Post » Mon Mar 14, 2011 8:59 pm

...
What would a cycler potion/poison selector key do? Act as a cycler key that merely switches potion/poison type for the virtual actively-selected-potion thingy of potion select hotkeys? I could modify the existing potion selector hotkey type to be able to be bound to multiple potions and cycle through them.
I can modify potion drinker keys to support poisons too (if they don't already, I haven't tested that), or modify all hotkey types that select poisons to suppress the the confirmation box (if they don't already, I haven't tested that).

Yes, it just cycles potions/poisons to virtualy activate and won't consume those by itself.


Yeah! Sweet! Is this still in the works? I couldn't tell from the latest description. :tops:

...
A customizable console command type hotkey is certainly possible. It sounds kind of weird, but conceivably an in-game text entry box could come up and allow you to type in scripts to be attached to a key.


That sounds extremely useful, especially for testing and debugging.
User avatar
Queen Bitch
 
Posts: 3312
Joined: Fri Dec 15, 2006 2:43 pm

Post » Mon Mar 14, 2011 11:20 pm

Yeah! Sweet! Is this still in the works? I couldn't tell from the latest description. :tops:

I think so. I was about to start on that, it's probably only a few minutes work, then real life distracted me for a bit and since I came back all my Oblivion time has been spent playing, not modding. Though I've found a bunch of issues playing. Auto-cast spells don't work right in on summoning spells when using SM 0.86a (and that might not be readily fixable from SH, maybe only from SM), and are occasionally making smaller screwups on regular spells. MMM causes my computer to BSOD. Auto-cast hotkeys still don't have an icon (I thought I changed that?). And the equipped messages and sounds for special hotkeys are beginning to annoy me, may have to do something about them.

That sounds extremely useful, especially for testing and debugging.

It would be awesome if you could stick actual scripts in that kind of thing, but it's console stuff only, no variable declarations, no condition blocks, etc.
User avatar
Len swann
 
Posts: 3466
Joined: Mon Jun 18, 2007 5:02 pm

Post » Tue Mar 15, 2011 2:27 am

I think so. I was about to start on that, it's probably only a few minutes work, then real life distracted me for a bit and since I came back all my Oblivion time has been spent playing, not modding. Though I've found a bunch of issues playing. Auto-cast spells don't work right in on summoning spells when using SM 0.86a (and that might not be readily fixable from SH, maybe only from SM), and are occasionally making smaller screwups on regular spells. MMM causes my computer to BSOD. Auto-cast hotkeys still don't have an icon (I thought I changed that?). And the equipped messages and sounds for special hotkeys are beginning to annoy me, may have to do something about them.


Understood. I'm looking forward to it, man.

I got heavily derailed myself with moving into a new house, etc. Just now trying to get caught back up. Still need to setup my gaming rig at the new house, but I'll be trying this as soon as I do.

:tops:

It would be awesome if you could stick actual scripts in that kind of thing, but it's console stuff only, no variable declarations, no condition blocks, etc.


Yeah, true, but nevertheless, being able to hotkey console commands would be very useful for common testing stuff like variable assignments, turning on the specific debug text you want, etc. :D
User avatar
XPidgex Jefferson
 
Posts: 3398
Joined: Fri Sep 08, 2006 4:39 pm

Post » Mon Mar 14, 2011 5:17 pm

The icon functions in OBSE 16 apparently don't do what I thought they did. I cannot copy the icons of non-clothing objects on to hotkeys. Or at least, not in a very dynamic way. That's why the icon stuff I did hasn't been working. For the moment, most icons will have to be simple hardwired things.
Or not. I am confused atm.
User avatar
Maddy Paul
 
Posts: 3430
Joined: Wed Feb 14, 2007 4:20 pm

Post » Tue Mar 15, 2011 12:29 am

version 0.50:
......changed/fixed how some of the icons are handled
......permit potion selectors to be bound to multiple potions and cycle
......made poisons on special hotkeys not prompt for confirmation

ftp://71.115.199.25/super_hotkeys_050.zip.

edit: note that despite the special version number, there's nothing particularly special about this version. I just ran out of normal version numbers.
User avatar
Kay O'Hara
 
Posts: 3366
Joined: Sun Jan 14, 2007 8:04 pm

Post » Mon Mar 14, 2011 6:23 pm

Thanks for the update but Potion Drinker Hotkey isn't working for me. It just says "Select Potion: srHotkeyTokenTypePotion equipped."

And when I started a new game, CTD occured just one time. I couldn't reproduce it. It happened just after I left caracter creation menu.
Microsoft Visual C++ Runtime Library
Runtime Error!

Program: ~~~~~\Oblivion.exe

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


Here's my setup with modified.dll.
Active Mod Files:00  Oblivion.esm01  Beautiful People 2ch-Ed.esm02  Unofficial Oblivion Patch.esp  [Version 3.2.0]03  DLCShiveringIsles.esp04  Unofficial Shivering Isles Patch.esp  [Version 1.4.0]05  Oblivion Citadel Door Fix.esp06  UOP Vampire Aging & Face Fix.esp  [Version 1.0.0]07  QTdof.esp08  phinix-waterfix.esp09  Eve_StockEquipmentReplacer.esp0A  Beautiful People 2ch-Ed Disable BandBlindMask.esp0B  Beautiful People 2ch-Ed Merged Hair Modules.esp0C  Beautiful People 2ch-Ed Merged Eye Modules.esp0D  Beautiful People 2ch-Ed Custom Race.esp0E  Beautiful People 2ch-Ed Vanilla Race.esp0F  sr_super_hotkeys_debug.esp10  sr_super_hotkeys.esp11  Bashed Patch, 0.esp


As for v0.49, I haven't found any critical issue except for he leftover of minor issues reported in previous thread.
User avatar
Emilie M
 
Posts: 3419
Joined: Fri Mar 16, 2007 9:08 am

Post » Tue Mar 15, 2011 3:36 am

Hm... yes, potion selecters have gone bezerk. Every individual component of them was working, and got broken as soon as I moved on to testing some other aspect. Will fix shortly.
User avatar
Dean
 
Posts: 3438
Joined: Fri Jul 27, 2007 4:58 pm

Post » Mon Mar 14, 2011 10:29 pm

version 0.51:
......fixed (I hope) potion drinker/selector/cycler

ftp://71.115.199.25/super_hotkeys_051.zip.
User avatar
Trevi
 
Posts: 3404
Joined: Fri Apr 06, 2007 8:26 pm

Post » Mon Mar 14, 2011 2:58 pm

It's working now, thanks. :D
User avatar
Leticia Hernandez
 
Posts: 3426
Joined: Tue Oct 23, 2007 9:46 am

Post » Tue Mar 15, 2011 1:24 am

version 0.51:
......fixed (I hope) potion drinker/selector/cycler

ftp://71.115.199.25/super_hotkeys_051.zip.




Thanks! :D Perfect!
User avatar
Silvia Gil
 
Posts: 3433
Joined: Mon Nov 20, 2006 9:31 pm

Post » Mon Mar 14, 2011 3:45 pm

I was finding an alternative to Improved Hotkey so I decied to try Super hotkey.

What I'm interested in is.. gearset(not needed to be exactly a gearset it's okay if it can do similar thing) which don't miss script effect of Kotn set.

I tried Gearset, Cycler and Dynamic Cycler..

Gearset.. seemed not to be that different from Improved Hotkey when it comes to the scripted effect.
(At least, the way of equipping weapon seems different.)

Cycler did the best about scripted effect.. it didn't miss scripted effect. I got all scripted lesser power, and magic effect. But pressing the same button until all bound gears are equipped takes a bit long time, and it seems sometimes go out of order. However many times I pressed the hotkey, equipment never changes :(

Dynamic Cycler was similar to Cycler of course, and it took less time to equip all gears. Good.

Anyway... Although Super hotkey is absolutely good hotkey mod, I think it could be improved.

For example, dynamic cycler can have alternative mode like gearset.
the alternative mode automatically cycled until all things bound are equipped, making users press button just once. ah.. is it like your planned Gear-Set Cycler Hotkey?


Well, I don't dare think I understand how super hotkey mod works fully. so If I sound silly, please understand it's due to my misunderstanding.


P.s) Does anyone know how to change perfectly from Kotn set to Gray fox set or from Gray fox to KOtN? Perfectly means.. all scripted effect should not be missed and pressing a button is needed only once..



++ Oh I missed 0.51.. I'm going to try it.
User avatar
Matthew Aaron Evans
 
Posts: 3361
Joined: Wed Jul 25, 2007 2:59 am

Post » Mon Mar 14, 2011 11:00 pm

There are fundamental problems trying to get OnEquip scripts to work that only an OBSE plugin or future OBSE version could fully fix. Super Hotkeys uses a trick to work around the issue, but the trick does not scale well to multiple items - it takes at least 1 extra frame per scripted item equipped. The way Super Hotkeys is set up now, when you use a special hotkey generally the first scripted item that hotkey equips will use that trick, and all the others will just get equipped regularly (and have the OnEquip script not run). This works perfectly on cyclers, since they never equip more than one item at a time, but this has flaws if you try to equip an entire outfit full of OnEquip scripts.

I could modify Super Hotkeys to use this trick on every scripted item equipped, but that would make equipping scripted outfits take 1-2 frames per item, up to like 10-20 frames in a worst-case scenario (probably 11 frames, but I haven't tested... could be up to 21). If you were in 3rd person mode and were previously wearing a robe that would look pretty funny too, as you equip the items one at a time (although... come to think of it, the items could all be equipped without OnEquip blocks, and then re-equipped one at a time with the OnEquip blocks... each item would require at least one frame when you weren't wearing it though). Also, frames immediately after you change equipment tend to be slow frames, so 10 of those frames might be slow frames. Furthermore, Super Hotkeys cannot tell scripts with OnEquip blocks from scripts without them, so Super Hotkeys treats all scripted items the same. This means that major delay would happen not just for KotN outfits that actually need it, but also for any outfit that happened to have a lot of scripts on it even if they aren't OnEquip scripts.
User avatar
Dominic Vaughan
 
Posts: 3531
Joined: Mon May 14, 2007 1:47 pm

Post » Tue Mar 15, 2011 1:46 am

There are fundamental problems trying to get OnEquip scripts to work that only an OBSE plugin or future OBSE version could fully fix. Super Hotkeys uses a trick to work around the issue, but the trick does not scale well to multiple items - it takes at least 1 extra frame per scripted item equipped. The way Super Hotkeys is set up now, when you use a special hotkey generally the first scripted item that hotkey equips will use that trick, and all the others will just get equipped regularly (and have the OnEquip script not run). This works perfectly on cyclers, since they never equip more than one item at a time, but this has flaws if you try to equip an entire outfit full of OnEquip scripts.

I could modify Super Hotkeys to use this trick on every scripted item equipped, but that would make equipping scripted outfits take 1-2 frames per item, up to like 10-20 frames in a worst-case scenario (probably 11 frames, but I haven't tested... could be up to 21). If you were in 3rd person mode and were previously wearing a robe that would look pretty funny too, as you equip the items one at a time (although... come to think of it, the items could all be equipped without OnEquip blocks, and then re-equipped one at a time with the OnEquip blocks... each item would require at least one frame when you weren't wearing it though). Also, frames immediately after you change equipment tend to be slow frames, so 10 of those frames might be slow frames. Furthermore, Super Hotkeys cannot tell scripts with OnEquip blocks from scripts without them, so Super Hotkeys treats all scripted items the same. This means that major delay would happen not just for KotN outfits that actually need it, but also for any outfit that happened to have a lot of scripts on it even if they aren't OnEquip scripts.


It seems to me that waiting a few frames is a very small price to pay for having all OnEquip scripts working correctly. We're talking about what, a few seconds delay at worst?

The alternative is going into your inventory and selecting each item one by one.

I really don't see any downside to adding a slight delay. Am I missing something?
User avatar
Skivs
 
Posts: 3550
Joined: Sat Dec 01, 2007 10:06 pm

Post » Tue Mar 15, 2011 3:44 am

The worst-case scenario is this:

The player presses a gear-set hotkey bound to a cuirass, a helmet, a pair of gloves, a pair of greaves, a pair of boots, 2 rings, 1 amulet, a weapon, one or more arrows, a torch, a shield, and a zero slot item like the magic feather in Lost Spires. And all of those items are scripted. Some of those scripts might not have OnEquip blocks, but this mod can't tell, so it treats all of them as having OnEquip blocks.

The first frame after the special hotkey is released nothing happens. The second or third frame, one of the items is equipped (and the equipping noise is played). The game might stutter a tiny bit, as it sometimes has a tendency to stutter when the player changes equipment. The item may force the unequipping of a previously equipped item, possibly a multi-slot item, possibly making the character look kinda naked. A frame or two later another item would get equipped. A frame or two later another, and so on until all items were equipped. With the equipping noise playing again each time an item gets equipped. The total number of frames required is 1-2 + 1-2 per item, or 14 to 28 frames. The framerate may plummet for this period, depending upon the items involved and the graphics card used and I don't know what else. During this period, the following things might not work or not work correctly or screw up the equipping process:
using hotkeys
saving the game
loading a game
entering a menu

Conceivably it could still be a good idea. The current system works pretty well for cases where there is only one scripted item. If it was set to support multiple scripted items like this, well, only people who wanted an entire outfit full of scripted stuff would see anything like the worst-case behavior, it would be entirely up to the user. One problem is that some people might have outfits with scripts that aren't OnEquip scripts, and not want to pay that penalty for their outfits that don't need it.

There are two other possibilities that could be done to change the equation: One is that an interface for specifying which scripted items have OnEquip blocks (or which items don't have them) could be done. The other would be a system hardwired to simulate the OnEquip blocks of certain items. That wouldn't be possiblefor all OnEquip items, but it would be possible for many specific items. If the important OnEquip items work out to be only a half dozen different things (say, the gear from KotN), and those all have OnEquip blocks that can readily be simulated (I don't have KotN, so I'm not really sure), then that would be another way to deal with it.
User avatar
Kellymarie Heppell
 
Posts: 3456
Joined: Mon Jul 24, 2006 4:37 am

Post » Tue Mar 15, 2011 12:12 am

I see what you mean.

Perhaps the best solution then would be to have two gear-set types:
  • Safe Gear-Set -- Safely handles OnEquip scripts for all items, but may be slow depending on how many items are scripted, your system performance, etc.
  • Fast Gear Set -- Like the current method. Fast but doesn't work well for more than one item with OnEquip scripts.

Sound reasonable?

Or, your suggestion for "an interface for specifying which scripted items have OnEquip blocks (or which items don't have them)" might work just as well.
User avatar
Kill Bill
 
Posts: 3355
Joined: Wed Aug 30, 2006 2:22 am

Post » Mon Mar 14, 2011 6:49 pm

Perhaps the best solution then would be to have two gear-set types:
  • Safe Gear-Set -- Safely handles OnEquip scripts for all items, but may be slow depending on how many items are scripted, your system performance, etc.
  • Fast Gear Set -- Like the current method. Fast but doesn't work well for more than one item with OnEquip scripts.


I think this suggestion is good and keeps things simple. I actually thought that the OnEquip issues for a gear-set had already been fixed, and was the main reason I wanted to use this hotkey mod.
User avatar
Lloyd Muldowney
 
Posts: 3497
Joined: Wed May 23, 2007 2:08 pm

Post » Mon Mar 14, 2011 11:33 pm

It has been fixed - but only for one item per press of a special hotkey. It's a limited fix. As mentioned, this can be extended to a perfect fix, but at the cost of undesirable side effects. Creation of a new hotkey type for this is unlikely, though I might create code to support arbitrary numbers of OnEquips with an ini setting to determine the limit to how many OnEquips its willing to do per hotkey press.

Today what little time I have put in to oblivion modding has been spent looking at the possibility of writing an OBSE plugin to deal with the OnEquip issue. No conclusions yet.

There are some indications that I might start coding more for real life soon, which would probably cut down on time available for Oblivion.
User avatar
Samantha Jane Adams
 
Posts: 3433
Joined: Mon Dec 04, 2006 4:00 pm

Post » Tue Mar 15, 2011 1:23 am

There are some indications that I might start coding more for real life soon, which would probably cut down on time available for Oblivion.


Good luck, hope you enjoy it! :)
User avatar
Josh Trembly
 
Posts: 3381
Joined: Fri Nov 02, 2007 9:25 am

Post » Mon Mar 14, 2011 7:22 pm

There is some strangeness going on in my game while using the auto-cast hotkeys. I am a pure mage, and I have been using the auto-cast feature for almost all of my Wheel 1 hotkeys.. it is really amazing and convenient! I love it! However, I found that when i equip a staff that has a magic effect, and have it readied to be used, and I use one of the auto-cast buttons to cast a spell, suddenly my character starts auto-casting that spell without stopping, over and over again until I run out of magicka. It locks my weapon effectively (I mean I cannot change my staff out because it says I cannot change a weapon while i'm attacking) and I just keep casting the spell again and again. When I finally run out of magicka, I'm able to change the weapon out to my magic dagger, and then I have no problem. Any ideas on this problem?
User avatar
Claire Mclaughlin
 
Posts: 3361
Joined: Mon Jul 31, 2006 6:55 am

Post » Tue Mar 15, 2011 2:37 am

I'm aware that the current cast-manager script doesn't entirely work right (particularly on spells that mods do funny things with, but also maybe occasionally on normal spells). At the moment, you can usually stop it by pressing the cast button if it goes nuts. I need to rewrite that script sometime, possibly with special work-around to make it play nice with specific other mods. I use auto-cast spells a lot, so it's a relatively high priority, though I think I haven't actually done anything at all in the construction set in a few days now.

I also had a strange issue with some characters where for a while pressing autocast keys while walking forwards seemed to through my character forward. I have no clue what caused that, and it seems so bizarre I'm beginning to wonder if I imagined it.
User avatar
Charlie Sarson
 
Posts: 3445
Joined: Thu May 17, 2007 12:38 pm

Post » Tue Mar 15, 2011 12:59 am

Do you use "Realistic Fatigue?" I sometimes stumble and fall because of that mod, and it most often happens when I'm running in some direction (could be strafing or running backwards) and doing an action. Since I'm a mage, that action is usually casting a spell, so it has the effect that you mentioned. It's usually in a dark place, where I guess it's easy to miss your footing while you are paying attention to casting rather than where you put your foot in those ruins, i.e. Aelyid ruins.
User avatar
kennedy
 
Posts: 3299
Joined: Mon Oct 16, 2006 1:53 am

Post » Mon Mar 14, 2011 6:21 pm

Nope, no realistic fatigue for me. Nor much else.
Oblivion.esmJog_X_Mod.esmOscuro's_Oblivion_Overhaul.esmMart's Monster Mod.esmMart's Monster Mod for OOO.esmWindfall.esmUnofficial Oblivion Patch.espUOP Vampire Aging & Face Fix.espDLCShiveringIsles.espUnofficial Shivering Isles Patch.espSpell Delete.espLandmarks, w Wells.espKDDwemerSpectacles.espOscuro's_Oblivion_Overhaul.espOOO-DLT_Remover.espMart's Monster Mod for OOO.espMart's Monster Mod - Diverse Creature Skins.espIvellon.espThe Ayleid Steps.espthievery.espLynges_Thieves_Highway-10256.espThe Lost Spires.espBlood&Mud.espMart's Monster Mod - City Defences.espsr_alternate_armor_formula.espToggleable Quantity Prompt.espsr_retroactive_health.espKseAliLeveling.espsr_staff_skill.espGather Ye Rosebuds.espKyoma's Spell Renamer.espSupremeMagicka.espSM_ShiveringIsles.espSM_OOO.espSM_MMM.espSM_EnchantStaff.espsr_enhanced_magic_system.espEnchantment Enhanced.espNo More Annoying Comments.espsr_race_balance_tweaks.espDuke Patricks Basic Denock Arrows.espsr_vamp_tweaks.espQuest Award Leveling_v1_6.espDEJ Harvest - Flora - LITE.espMage Ward.espSM_SigilStone.espSM_Scrolls.espBlack_Leather.espRAEVWD Cities.espsr_casting_time.espFashionAnvil.espWindfall.espsr_casting_hand.espsr_super_hotkeys.esp

The problem went away after a while, possibly when I switched from MMM 3.7 or so to 3.53 or so or tweaked my load order for Supreme Magicka.
User avatar
Tha King o Geekz
 
Posts: 3556
Joined: Mon May 07, 2007 9:14 pm

Next

Return to IV - Oblivion