Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

В ботоводы я б пошел - пусть меня научат...

-

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

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

Ответ
 
Опции темы
Старый 19.08.2011, 11:42   #1
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию В ботоводы я б пошел - пусть меня научат... Научился и сделал что хотел. Ыыы

Ну все, бота закончил наконец то. Спасибо всем кто мне помогал.

Код:
Здравствуйте уважаемые. Вот решил серьезно заняться написанием бота для пв. Будет куча вопросов и если не сложно то помогите плиз. Думаю эта инфа поможет еще кому нить.
--------------------------------
Может кому пригодится
1.Функция для шприца открывает кота, естественно надо находиться рядом с ним.
Код:
    MOV EDI, P1                             // P1 = WID кота
    MOV EBX, $00606E40  
    MOV EAX,DWORD PTR DS:[$A5B90C]         
    PUSH EDI                              
    MOV ECX,DWORD PTR DS:[EAX+$20]        
    ADD ECX,$0EC                         
    CALL EBX
Инфу о том как её использовать вы найдете тут

2. Офсет проверки в коте ли персонаж IsCat = 0x5D8, выдает либо 2 (кот) либо 0.

3. Скоро доработаю и вылажу функцию определения названия предметов в инвентаре(еще чутка офсетов найти).

Последний раз редактировалось Jok3r666; 01.10.2011 в 09:04.
  Ответить с цитированием
Старый 19.08.2011, 12:06   #2
 Сержант
Аватар для whoami
 
whoami на правильном путиwhoami на правильном пути
Регистрация: 07.09.2010
Сообщений: 124
Популярность: 147
Сказал(а) спасибо: 22
Поблагодарили 87 раз(а) в 18 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

а что, pwlab заработал?
  Ответить с цитированием
Старый 19.08.2011, 12:10   #3
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от whoamiПосмотреть сообщение
а что, pwlab заработал?

нет, сохраненная версия от гуглы
  Ответить с цитированием
Старый 19.08.2011, 13:44   #4
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
приведите плиз к вот такому виду

Наверное так будет:

Линейный массив игроков рядом:
GA +20 +380 +14 - Count
GA +20 +380 +88 + [4*i], i=0..Count-1 - адреса структур персонажей
Структура совпадает со структурой игрока, только некоторые поля не активны.
GA +20 +380 +74С - id активного пета

Хэштейбл игроков рядом:
GA +8 +20 +14 - количество
GA +8 +20 +24 - хэш-ключ
GA +8 +20 +18 - начало массива списков
элемент списка:
GA +8 +20 +0 - следующий элемент списка
GA +8 +20 +4 - адрес структуры персонажа
GA +8 +20 +8 - id игрока
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.



Последний раз редактировалось VeTaL_UA; 19.08.2011 в 13:47.
  Ответить с цитированием
Старый 19.08.2011, 14:00   #5
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
GA +20 +380 +88 + [4*i]

Эта шняга не правильная у мя на офе работает с
GA +8 +20 +18 +[i*4]
вернее сказать не то что бы не правильная просто не то что мне нужно.

Теперь беда в другом
Код:
procedure alluser(hProcess,ipbuf:dword);
var i:integer;
 adress_pst:cardinal;
 s:string;
 pl,bytesCount:dword;
 buf32: array [0..32] of WideChar;
 ss:integer;
begin
 Bot.label1.Caption:='';
 for i:=0 to 768 do begin
   ReadProcessMemory(hProcess, ptr(ipbuf+$8), @pl, sizeof(pl), BytesCount);
   ReadProcessMemory(hProcess, ptr(pl+$20), @pl, sizeof(pl), BytesCount);
   //kol
   ReadProcessMemory(hProcess, ptr(pl+$14), @ss, sizeof(ss), BytesCount);
   //names
   ReadProcessMemory(hProcess, ptr(pl+$18), @pl, sizeof(pl), BytesCount);
   ReadProcessMemory(hProcess, ptr(pl+(4*i)), @pl, sizeof(pl), BytesCount);
   ReadProcessMemory(hProcess, ptr(pl+4), @pl, sizeof(pl), BytesCount);
    if pl<>0 then begin
     bot.Memo1.Lines.add(inttostr(pl));
     ReadProcessMemory(hProcess, ptr(pl+$618), @pl, sizeof(pl), BytesCount);
     ReadProcessMemory(hProcess, ptr(pl+$0), @buf32, 32, BytesCount);
     s:=buf32;
     Bot.memo1.Lines.Add(s);
    end;
 Bot.label1.Caption:=inttostr(ss);
 end;
 Bot.Timeinfa.Enabled:=false;
 end;
