[Help] Season 3 episode 1 Agility

krisikaradzhova

New Member
Joined
Mar 2, 2015
Messages
14
Reaction score
4
Здравейте! Искам да попитам как може да се оправи agility бъг-а например Soul Master да може да си пуска нормално Evil Spirit без динорант или тигърче? И ако можете примерно да дадете някакъв съвет как и какъв да бъде Fixed Stats примерно 70 000 точки, да не е full stats? Ще ви бъда крайно благодарна ако ми помогнете. Благодаря предварително.

Hello! I want to ask you how can I fix Agility bug, for example - How can Soul Master use Evil Spirit wiht 32767 agility without dinorant or the tiger? And if you can tell me how can I make Fixed stats, 70 000 points instead max stats? I would be greatfull if you help me. Thanks in advance.
 

Deadman

Banned
Joined
Mar 17, 2014
Messages
323
Reaction score
281
Use exillum season 3 episode 1 client player.bmd its fixed! find it in google.
 
Last edited:
  • Like
Reactions: getrekt

Damian

Team Member
Joined
Jun 12, 2008
Messages
623
Reaction score
583
Някой има ли този файл понеже не намирам S3 клиента на Exilium.
 

Deadman

Banned
Joined
Mar 17, 2014
Messages
323
Reaction score
281
Имам познат който го пази ,но май го няма в нета вече клиента.. файловете ги имам тук иначе .. ще питам за клиента и ще го кача и ще получиш линк на лс ,надявам се утре още.
 
  • Like
Reactions: getrekt

Damian

Team Member
Joined
Jun 12, 2008
Messages
623
Reaction score
583
Пробвах player.bmd от този клиент, но се оказа, че е оригиналният и не решава проблема...
 

dota-sdso

Well-Known Member
Joined
Apr 30, 2014
Messages
590
Reaction score
822
Това е от мейна и се фиксва с длл или ако имаш сурс на самият мейн да се фиксне и тогава компилира. Поне при мен беше така -версия 1.0М.
 

Damian

Team Member
Joined
Jun 12, 2008
Messages
623
Reaction score
583
Това е от мейна и се фиксва с длл или ако имаш сурс на самият мейн да се фиксне и тогава компилира. Поне при мен беше така -версия 1.0М.

Имаш ли сорса на dll-то?
 

pafa7a

Well-Known Member
Joined
Jul 9, 2009
Messages
1,398
Reaction score
814
Имаш ли сорса на dll-то?
Client.cpp
Code:
#include "stdafx.h" 
//--------------------------------------------------------------------------- 
 
ObjUser gObjUser; 
//--------------------------------------------------------------------------- 
 
WORD Buff_Class; 
short Buff_Dexterity; 
int Buff_GameState; 
short Buff_AttackSpeed; 
//--------------------------------------------------------------------------- 
 
void ObjUser::GetUserInfo() 
{ 
_asm 
{ 
mov esi, dword ptr ds:[oGameState] 
mov Buff_GameState, esi 
// ---- 
mov esi, dword ptr ds:[oObjUser] 
// ---- 
mov dx, word ptr ds:[esi+oClass] 
mov Buff_Class, dx 
// ---- 
mov dx, word ptr ds:[esi+oDexterity] 
mov Buff_Dexterity, dx 
// ---- 
mov dx, word ptr ds:[esi+oAttackSpeed] 
mov Buff_AttackSpeed, dx 
} 
// ---- 
this->SetUserInfo(); 
} 
//--------------------------------------------------------------------------- 
 
void ObjUser::SetUserInfo() 
{ 
this->Class = Buff_Class; 
this->Dexterity = Buff_Dexterity; 
this->AttackSpeed = Buff_AttackSpeed; 
// -- 
this->GameState = Buff_GameState; 
} 
//--------------------------------------------------------------------------- 
 
