[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.
 
Use exillum season 3 episode 1 client player.bmd its fixed! find it in google.
 
Last edited:
  • Like
Reactions: getrekt
Някой има ли този файл понеже не намирам S3 клиента на Exilium.
 
Имам познат който го пази ,но май го няма в нета вече клиента.. файловете ги имам тук иначе .. ще питам за клиента и ще го кача и ще получиш линк на лс ,надявам се утре още.
 
  • Like
Reactions: getrekt
Пробвах player.bmd от този клиент, но се оказа, че е оригиналният и не решава проблема...
 
Това е от мейна и се фиксва с длл или ако имаш сурс на самият мейн да се фиксне и тогава компилира. Поне при мен беше така -версия 1.0М.
 
Това е от мейна и се фиксва с длл или ако имаш сурс на самият мейн да се фиксне и тогава компилира. Поне при мен беше така -версия 1.0М.

Имаш ли сорса на dll-то?
 
Имаш ли сорса на 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
Всеки, който се чуди как да оправи agility bug и не може да имплементира по-горе споделения код, може да опита да декомпилира Player.bmd (Pentium tools -> convert bmd to smd) и да увеличи броя кадри на проблемните анимации (Milkshape 3d -> Import SMD -> Tools -> scale animation). Thanks to DarkMaster.
 
  • Like
Reactions: Ivaylo99