в мемо пишется не только имена но и пустые строки, но pl при этом не равен 0 по этому проверка проходится.
Раскажите что за фигня?
Может то что я все пишу в 32 байта а некоторые ники в 16 пишутся? или я бред несу

Последний раз редактировалось Jok3r666; 19.08.2011 в 14:05.
  Ответить с цитированием
Старый 19.08.2011, 14:02   #6
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
GA +20 +380

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
+88 + [4*i]

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
Эта шняга не правильная

Ну это же не я виноват
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 19.08.2011, 14:07   #7
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
Ну это же не я виноват

ну надеюсь

Добавлено через 2 минуты
Цитата:
Сообщение от Jok3r666Посмотреть сообщение
GA +20 +380+14 - Count

Странно ведь ga+20 = структура своего перса, причем тут игроки рядом? Паря косячник с пв лаба походу. Мозг мне зря запудрил.

Добавлено через 2 часа 11 минут
Блин видел вопрос про повторы имен игроков вокруг, было в теме "пишем флайхак" он так и остался без ответа, у меня та же беда, хотя код взял с исправления Dinmate от сюда только подставил свое и чутка переделал.
вот собстна и сам код с моими переделками:
Код:
procedure alluser(hProcess,ipbuf:dword);
var i,j:integer;
 curname,s:string;
 pl,bytesCount:dword;
 buf32: array [0..32] of WideChar;
 userkol,allnames,ss:integer;
begin
      //ipbuf peredaetca iz dr proced. = [[ba]+1c]
      readprocessmemory(hprocess,ptr(ipbuf+$8),@pl,sizeof(pl),bytescount);
      readprocessmemory(hprocess,ptr(pl+$20),@pl,sizeof(pl),bytescount);
      readprocessmemory(hprocess,ptr(pl+$14),@userkol,sizeof(userkol),bytescount);
      bot.Label1.Caption:=inttostr(userkol);
      allnames:=0;
      j:=0;
      while userkol>=allnames do
        begin
          for i:=0 to 768 do
            begin
               //ipbuf peredaetca iz dr proced. i = [[ba]+1c]
               Readprocessmemory(hprocess, ptr(ipbuf+$8),@pl,sizeof(pl),bytescount);
               Readprocessmemory(hprocess, ptr(pl+$20),@pl,sizeof(pl),bytescount);
               Readprocessmemory(hprocess, ptr(pl+$18),@pl,sizeof(pl),bytescount);
               Readprocessmemory(hprocess, ptr(pl+(i*4)),@pl,sizeof(pl),bytescount);

                 for j :=1 to j do
                  readprocessmemory(hprocess,ptr(pl+$0),@pl,sizeof(pl),bytescount);

               Readprocessmemory(hprocess, ptr(pl+$4),@pl,sizeof(pl),bytescount);
               ReadProcessMemory(hProcess, ptr(pl+$618), @pl, sizeof(pl), BytesCount);
               ReadProcessMemory(hProcess, ptr(pl+$0), @buf32, 32, BytesCount);
               curname:=buf32;
                if curname<>'' then
                  begin
                    bot.Memo1.Lines.add(curname);
                    allnames:=allnames+1;
                  end;
            end;
         inc(j);
         if j>5 then begin bot.Label1.Caption:='j'; break; end;
        end;

 end;
башка уже болит

Последний раз редактировалось Jok3r666; 19.08.2011 в 16:18. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 19.08.2011, 18:54   #8
 Пехотинец
Аватар для DAcorp
 
DAcorp на правильном пути
Регистрация: 27.02.2010
Сообщений: 72
Популярность: 71
Сказал(а) спасибо: 27
Поблагодарили 35 раз(а) в 16 сообщениях
Отправить сообщение для DAcorp с помощью ICQ
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
Странно ведь ga+20 = структура своего перса, причем тут игроки рядом? Паря косячник с пв лаба походу. Мозг мне зря запудрил.

Всё верно. BA+1C+20 - структура Вашего чара. +380 - Вы, как бы, проходите дальше получая доступ к персонажам вокруг, от имени своего чара. +14 - это вы смотрите количество игроков рядом.
Цитата:
Сообщение от Jok3r666Посмотреть сообщение
в мемо пишется не только имена но и пустые строки, но pl при этом не равен 0 по этому проверка проходится.
Раскажите что за фигня?

