PDA

Просмотр полной версии : как вычислить speed чара?


skymanrus
07.03.2008, 16:29
всем прювет!

я здесь пишу прогу в длл которая расчитывает все промежуточные координаты между начальной точкой движения чара и конечной.
прога уже пашет но коофицент скорости который показан в игре как speed пока вписываю в прогу вручную.
сами понимаете эт очень не удобно потому что скорость может поменяться весли меня бафнут или я юзну бутылку или просто зайду более быстрым чаром

пытался найти байты со скоростью в пакете UserInfo на гномском чаре
изначальная скорость у него 125 под бутылкой 145 но пакет UserInfo не меняется до и после юзания бутылки %)

вот пакет UserInfo мой если интересно
04 7C 39 01 00 E3 40 02 00 50 F2 FF FF 00 00 00 00 AB BB A0 49 59 00 6F 00 75 00 41 00 72 00 65 00 00 00 04 00 00 00 00 00 00 00 35 00 00 00 0E 00 00 00 E4 D8 00 00 00 00 00 00 27 00 00 00 1D 00 00 00 2D 00 00 00 14 00 00 00 0A 00 00 00 1B 00 00 00 AC 01 00 00 AC 01 00 00 8A 00 00 00 8A 00 00 00 2A 19 00 00 68 3B 00 00 3C 84 03 00 28 00 00 00 00 00 00 00 DF 81 64 40 A1 16 68 40 1E 6A 59 40 4E 0C 66 40 66 6C 72 40 00 00 00 00 24 0F 75 40 00 00 00 00 00 00 00 00 4D 84 67 40 37 64 6A 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70 00 00 00 70 00 00 00 76 00 00 00 74 00 00 00 74 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 7A 04 00 00 7B 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 9D 01 00 00 56 00 00 00 2E 00 00 00 2E 00 00 00 57 00 00 00 04 00 00 00 CB 00 00 00 9D 01 00 00 44 00 00 00 00 00 00 00 00 00 00 00 73 00 00 00 50 00 00 00 32 00 00 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9E A1 2B E2 FC 38 F4 3F 4D DF 6B 08 8E CB F7 3F 00 00 00 00 00 00 22 40 00 00 00 00 00 00 32 40 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 64 00 35 00 00 00 00 00 00 00 2B 01 00 00 2B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF 00 01 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00

я думаю может скорость показывают другие пакеты или она как то вычисляется по CON или другим параметрам чара??
в общем можете подсказать как эту скорость передвижения чара найти в пакетах ????? :oops:

