Myslot
Myslot
Introduction
Myslot is a World of Warcraft Addon for transferring settings between accounts.
Myslot can export your ActionBar Layout, Marcos and Key Bindings as a transfer-friendly text, which can be copy/paste into notepad, sent via email, etc. Any character, even different class, can use Myslot to import those settings from the 'Exported text'
Usage
Export
- Use command /myslot to toggle Myslot main UI
- Click the 'Export' button
- Save the
exported text
anywhere you want (e.g. nodepad as a txt)
Import
- Use command /myslot to toggle Myslot main UI
- Paste
exported text
into textbox - Click the 'Import' button
Clean up tools
- Clear all action slot on your action bar
/myslot clear action
- Clear all key bindings (blizzard default included)
/myslot clear binding
Import profile from command
You can use the command 'load' to import a profile by name
/myslot load ProfileName
You can add this line in a macro and safe it in your profile and swap from one profile to another by using the macro.
Get Myslot
Contrubuting
Source on Github https://github.com/tg123/myslot;
Localization
Localization is welcomed, Please visit <http://www.wowace.com/addons/myslot/localization/> and submit your localization
Build your own Myslot
- clone the source code into
Interface\Addons\Myslot
$ git clone https://github.com/tg123/myslot.git Myslot
Changing Protobuf
Myslot use a modified version of lua-pb to serialize/deserialize the data. You may want to change the data structure sometimes if you want add some new things to export.
Please check lua-pb about how to generate protobuf stub files.
Copyright and License
- Copyright (C) 2009-2024 by Boshi Lian <[email protected]>
- Use of this software for profit purposes are NOT allowed except by prior arrangement and written consent of the author.
- This software is licensed under the Apache License, Version 2.0
- All rights of Exported text are owned by end-users.
In reply to oishii1992: Adding that in my test import that worked, I asked to ignore Bar1 and it did. However, I just did an import wherein I asked it to ignore Bars 4&5 and it did not ignore those bars. So it is not working for me.
In reply to pizza1776:
i believe you mistake bar 4 & 5
myslot follows wow standard are you sure you are ignoring 4&5 not other bars?
In reply to oishii1992: Oh, I see. This must be something that Bartender is doing to throw off the bar references, then. I tested on my client, where I use ElvUI and your addon works as expected. It's only on my wife's client with Bartender that things act weird. Thanks for the replies to help clear it up.
Hello, would it be possible to use your addon to copy the settings (bars, buttons, hotkeys aso) from one spec to another? in sod with dual spec all the buttons got another layout and its really annoying for classes like shaman tank/enh, rogue tank/dps, mage heal/dps to recreate the entire layout for just change a few buttons.
would be really cool if one could copy the buttons and layout from one spec to an other.
In reply to 1nH3ll:
yes no limit, even different class
Hello can we have an option to hide the minimap button please
In reply to furuchiru: please open option in game menu and find myslot to turn it off
Some errors observed on Beta 11.x:
When clicking arrow next to export or import buttons:
Message: Interface/AddOns/Myslot/gui.lua:457: attempt to call global 'EasyMenu' (a nil value)
When importing profile from 10.2.7:
Message: Interface/AddOns/Myslot/Myslot.lua:545: attempt to call global 'GetSpellBookItemInfo' (a nil value)
In reply to TOM_RUS: please test v5.17.3-beta
i do not have a tww acc to verify, sorry about that
In reply to oishii1992: errors seems gone, import goes through on beta. Also blizzard updated and launched 11.x PTR and you can use that instead of beta, should be available to everyone for testing.
The command /myslot load ProfileName no longer works. It just outputs "<Myslot>Profile to load found : Rogue", but there is no import. Can you please check?
In reply to warkonaut:
fixed in 5.17.2
Hi, when checking the ignore macro checkbox, is it supposed to also ignore the macros you placed on your action bars? I save my binds/macros/bars separately since I prefer to update my global binds/macro profiles separate of each other, so I ran into this issue where I have to place my macros back onto the bar after importing the action bar layout, even if the macros have the exact same name.
Also, the link to the github on this curseforge page has a type at the end with >
In reply to psydfexrein:
short answer: yes, by design
myslot will have no idea which macro the actionbar slot is pointing to if macro are ignored in exported string.
myslot is designed to transfer settings between players. thus, myslot must make sure 100% cloned: the macro the slot point to will be exactly the same including the macro body
Getting this when I log in and the addon won't start
7x Myslot/gui.lua:307: attempt to concatenate global 'ACTIONBAR_LABEL' (a nil value)
[string "@Myslot/gui.lua"]:307: in function `CreateSettingMenu'
[string "@Myslot/gui.lua"]:379: in main chunk
Locals:
opt = <table> {
ignorePetActionBar = false
ignoreActionBars = <table> {
}
ignoreBinding = false
ignoreMacros = <table> {
}
}
tableref = <function> defined @Myslot/gui.lua:69
childchecked = <function> defined @Myslot/gui.lua:83
childclicked = <function> defined @Myslot/gui.lua:87
parentchecked = <function> defined @Myslot/gui.lua:93
parentclicked = <function> defined @Myslot/gui.lua:104
actionbarlist = <table> {
1 = <table> {
}
2 = <table> {
}
3 = <table> {
}
4 = <table> {
}
5 = <table> {
}
6 = <table> {
}
7 = <table> {
}
8 = <table> {
}
9 = <table> {
}
10 = <table> {
}
11 = <table> {
}
12 = <table> {
}
13 = <table> {
}
}
(*temporary) = <table> {
}
(*temporary) = <table> {
hasArrow = true
checked = <function> defined @Myslot/gui.lua:93
notCheckable = false
isNotRadio = true
func = <function> defined @Myslot/gui.lua:104
arg1 = "action"
keepShownOnClick = true
menuList = <table> {
}
}
(*temporary) = <table> {
checked = <function> defined @Myslot/gui.lua:272
keepShownOnClick = true
notCheckable = false
text = "Key Binding"
func = <function> defined @Myslot/gui.lua:269
isNotRadio = true
}
(*temporary) = <table> {
hasArrow = true
checked = <function> defined @Myslot/gui.lua:93
notCheckable = false
text = "Macro"
func = <function> defined @Myslot/gui.lua:104
arg1 = "macro"
keepShownOnClick = true
menuList = <table> {
}
isNotRadio = true
}
(*temporary) = <table> {
}
(*temporary) = "Pet"
(*temporary) = " "
(*temporary) = nil
(*temporary) = "%s Specific Macros"
(*temporary) = ""
(*temporary) = "attempt to concatenate global 'ACTIONBAR_LABEL' (a nil value)"
menuFrame = Frame {
0 = <userdata>
Text = UIParentText {
}
Icon = UIParentIcon {
}
Button = UIParentButton {
}
Right = UIParentRight {
}
Middle = UIParentMiddle {
}
Left = UIParentLeft {
}
}
L = <table> {
Stance Action Bar = "Stance Action Bar"
Key Binding = "Key Binding"
Myslot = "Myslot"
Main Action Bar Page = "Main Action Bar Page"
Ignore during Import = "Ignore during Import"
Close = "Close"
Import = "Import"
}
In reply to Mythris: fix in 5.17.1 thanks
Removed temporary code as author fixed it. Thanks Oishii
In reply to tjocksmock:
fixed in 5.15.1
This is the single best addon ive encountered in years. THANK YOU
In reply to photonz_:
/love