|
Lua Addon Ideas
Quetzalcoatl.Xilkk
サーバ: Quetzalcoatl
Game: FFXI
Posts: 1418
By Quetzalcoatl.Xilkk 2019-07-09 09:08:36
I think a fun and useful addon would be one to translate from windows speach recognition to text commands.
I would like to be able to speak macros or better yet Gearswap commands and Shortcuts commands and have them enter.
I don't have macros for all my spells job abilities, or weaponskills, or pet commands.
sometimes I'd like to throw that stunning weaponskill, or a lesser used job ability. However finding the commands takes awhile.
I also like to play using a controller. I often set down the controller to type in a shortcuts command quickly.
being able to speak it instead would be really fun, though probably not for everyone.
Phoenix.Faloun
サーバ: Phoenix
Game: FFXI
Posts: 81
By Phoenix.Faloun 2019-07-09 09:22:40
Quetzalcoatl.Xilkk said: »I think a fun and useful addon would be one to translate from windows speach recognition to text commands.
I would like to be able to speak macros or better yet Gearswap commands and Shortcuts commands and have them enter.
I don't have macros for all my spells job abilities, or weaponskills, or pet commands.
sometimes I'd like to throw that stunning weaponskill, or a lesser used job ability. However finding the commands takes awhile.
I also like to play using a controller. I often set down the controller to type in a shortcuts command quickly.
being able to speak it instead would be really fun, though probably not for everyone. That's a good idea.
Asura.Sechs
サーバ: Asura
Game: FFXI
Posts: 10102
By Asura.Sechs 2019-07-09 09:43:16
I'm not sure I get what you're asking for, provide some examples if you don't mind Xilkk?
Phoenix.Faloun
サーバ: Phoenix
Game: FFXI
Posts: 81
By Phoenix.Faloun 2019-07-09 10:07:50
What I understood of that, is that you could use some macros or commands with your voice.
You have a micro, and for exemple, you want to cast stun, you just say it in the Micro and the command /ma stun will be sent.
Quetzalcoatl.Xilkk
サーバ: Quetzalcoatl
Game: FFXI
Posts: 1418
By Quetzalcoatl.Xilkk 2019-07-09 10:12:02
Well, I'm fuzzy on several of the technical aspects of how it would work best.
Maybe you have a activate and deactivate word to start and stop voice input. maybe you don't need it.
but you could Say something like:
"Enter command, magic fire 3 target 1, end command"
and it enters the following from shortcuts
"//fire3 <t>
or
or if its like shortcuts, you simply say
"Fire three"
and he input is
//fire3
or you say
"Cure four Sechs"
and it enters
//cure4 sechs
or I say "Infrasonics" (warlike patrick)
and the input is
//infrasonics
IF start and stop commands were needed, I would want them to be personally changeable. this could help if you have something like discord active, and only want it to pick up on commands between a start and stop words. You could make them words that you just normally do not speak. The fine tuning for voice recognition should all just be done thru windows. So an addon would have to be able to tap into that function form the OS and just input a table to commands into the game.
OR if might be nice to assign targets on the fly
call the plugin voicecommand
//lua load voicecommand
and assign variables for targets
//vc tank1 Sechs
//vc Tank2 Xilkk
"Command: Cure4 Tank1"
//c4 Sechs
Command: "Curaga2 tank2"
//curaga2 Xilkk
//vc assign target1 "Apex Jagil"
//vc assign target2 "Apex Crab"
"Thunder Five target one"
"Aspir Two Target 2"
These are possible ideas
Again, I don't know if it should have start and stop phrases or not.
OR you could say
"Execute Macro Alt 1"
and it executes whatever macro that is. This is less useful in my opinion than shortcuts or just setting up 'spoken' macros through gearswap commands.
I've listed the shortcuts commands because there is alot of good substitution already built in there. I don't see a need to duplicate all the good work that was done there.
However, it could input /ma "Cure III" <p1> instead and bypass dependancy on shortcuts.
so maybe just a speach to text would be good for input, but symbols like // and <> would be rather a pain to deal with.
so I think having build in ways to assume or automatically add syntax would be ideal, both for shortcuts and gearswap.
no need to say "Forwad slash, forward slash, space GS space C equip sets.defense.PDT"
or something rediculous like that
We should be able to say "Activate Skillchain 2"
And we have skillchain 2 programmed maybe in gearswap to be
/ws "Savage blade" <t> <wait7>
/ws "Chant Du Cygne"
I hope these examples clarify more than confuse
[+]
Quetzalcoatl.Xilkk
サーバ: Quetzalcoatl
Game: FFXI
Posts: 1418
By Quetzalcoatl.Xilkk 2019-07-09 10:29:11
What I understood of that, is that you could use some macros or commands with your voice.
You have a micro, and for exemple, you want to cast stun, you just say it in the Micro and the command /ma stun will be sent.
yes exactly
I mean there might be a few handicapped players that this would actually enable them to play the game. but even this aside.. I've always rather thought it would be fun to cast magic spells in a game by speaking an incantation. It could be silly like an anime where they call out and name all their attacks, but it could also be a bit fun from an immersion and role-playing perspective. And if it functioned well, it would certainly be practical for FFXI where there are so many spells and abilities, you just can't get to them quickly enough thru conventional means.
This would actually be an approximation of usiing a 'spell incantation'. and as I said initially.. There are just so many commands, that 20 macros is not really enough. and when you get more, its hard to get thru the menus fast enough.
I often find myself knowing what ability I want to use, but no being able to execute it quickly enough because its not in my macros. OR I drop my controller (sometimes badly) and try to type it and I mistype because I am hurrying. then I run out of time for it to be effective.
examples would be an unexpected skill chain opportunity with a less common weaponskill, a stun (though this is often macro'd stun weaponskills like smash axe usually are not) or a bst pet command that is not in the top 4 (I typically only macro 4x bst pet commands. some pets have up to 7)
Asura.Fondue
サーバ: Asura
Game: FFXI
Posts: 2446
By Asura.Fondue 2019-07-09 10:33:09
alexa play sheepfoe mambo #5
サーバ: Odin
Game: FFXI
Posts: 69
By Odin.Botosi 2019-07-09 10:42:48
While I'd be totally for this and I love the idea of it; my biggest fear would be people's weird names.
Let's say I gotta cure a guy named "OoQohuahuha" because lets face it, there's peoples names like that.....
Quetzalcoatl.Xilkk
サーバ: Quetzalcoatl
Game: FFXI
Posts: 1418
By Quetzalcoatl.Xilkk 2019-07-09 10:45:23
While I'd be totally for this and I love the idea of it; my biggest fear would be people's weird names.
Let's say I gotta cure a guy named "OoQohuahuha" because lets face it, there's peoples names like that.....
hence the use of variables for targets
//voicecommand assign party2 "OoQohuahuha"
then you just say
"Cure party two"
or something like that.
サーバ: Odin
Game: FFXI
Posts: 69
By Odin.Botosi 2019-07-09 10:48:03
Quetzalcoatl.Xilkk said: »While I'd be totally for this and I love the idea of it; my biggest fear would be people's weird names.
Let's say I gotta cure a guy named "OoQohuahuha" because lets face it, there's peoples names like that.....
hence the use of variables for targets
//voicecommand assign party2 "OoQohuahuha"
then you just say
"Cure party two"
or something like that.
Ok yeah that'd be awesome. Sorry; I've been skimming while at work.
Necro Bump Detected!
[64 days between previous and next post]
By Gorion 2019-09-11 18:08:58
thought an addon to alert you when besieged is lvl 8 and advancing, kind of like RAWR for Dragons. Thoughts?
Bismarck.Xurion
サーバ: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2019-09-12 11:46:43
thought an addon to alert you when besieged is lvl 8 and advancing, kind of like RAWR for Dragons. Thoughts? Fetching the data is easy. The difference between RAWR and this however, is RAWR interprets the incoming Unity message, whereas this script would need to request it. Would it do it by an interval? Or on something like zone change?
Maybe you also need to have logic that does not alert the player multiple times per beastmen advance.
I'd have options to allow the player to set when they wish to be alerted. For example, only alert me for level 6 advancing and above, or only alert me for Trolls advancing.
Edit: started working on this - but why I started it as Borderlands 3 is release I have no idea.
Quetzalcoatl.Khajit
サーバ: Quetzalcoatl
Game: FFXI
Posts: 440
By Quetzalcoatl.Khajit 2019-09-13 06:20:37
Something to automatically take out all of your jse gear from the porter moogle might be nice?
サーバ: Cerberus
Game: FFXI
Posts: 241
By Cerberus.Mrkillface 2019-09-13 06:59:43
Quetzalcoatl.Khajit said: »Something to automatically take out all of your jse gear from the porter moogle might be nice?
My inventory is so crapped up. I'd kill for this.
By Artsncrafts 2019-09-13 09:38:52
Requesting an update to htmb (htbf KI buyer)
especially with how much lillith spam everyone will be doing
サーバ: Asura
Game: FFXI
Posts: 583
By Asura.Meliorah 2019-09-13 10:39:44
It should be as simple as updating the map, just plug in [20] for Odin, [21] for Cait Sith and [22] for Lilith, giving the proper name and cost ofc.
Code
htmb_map = {
[0] = {name = 'Shadow Lord phantom gem', cost = 10},
[1] = {name = 'Stellar Fulcrum phantom gem', cost = 10},
[2] = {name = 'Celestial Nexus phantom gem', cost = 10},
[3] = {name = 'Phantom gem of apathy', cost = 15},
[4] = {name = 'Phantom gem of arrogance', cost = 15},
[5] = {name = 'Phantom gem of evny', cost = 15},
[6] = {name = 'Phantom gem of cowardice', cost = 15},
[7] = {name = 'Phantom gem of rage', cost = 15},
[8] = {name = 'P. Perpetrator phantom gem', cost = 20},
[9] = {name = 'Savage\'s phantom gem', cost = 10},
[10] = {name = 'Warrior\'s Path phantom gem', cost = 10},
[11] = {name = 'Puppet in Peril phantom gem', cost = 10},
[12] = {name = 'Legacy phantom gem', cost = 10},
[13] = {name = 'Head wind phantom gem', cost = 10},
[14] = {name = 'Avatar phantom gem', cost = 10},
[15] = {name = 'Moonlit Path phantom gem', cost = 10},
-- page 2
[16] = {name = 'Waking the Beast phantom gem', cost = 10},
[17] = {name = 'Waking Dream phantom gem', cost = 10},
[18] = {name = 'Feared One phantom gem', cost = 10},
[19] = {name = 'Dawn phantom gem', cost = 10},
}
By Artsncrafts 2019-09-13 11:10:35
It should be as simple as updating the map, just plug in [20] for Odin, [21] for Cait Sith and [22] for Lilith, giving the proper name and cost ofc.
Code
htmb_map = {
[0] = {name = 'Shadow Lord phantom gem', cost = 10},
[1] = {name = 'Stellar Fulcrum phantom gem', cost = 10},
[2] = {name = 'Celestial Nexus phantom gem', cost = 10},
[3] = {name = 'Phantom gem of apathy', cost = 15},
[4] = {name = 'Phantom gem of arrogance', cost = 15},
[5] = {name = 'Phantom gem of evny', cost = 15},
[6] = {name = 'Phantom gem of cowardice', cost = 15},
[7] = {name = 'Phantom gem of rage', cost = 15},
[8] = {name = 'P. Perpetrator phantom gem', cost = 20},
[9] = {name = 'Savage\'s phantom gem', cost = 10},
[10] = {name = 'Warrior\'s Path phantom gem', cost = 10},
[11] = {name = 'Puppet in Peril phantom gem', cost = 10},
[12] = {name = 'Legacy phantom gem', cost = 10},
[13] = {name = 'Head wind phantom gem', cost = 10},
[14] = {name = 'Avatar phantom gem', cost = 10},
[15] = {name = 'Moonlit Path phantom gem', cost = 10},
-- page 2
[16] = {name = 'Waking the Beast phantom gem', cost = 10},
[17] = {name = 'Waking Dream phantom gem', cost = 10},
[18] = {name = 'Feared One phantom gem', cost = 10},
[19] = {name = 'Dawn phantom gem', cost = 10},
}
Tried it but it didnt buy lillith, got it to buy champion etc tho. The NPC responds as though you got the ki but it doesnt pop up in log or items
Code _addon.name = 'htmb'
_addon.author = 'Ivaar'
_addon.version = '1.0.0.0'
_addon.command = 'htmb'
require('luau')
require('pack')
bit = require('bit')
buy_list = {21,2,5,9,3} -- key items will be purchased in this order until you are unable to buy more
htmb_map = {
[0] = {name = 'Shadow Lord phantom gem', cost = 10},
[1] = {name = 'Stellar Fulcrum phantom gem', cost = 10},
[2] = {name = 'Celestial Nexus phantom gem', cost = 10},
[3] = {name = 'Phantom gem of apathy', cost = 15},
[4] = {name = 'Phantom gem of arrogance', cost = 15},
[5] = {name = 'Phantom gem of evny', cost = 15},
[6] = {name = 'Phantom gem of cowardice', cost = 15},
[7] = {name = 'Phantom gem of rage', cost = 15},
[8] = {name = 'P. Perpetrator phantom gem', cost = 20},
[9] = {name = 'Savage\'s phantom gem', cost = 10},
[10] = {name = 'Warrior\'s Path phantom gem', cost = 10},
[11] = {name = 'Puppet in Peril phantom gem', cost = 10},
[12] = {name = 'Legacy phantom gem', cost = 10},
[13] = {name = 'Head wind phantom gem', cost = 10},
[14] = {name = 'Avatar phantom gem', cost = 10},
[15] = {name = 'Moonlit Path phantom gem', cost = 10},
-- page 2
[16] = {name = 'Waking the Beast phantom gem', cost = 10},
[17] = {name = 'Waking Dream phantom gem', cost = 10},
[18] = {name = 'Feared One phantom gem', cost = 10},
[19] = {name = 'Dawn phantom gem', cost = 10},
[20] = {name = 'Stygian Pact phantom gem', cost = 10},
[21] = {name = 'Champion phantom gem', cost = 10},
[22] = {name = 'Divine phantom gem', cost = 10},
[23] = {name = 'Maiden phantom gem', cost = 10},
}
htmb_npcs = {
[231] = {name = 'Trisvain', menu_id = 892}, -- Northern San d'Oria (J-7)
[236] = {name = 'Raving Opossum', menu_id = 429}, -- Port Bastok (J-11)
[240] = {name = 'Mimble-Pimble', menu_id = 895}, -- Port Windurst (L-5)
}
menu_options = 0
merit_points = 0
math.has_bit = function(mask, offset)
return math.floor(mask/2^offset)%2 == 1
end
function get_option_index()
for x = 1, #buy_list do
local option = buy_list[x]
if htmb_map[option] and htmb_map[option].cost <= merit_points and menu_options:has_bit(option) then
return option
end
end
end
function initiate_npc(name)
local self = windower.ffxi.get_mob_by_target('me')
local target = windower.ffxi.get_mob_by_name(name)
if not self or self.status > 0 then return end
if target and math.sqrt(target.distance) < 6 and target.valid_target and target.is_npc and bit.band(target.spawn_type, 0xDF) == 2 then
windower.packets.inject_outgoing(0x1A, 'I2H2d2':pack(0xE1A,target.id,target.index,0,0,0))
end
end
windower.register_event('incoming chunk', function(id, data, modified, injected, blocked)
if id == 0x034 then
local zone_id, menu_id = data:unpack('H2', 43)
if htmb_npcs[zone_id] and menu_id == htmb_npcs[zone_id].menu_id then
menu_options, merit_points = data:unpack('I2', 13)
windower.send_command('wait 2;setkey escape;wait .5;setkey escape up;')
end
end
end)
windower.register_event('outgoing chunk', function(id, data, modified, injected, blocked)
if id == 0x05B then
local zone_id, menu_id = data:unpack('H2', 17)
if htmb_npcs[zone_id] and menu_id == htmb_npcs[zone_id].menu_id and data:byte(15) == 0 then
local new_option = get_option_index()
if data:unpack('I', 9) == 0x40000000 and new_option then
initiate_npc(htmb_npcs[zone_id].name)
return data:sub(1,8)..string.char(0x02,new_option,0,0)..data:sub(13)
end
end
end
end)
windower.register_event('addon command', function()
local zone = windower.ffxi.get_info().zone
if htmb_npcs[zone] then
initiate_npc(htmb_npcs[zone].name)
end
end)
サーバ: Leviathan
Game: FFXI
Posts: 6052
By Leviathan.Comeatmebro 2019-09-13 11:19:59
Do you have access to the bc?
By Artsncrafts 2019-09-13 11:22:11
Leviathan.Comeatmebro said: »Do you have access to the bc?
if thats directed at me yes
Ragnarok.Lockfort
サーバ: Ragnarok
Game: FFXI
Posts: 252
By Ragnarok.Lockfort 2019-09-13 13:31:40
Well I don't see 23 in your buy_list so...
By Artsncrafts 2019-09-13 14:07:24
Ragnarok.Lockfort said: »Well I don't see 23 in your buy_list so...
no ***sherlock, type 23 in and try it yourself. its 21 after i changed it to test and see if it would buy champion "a ki that i added to the list"
I'm wondering if there is some windower dependancy that hasnt been updated yet considering the other kis do work
Ragnarok.Lockfort
サーバ: Ragnarok
Game: FFXI
Posts: 252
By Ragnarok.Lockfort 2019-09-13 14:10:12
well it works for me, so I suspect the problem is between the chair and the computer
[+]
By Artsncrafts 2019-09-13 14:13:10
Ragnarok.Lockfort said: »well it works for me, so I suspect the problem is between the chair and the computer ok post your code will you?
its not something im doing. the way this thing works you just load it and speak to the npc. there is no room user error. especially when other kis worked that i added. I suspect you are lying
サーバ: Asura
Game: FFXI
Posts: 583
By Asura.Meliorah 2019-09-13 14:19:01
By Artsncrafts 2019-09-13 14:20:09
i litterally had it { 23,2,5,9,3}
before i changed that number to 21 (which is champion) to test if it would buy a KI i added to the list (which it did buy)
update: it works now.
Bismarck.Snprphnx
サーバ: Bismarck
Game: FFXI
Posts: 2707
By Bismarck.Snprphnx 2019-09-13 14:52:00
Is it buying any of those KIs? Does the spelling of one effect the purchase of it or others? Reason I ask is you have [5] ad 'Phantom gem of evny'
By Artsncrafts 2019-09-13 15:04:29
Bismarck.Snprphnx said: »Is it buying any of those KIs? Does the spelling of one effect the purchase of it or others? Reason I ask is you have [5] ad 'Phantom gem of evny'
I would imagine the spelling of the name matters, i had just copy and pasted the original code from github and just added in the newer battlefields. I had wondered if i just made a mistake but it was buying kis, and then i made the first on 23 and it was not working, i changed the 23 to a 21 and it was working. Anyway i tried it today and it works with maiden
Necro Bump Detected!
[36 days between previous and next post]
By Wiener 2019-10-19 16:39:27
Requesting an update to htmb (htbf KI buyer)
especially with how much lillith spam everyone will be doing I didn't like how the htmb addon brought up the menu, so I made one that does it without the menu.
PhantomGem addon
* This will let you buy without having met prerequisites, so please act responsibly. Not responsible for bannings. :)
[+]
Necro Bump Detected!
[35 days between previous and next post]
Fenrir.Kaldaek
サーバ: Fenrir
Game: FFXI
Posts: 1012
By Fenrir.Kaldaek 2019-11-23 19:30:27
here is my synergy addon BE WARNED IT IS NOT 100% COMPLETE AND WILL BE DANGEROUS TO USE IF ABUSED. it removes the use of the menu, its missing smock and glove support. its still in beta and can crash the game. due to removing the menu delay, you can spam feed fewel and is clearly observable by other people watching. I WILL NOT TAKE RESPONSIBILITY if you get banned or what ever.
the addon flashes buttons based on what needs to be hit, like if your leeking an element, the one to stop leeking will flash. if the furnace is gona explode the whole thing flashes.
the buttons should be self explanetory. you can relocate the box via shift+ click i think i set it as (been a while since i worked on it) I will be piking it up again once ive finished with gearinfo. It also has limited muly-tibox support via the send addon. This needs you to basicly click away. i made a foshia neck and belt in like 10 seconds with this, never fails. just trade your recipe items, and dont go inside the menu. the tick sign is for end, and retrieve the item after completion.
The display ONLY appears when you are near a furnace. This allows you to keep the addon loaded in the background fulltime without it getting in the way. although i dont recommend it lol. the whole addon is packet based. the packets arnt documented anywhere, this addon took months of packet research to get it goin. It gona take a while before i pick it up again unless people want to sponsor me lol.
So anyone got a copy of this that works?
Asura.Eiryl
By Asura.Eiryl 2019-11-23 19:37:58
As far as I know, that still works, but it only works in certain areas (like port bastok)
I emailed him about it before. It's "finicky"
Quote: 2019-03-08
do me a favour and go try the synergy addon in port bastok on the other side of the bridge from the MH, its where i tested the packets and possibly why you may think its broken. let me know if it works please.
It does work in bastok port. It wont work in northern sandoria though, thats where I normally do it
it can and will soft crash, the software was never finished, so i never ironed out all the bugs etc and it will sometimes mess up with reading the packets correctly etc. None of the packets are documented, i had to discover / de-ciffer them myself.
Hello everyone!
With the exposed action packet come a much larger range of potential Lua addons that windower users can create. Because FFXIAH has a up-voting system and this handy subforum, I think making a thread here for people to post their plugin ideas in (and get voted on) would be useful.
For more information on what is possible with Lua, see the wiki:
https://github.com/Windower/Lua/wiki
Lua can use all the information obtained from Input Interface Functions to react at times defined by Events in ways limited to the Output Interface Functions.
For instance, I am currently writing an addition to battlemod that will allow it to display skillchain damage even when the skillchain is blocked by blinking. I do this using "event_action" for the closing weapon skill, which contains the skillchain information that is sometimes blocked. I then output this to the chat log using the output interface function "add_to_chat" and block the original message (if it would have displayed) using the "event_incoming_text".
When making posts in this thread, don't worry too much about going through the wiki and making sure something is possible before you suggest it. Just throw the idea out there and see how many votes it gets. However, be aware that some things are impossible because your client does not receive the required information.
Please limit yourself to one idea per post so that it is possible to vote on your ideas.
|
|