What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Self Repair?

lordofthereef

New Member
Joined
Jul 16, 2014
Messages
242
Reaction score
1
I would like to preface by saying I am not much of a coder.... And by not much I mean really not at all... lol :)

Anyway, I am looking to do something that self repairs. Was just trying to see where I might look within rebornbuddy to see if the commands are even available?

If they are, I would like to try and do something similar to the "Re_Pear" addon that simply makes your character repair his/her gear rather than running to an NPC.
 
I would like to preface by saying I am not much of a coder.... And by not much I mean really not at all... lol :)

Anyway, I am looking to do something that self repairs. Was just trying to see where I might look within rebornbuddy to see if the commands are even available?

If they are, I would like to try and do something similar to the "Re_Pear" addon that simply makes your character repair his/her gear rather than running to an NPC.

Not even remotely possible with the current API. Sorry. None of the window or item interaction necessary is in the bot.
 
Not even remotely possible with the current API. Sorry. None of the window or item interaction necessary is in the bot.


I really believe the Devs need to make repairing in general a top priority built into the core of the Bot....

ie You should non have to be running a add on for the bot to know its in the Red under 15% and needs to find a vendor...

All the buddy bots I have used have the this as a standard feature.
 
I really believe the Devs need to make repairing in general a top priority built into the core of the Bot....

ie You should non have to be running a add on for the bot to know its in the Red under 15% and needs to find a vendor...

All the buddy bots I have used have the this as a standard feature.

I could get behind this :)
 
I would rather he spend his time expanding the api and working on the mesh.

Would be nice if he expanded the api to allow us to self repair but there's no reason for him to spend days of development time implementing and maintaining something that we can do ourselves :S
 
I would rather he spend his time expanding the api and working on the mesh.

Would be nice if he expanded the api to allow us to self repair but there's no reason for him to spend days of development time implementing and maintaining something that we can do ourselves :S

This statement kinda destroys the whole purpose of the bot.. we can do "everything" ourselves in ffxiv.
 
This statement kinda destroys the whole purpose of the bot.. we can do "everything" ourselves in ffxiv.

no...

they provide the core and api

we, the community, provide the logic

By do ourselves, I was referring to integrating repear into the bot core.
Not implementing api for dark matter repairs.
 
Last edited:
no...

they provide the core and api

we, the community, provide the logic

By do ourselves, I was referring to integrating repear into the bot core.
Not implementing api for dark matter repairs.

You can not integrate repear into the bot core. Repear uses keyhooks to hook into the ffxiv process to send keystroke to navigate the menu. To integrate it into the "core" he would still have to find offsets and whatever else for the npc windows for the options to repair, which is the same concept of navigating the windows to integrate the option to allow people to self repair. I however believe having the option to self repair is FAR better than having the option to find the nearest npc and doing it, and far better than using RePear that hooks into the process as well. The bot already hooks into the process, plugins should not have to.. however hooking was the only way for RePear to navigate the windows.