void ObjUser::SetSpeedFrame() 
{ 
switch(this->Class) 
{ 
case ObjClass::DarkWizard: // [29.05.2012] Complete 100% -> 32000 Stats 
case ObjClass::SoulMaster: 
case ObjClass::GrandMaster: 
{ 
if( this->AttackSpeed >= 455 && this->AttackSpeed <= 479 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0024700); 
} 
else if( this->AttackSpeed >= 605 && this->AttackSpeed <= 636 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0019000); 
} 
else if( this->AttackSpeed >= 637 && this->AttackSpeed <= 668 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0018000); 
} 
else if( this->AttackSpeed >= 669 && this->AttackSpeed <= 688 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0017000); 
} 
else if( this->AttackSpeed >= 855 && this->AttackSpeed <= 1040 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0016300); 
} 
else if( this->AttackSpeed >= 1041 && this->AttackSpeed <= 1104 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0015500); 
} 
else if( this->AttackSpeed >= 1301 && this->AttackSpeed <= 1500 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0017500); 
} 
else if( this->AttackSpeed >= 1501 && this->AttackSpeed <= 1524 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0015000); 
} 
else if( this->AttackSpeed >= 1525 && this->AttackSpeed <= 1800 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0014500); 
} 
else if( this->AttackSpeed >= 1801 && this->AttackSpeed <= 1999 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0013000); 
} 
else if( this->AttackSpeed >= 2000 && this->AttackSpeed <= 2167 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0012500); 
} 
else if( this->AttackSpeed >= 2168 && this->AttackSpeed <= 2354 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0011500); 
} 
else if( this->AttackSpeed >= 2855 && this->AttackSpeed <= 3011 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0009000); 
} 
else if( this->AttackSpeed >= 3011 ) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0008000); 
} 
else
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0020000); 
} 
} 
break; 
// ---- 
case ObjClass::DarkKnight: 
case ObjClass::BladeKnight: 
case ObjClass::BladeMaster: 
{ 
SetFloat((PVOID)oFrameSpeed, 0.0040000); 
SetFloat((PVOID)oFrameSpeed2, 0.0020000); 
} 
break; 
// ---- 
case ObjClass::Elf: // [30.05.2012] Complete 100% -> 32000 Stats 
case ObjClass::MuseElf: 
case ObjClass::HightElf: 
{ 
if( this->AttackSpeed >= 509 && this->AttackSpeed <= 549 ) 
{ 
SetFloat((PVOID)oFrameSpeed, 0.0037000); 
} 
else
{ 
SetFloat((PVOID)oFrameSpeed, 0.0040000); 
} 
} 
break; 
// ---- 
case ObjClass::MagicGladiator: 
case ObjClass::DuelMaster: 
{ 
if(this->Dexterity >= 5700 && this->Dexterity <= 6550) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0020000); 
} 
else if(this->Dexterity >= 8200 && this->Dexterity <= 10700) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0020000); 
} 
else if(this->Dexterity >= 13250 && this->Dexterity <= 23250) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0020000); 
} 
else if(this->Dexterity >= 28250) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0006000); 
} 
else
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0020000); 
} 
} 
break; 
// ---- 
case ObjClass::DarkLord: 
case ObjClass::LordEmperor: 
{ 
if(this->Dexterity >= 2000 && this->Dexterity < 4900) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0038000); 
} 
else if(this->Dexterity >= 4900 && this->Dexterity < 5050) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0037000); 
} 
else if(this->Dexterity >= 5050 && this->Dexterity < 5200) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0036000); 
} 
else if(this->Dexterity >= 5200 && this->Dexterity < 5350) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0035000); 
} 
else if(this->Dexterity >= 5350 && this->Dexterity < 5550) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0034000); 
} 
else if(this->Dexterity >= 5550 && this->Dexterity < 5700) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0033000); 
} 
else if(this->Dexterity >= 5700 && this->Dexterity < 5900) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0032000); 
} 
else if(this->Dexterity >= 5900 && this->Dexterity < 6100) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0031000); 
} 
else if(this->Dexterity >= 6100 && this->Dexterity < 6300) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0030000); 
} 
else if(this->Dexterity >= 6300 && this->Dexterity < 6500) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0029000); 
} 
else if(this->Dexterity >= 6500 && this->Dexterity < 6750) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0028000); 
} 
else if(this->Dexterity >= 6750 && this->Dexterity < 7000) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0027000); 
} 
else if(this->Dexterity >= 7000 && this->Dexterity < 7300) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0026000); 
} 
else if(this->Dexterity >= 7300 && this->Dexterity < 7600) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0025000); 
} 
else if(this->Dexterity >= 7600 && this->Dexterity < 7900) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0024000); 
} 
else if(this->Dexterity >= 7900 && this->Dexterity < 8250) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0023000); 
} 
else if(this->Dexterity >= 8250 && this->Dexterity < 8650) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0022000); 
} 
else if(this->Dexterity >= 8650 && this->Dexterity < 9050) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0021000); 
} 
else if(this->Dexterity >= 9050 && this->Dexterity < 9500) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0020000); 
} 
else if(this->Dexterity >= 9500 && this->Dexterity < 10000) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0019000); 
} 
else if(this->Dexterity >= 10000 && this->Dexterity < 10550) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0018000); 
} 
else if(this->Dexterity >= 10550 && this->Dexterity < 11150) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0017000); 
} 
else if(this->Dexterity >= 11150 && this->Dexterity < 11850) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0016000); 
} 
else if(this->Dexterity >= 11850 && this->Dexterity < 12600) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0015000); 
} 
else if(this->Dexterity >= 12600 && this->Dexterity < 13450) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0014000); 
} 
else if(this->Dexterity >= 13450 && this->Dexterity < 16600) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0010000); 
} 
else if(this->Dexterity >= 16600) 
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0008000); 
} 
else
{ 
SetFloat((PVOID)oFrameSpeed2, 0.0040000); 
} 
} 
break; 
} 
} 
//---------------------------------------------------------------------------