Вы замечали, что иногда игроки не определяются по именам, а за место ника, скажем, Р-165466. Если нажмёте Т в игре, то там будут пустые поля.

Добавлено через 3 минуты
Прошу прощения за идиотский вопрос (у самого голова болит ), а Вы что хотите сделать? запихнуть в TMemo список всех игроков рядом поимённо?

Последний раз редактировалось DAcorp; 19.08.2011 в 19:01. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 19.08.2011, 20:42   #9
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от DAcorpПосмотреть сообщение
Прошу прощения за идиотский вопрос (у самого голова болит ), а Вы что хотите сделать? запихнуть в TMemo список всех игроков рядом поимённо?

Для проверки просто, вообще в идеале хочу сделать что то вроде отчета по котам и шмоткам в них. А пока изучаю что да как.
На счет повторений не подскажете в чем беда?
  Ответить с цитированием
Старый 20.08.2011, 00:04   #10
 Пехотинец
Аватар для DAcorp
 
DAcorp на правильном пути
Регистрация: 27.02.2010
Сообщений: 72
Популярность: 71
Сказал(а) спасибо: 27
Поблагодарили 35 раз(а) в 16 сообщениях
Отправить сообщение для DAcorp с помощью ICQ
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
Для проверки просто, вообще в идеале хочу сделать что то вроде отчета по котам и шмоткам в них. А пока изучаю что да как.
На счет повторений не подскажете в чем беда?

Ммм... Задумка очень интересная!
Чесно говоря не знаю, но у меня есть теория, насколько оправданная не знаю, что всётаки пока вы сканируете оперативную память процесса, она меняется, а соответственно и меняется порядок идентификаторов персонажей в массиве. Мне кажется именно в следствии этого и возникает данный баг. В любом случае для избежания этого Вы можете поставить фильтр, который будет сканировать список по CharID и если он уже встречался, то не давать записывать новую позицию. Собственно для наглядности я бы использовал 2 способа:
1: 2 компонента классов TMemo (в котором вы будете выводить ники) и TListBox. Грубый пример:
Код:
 repeat
  ...
   ListBox1.Perform(LB_SelectString,-1,LongInt(pChar(' '+IntToStr(NewCharID)+' '))); //Ищем ID персонажа в уже добавленных
   if ListBox1.ItemIndex=-1 then begin //если такого ID нет, то...
    ListBox1.Items.Add(' '+IntTiStr(CharID)+' '); //добавляем ID персонажа в список ID
    Memo1.Lines.Add(CharName); //Добавляем имя в список имён
   end;
  ...
  I:=I+1;
 until I=CharsNearCount;
Это очень грубый пример, но визуально зато будет всё видно. Дальше думайте сами и совершенствуйте Кстати, маленький совет, вычисление имени персонажа лучше производить непосредственно перед добавлением в список, а не раньше. Программа будет работать шустрее, если не будет лишний раз обрабатывать информацию, которую Вы не будете добавлять.

Добавлено через 9 минут
Немного расскажу, как у меня сделано в EnemyDetect, надеюсь будет Вам полезно.
Код:
Function TfMain.GetCharsCount: Integer; //определение количество персонажей
var
  Buf, Process, PId: integer;
  wr: cardinal;
begin
 process:=OpenProcess(PROCESS_ALL_ACCESS, false, ClientProcessID);
 if process<>0 then begin
  readprocessmemory(process, ptr(GameAdress), @Buf, sizeof(Buf), wr);
  readprocessmemory(process, ptr(Buf+$20), @Buf, sizeof(Buf), wr);
   readprocessmemory(process, ptr(Buf+$380), @Buf, sizeof(Buf), wr);
   readprocessmemory(process, ptr(Buf+$14), @buf, sizeof(Buf), wr);
  end;
  Result:=Buf;
  CloseHandle(process);
 end;
end;

procedure TfMain.GetCharsNear;
var
  Buf,Buf2, Process, PId, Step, Step2, CharID, CharsNearCount: integer;
  wr: cardinal;
  Dat: array [0..500] of Char;
  CharName: String;