Many people who use this bot have everything at lvl 50 anyways.. so having the option to self repair while out farming/grinding/whatever is far more superior than having a "repear" feature integrated... no need to waste time to find an npc to repair when you can just do it yourself.. also, RePear really uses nothing out of the api besides finding the zone you are in, setting the location of the npc, seeing if that npc has 2 options, or just one (Mender vs Mender/Merchant npc's) and POI to navigate to the npc.. once at the npc it is just keyhooks to navigate the menu...


Edit: maybe as a quick fix, kagamihiiragi17 can upgrade his plugin to navigate the self repair window and add it as an option to chose, which would be ideal, but still.. it would require hooking into the game via the plugin.. which imo shouldnt need to happen, since it is a plugin for a bot that already hooks into the game.
 
Last edited:
You can not integrate repear into the bot core. Repear uses keyhooks to hook into the ffxiv process to send keystroke to navigate the menu. To integrate it into the "core" he would still have to find offsets and whatever else for the npc windows for the options to repair, which is the same concept of navigating the windows to integrate the option to allow people to self repair. I however believe having the option to self repair is FAR better than having the option to find the nearest npc and doing it, and far better than using RePear that hooks into the process as well. The bot already hooks into the process, plugins should not have to.. however hooking was the only way for RePear to navigate the windows.

Many people who use this bot have everything at lvl 50 anyways.. so having the option to self repair while out farming/grinding/whatever is far more superior than having a "repear" feature integrated... no need to waste time to find an npc to repair when you can just do it yourself.. also, RePear really uses nothing out of the api besides finding the zone you are in, setting the location of the npc, seeing if that npc has 2 options, or just one (Mender vs Mender/Merchant npc's) and POI to navigate to the npc.. once at the npc it is just keyhooks to navigate the menu...


Edit: maybe as a quick fix, kagamihiiragi17 can upgrade his plugin to navigate the self repair window and add it as an option to chose, which would be ideal, but still.. it would require hooking into the game via the plugin.. which imo shouldnt need to happen, since it is a plugin for a bot that already hooks into the game.

Um no Repear is a User plugin- And as the dev said her self its a quick fix solution.. Nothing what im talking about.. Im talking about built in repair logic.

Just about ALL the buddy bots have repair built into the BOT and FF14ARR is no different- It just hasn't been done yet. The reason the plugin uses key press logic is because the bot cant do anything else at this stage.

NPC interaction has already been demonstrated via the "usetransport" it just needs more work...

If you think the bot needs to use "emulated key press" to work then im sorry you dont really understand how it works...

The api enables it for devs to use- but its not a requirement once the api has been written .. How else dose the bot know what spell to use when in combat ?
 
Um no Repear is a User plugin- And as the dev said her self its a quick fix solution.. Nothing what im talking about.. Im talking about built in repair logic.

Just about ALL the buddy bots have repair built into the BOT and FF14ARR is no different- It just hasn't been done yet. The reason the plugin uses key press logic is because the bot cant do anything else at this stage.

NPC interaction has already been demonstrated via the "usetransport" it just needs more work...

If you think the bot needs to use "emulated key press" to work then im sorry you dont really understand how it works...

The api enables it for devs to use- but its not a requirement once the api has been written .. How else dose the bot know what spell to use when in combat ?

I'm starting to get really confused with how this conversation is flowing but it seems like your comment should have been directed at my post by saying that keypresses shouldn't need to be used and a direct api control should be added but you don't want it added for repear to use but instead for the feature to be used directly by the bot's core?

After talking to yasuko, he said that sending keypresses are a dangerous technique and if the api doesn't have a direct approach then it should include a method to safely send keypresses?

Doesn't the bot use the event which the keypress triggers? So doaction appears the same to the game as if the spell was clicked and .face just uses the in game face that you can keybind instead of directly changing your rotation value. I thought keypresses would be just as safe since the game doesn't look outside it's process but I could be wrong. However, just because there's an api call for something doesn't mean it's a direct event/memory read, it could be a wrapper for a keypress, chat command, lua or whatever the hell he wants to make it. (I remember during honorbuddy development that you had to be careful which calls were just a lua because it would slow your code down like crazy.)

Anyways, this thread seems like it should have two conversations:
  1. Create api calls for window navigation or at least window navigation for selfrepairs/vendor repairs
  2. Implement repairs into the bot's core.
I'm sure self repairs will be possible to program eventually, I'm not sure if a better api for window navigation/vendor repairs is on his todo list.

For the second issue, I think it would be a waste of his time. I've seen the early days of honorbuddy/demonbuddy/buddywing and all of them had a lot of problems with repairs. Demonbuddy least of all but it still had it's issues. And I'm sure all of them required additional dev time as the api changed over the years. With only one person working on rebornbuddy's core, I really don't think we should be pressuring him to add extra features that could be created/maintained by the community. We should be pressuring him to add api which will improve what the community can do.
 
Last edited:
Just saying, RB does not support crafting yet, not even semi auto mode like leve quest accepting and returning if you got all the required items. Self repair requires crafting job so it is not really useful to most users.
 
Um no Repear is a User plugin- And as the dev said her self its a quick fix solution.. Nothing what im talking about.. Im talking about built in repair logic.

Just about ALL the buddy bots have repair built into the BOT and FF14ARR is no different- It just hasn't been done yet. The reason the plugin uses key press logic is because the bot cant do anything else at this stage.

NPC interaction has already been demonstrated via the "usetransport" it just needs more work...

If you think the bot needs to use "emulated key press" to work then im sorry you dont really understand how it works...

The api enables it for devs to use- but its not a requirement once the api has been written .. How else dose the bot know what spell to use when in combat ?


First, I never said i thought that the bot needs to use emulated key press to work. I said that RePear uses emulated key presses to work.

Code:
         [DllImport("user32.dll")]
        public static extern IntPtr PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

Hook used to send messages to a process.

Code:
    public static void Repair()
        {
            const uint WM_KEYDOWN = 0x100;
            const uint WM_KEYUP = 0x0101;

            IntPtr hWnd;

            // The following code navigates the window and completes the repair, and then closes the window
            IntPtr edit = Core.Memory.Process.MainWindowHandle;

            if (RepairVendor.ExtraMenu)
            {
                Core.Player.CurrentTarget.Interact();
                Thread.Sleep(5000);  // Wait for the window to open
                // Merchant & Menders have an additional window before the repair window to navigate
                PostMessage(edit, WM_KEYDOWN, (IntPtr)(Keys.NumPad0), IntPtr.Zero);
                PostMessage(edit, WM_KEYUP, (IntPtr)(Keys.NumPad0), IntPtr.Zero);
                Thread.Sleep(1000);
                PostMessage(edit, WM_KEYDOWN, (IntPtr)(Keys.NumPad8), IntPtr.Zero);
                PostMessage(edit, WM_KEYUP, (IntPtr)(Keys.NumPad8), IntPtr.Zero);
                Thread.Sleep(1000);
                PostMessage(edit, WM_KEYDOWN, (IntPtr)(Keys.NumPad8), IntPtr.Zero);
                PostMessage(edit, WM_KEYUP, (IntPtr)(Keys.NumPad8), IntPtr.Zero);
                Thread.Sleep(1000);
                PostMessage(edit, WM_KEYDOWN, (IntPtr)(Keys.NumPad0), IntPtr.Zero);
                PostMessage(edit, WM_KEYUP, (IntPtr)(Keys.NumPad0), IntPtr.Zero);
                Thread.Sleep(2000);
            }

Code:
   IntPtr edit = Core.Memory.Process.MainWindowHandle;

Setting the process ID to the same process that FF14Bot hooks to.


Code:
                 PostMessage(edit, WM_KEYDOWN, (IntPtr)(Keys.NumPad8), IntPtr.Zero);
                PostMessage(edit, WM_KEYUP, (IntPtr)(Keys.NumPad8), IntPtr.Zero);

Sending the key presses to the process.


THAT is what i am saying hooks.

The hooking above is NOT part of the RB api. This is what I was referring to as hooking key processes. This comes right from repear plugin.. I'm not saying its wrong, Its a great work around for an option that is not available yet in the bot. But I personally wouldnt want to put yet another hook to the process.. using the plugin adds the extra hook ontop of the bot hook.
 
Just about ALL the buddy bots have repair built into the BOT and FF14ARR is no different- It just hasn't been done yet. The reason the plugin uses key press logic is because the bot cant do anything else at this stage.

And just about ALL the buddy bots have more than 1 dev working on it.
 
Just saying, RB does not support crafting yet, not even semi auto mode like leve quest accepting and returning if you got all the required items. Self repair requires crafting job so it is not really useful to most users.
I am not sure that I agree that its not useful to most users...

I simply gather using RB, sell my wares, buy the stuff I need for HQ turn ins, and done. Obviously it isn't automated, but it takes me about 2-3 hours to get from 1-50 in a craft. I spent less time getting all of my craftings maxed "manually" than I did getting my first 50 running through quests/story on my own.
 
Back
Top