Client.h
Code:
#pragma once 
//--------------------------------------------------------------------------- 
 
#define oFrameSpeed 0x0088B700 // float[?] 
#define oFrameSpeed2 0x0088B494 // float[?] 
// ---- 
#define oGameState 0x008D6F7C // -> int[4] => Need check, maybe short or byte 
// ---- 
#define oObjUser 0x7AB351C // 0 -> char[11] => Object struct start 
#define oClass 0x0B // 11 -> byte / word 
#define oDexterity 0x1A // 26 -> short[2] 
#define oAttackSpeed 0x60 // 96 -> short[2] => maybe int[4] 
//--------------------------------------------------------------------------- 
 
class ObjUser 
{ 
public: 
void GetUserInfo(); 
void SetUserInfo(); 
void SetSpeedFrame(); 
// -- 
int CheckPoint; 
// -- 
WORD Class; 
short Dexterity; 
short AttackSpeed; 
int GameState; 
// ---- 
}; extern ObjUser gObjUser; 
//--------------------------------------------------------------------------- 
 
enum ObjClass // -> Complete for JPN protocol 
{ 
DarkWizard = 0, 
SoulMaster = 8, 
GrandMaster = 24, 
// ---- 
DarkKnight = 1, 
BladeKnight = 9, 
BladeMaster = 25, 
// ---- 
Elf = 2, 
MuseElf = 10, 
HightElf = 26, 
// ---- 
MagicGladiator = 3, 
DuelMaster = 19, 
// ---- 
DarkLord = 4, 
LordEmperor = 20, 
// ---- 
Summoner = 5, 
BloodySummoner = 13, 
DimensionMaster = 29, 
}; 
//--------------------------------------------------------------------------- 
 
enum ObjState // -> Complete 
{ 
SelectServer = 2, 
SwitchCharacter = 4, 
GameProcess = 5, 
}; 
//--

Това е за 1.03K (Season 4 4 JPN). За да го ползвате за друга версия направете си ресърч
 
  • Like
Reactions: Ivaylo99 and Damian

Damian

Team Member
Joined
Jun 12, 2008
Messages
623
Reaction score
583
Всеки, който се чуди как да оправи agility bug и не може да имплементира по-горе споделения код, може да опита да декомпилира Player.bmd (Pentium tools -> convert bmd to smd) и да увеличи броя кадри на проблемните анимации (Milkshape 3d -> Import SMD -> Tools -> scale animation). Thanks to DarkMaster.
 
  • Like
Reactions: Ivaylo99