begin
 CharsNearCount:=GetCharsCount;
 process:=OpenProcess(PROCESS_ALL_ACCESS, false, GetClientListPID);
 if (process<>0) and (CharsNear>0) then begin
  Step:=0;
  repeat
  readprocessmemory(process, ptr(GameAdress), @Buf, sizeof(Buf), wr);
  readprocessmemory(process, ptr(Buf+$20), @Buf, sizeof(Buf), wr);
  readprocessmemory(process, ptr(Buf+$380), @Buf, sizeof(Buf), wr);
  readprocessmemory(process, ptr(Buf+$88+(0*4)), @buf, sizeof(Buf), wr);
  readprocessmemory(process, ptr(Buf+(Step*4)), @buf, sizeof(Buf), wr);
  readprocessmemory(process, ptr(Buf+CharIdAdress), @CharID, sizeof(CharID), wr);
  readprocessmemory(process, ptr(Buf+CharNameAdress), @buf2, sizeof(buf2), wr);
  readprocessmemory(process, ptr(Buf2+$0), @dat, sizeof(Dat), wr);
  ...
  CharName:='';
  Step2:=0;
  Repeat
   CharName:=CharName+String(Dat[Step2]);
   Step2:=Step2+1;
  until Ord(Dat[Step2])=0;
  ...
  Step:=Step+1;
 until Step=CharsNearCount;
 ...
Всего кода естественно не указываю, но думаю данное будет Вам полезно в ваших изысканиях Удачи в написании!

Последний раз редактировалось DAcorp; 20.08.2011 в 00:15. Причина: Добавлено сообщение
  Ответить с цитированием
Пользователь сказал cпасибо:
Jok3r666 (27.08.2011)
Старый 20.08.2011, 09:28   #11
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Спасибо ща буду ковырять, может что получится

Добавлено через 54 минуты
Уря уря, спасибо большое вашим способом получилось.
Терь остался вопрос, как можно получить статус чара в коте он или нет?
+B2A; - NPCActiveStatus (1b) (1 - active; 0 - inactive, ща буду проверять оно или нет.увы не то
добавлено:
определил статус по наименованию шопа +70C +0 - соответственно если пустая строка то не в коте //ну мало ли кому пригодится

Как думаете лучше создать процедуру в которой за один конект делается как можно больше действий и дисконектится или же лучше на каждую процедуру конектиться и дисконектиться по новой?

Последний раз редактировалось Jok3r666; 21.08.2011 в 07:51. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 21.08.2011, 16:47   #12
 Сержант
Аватар для whoami
 
whoami на правильном путиwhoami на правильном пути
Регистрация: 07.09.2010
Сообщений: 124
Популярность: 147
Сказал(а) спасибо: 22
Поблагодарили 87 раз(а) в 18 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
определил статус по наименованию шопа +70C +0 - соответственно если пустая строка то не в коте //ну мало ли кому пригодится

Это не правильный способ: иногда строка с именем "кота" остаётся после того, как игрок выходит из "кота". Правильный оффсет: IsCat = 0x5D8
  Ответить с цитированием
Старый 23.08.2011, 08:54   #13
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Можете натолкнуть на путь просветления? Как бы мне инфу из котов вытянуть?
Обязательно ли для этого вскрывать кота? \\я думаю что да, врядли сервер будет посылать столько левой инфы клиенту
Даже понятия не имею как получить офсеты на предметы в коте... Реально ли это через СЕ или тут свои хитрости?

Последний раз редактировалось Jok3r666; 23.08.2011 в 08:58.
  Ответить с цитированием
Старый 23.08.2011, 11:06   #14
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от Jok3r666Посмотреть сообщение
Реально ли это через СЕ или тут свои хитрости?

Реально. Структура кота должна быть похожа на структуру инвентаря... Так что 2 окна и CE тебе в руки.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 23.08.2011, 16:54   #15
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: В ботоводы я б пошел - пусть меня научат...

Цитата:
Сообщение от whoamiПосмотреть сообщение
Это не правильный способ: иногда строка с именем "кота" остаётся после того, как игрок выходит из "кота". Правильный оффсет: IsCat = 0x5D8

В какой тип забивать в инт или бул? в инте почемуто не правильно показывает пишет 2 и не факт что чел в коте

Добавлено через 3 минуты
и еще вопросик как вычеслить игровые коорды через линейный масив всех вокруг? стандартный офсет а на что его делить плюсовать умножать?

Последний раз редактировалось Jok3r666; 23.08.2011 в 16:58. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Статья] если у вас не пошел простой обход popika Общение и обсуждение CrossFire 4 07.06.2011 07:32

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

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

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