Admin Admin
Сообщения : 386 Очки : 2147508816 Репутация : 6 Дата регистрации : 2010-08-02 Возраст : 29 Город : Россошь
| Тема: Agility bug Сб Мар 19, 2011 8:21 pm | |
| Возникает проблема с некоторыми spells когда у вас определённое количество agility. Ниже приведена точная таблица agility которая вызовит баг у вашего персонажа:
Dark Wizard
Evil Spirits * 0 - 5700 > работает нормально * 5700 - 6550 > работает с Dino/Unicorn * 6550 - 8200 > работает нормально * 8200 - 9820 > работает с Dino/Unicorn * 9820 - 10700 > не работает совсем * 10700 - 13250 > работает с Dino/Unicorn * 13250 - 15700 > работает с Dino/Unicorn * 15700 - 23250 > не работает совсем * 23250 - 28250 > работает нормально * 28250 - 32767 > работает с Dino/Unicorn
Inferno * 0 - 32767 > работает нормально
Nova (хорош,когда ES или INFERNO не работает) * 9820 - 10700 =работает * 32767=работает
Dark Knight Agility Bug
Twisting Slash * 0 - 32767> работает нормально
Elf Agility Bug
MultiShot * 0 - 23200 >работает * 23200 - 25250 > не работает совсем * 25250 - 32767>работает
Magic Gladdiator Agility Bug
Evil Spirit * 0 - 11200 > работает нормально * 11200 - 12880 > работает с Dino/Unicorn * 12880 - 16200 > работает нормально * 16200 - 19440 > работает с Dino/Unicorn * 19440 - 21200 > не работает совсем * 21200 - 26200 > работает нормально * 26200 - 31100 > работает с Dino/Unicorn * 31150+ > Не работает совсем
Twisting Slash * 0 - 32767 > работает нормально
Inferno * 0 - 32767 > работает нормально
Dark Lord Agility Bug
Firescream * 0 - 2400 (работает нормально) * 2400 - 5000 (работает нормально with horse/uni/dino) * 5000 - 5600 (не работает совсем) * 5600 - 6800 (работает с horse/dino only) * 6800 - 8000 (работает нормально with horse/uni/dino) * 8000 - 11800 (не работает совсем) * 11800 - 16600 (работает нормально with horse/uni/dino) * 16600 - 32767 (не работает совсем) |
|
svitoi
Сообщения : 15 Очки : 24541 Репутация : 0 Дата регистрации : 2010-12-12 Возраст : 35 Город : Drochia
| Тема: Re: Agility bug Пт Мар 25, 2011 8:53 pm | |
| |
|
MrRastaman
Сообщения : 3 Очки : 23173 Репутация : 0 Дата регистрации : 2011-09-07 Возраст : 30 Город : Кишинев
| Тема: Re: Agility bug Ср Сен 07, 2011 2:50 am | |
| это как убрать Agility bug? если (ДА) а где это настраивать?? |
|
BAZUKA
Сообщения : 17 Очки : 22772 Репутация : 0 Дата регистрации : 2011-11-30 Возраст : 33 Город : Санкт-Петербург
| Тема: Re: Agility bug Ср Ноя 30, 2011 12:23 pm | |
| в плеер.бмд (папка клиента\дата\плеер) если у тебя есть платный бмд эдитор то вперёд |
|
BAZUKA
Сообщения : 17 Очки : 22772 Репутация : 0 Дата регистрации : 2011-11-30 Возраст : 33 Город : Санкт-Петербург
| Тема: Re: Agility bug Вс Авг 18, 2013 1:27 pm | |
| Ещё вариант по средствам кастомизации (вот пример исходника) User.cpp: - Код:
-
#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; } } //--------------------------------------------------------------------------- User.h: - Код:
-
#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 |
|