Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Реализация вертикального взлета

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 08.11.2013, 22:26   #1
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
Question Реализация вертикального взлета

Всем доброго времени суток.

В данной теме, хотелось бы увидеть примеры функций вертикального взлета персонажа на определенную высоту.
В идеале, хотел бы сделать взлет так же, как в MegaBot 5.0. Скорее всего реализация в нем идет инжектами. Пробовал проводить трассировку, но сказывается недостаток опыта. Также пробовал использовать пакеты, но выше 1 метра вверх перс так и не поднялся.
Так, что буду очень рад увидеть примеры как с использованием инжекта функций, так и отправкой пакетов.

Заранее благодарю!
________________
MultiXBot
MultiX_POT
  Ответить с цитированием
Старый 11.11.2013, 10:21   #2
 Старший сержант
Аватар для sumikot
 
sumikot излучает ауруsumikot излучает ауруsumikot излучает ауруsumikot излучает ауруsumikot излучает ауруsumikot излучает ауру
Регистрация: 21.09.2009
Сообщений: 189
Популярность: 578
Сказал(а) спасибо: 27
Поблагодарили 144 раз(а) в 36 сообщениях
 
По умолчанию Re: Реализация вертикального взлета

Любой рабочий инжект движения. Перед ним читаешь координаты, к Z прибавляешь столько, на сколько перс должен подняться вертикально вверх. X и Y остаются без изменений. Если перс "стоит на земле", перед движением передача пакета на взлет или инжект взлета, контроль по WalkMode. Инжекты есть в "[Руоф] Код для инжекта в память".
  Ответить с цитированием
Пользователь сказал cпасибо:
fds255 (12.11.2013)
Старый 12.11.2013, 16:32   #3
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: Реализация вертикального взлета

Цитата:
Сообщение от sumikotПосмотреть сообщение
Любой рабочий инжект движения

В том то все и дело, что не любой. Я в боте использую инжект автопути, в нем изменить только координаты Z не получается, высоту перс набирает только при движении по X,Y.

Попробую, по твоему совету, поэкспериментировать над Walk Injection, может что и выйдет.
________________
MultiXBot
MultiX_POT
  Ответить с цитированием
Старый 14.11.2013, 19:48   #4
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Реализация вертикального взлета

а вы используйте инжект WalkTo где задаются точные параметры х,у,z
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 26.11.2013, 23:18   #5
 Пехотинец
Аватар для bespaniki
 
bespaniki неизвестен в этих краяхbespaniki неизвестен в этих краяхbespaniki неизвестен в этих краях
Регистрация: 11.12.2009
Сообщений: 83
Популярность: -270
Сказал(а) спасибо: 7
Поблагодарили 26 раз(а) в 9 сообщениях
Отправить сообщение для bespaniki с помощью Skype™
 
По умолчанию Re: Реализация вертикального взлета

подсмотрев в ГЕОботе на АНК сначало переделал под AutoIT

Код:
Func MoveTo($X, $Y, $Z, $height, $pid )


	local $process_information = _MemoryOpen($pid)
	local $baseAddress = _MemoryRead ( $REAL_BASE_ADDRESS, $process_information)
	local $structurePointer = _MemoryRead ($baseAddress + $BASE_OFFSET, $process_information)
	local $playerPointer = _MemoryRead($structurePointer + $PLAYER_OFFSET, $process_information)
	local $actionStruct = _MemoryRead($playerPointer + $PLAYER_ACTION_STRUCT_OFFSET, $process_information)
	local $actionList = _MemoryRead($actionStruct+0x30,$process_information)
	local $MoveAction = _MemoryRead($actionList+0x4,$process_information)

	_MemoryWrite($MoveAction+0x8, $process_information, 0)				;Action finished = 0
	_MemoryWrite($MoveAction+0x14, $process_information, 1)				;Action Start = 1
	_MemoryWrite($MoveAction + 0x20, $process_information, $X)
	_MemoryWrite($MoveAction + 0x24, $process_information, $Y)
	_MemoryWrite($MoveAction + 0x28, $process_information, $Z)
	_MemoryWrite($MoveAction + 0x68, $process_information, $height)

	_MemoryWrite($MoveAction + 0x64, $process_information, 26625)
	_MemoryWrite($MoveAction + 0x6C, $process_information, 256)

	_MemoryWrite($MoveAction + 0x2C, $process_information, 0)		;Вот здесь если записать вместо 0, 1 то персонаж обязательно наберет высоту
	_MemoryWrite($actionStruct+0xC, $process_information, $MoveAction)
	_MemoryWrite($actionStruct+0x18, $process_information, 1)
	_MemoryWrite($actionStruct+0x14, $process_information, $MoveAction)

	Sleep (500)

