Skyrim
0 of 0

File information

Last updated

Original upload

Created by

Axletree

Uploaded by

NexusModsCaretaker

Virus scan

Safe to use

About this mod

A wheelmenu (original design by expired), to make various skills and features from other mods available with a single key.

Requirements
Permissions and credits
Changelogs
Attention: This mod is no longer being supported or updated.

This mod has been uploaded by "The Care Taker" at the request of its owner. The Care Taker account is run by Nexus Mods for the purpose of hosting mods created by authors who are no longer active in the community.

If you are a mod author and would like to learn more about this service or have questions, you can find details regarding The Care Taker HERE.

Happy modding!


NOTE FROM ORIGINAL AUTHOR: Anyone who is considered a mod author by Nexus Mods' standard (i.e. have access to the private MA forum, or if this definition change in the future, meet said definition) can request ownership of the mod if s/he wishes to update and maintain it. The only conditions are that permissions stay fully open, the mod isn't deleted from Nexus, and the mod may not be used as a basis for submitting an application to the Creation Club.


----------------------------------------------------------------------------------------------------------------------------------
EASY WHEEL MENU
----------------------------------------------------------------------------------------------------------------------------------


This mod allow you to choose a hotkey to bring up a wheelmenu. Or even up to 16 hotkeys, for 16 different wheelmenus all with their own set of functionalities. But since you probably don't won't to bother yourself with 16 hotkeys, you can also enable a swap mode to cycle through all of the wheelmenus you configured. Cool heh ?

Available functions in each wheel are fully customizable through the MCM menu, as well as their layout.

The wheelmenu offer a quick access to actions from other mods such as Campfire, Frostfall, iNeed, Bathing in Skyrim, Immersive Horses or EFF,which would normally require you to use a spell or a hotkey.


I made it because I think having to browse through survivalism/management spells and/or remembering dozen of hotkeys can be a bit bothering for this kind of actions.
I mean, spells are to kill people, and hotkeys to make styled stuffs like dodging, parrying, flying... but not to eat your bread or clean your buttcrack >_<


There is no hard-dependencies, no matter which mods you use/don't use, this one will check what you currently have in your load order and make options available accordingly.

Easywheel work atop of your other mods and simply call their own functions when you choose to do so. Nothing is modified in the native behavior of your mods.


Even cooler, you can now make your own addons for Easy Wheel, so you have custom functions available here as well =D This allow you, as a power-user, to add functionalities from your favorite mods to your wheelmenu, or mod authors to add built-in support.


Prerequisites :

SKSE v1.7.03 or higher. This is hardcoded, the mod will be disabled if you don't have it.
SkyUI, preferably v5.1
UIExtensions (also included in Extensible Follower Framework)

----------------------------------------------------------------------------------------------------------------------------------
THE AWESOME v4
----------------------------------------------------------------------------------------------------------------------------------


Version 4 is up. Lot of awesome stuffs, including the possibility to make your own addon in something like 10 seconds, up to 16 wheel layouts available, and more importantly, the possibility to use "swap mode" to move from one wheel layout to another with a single hotkey (or 2 if you want to go both ways).

