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

Персонаж в таргете

-

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

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

Ответ
 
Опции темы
Старый 19.01.2013, 20:29   #1
 Разведчик
Аватар для Erstown
 
Erstown на правильном путиErstown на правильном пути
Регистрация: 07.04.2012
Сообщений: 5
Популярность: 170
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
 
По умолчанию Персонаж в таргете

Решил попробовать написать свой сендер скилов, пока что все получается, но возникла проблемка. Как напасть именно на того кто в таргете? А то перс думают якобы все действия посылаются к нему и соответственно не атакует.
  Ответить с цитированием
Старый 19.01.2013, 20:36   #2
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Персонаж в таргете

А в чем конкретно возникает проблема?
В пакете скилла есть место, куда записатывается WID цели. Оффсет выбранного игрока известен.. Что еще надо?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 19.01.2013, 20:44   #3
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Персонаж в таргете

Цитата:
Сообщение от N00bSa1b0tПосмотреть сообщение
Оффсет выбранного игрока известен

Судя по всему - нет
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 19.01.2013, 21:55   #4
 Разведчик
Аватар для Erstown
 
Erstown на правильном путиErstown на правильном пути
Регистрация: 07.04.2012
Сообщений: 5
Популярность: 170
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
 
По умолчанию Re: Персонаж в таргете

Не много не понял саму последовательность действий. Можете ее написать?
Я делаю так:
Узнаю WID персонажа в таргете, например пусть будет 31664. В калькуляторе получается 7B B0. А вот в PW если отловить пакет взятия в таргет этого же персонажа, почему то получается B0 7B(То есть перевернуто). Или я вообще делаю не так? Не очень понятен мне просто сам алгоритм.
  Ответить с цитированием
Старый 19.01.2013, 22:07   #5
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Персонаж в таргете

Цитата:
Сообщение от ErstownПосмотреть сообщение
почему то получается B0 7B(То есть перевернуто)

Так все верно. Прочитайте эту статью [Ссылки могут видеть только зарегистрированные пользователи. ] (или [Ссылки могут видеть только зарегистрированные пользователи. ])

В пакетах почти всегда (но есть исключения) используется обратный порядок байт (little-endian), а калькулятор виндовый оперирует прямым порядком (big-endian). Поэтому при написании софта это надо учитывать.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 19.01.2013, 22:19   #6
 Разведчик
Аватар для Erstown
 
Erstown на правильном путиErstown на правильном пути
Регистрация: 07.04.2012
Сообщений: 5
Популярность: 170
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
 
По умолчанию Re: Персонаж в таргете

Спасибо, прочитал. А все же, как эти "байты поставить на место"?
То есть перевернуть в правильный вид?
  Ответить с цитированием
Старый 19.01.2013, 22:21   #7
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Персонаж в таргете

Зависит от языка программирования, на котором Вы пишете.
В C#, например, с этим справляется класс BitConverter
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 19.01.2013, 22:23   #8
 Разведчик
Аватар для Erstown
 
Erstown на правильном путиErstown на правильном пути
Регистрация: 07.04.2012
Сообщений: 5
Популярность: 170
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
 
По умолчанию Re: Персонаж в таргете

Цитата:
Сообщение от N00bSa1b0tПосмотреть сообщение
Зависит от языка программирования, на котором Вы пишете.
В C#, например, с этим справляется класс BitConverter

Пишу на Delphi

Добавлено через 34 минуты
Код:
var
  Source, One, Two, Otvet, WID : string;
begin
  Source := WID;
  One := Copy(Source, 3, 4);
  Two := Copy(Source, 1, 2);
  Otvet := One + ' ' + Two;
Вот такой вот пойдет?

Последний раз редактировалось Erstown; 19.01.2013 в 23:05.
  Ответить с цитированием
Старый 19.01.2013, 23:23   #9
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Персонаж в таргете

Цитата:
Сообщение от ErstownПосмотреть сообщение
Вот такой вот пойдет?

Такой переворачивает только 4-значное число. А в будущем понадобятся и 8-ми символьные
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 19.01.2013, 23:25   #10
 Разведчик
Аватар для Erstown
 
Erstown на правильном путиErstown на правильном пути
Регистрация: 07.04.2012
Сообщений: 5
Популярность: 170
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
 
По умолчанию Re: Персонаж в таргете

Сделал. N00bSa1b0t, спасибо за помощь, надвинул на правильную мысль

Добавлено через 7 минут
Цитата:
Сообщение от SmertigПосмотреть сообщение
Такой переворачивает только 4-значное число. А в будущем понадобятся и 8-ми символьные

Переделаю, это просто набросок. А 7ми сивольные, 5и символьные могу быть?
Если да, то как их перевернуть и записать? Примерчик можно?

Последний раз редактировалось Erstown; 19.01.2013 в 23:34. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 20.01.2013, 00:18   #11
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Персонаж в таргете

Цитата:
Сообщение от ErstownПосмотреть сообщение
А 7ми сивольные, 5и символьные могу быть?

Ну, как сказать..
Есть размерность - 1 байт, 2 байта, 4 байта, 8 байт. (по степени числа 2).
Если число занимает меньше указанного размера, то остаток заполняется нулями.