QaK
07.03.2008, 16:53
У меня получилось так:
d X: 80252
d Y: 147683
d Z: -3504
d Heading: 0
d ObjectID: 1235270571
s Name: YouAre
d Race: 4
d Sex: 0
d ClassID: 53
d Level: 14
d Exp: 55524
d STR: 0
d DEX: 39
d CON: 29
d INT: 45
d WIT: 20
d MEN: 10
d MaxHP: 27
d CurrentHP: 428
d MaxMP: 428
d CurrentMP: 138
d SP: 138
d CurrentLoad: 6442
d MaxLoad: 15208
d Unknown: 230460
d Under: 40
d REar: 0
d LEar: 1080328671
d Neck: 1080563361
d RFinger: 1079601694
d LFinger: 1080429646
d Head: 1081240678
d RHand: 0
d LHand: 1081413412
d Gloves: 0
d Chest: 0
d Legs: 1080525901
d Feet: 1080714295
d Back: 0
d LRHand: 0
d Hair: 0
i Under: 0 ()
i REar: 0 ()
i LEar: 0 ()
i Neck: 112 (Apprentice's Earring)
i RFinger: 112 (Apprentice's Earring)
i LFinger: 118 (Necklace of Magic)
i Head: 116 (Magic Ring)
i RHand: 116 (Magic Ring)
i LHand: 0 ()
i Gloves: 1 (Short Sword)
i Chest: 0 ()
i Legs: 0 ()
i Feet: 1146 (Squire's Shirt)
i Back: 1147 (Squire's Pants)
i LRHand: 0 ()
i Hair: 0 ()
d PAtk: 0
d PAtkSpd: 0
d PDef: 0
d EvasionRate: 0
d Accuracy: 0
d CritikalHit: 0
d MAtk: 0
d MAtkSpd: 0
d PAtkSpd: 0
d MDef: 0
d PvpFlag: 0
d Karma: 0
d RunSpeed: 0 - это скорость бега
d WalkSpeed: 0
d SwimRunSpeed: 0
d SwimWalkSpeed: 0
d FlRunSpeed: 0
d FlWalkSpeed: 0
d FlyRunSpeed: 0
d FlyWalkSpeed: 0
f MovementSpeedMultiplier: 8,76384261673104E-312 - это множитель
f AttackSpeedMultiplier: 9,76118064268922E-313
f CollisionRadius: 1,84613633836706E-312
f CollisionHeight: 4,30765145567927E-312
d HairStyle: 413
d HairColor: 68
d Face: 0
d AccessLevel: 0
s Title: s
d ClanId: 80
d ClanCrestId: 50
d AllyId: 50
d AllyCrestId: 0
d IsClanLeader: 0
b MountType: 0
b PrivateStoreType: 0
b DwarvenCraft: 0
d PkKills: 0
d PvpKills: 732012032
b Cubics: 226
b Cubics: 252
b FindPartyMembers: 56
d AbnormalEffect: -548585484
b : 107
d ClanPrivileges: -137654776
d : 63
d : 570425344
d : 64
d : 838860800
d : 320
d : 256
d : 256
b RecomLeft: 0
b : 0
b RecomHave: 0
b : 0
- Пропущено: 14
d MaxCP: 0
d CurrentCP: 0
d WeaponEnchanted: 0

skymanrus
07.03.2008, 16:59
ну у меня то же самое поучилось :)
d RunSpeed: 0 - это скорость бега
но как она может быть равна 0 если она равна 125????

а вот на счет
f MovementSpeedMultiplier: 8,76384261673104E-312 - это множитель
я не понял что за множитель ?? на что множить ? :) на DEX(ловкость)?

xkor
08.03.2008, 14:17
я в боте скорость вычисляю так:
if Boolean(Running) then speed:=runSpd
else speed:=walkSpd;
r:=speed*d*MovementSpeedMultiplier;
d - время прошедшее после с последнего обновления координат
r - сосбно смещение за это время
формула работает вроде правильно, рассинхронизации координат с сервером практически непроисходит

ЗЫ тока в пакетхаке в стандартном packets.ini немного смещены RunSpeed и MovementSpeedMultiplier так что их точное местоположение ещё надо подкоректировать, MovementSpeedMultiplier - должно быть порядка единици, например 1.09

VORON
22.03.2008, 06:21
рябят не подскажите? для решения каких задач вас скорость интерисует?.. непонимаю.. на 90% серверов текущие координаты чара вапще ниначто не влияют на остальных 10% она влияет на синхронизацию.. если есть синхронизацияя координат то чар моргает и вы впринципе бессмертны.. прогать на таких серверах какието грандиозные проеты- смысла невижу ибо вы и так бессмертны.. а если первый случай то как может пригодиться скорость?

nezabudkin
25.03.2008, 15:37
Я вот написал маленький скриптик на убивание пакета ValidatePosition от клиента:

begin
if FromClient then
if pck[1] = #$48 then
begin
pck:='';
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('Убиваем пакет Validate');
SendToClient;
end;
end.


И начал бегать и чего нить делать. Тестил на С4...

Бегает нормально, из игры не вылетает, вещи подбирает тоже норм. Очень далеко правда не бегал (так чтобы за область видимости послать перса)...
Физическая атака тоже норм.
А вот с маг атакой проблемы... Если пулять стоя на месте, то тоже все ОК. Если бежать и недобегая до цели (куда бежал) пульнуть по мобу, то маг атака не проходит :( . Что в общем то правильно.

zSOVAz
03.09.2009, 17:24
этот скрипт увеличивает скорость бега?

QaK
04.09.2009, 12:31
zSOVAz, НЕТ, еще раз спросишь про читы, получишь бан, пока предупреждение.