It also feature a properly working spells hiding/showing feature. And support is ready for conditional functions (the only example in the core mod is Frostfall's Inner Fire, which require a Frostfall custom perk).

The MCM is completely dynamic, so every addon made for EWM4 will be seen in there as if it was in the core mod.

Everything is now fully scripted with SKSE event, my love for keywords and the story manager have shown its limit.


Supported languages are : English, French, and Japanese.

Check below to a quick introduction about making your own addons.


If you're a bit lost, here is the recomanded configuration :
 - 2 or 3 wheel layouts (depending on how you want to organize your functions and how much of them you have)
 - Swap mode with both the "show" and the "next" tied to the same key, "previous" disabled
 - HideSpells On.



----------------------------------------------------------------------------------------------------------------------------------
BUILT-IN SUPPORT
----------------------------------------------------------------------------------------------------------------------------------


Campfire

Craft Item, Harvest WoodBuild Campfire and Instincts
Replace the survivalism powers from Campfire. Simple as that.
There is an option in the MCM Menu to automatically hide spells in your magic menu if its counterpart is available from one of the wheelmenus. 

Frostfall

Weathersense and Inner Fire
Replace that survivalism power from Frostfall. Simple as that.
There is an option in the MCM Menu to automatically hide spells in your magic menu if its counterpart is available from one of the wheelmenus. 

Inner Fire is only available once you have the relevant perk from the Frostfall's custom perk tree.

Special :
If "show mods status" is enabled in EWM's MCM, weathersense will automatically be cast when opening the wheel.


iNeed

Eat and Drink
currently, those only provide access to the "simple" option available via hotkey in iNeed.
You probably know that in iNeed, different stuffs will happens if you hold your hotkey a bit longer. Those extended features are currently impossible to implement without distributing a reworked script of isoku.

Sit
Same feature as iNeed's hotkey, allow you to sit for a while, to take a breath =)

Special :
If "show mods status" is enabled in EWM's MCM, the notification for your hunger, thirst, and tireness will be displayed when opening the wheel.


Bathing in Skyrim

Shower and Bath
Same features as those availables with Bathing in Skyrim hotkeys.


Immersive Horses

Horse Menu and Whistle
Replace the two powers available from Immersive Horses by wheelmenu commands.
There is an option in the MCM Menu to automatically hide spells in your magic menu if its counterpart is available from one of the wheelmenus.

I wanted to make better stuff for Immersive Horses because I love the mod SO MUCH, but its own menu is tied to the "current horse", and it require more time than I have for now to dig in to make sure I got everything right. Plus it's already using SkyUILib, which is rather nice (but not as nice as wheelmenu :p)


Extensible Follower Framework

Leader's Teleportation and Leader's Telepathy

Identical to the powers provided by the mods, the first one let you teleport all of your followers near you, the second to open the follower management wheel.


Hunterborn

Foraging, Scrimshaw, Primitive Cooking, Sense Direction, Taxonomy

Equivalent to their powers. Taxonomy is only available if this feature is enabled in Hunterborn's MCM.


Field Dress, Skin, Harvest, Butcher and Process

Hunterborn's function, available if you're looking at a suitable target (dead animal for field dress, and of course dressed carcass for all of the others).

----------------------------------------------------------------------------------------------------------------------------------
AVAILABLE ADDONS
----------------------------------------------------------------------------------------------------------------------------------


For Hearthfire Adoption by Sandman53


----------------------------------------------------------------------------------------------------------------------------------
STUFF TO KNOW
----------------------------------------------------------------------------------------------------------------------------------


A quick note about mod-detection :

You might have heard of this, but detecting the presence of another mod via papyrus scripts have a lot of weaknesses.

Easy Wheel Menu is now using some kinda advanced stuffs, so renamed or merged plugins shouldn't be too much of an issue. That said, you should still avoid to renumber formID whenever possible, or spells won't be detected properly and you'll have non-responding commands in your wheelmenu.


How to use :

Make sure UIExtensions.esp is in your loadorder, as well as EasyWheel.esp and all of your favorites mods.

Once in game, simply press the hotkey to bring up the wheel menu, and click on the option you want to execute. Hotkey is "K" by default. If you don't want to do anything, just press escape or tab to exit.

Functions available in the wheelmenu are automatically filled when you install the mod. You can further customize the layout or which functions to make available via the Configuration page of the MCM. You can also modify the hotkey here.
If you have a lot of functions you'd like to access via wheelmenu, you can enable a second one in the MCM. 


Updating :

If updating from an older version than v4, you'll need to make a clean save (uninstall, go in game, save, quit, enable new mod, play).



Translations :

Currently support natively English, French and Japanese.



----------------------------------------------------------------------------------------------------------------------------------
CREATING ADDONS
----------------------------------------------------------------------------------------------------------------------------------


Making your own addon :

You only need to create a simple plugin with a quest in it. No need for EasyWheel.esp nor even Skyrim.esm as Master, just a tiny mod with a quest.
The quest must have an EditorID (obvisouly...), and have the "Start Game Enabled" and "Run Once" checkbox ticked in.

Grab the DevKit, and simply create a script which extends EWM_HandleModBase like this :
Scriptname EWM_CustomAddon extends EWM_HandleModBase
(An example is included in the devkit)

Associate it to your quest. You will have a few properties to set up :
  • PluginName is the name of your addon. You don't have to actually set it to your plugin's name. This name will be used in the MCM Menu to display available functions through this addon.
  • AddOnQuest must match exactly the EditorID of the quest the script is attached to.
  • FCT_LST_DEFAULT is the list of functions you want to make available through this plugin. You can put as much as you want in here, as long as it doesn't make the EWM's limit explode (128 functions max across all plugins+core mod). Name them whatever you want, but nothing too common. Prefer the use of a prefix specific to your addon.

A smart thing to do if you intend to use the advanced feature (hiding spells and/or conditional functions), is to copy the list of function with their index in commentary in your source script.
If you want your addon to be available to hide spells from the magic menu when a related function is selected by the player in one of its wheel layout, you will also need to set the HasSpells property to true. More details in the next paragraph.


Once this small script association is complete, open your script and create events for each of your functions, with the event's name prefixed by "On". For instance, if you declared a function named "_ADDON_myTest" in the FCT_LST_DEFAULT property, you'd create this event :

Event On_ADDON_myTest()
;Put whatever code you want in here
EndEvent
And that's it, your function will be available in the MCM to be added in any wheel's layout, and fully working.

One final step required is to create a translation file to take care of the "cuteness" of your addon, or your function would appear as "$_Addon_myTest" in the UI.
For this :
  • In Data\Interface\Translations create a .txt file named PluginName_ENGLISH.txt (replace PluginName with the name of your .esp). 
  • Open it with Notepad++, and set encoding to UCS-2 LE BOM 
  • Add a line for each of your functions, and next to it its "translation" (the text you want to be displayed in the UI instead of the thing with the "$"), separated by a tabulation. 


In our previous example it would be :
$_Addon_myTest   Test Function

With this, your function would show up as "Test Function" in the UI.


If you're a bit confused about this trick, more informations on translations files are available here



Advanced feature :

You can also set spells to be hidden when a function is selected in one of the wheel layout. For this, you'll need to set the hasSpells property to true as mentioned above, and then add this function to your script, with aSpell being a Spell property you've added to your script.

Spell Function GetFunctionSpell(Int functionIndex)
if functionIndex == 0
return aSpell
endif
return none
EndFunction
Note that it is critical that the function has a "return none" statement after checking for all mods index to prevent issues.
You can use as much "elseif" statement you want to associate spells to each of your functions. The "functionIndex" is the index of the function in your FCT_LST_DEFAULT property.
Even if you enabled "hasSpells", you don't have to specify a spell for each of your functions.

For performance reasons, I had to limit the number of spells you can hide per function to one, to prevent to much array-browsing. 


Finally, it is possible to use a similar functionality to add conditions to a function. A function with its condition not met won't be available in the wheel menu until the condition is achieved. It can be whatever you're able to script. If the condition is met once, but then removed (for instance : condition for the player to be vampire, who then got cured by good ol' Falion), it'll be properly removed from the list of available functions.

To add conditions to one or more function(s), you have to add the following function to your script :

Bool Function GetFunctionCondition(Int functionIndex)
if functionIndex == 0
;check your condition here, return false/true depending on the outcome. For instance :
return CheckingFunction()
endif
return true
EndFunction
Where CheckingFunction() would be another function in your script returning a boolean depending on whatever it's looking at.

Same as with the GetFunctionSpell function, you can use "elseif" statement to add conditions to each of your functions based on their index in FCT_LST_DEFAULT 

----------------------------------------------------------------------------------------------------------------------------------
THE END
----------------------------------------------------------------------------------------------------------------------------------


Credits and Thanks :

Expired - UIExtensions

BowmoreLover - Japanese Translation

Chesko - Frostfall, Campfire.
Isoku - iNeed, and lot of other awesome mods.
mzin - Bathing in Skyrim.
sevencardz - Immersive Horses
Expired - Extensible Follower framework

mrjack - SublimePapyrus

SKSE and SkyUI teams of course !
And Bethsoft as well, otherwise we wouldn't even be there in the first place  ;)