Attack Speed settings seem to do nothing ? (or i cant tell a difference ill test it again?)
ignite Flyff.
Attack Speed changes are ment for the Speed your Weapon is using, usually the Description of your Weapon will tell Normal/Fast/Very Fast etc. Also Blades have another different Value for that. (If you get a notice on your middle-bottom-screen while trying to Attack with F3/F2, you need to change your speed cuz the Attack-Call did not had the correct value for atkspd.)
The reason why you need to change the Speed is basicly because I couldnt find an automated way to retirve this Data yet.
About F2/F3, it seems like they had a quick patch about it, I've updated the Pointerdata and it's working again, new Files as usual on 1st Post.
I've aswell tested Minimap-Teleporting on Ignite, but sadly on any Memory-Change the game Auto-DC's. So thats for the current moment not possible sadly.
If it works for you with the new files, leave a thanks (:
Quote:
Originally Posted by CoOLz1ne
hehehe ty sir its working now!!!
Nice to hear that you like it. Notice me whenever it requires an update (;
The reason why you need to change the Speed is basicly because I couldnt find an automated way to retirve this Data yet.
The solution is very easy
Just look at the disassembly. Before to call your function (SendMelee), the parameter attackspeed is computed by your game client.
Below you can see a call to a function called GetActiveHandItemProp(..) which returns the currently equipped item (weapon or hand,...).
Then an offset is added to that pointer, here is it 0x114.
All you have to do, is to call that function using the same way as SendMelee() and then add the offset 0x114 to get automatically the weapon speed without even asking people to set the weapon speed manually etc...
You can do it like this:
Code:
typedef DWORD(__thiscall * GetActiveHandItemProp_t)(void* mover, int nParts);
GetActiveHandItemProp_t pGetActiveHandItemProp;
const DWORD dwGetActiveHandItemPropBaseOffset = 0x1412B0;
const DWORD dwPlayerBaseOffset = 0x4C8B5C;
.....
pGetActiveHandItemProp = (GetActiveHandItemProp_t)((DWORD)g_hExeModule + dwGetActiveHandItemPropBaseOffset);
DWORD g_pPlayer = (DWORD)g_hExeModule + dwPlayerBaseOffset;
DWORD* ptrPlayer = *(DWORD**)g_pPlayer;
DWORD ItemProp;
ItemProp = (DWORD)pGetActiveHandItemProp(ptrPlayer, 10);// 10 is the default value used in Flyff if I am not wrong
if (NULL != ItemProp)
{
float* fAttackSpeedPtr = (float*)(ItemProp + 0x114);
if (NULL != fAttackSpeedPtr)
{
fItemAttakSpeed = *fAttackSpeedPtr;
}
}
Quote:
Originally Posted by shadow14493
I've aswell tested Minimap-Teleporting on Ignite, but sadly on any Memory-Change the game Auto-DC's. So thats for the current moment not possible sadly.
Use the same way,find and call the teleport function using the correct parameters, no hard-write the x/y/z coordinates (I didn't test it yet xD )
The solution is very easy
Just look at the disassembly. Before to call your function (SendMelee), the parameter attackspeed is computed by your game client.
Below you can see a call to a function called GetActiveHandItemProp(..) which returns the currently equipped item (weapon or hand,...).
Then an offset is added to that pointer, here is it 0x114.
All you have to do, is to call that function using the same way as SendMelee() and then add the offset 0x114 to get automatically the weapon speed without even asking people to set the weapon speed manually etc...
You can do it like this:
Code:
typedef DWORD(__thiscall * GetActiveHandItemProp_t)(void* mover, int nParts);
GetActiveHandItemProp_t pGetActiveHandItemProp;
const DWORD dwGetActiveHandItemPropBaseOffset = 0x1412B0;
const DWORD dwPlayerBaseOffset = 0x4C8B5C;
.....
pGetActiveHandItemProp = (GetActiveHandItemProp_t)((DWORD)g_hExeModule + dwGetActiveHandItemPropBaseOffset);
DWORD g_pPlayer = (DWORD)g_hExeModule + dwPlayerBaseOffset;
DWORD* ptrPlayer = *(DWORD**)g_pPlayer;
DWORD ItemProp;
ItemProp = (DWORD)pGetActiveHandItemProp(ptrPlayer, 10);// 10 is the default value used in Flyff if I am not wrong
if (NULL != ItemProp)
{
float* fAttackSpeedPtr = (float*)(ItemProp + 0x114);
if (NULL != fAttackSpeedPtr)
{
fItemAttakSpeed = *fAttackSpeedPtr;
}
}
Use the same way,find and call the teleport function using the correct parameters, no hard-write the x/y/z coordinates (I didn't test it yet xD )
Great Hint! As usual! Haha. I'll definetly add you to the credit's as I'm going to copy this thing
Also, I've somewhen PMed you about something in the Range attacks which I diddnt understand, incase u forgot/readover about it, probably you find time and know what I'm doing wrong ^^
EDIT: I've could not yet get your code to work tho, I've rechecked 3 times for correct base adresses and the atkspd offset, still unlucky with it. My bases and offset's are correct, however the dll hangs itself when I'm activating the function, making it unable to deject etc. Is this an actual working codesnippet you're using aswell, or did you quickly wrote it up? o: Im once agin wondering what im doing wrong x)
Great Hint! As usual! Haha. I'll definetly add you to the credit's as I'm going to copy this thing
Also, I've somewhen PMed you about something in the Range attacks which I diddnt understand, incase u forgot/readover about it, probably you find time and know what I'm doing wrong ^^
EDIT: I've could not yet get your code to work tho, I've rechecked 3 times for correct base adresses and the atkspd offset, still unlucky with it. My bases and offset's are correct, however the dll hangs itself when I'm activating the function, making it unable to deject etc. Is this an actual working codesnippet you're using aswell, or did you quickly wrote it up? o: Im once agin wondering what im doing wrong x)
Cheers~ (:
That code is the one I used for Insanity Around kill hack and I think you might miss with something (try to debug your code before to call the function..)
For Ignite for example, after bypassing their noob anti-debug, you can break and trace with CE just before the call to that function that calculates the weapon speed and you will see many things
Ok, now the tracer will give you amazing information.
Just after calling the function, in EAX you have the current property of the equipped weapon (A long sword in this example)
Use CE dissect data/structure feature and you will see that the address is your current weapon. attack speed is at offset 114 (= 85.0)
Go back to tracer and see that at offset 114 we have the weapon speed (85.0)
In the image below, you see that [ebp+8] is equal to 10 (it seems to be always 10 in normal melee attack) ebp+8 is the first parameter in your function
And we have only 1 parameter which is an integer (=10) because you see the instruction at the end of the function which is ret 0004 => 4 = size of 1 parameter. If we had 2 parameters we would have ret 0008 etc...
And you can see that ECX at the function start is your g_pplayer (and not the client) so you need to call the function with your player pointer as I did in my example.
how long do you keep updating the hacks because your work is awesome
I'll update them as long as I feel like doing so, Ofc somewhen I'll move on to another game or soemthing but, for now, and atleast another few month, I'll be working on it, and even implement new things, like Tab for next-nearest target, which is currently in development.
Sadly I cant proceed on them rite now, cuz I found an Interesting way to dupe items with, which I am currently testing and reversing the gamefunction of. (Tested on one Server so far, that worked well, no yet sure bout others. As Im lacking in time currently)
[Note: This is just an info, I'm not going to shareout any of my knownledge about unfixed Dupe-methods, if you want to find dupe methods, go open the Flyff source, and check for leaks.]
So, for the moment, no need to worry.
If you like to suggest thigns/have talks about bugs or whatever, feel free to checkout my Discord:
[You can talk in German to me aswell btw.]
Cape Sunwell [ Serveur MoonFlyff] 02/13/2016 - Flyff Trading - 0 Replies Bonjour je vend une Cape Sunwell sur le serveur MoonFlyff contre PAYSAFE CARD.
Merci de me MP forum si intéressé.
--------------------------------
Hi there, i'm selling a Sunwell on the Pserv Moonflyff for PAYSAFE CARDS
Message me on the Forum if you're interested.