Lua Addon Ideas

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » Windower » General » Lua Addon Ideas
Lua Addon Ideas
First Page 2 3 ... 12 13
 Quetzalcoatl.Xilkk
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Xilk
Posts: 818
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
Offline
サーバ: Phoenix
Game: FFXI
user: Chroph
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
Online
サーバ: Asura
Game: FFXI
user: Akumasama
Posts: 6117
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
Offline
サーバ: Phoenix
Game: FFXI
user: Chroph
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
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Xilk
Posts: 818
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
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Xilk
Posts: 818
By Quetzalcoatl.Xilkk 2019-07-09 10:29:11  
Phoenix.Faloun said: »
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
Online
サーバ: Asura
Game: FFXI
user: Caliber
Posts: 2395
By Asura.Fondue 2019-07-09 10:33:09  
alexa play sheepfoe mambo #5
[+]
 Odin.Botosi
Offline
サーバ: Odin
Game: FFXI
user: Botosi
Posts: 67
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
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Xilk
Posts: 818
By Quetzalcoatl.Xilkk 2019-07-09 10:45:23  
Odin.Botosi 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.
 Odin.Botosi
Offline
サーバ: Odin
Game: FFXI
user: Botosi
Posts: 67
By Odin.Botosi 2019-07-09 10:48:03  
Quetzalcoatl.Xilkk said: »
Odin.Botosi 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.
necroskull Necro Bump Detected! [64 days between previous and next post]
Offline
Posts: 40
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
Offline
サーバ: Bismarck
Game: FFXI
user: Xurion
Posts: 260
By Bismarck.Xurion 2019-09-12 11:46:43  
Gorion said: »
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
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Khajit
Posts: 154
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.Mrkillface
Offline
サーバ: Cerberus
Game: FFXI
user: bitchtits
Posts: 168
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.
Online
Posts: 144
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.Meliorah
Offline
サーバ: Asura
Game: FFXI
user: DatGoose
Posts: 416
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},
}
Online
Posts: 144
By Artsncrafts 2019-09-13 11:10:35  
Asura.Meliorah said: »
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.Comeatmebro
Online
サーバ: Leviathan
Game: FFXI
user: Rairin
Posts: 5991
By Leviathan.Comeatmebro 2019-09-13 11:19:59  
Do you have access to the bc?
Online
Posts: 144
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
Offline
サーバ: Ragnarok
Game: FFXI
user: Terazuma
Posts: 214
By Ragnarok.Lockfort 2019-09-13 13:31:40  
Well I don't see 23 in your buy_list so...
Online
Posts: 144
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
Offline
サーバ: Ragnarok
Game: FFXI
user: Terazuma
Posts: 214
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
[+]
Online
Posts: 144
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.Meliorah
Offline
サーバ: Asura
Game: FFXI
user: DatGoose
Posts: 416
By Asura.Meliorah 2019-09-13 14:19:01  
He means this line
Code
buy_list = {21,2,5,9,3}
Online
Posts: 144
By Artsncrafts 2019-09-13 14:20:09  
Asura.Meliorah said: »
He means this line
Code
buy_list = {21,2,5,9,3}

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
Offline
サーバ: Bismarck
Game: FFXI
user: Snprphnx
Posts: 2468
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'
Online
Posts: 144
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
necroskull Necro Bump Detected! [36 days between previous and next post]
Offline
Posts: 1
By Wiener 2019-10-19 16:39:27  
Artsncrafts said: »
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. :)
[+]
First Page 2 3 ... 12 13
Log in to post.