can someone please guide me how to speed hack on endless online using
t-search etc.
t-search etc.
00430A00 /$ 55 PUSH EBP 00430A01 |. 8BEC MOV EBP,ESP 00430A03 |. 83EC 08 SUB ESP,8 00430A06 |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX 00430A09 |. C745 FC 0000C>MOV DWORD PTR SS:[EBP-4],42C80000 00430A10 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00430A13 |. 8378 18 00 CMP DWORD PTR DS:[EAX+18],0 00430A17 |. 7E 0C JLE SHORT TwelveSk.00430A25 00430A19 |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] 00430A1C |. DB41 18 FILD DWORD PTR DS:[ECX+18] 00430A1F |. D845 FC FADD DWORD PTR SS:[EBP-4] 00430A22 |. D95D FC FSTP DWORD PTR SS:[EBP-4] 00430A25 |> D945 FC FLD DWORD PTR SS:[EBP-4] 00430A28 |. 8BE5 MOV ESP,EBP 00430A2A |. 5D POP EBP 00430A2B \. C2 0400 RETN 4|
TwelveSky2.exe+CAA50 - 55 - push ebp
TwelveSky2.exe+CAA51 - 8B EC - mov ebp,esp
TwelveSky2.exe+CAA53 - 83 EC 0C - sub esp,0C { 12 }
TwelveSky2.exe+CAA56 - 89 4D F8 - mov [ebp-08],ecx
TwelveSky2.exe+CAA59 - D9 05 2CB27B00 - fld dword ptr [TwelveSky2.exe+3BB22C] { (100.00) }
TwelveSky2.exe+CAA5F - D9 5D FC - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAA62 - 8B 45 08 - mov eax,[ebp+08]
TwelveSky2.exe+CAA65 - 83 78 18 00 - cmp dword ptr [eax+18],00 { 0 }
TwelveSky2.exe+CAA69 - 7E 0C - jle TwelveSky2.exe+CAA77
TwelveSky2.exe+CAA6B - 8B 4D 08 - mov ecx,[ebp+08]
TwelveSky2.exe+CAA6E - DB 41 18 - fild dword ptr [ecx+18]
TwelveSky2.exe+CAA71 - D8 45 FC - fadd dword ptr [ebp-04]
TwelveSky2.exe+CAA74 - D9 5D FC - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAA77 - 8B 55 08 - mov edx,[ebp+08]
TwelveSky2.exe+CAA7A - 83 7A 64 00 - cmp dword ptr [edx+64],00 { 0 }
TwelveSky2.exe+CAA7E - 7E 0C - jle TwelveSky2.exe+CAA8C
TwelveSky2.exe+CAA80 - D9 45 FC - fld dword ptr [ebp-04]
TwelveSky2.exe+CAA83 - DC 0D A8B07B00 - fmul qword ptr [TwelveSky2.exe+3BB0A8] { (0.50) }
TwelveSky2.exe+CAA89 - D9 5D FC - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAA8C - 8B 45 0C - mov eax,[ebp+0C]
TwelveSky2.exe+CAA8F - 8B 48 1C - mov ecx,[eax+1C]
TwelveSky2.exe+CAA92 - 51 - push ecx
TwelveSky2.exe+CAA93 - B9 9CB75F01 - mov ecx,TwelveSky2.exe+11FB79C { (0) }
TwelveSky2.exe+CAA98 - E8 A3170800 - call TwelveSky2.exe+14C240
TwelveSky2.exe+CAA9D - D8 4D FC - fmul dword ptr [ebp-04]
TwelveSky2.exe+CAAA0 - E8 3B6A2600 - call TwelveSky2.exe+3314E0
TwelveSky2.exe+CAAA5 - 89 45 F4 - mov [ebp-0C],eax
TwelveSky2.exe+CAAA8 - DB 45 F4 - fild dword ptr [ebp-0C]
TwelveSky2.exe+CAAAB - D8 45 FC - fadd dword ptr [ebp-04]
TwelveSky2.exe+CAAAE - D9 5D FC - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAAB1 - D9 45 FC - fld dword ptr [ebp-04]
TwelveSky2.exe+CAAB4 - 8B E5 - mov esp,ebp
TwelveSky2.exe+CAAB6 - 5D - pop ebp
TwelveSky2.exe+CAAB7 - C2 0800 - ret 0008 { 8 }
float __stdcall FACTOR::GetAttackSpeed(BUFF_INFO1 *a1, EQUIP_INFO2 *a2)
{
float v3; // [esp+8h] [ebp-4h]
v3 = 100.0;
if ( a1->aBuff[6] > 0 )
v3 = a1->aBuff[6] + v3;
if ( a1->aBuff[25] > 0 )
v3 = v3 * 0.5;
return (UTIL::ReturnAttackSpeedUp(a2->aEquipValue[3][1]) * v3) + v3;
}
float __thiscall AVATAR_OBJECT::MiniAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
float v4; // [esp+Ch] [ebp-10h]
float v5; // [esp+18h] [ebp-4h]
float v6; // [esp+18h] [ebp-4h]
v5 = 99.0;
if ( a2->aBuff[25] > 0 )
v5 = v5 * 0.5;
v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
v4 = v6 - 1.0;
return floor(v4);
}
float __thiscall AVATAR_OBJECT::MaxAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
float v4; // [esp+Ch] [ebp-10h]
float v5; // [esp+18h] [ebp-4h]
float v6; // [esp+18h] [ebp-4h]
v5 = 121.0;
if ( a2->aBuff[25] > 0 )
v5 = v5 * 0.5;
v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
v4 = v6 + 1.0;
return floor(v4);
}
ex.
void __thiscall AVATAR_OBJECT::A006(AVATAR_OBJECT *This, int tObjIndex, float dTime)
{
int v3; // [esp+0h] [ebp-10h]
int v5; // [esp+8h] [ebp-8h]
float v6; // [esp+Ch] [ebp-4h]
if ( This->mDATA.aAnimalAbsorbState )
v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, 0, tObjIndex == 0);
else
v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, This->mDATA.aAnimalNumber, tObjIndex == 0);
v6 = FACTOR::GetAttackSpeed(This->mDATA.aEffectValueForView, This->mDATA.aEquipForView);
if ( v6 > AVATAR_OBJECT::MiniAttackSpeed(This, This->mDATA.aEffectValueForView) && v6 < AVATAR_OBJECT::MaxAttackSpeed(This, This->mDATA.aEffectValueForView) )
This->mDATA.aAction.aFrame = dTime * v6 * 0.300000011920929 + This->mDATA.aAction.aFrame;
if ( This->mDATA.aAction.aFrame >= v5 )
{
This->mDATA.aAction.aSort = 1;
This->mDATA.aAction.aFrame = 0.0;
This->unk00 = 0;
if ( !tObjIndex )
{
TRANSFER::T_UPDATE_AVATAR_ACTION(&This->mDATA.aAction);
if ( !MAIN::KEYBOARD6_FOR_SKILL(mMAIN) )
{
v3 = This->mDATA.aAction.aTargetObjectSort;
if ( v3 == 2 || v3 == 3 )
{
MAIN::ProcessForGetAvatar3();
}
else if ( v3 == 5 )
{
MAIN::ProcessForGetMonster3();
}
}
}
}
}
So re u thinking to kill other games like this? Do u want me to release something bigger?Quote:
Code:float __stdcall FACTOR::GetAttackSpeed(BUFF_INFO1 *a1, EQUIP_INFO2 *a2) { float v3; // [esp+8h] [ebp-4h] v3 = 100.0; if ( a1->aBuff[6] > 0 ) v3 = a1->aBuff[6] + v3; if ( a1->aBuff[25] > 0 ) v3 = v3 * 0.5; return (UTIL::ReturnAttackSpeedUp(a2->aEquipValue[3][1]) * v3) + v3; } float __thiscall AVATAR_OBJECT::MiniAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2) { float v4; // [esp+Ch] [ebp-10h] float v5; // [esp+18h] [ebp-4h] float v6; // [esp+18h] [ebp-4h] v5 = 99.0; if ( a2->aBuff[25] > 0 ) v5 = v5 * 0.5; v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5; v4 = v6 - 1.0; return floor(v4); } float __thiscall AVATAR_OBJECT::MaxAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2) { float v4; // [esp+Ch] [ebp-10h] float v5; // [esp+18h] [ebp-4h] float v6; // [esp+18h] [ebp-4h] v5 = 121.0; if ( a2->aBuff[25] > 0 ) v5 = v5 * 0.5; v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5; v4 = v6 + 1.0; return floor(v4); } ex. void __thiscall AVATAR_OBJECT::A006(AVATAR_OBJECT *This, int tObjIndex, float dTime) { int v3; // [esp+0h] [ebp-10h] int v5; // [esp+8h] [ebp-8h] float v6; // [esp+Ch] [ebp-4h] if ( This->mDATA.aAnimalAbsorbState ) v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, 0, tObjIndex == 0); else v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, This->mDATA.aAnimalNumber, tObjIndex == 0); v6 = FACTOR::GetAttackSpeed(This->mDATA.aEffectValueForView, This->mDATA.aEquipForView); if ( v6 > AVATAR_OBJECT::MiniAttackSpeed(This, This->mDATA.aEffectValueForView) && v6 < AVATAR_OBJECT::MaxAttackSpeed(This, This->mDATA.aEffectValueForView) ) This->mDATA.aAction.aFrame = dTime * v6 * 0.300000011920929 + This->mDATA.aAction.aFrame; if ( This->mDATA.aAction.aFrame >= v5 ) { This->mDATA.aAction.aSort = 1; This->mDATA.aAction.aFrame = 0.0; This->unk00 = 0; if ( !tObjIndex ) { TRANSFER::T_UPDATE_AVATAR_ACTION(&This->mDATA.aAction); if ( !MAIN::KEYBOARD6_FOR_SKILL(mMAIN) ) { v3 = This->mDATA.aAction.aTargetObjectSort; if ( v3 == 2 || v3 == 3 ) { MAIN::ProcessForGetAvatar3(); } else if ( v3 == 5 ) { MAIN::ProcessForGetMonster3(); } } } } }
Massive attack speed thanks also is it possible to send packet like for example I attack with my single hit then the monster will receive like 7-10 attacks with my single hit .Quote:
Code:float __stdcall FACTOR::GetAttackSpeed(BUFF_INFO1 *a1, EQUIP_INFO2 *a2) { float v3; // [esp+8h] [ebp-4h] v3 = 100.0; if ( a1->aBuff[6] > 0 ) v3 = a1->aBuff[6] + v3; if ( a1->aBuff[25] > 0 ) v3 = v3 * 0.5; return (UTIL::ReturnAttackSpeedUp(a2->aEquipValue[3][1]) * v3) + v3; } float __thiscall AVATAR_OBJECT::MiniAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2) { float v4; // [esp+Ch] [ebp-10h] float v5; // [esp+18h] [ebp-4h] float v6; // [esp+18h] [ebp-4h] v5 = 99.0; if ( a2->aBuff[25] > 0 ) v5 = v5 * 0.5; v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5; v4 = v6 - 1.0; return floor(v4); } float __thiscall AVATAR_OBJECT::MaxAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2) { float v4; // [esp+Ch] [ebp-10h] float v5; // [esp+18h] [ebp-4h] float v6; // [esp+18h] [ebp-4h] v5 = 121.0; if ( a2->aBuff[25] > 0 ) v5 = v5 * 0.5; v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5; v4 = v6 + 1.0; return floor(v4); } ex. void __thiscall AVATAR_OBJECT::A006(AVATAR_OBJECT *This, int tObjIndex, float dTime) { int v3; // [esp+0h] [ebp-10h] int v5; // [esp+8h] [ebp-8h] float v6; // [esp+Ch] [ebp-4h] if ( This->mDATA.aAnimalAbsorbState ) v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, 0, tObjIndex == 0); else v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, This->mDATA.aAnimalNumber, tObjIndex == 0); v6 = FACTOR::GetAttackSpeed(This->mDATA.aEffectValueForView, This->mDATA.aEquipForView); if ( v6 > AVATAR_OBJECT::MiniAttackSpeed(This, This->mDATA.aEffectValueForView) && v6 < AVATAR_OBJECT::MaxAttackSpeed(This, This->mDATA.aEffectValueForView) ) This->mDATA.aAction.aFrame = dTime * v6 * 0.300000011920929 + This->mDATA.aAction.aFrame; if ( This->mDATA.aAction.aFrame >= v5 ) { This->mDATA.aAction.aSort = 1; This->mDATA.aAction.aFrame = 0.0; This->unk00 = 0; if ( !tObjIndex ) { TRANSFER::T_UPDATE_AVATAR_ACTION(&This->mDATA.aAction); if ( !MAIN::KEYBOARD6_FOR_SKILL(mMAIN) ) { v3 = This->mDATA.aAction.aTargetObjectSort; if ( v3 == 2 || v3 == 3 ) { MAIN::ProcessForGetAvatar3(); } else if ( v3 == 5 ) { MAIN::ProcessForGetMonster3(); } } } } }