Например, число 123 456. Переводим в HEX = 1E240, как бы 3 байта. Дополняем нулями, до степени двойки (до 4 байт) - 00 01 E2 40. Переворачиваем - 40 E2 01 00.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 20.01.2013, 00:30   #12
 Разведчик
Аватар для Erstown
 
Erstown на правильном путиErstown на правильном пути
Регистрация: 07.04.2012
Сообщений: 5
Популярность: 170
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
 
По умолчанию Re: Персонаж в таргете

Цитата:
Сообщение от N00bSa1b0tПосмотреть сообщение
Ну, как сказать..
Есть размерность - 1 байт, 2 байта, 4 байта, 8 байт. (по степени числа 2).
Если число занимает меньше указанного размера, то остаток заполняется нулями.

Например, число 123 456. Переводим в HEX = 1E240, как бы 3 байта. Дополняем нулями, до степени двойки (до 4 байт) - 00 01 E2 40. Переворачиваем - 40 E2 01 00.

Понял, Спасибо
  Ответить с цитированием
Старый 25.01.2013, 05:04   #13
-= Мастер Света =-
 Пехотинец
Аватар для rufat2005
 
rufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауру
Регистрация: 19.02.2010
Сообщений: 98
Популярность: 650
Сказал(а) спасибо: 23
Поблагодарили 150 раз(а) в 45 сообщениях
Отправить сообщение для rufat2005 с помощью ICQ Отправить сообщение для rufat2005 с помощью Skype™
 
По умолчанию Re: Персонаж в таргете

у меня такой)))

если строку)) (т.е. в моем случае ид нпс)
Код:
function strIntToHex(s :String):String;
var
  x0,x1,p,t :LongWord;
  i,j       :LongInt;
  res       :String;
begin
  x0:=0;
  x1:=0;
  p:=1;
  for i:=Length(s) downto 1 do
    begin
      t:=(ord(s[i])-$30);
      for j:=1 to t do //сделал циклом потому-что умножение на асме делать было в лом
        asm
          mov eax,p
          add  x0,eax
          jnc  @dop_sum
          adc  x1,0
          @dop_sum:
        end;
      p:=p*10;
    end;
  res:=IntToHex(x1,8)+IntToHex(x0,8); //аналог ф-ии IntToHex для 4 байтового операнда труда не составит у любого, потому не стал я этого делать
  //далее вырезаем ведущие нули
  j:=Length(res);
  for i:=1 to Length(res) do
    if res[i]<>'0' then
      begin
        j:=i;
        break;
      end;
  Result:=Copy(res,j,Length(res)-j+1);
end;

function getStrIntToHex(data:string;data2: integer): String;
var
  chast1,chast2,chast3,chast4:String;
begin
  if Connected then
    begin
      if data2=2 then
      begin
        Chast1:= copy(strIntToHex(data),1,2);
        result:= chast1;
      end;
      if data2=4 then
      begin
        Chast1:= copy(strIntToHex(data),1,2);
        Chast2:= copy(strIntToHex(data),3,2);
        result:= chast2+chast1;
      end;
      if data2=6 then
      begin
        Chast1:= copy(strIntToHex(data),1,2);
        Chast2:= copy(strIntToHex(data),3,2);
        Chast3:= copy(strIntToHex(data),5,2);
        result:= chast3+chast2+chast1;
      end;
      if data2=8 then
      begin
        Chast1:= copy(strIntToHex(data),1,2);
        Chast2:= copy(strIntToHex(data),3,2);
        Chast3:= copy(strIntToHex(data),5,2);
        Chast4:= copy(strIntToHex(data),7,2);
        result:= chast4+chast3+chast2+chast1;
      end;
    end;
end;
а вот если интегер
Код:
{==========================================|
|          IntToHex если более 2           |
|==========================================}
function getIntToHex(data,data2: integer): String;
var
  chast1,chast2,chast3,chast4:String;
begin
  if Connected then
    begin
      if data2=2 then
      begin
        Chast1:= copy(IntToHex(data, 2),1,2);
        result:= chast1;
      end;
      if data2=4 then
      begin
        Chast1:= copy(IntToHex(data, 4),1,2);
        Chast2:= copy(IntToHex(data, 4),3,2);
        result:= chast2+chast1;
      end;
      if data2=6 then
      begin
        Chast1:= copy(IntToHex(data, 6),1,2);
        Chast2:= copy(IntToHex(data, 6),3,2);
        Chast3:= copy(IntToHex(data, 6),5,2);
        result:= chast3+chast2+chast1;
      end;
      if data2=8 then
      begin
        Chast1:= copy(IntToHex(data, 8),1,2);
        Chast2:= copy(IntToHex(data, 8),3,2);
        Chast3:= copy(IntToHex(data, 8),5,2);
        Chast4:= copy(IntToHex(data, 8),7,2);
        result:= chast4+chast3+chast2+chast1;
      end;
    end;
end;
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Автор программы PwRuf - Bot и PwRuf - Crafter
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Определение типа персонажа в таргете. ktulx Общение разработчиков 3 13.05.2012 22:04
[Продам] Персонаж. xMemphis Cross Fire 1 13.03.2012 02:42
[Помогите!] Расстояние до игрока в таргете AliveNost Общение и обсуждение Perfect World 3 04.08.2011 17:05

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

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net