|
Движение персонажа C# - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
05.07.2012, 17:51
|
#1
|
|
|
|
Пехотинец
|
Регистрация: 06.03.2012
Сообщений: 80
Популярность: 413
Сказал(а) спасибо: 15
Поблагодарили 73 раз(а) в 15 сообщениях
|
Движение персонажа C#
Не пойму.
Использую код для движения,однако, перс летит в одну точку(хрен знает какую).
Вроде все указываю правильно.
Код:
public void MoveTo(Int32 X, Int32 Y, Int32 Z, float height = 1.0f)
{
var window = cClients.SelectedItem as ClientWindow;
if (window != null) MemoryManager.OpenProcess(window.ProcessId);
Int32 moveType = 0;
Int32 actionStruct =
MemoryManager.ChainReadInt32(
GameRun,
HostPlayerOffsets.Struct,
HostPlayerOffsets.PlayerActionStructOffset
);
var actionList = MemoryManager.ReadInt32(actionStruct + 0x30);
var MoveAction = MemoryManager.ReadInt32(actionList + 0x4);
MemoryManager.WriteInt32(MoveAction + 0x8, 0);
MemoryManager.WriteInt32(MoveAction + 0x14, 1);
MemoryManager.WriteInt32(MoveAction + 0x20, X);
MemoryManager.WriteInt32(MoveAction + 0x24, Y);
MemoryManager.WriteInt32(MoveAction + 0x28, Z);
MemoryManager.WriteFloat(MoveAction + 0x68, height);
if (height >= 0.0)
{
MemoryManager.WriteInt32(MoveAction + 0x64, 26625);
MemoryManager.WriteInt32(MoveAction + 0x6C, 256);
}
else
{
MemoryManager.WriteInt32(MoveAction + 0x64, 26624);
MemoryManager.WriteInt32(MoveAction + 0x6C, 65536);
}
MemoryManager.WriteInt32(MoveAction + 0x2C, moveType);
MemoryManager.WriteInt32(MoveAction + 0xC, MoveAction);
MemoryManager.WriteInt32(actionStruct + 0x18, 1);
MemoryManager.WriteInt32(actionStruct +
0x14, MoveAction);
Даю ему сразу внутриигровые координаты.
|
|
|
05.07.2012, 19:10
|
#2
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: Движение персонажа C#
|
Цитата: |
|
|
|
|
|
|
|
|
|
Даю ему сразу внутриигровые координаты.
|
|
|
|
|
|
А попробовать ему давать нормальные координаты? "Игровые" используются только для отображения в верхней правой части экрана...
З.Ы. Всегда можно проверить правильность работы алгоритма передав туда три 0. Это центр карты. Хотя высоту можно и не 0, а 60 например.
З.Ы.Ы. Координаты во float.
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
05.07.2012, 19:34
|
#3
|
|
|
|
Пехотинец
|
Регистрация: 06.03.2012
Сообщений: 80
Популярность: 413
Сказал(а) спасибо: 15
Поблагодарили 73 раз(а) в 15 сообщениях
|
Re: Движение персонажа C#
TBX1n, Да-да,я уже все сделал
Оказывается перепутал местами y и z
Ну и конечно не Инт32,а Флоат
|
|
|
05.07.2012, 20:54
|
#4
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
|
Re: Движение персонажа C#
В этой теме как раз на основании функции следования по координатам рассказывал как можно еще инжектить на C#. Там и исходники есть.
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 02:01.
|
|