EndFunc
потом это все допилил на C# т.к. перестал программить на AutoIT.
Оффсеты в примере возможно неактуальны, лень проверять. Но на шарпе у меня вертикальный взлет организован благодаря выделенной красным строчке. Пример на C# выкладывать не буду т.к. он довольно большой и без пол литра в моем коде там сложно разобраться к томуже код не коментировал
  Ответить с цитированием
Старый 14.05.2014, 20:17   #6
 Разведчик
Аватар для FriendsKenny
 
FriendsKenny на правильном пути
Регистрация: 13.07.2011
Сообщений: 22
Популярность: 20
Сказал(а) спасибо: 16
Поблагодарили 7 раз(а) в 6 сообщениях
Отправить сообщение для FriendsKenny с помощью Skype™
 
По умолчанию Re: Реализация вертикального взлета

Вертикальный взлет на шарпе.

Код:
/// <param name="IsFly">0 - пешком, 1 - в полете</param>
public void Walk(float x, float y, float z, int IsFly = 0)
{
    var CallAddress1 = 0x484690;
    var CallAddress2 = 0x4889B0;
    var CallAddress3 = 0x484B00;

    ASM asm = new ASM(memory);
    asm.Pushad();
    asm.Mov_EAX_DWORD_Ptr(GameOffsets.game_address);
    asm.Mov_ESI_DWORD_Ptr_EAX_Add(0x34);
    asm.Mov_ECX_DWORD_Ptr_ESI_Add(0x1290);
    asm.Push6A(1);
    asm.Mov_EDX(CallAddress1);
    asm.Call_EDX();
    asm.Mov_EDI_EAX();
    asm.Asmcode += "8d442418"; //asm.Lea_EAX_DWORD_Ptr_ESP_Add(0x18);
    asm.Push_EAX();
    asm.Push6A(IsFly); //flying
    asm.Mov_ECX_EDI();
    asm.Mov_EDX(CallAddress2);
    asm.Call_EDX();
    asm.Mov_ECX_DWORD_Ptr_ESI_Add(0x1290);
    asm.Push6A(0);
    asm.Push6A(1);
    asm.Push_EDI();
    asm.Push6A(1);
    asm.Mov_EDX(CallAddress3);
    asm.Call_EDX();
    asm.Mov_EAX_DWORD_Ptr(GameOffsets.game_address);
    asm.Mov_EAX_DWORD_Ptr_EAX_Add(0x34);
    asm.Mov_EAX_DWORD_Ptr_EAX_Add(0x1290);
    asm.Mov_EAX_DWORD_Ptr_EAX_Add(0x30);
    asm.Mov_ECX_DWORD_Ptr_EAX_Add(0x4);
    asm.Mov_EAX(x);
    asm.Asmcode += "894120"; //mov dword ptr[ecx+$20], eax
    asm.Mov_EAX(z);
    asm.Asmcode += "894124"; //mov dword ptr[ecx+$24], eax
    asm.Mov_EAX(y);
    asm.Asmcode += "894128"; //mov dword ptr[ecx+$28], eax
    asm.Mov_EAX(1);
    asm.Asmcode += "89412C"; //mov dword ptr[ecx+$2C], eax
    asm.Popad();
    asm.Ret();
    asm.RunAsm();
}
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Статья] Реализация многопоточности Tip.the.besT Pascal/Delphi 39 23.01.2014 15:22
[Помогите!] реализация мультиязычычнсти valkiriy Вопросы и ответы, обсуждения 5 31.10.2013 19:36
[Пакеты] AntigateSharp - реализация antigate api на C# Mebius C# 8 09.09.2013 11:39
[Обсуждение] Реализация сервера 1.4.5. vanek31 Общение и обсуждение Perfect World 13 24.01.2013 01:27

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 00:39.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net