1. Open loot window.
2. Call function.
3. ???
4. Profit.
Since i have not seen one, Im interested in making a fish bot for 1.12.1 that is able to run in the background. how would i go about doing this? are there any guides?
Last edited by mrvaginasoup; 03-17-2014 at 06:16 AM.
I can't say that there are, but I suspect if you have a specific question here you might be able to get an answer.
Can anyone help me out with these functions? Like how to find the correct paramaters / return values? (injected dll)
I thought this was correct from here API CastSpellByName - WoWWiki - Your guide to the World of WarcraftCode:static auto const castSpellByName = reinterpret_cast <uint32(__fastcall *)( std::string, boolean)>(0x4B4AB0);//Script_CastSpellByName
so far I've only been able to call functions which are both void and have no parameters.
Note sure about this, but after checked in IDA, this function takes one string parameter, end return 0 if the spell name is not correct, or not available on the WoWLocalPlayer.
Your best option is to call this function in the game client using "/dump CastSpellByName("YourSpell Here")"to see what appens ans see what this function return.
Anthraxbot & SPQR Creator / Administrator
I'm not sure /dump is a function in 1.12.1 - /script CastSpellByName("spell); works when you type into chat so I don't think its a function, I think its just in-game script.
Also calling UnderstandAllLanguages = 0x5EC720 asis crashing the game. Anyone know what i'm doing wrong here?Code:static auto const understandAllLanguage = reinterpret_cast<uint32(__fastcall *)( )>(0x5EC720);
.... sometimes I wonder if people can do anything on their own :S.
If a lua function isnt a function in memory what else should it be lol?
String search -> Find your lua function -> reverse it
There are dozen tutorials dealing with above mentioned stuff which are classified as a starting point for reversing and stil people spam dump threads with question which could be answered by just reading up a bit.
Last edited by Corthezz; 03-19-2014 at 06:48 PM.
Script_CastSpellByName is not __fastcall. I believe that it has only one parameter, which is a pointer to the lua state object. That object will contain the lua stack. You are better off not calling that function but instead looking at how it works, and duplicating its functionality.
Whats the best way to tell if the loot window is open? I found a bool value but cant find a good pointer to it. Also does anyone have a named IDA I could have?
Try 006126B0 CGPlayer_C::IsLooting
Thanks, that also works! Was going to use the UnitFlags Looting (0x400) flag, but that is set even when the loot window is not open. For example, if I am lagging out the character is in the looting stance but the window is not open. I guess I should do lag detection some other place b4 trying to loot.
If all you care about it the window, why don't just check the frame then ?
I haven't had any lag with thisCode:public Boolean isLootWindowOpen() { return (WowReader.ReadUInt64(lootWindow) != 0L); // 0xB71B48 }
Last edited by prospectingemu; 03-21-2014 at 09:32 PM.
Forgive me for I'm trying to learn this. So you made a class that handles reading wow, with a method it in that will read unsigned int 64bit so "long" and your checking if its not equal to NULL with the long suffix. so that //0xB71B48 is a memory address that you did a type def on for lootwindow?