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

Скиньте руководство.

-

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

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

Ответ
 
Опции темы
Старый 26.04.2012, 22:42   #1
 Разведчик
Аватар для (Giga)
 
(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен
Регистрация: 14.04.2012
Сообщений: 24
Популярность: 492
Сказал(а) спасибо: 20
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Помогите Gig'e

Доброго времени суток. Я хотела бы научиться языку программирования Delphi. Увы, я совсем чайник Однако очень хочу научиться. Мне знаком язык паскаль, но моих знаний хватает лишь для составления простейших программ
Хочу что-бы вы скинули мне гайд, в котором все популярно изложено. Например:
Код:
Тут код // Код инжекта.
Тут код // обязательная часть, нужна для того... 
и т.д.
Думаю многие хотят начать программирование, но не понимают как. Я тому пример.
P.S. Просьба, писать понятными нормальному человеку словами(под словом нормальный я имела ввиду не программистов).
P.S.S. Просьба №2, не скидывать ссылки типа [Ссылки могут видеть только зарегистрированные пользователи. ], ибо там объясняют самые азы, или наоборот какие-то глубины, непонятные, даже после изучения самоучителей по азам.

Последний раз редактировалось (Giga); 27.04.2012 в 14:57. Причина: Поменяла заголовок.
  Ответить с цитированием
Старый 26.04.2012, 22:59   #2
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Скиньте руководство.

(Giga), итак, несколько простых советов.
Для начала стоит смело закрыть глаза на большинство соседних тем - в них речь идёт на более сложном уровне и, как правило, о более сложных вещах.
Дальше план таков: ставим себе задачу написать определённую программу -> гуглим непонятное или кидаем вопросы сюда -> добиваемся полной работоспособности желанной программы.
Необходимо уметь сразу создавать в голове "модель" всей работы, то есть уметь разбирать задачу "по косточкам". Это придёт со временем.
Поставили сложную задачу - сразу разбили на несколько простых, нагуглили что как делать и сделали. Всё просто. Я на личном опыте убедился в эффективности этого метода: гуглишь, гуглишь, гуглишь - рано или поздно начнёшь справляться самостоятельно.
Ну вот и вся наука. Обращайтесь.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3

Последний раз редактировалось BritishColonist; 26.04.2012 в 23:02.
  Ответить с цитированием
Старый 26.04.2012, 23:08   #3
 Разведчик
Аватар для (Giga)
 
(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен
Регистрация: 14.04.2012
Сообщений: 24
Популярность: 492
Сказал(а) спасибо: 20
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Скиньте руководство.

Цитата:
Сообщение от BritishColonistПосмотреть сообщение
(Giga), итак, несколько простых советов.
Для начала стоит смело закрыть глаза на большинство соседних тем - в них речь идёт на более сложном уровне и, как правило, о более сложных вещах.
Дальше план таков: ставим себе задачу написать определённую программу -> гуглим непонятное или кидаем вопросы сюда -> добиваемся полной работоспособности желанной программы.
Необходимо уметь сразу создавать в голове "модель" всей работы, то есть уметь разбирать задачу "по косточкам". Это придёт со временем.
Поставили сложную задачу - сразу разбили на несколько простых, нагуглили что как делать и сделали. Всё просто. Я на личном опыте убедился в эффективности этого метода: гуглишь, гуглишь, гуглишь - рано или поздно начнёшь справляться самостоятельно.
Ну вот и вся наука. Обращайтесь.

Спасибо и на этом. Первый вопрос, как получить например кол-во ХП и Маны у персонажа?! Можно этот простейший код.
P.S. Написала программу для решения квадратных уравнений, работает на 100%, даже с учетом отрицательных дискриминантов(писала в ознакомительных целях).
P.S.S. Уже пыталась сделать подобную программу (выводящую хп и ману персонажа, у меня не получилось, я сдалась, поскольку был экзамен, надо было готовиться.) Потом все забылось и я забила. И вот я вернулась.

Последний раз редактировалось (Giga); 26.04.2012 в 23:22.
  Ответить с цитированием
Старый 26.04.2012, 23:15   #4
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Скиньте руководство.

(Giga), а Вы уверены, что дельфи - лучший для Вас выбор?
Возможно, C++ или C# понравится больше.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Старый 26.04.2012, 23:21   #5
 Разведчик
Аватар для (Giga)
 
(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен
Регистрация: 14.04.2012
Сообщений: 24
Популярность: 492
Сказал(а) спасибо: 20
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Скиньте руководство.

Цитата:
Сообщение от BritishColonistПосмотреть сообщение
(Giga), а Вы уверены, что дельфи - лучший для Вас выбор?
Возможно, C++ или C# понравится больше.

Возможно, однако я их совсем не знаю. Начать с 0, интересно... Возможно попробую. А что бы вы посоветовали, и что используете вы сами?!
  Ответить с цитированием
Старый 26.04.2012, 23:28   #6
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Скиньте руководство.

Я использую C++, но начинал именно с паскаля и дельфи.
В общем, чтобы уметь программировать под игры, нужно работать с некоторыми программами.
Одна из них - Cheat Engine. И чтобы читать здоровье/ману игрока или любые другие данные из игры, нам нужно иметь адреса памяти.
Адрес памяти обозначает место, где лежат определённые данные. Всё, что происходит в программе, всегда находится в её памяти. Любая программа представляет из себя процесс. Игра - в том числе. Умение искать адреса в памяти процессов является основой для кодинга под игры.
Так что дерзайте. Для начала поставлю Вам небольшую задачку: найдите в памяти Perfect World текущее состояние здоровья игрока. Используйте Cheat Engine (далее буду писать просто CE).
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Старый 27.04.2012, 00:21   #7
-= Илитный Мастер =-
 Главнокомандующий
Аватар для AEBus
 
AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(AEBus сломал счётчик популярности :(
Регистрация: 27.03.2009
Сообщений: 1,666
Популярность: 67466
Сказал(а) спасибо: 246
Поблагодарили 1,560 раз(а) в 691 сообщениях
 
По умолчанию Re: Скиньте руководство.

Дополню, изучение Cheat Engine лучше всего изучать с программы, которая идёт в комплекте с ним - Tutorial-i386.exe (как правило запускается при первом запуске Cheat Engine)

Следуя инструкциям этой программы вы научитесь искать адреса, изменять значения, искать поинтеры, оффсеты, и так далее, что вам в дальнейшем очень пригодится
  Ответить с цитированием
Старый 27.04.2012, 12:01   #8
 Разведчик
Аватар для vogel
 
vogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личность
Регистрация: 17.09.2009
Сообщений: 46
Популярность: 1187
Сказал(а) спасибо: 8
Поблагодарили 50 раз(а) в 13 сообщениях
 
По умолчанию Re: Скиньте руководство.

Как насчёт почитать Тут ?
  Ответить с цитированием
Старый 27.04.2012, 12:20   #9
 Разведчик
Аватар для (Giga)
 
(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен
Регистрация: 14.04.2012
Сообщений: 24
Популярность: 492
Сказал(а) спасибо: 20
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Скиньте руководство.

Цитата:
Сообщение от BritishColonistПосмотреть сообщение
Так что дерзайте. Для начала поставлю Вам небольшую задачку: найдите в памяти Perfect World текущее состояние здоровья игрока. Используйте Cheat Engine (далее буду писать просто CE).

Попробую начать с C++. Искать с помощью СЕ я умею. Текущее состояния здоровья +0494. Есть ли какие-то самоучители, которые бы вы могли порекомендовать?!

Цитата:
Сообщение от vogelПосмотреть сообщение
Как насчёт почитать Тут ?

Спасибо, почитаю. Просто посетив пару соседних тем, я поняла, что я совсем чайник(

Последний раз редактировалось (Giga); 27.04.2012 в 13:22.
  Ответить с цитированием
Старый 27.04.2012, 13:20   #10
-= Мастер Света =-
 Капитан
Аватар для FreePVP)))
 
FreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского Союза
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
Отправить сообщение для FreePVP))) с помощью ICQ Отправить сообщение для FreePVP))) с помощью Skype™
 
По умолчанию Re: Скиньте руководство.

Цитата:
Сообщение от (Giga)Посмотреть сообщение
Попробую начать с С++

Я бы советовал вам начать с C#, на форуме есть хорошая библиотека для Read and Write memory и куча примеров
________________
TwinkDB - твинки любого игрока, их дата создания, последний онлайн, статус удаления и прочее
Skype - freepvps
ICQ - 412705115


[Ссылки могут видеть только зарегистрированные пользователи. ] - ставкобот
[Ссылки могут видеть только зарегистрированные пользователи. ] - общение в КЧ через смартфон
  Ответить с цитированием
Старый 27.04.2012, 13:39   #11
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Скиньте руководство.

Цитата:
Сообщение от FreePVP)))Посмотреть сообщение
Я бы советовал вам начать с C#, на форуме есть хорошая библиотека для Read and Write memory и куча примеров

А я бы советовал остановиться на C++ или Delphi, поскольку в них как раз-таки нет таких библиотек. Ведь значительно лучше, когда сам вникаешь в тему, особенно такую важную на первых парах.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Старый 27.04.2012, 14:45   #12
 Разведчик
Аватар для (Giga)
 
(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен
Регистрация: 14.04.2012
Сообщений: 24
Популярность: 492
Сказал(а) спасибо: 20
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Скиньте руководство.

Цитата:
Сообщение от BritishColonistПосмотреть сообщение
А я бы советовал остановиться на C++ или Delphi, поскольку в них как раз-таки нет таких библиотек. Ведь значительно лучше, когда сам вникаешь в тему, особенно такую важную на первых парах.

Остановила свой выбор на делфи. Язык даже показался понятным... Сейчас пробую вывести на экран хп или уровень перса. Вооружилать несколькими темами(тема рас, тема два). И вот какие вопросы возникли:
1) Нашла вот такое сообщение. Попробовала реализовать этот код. Сразу возник вопрос куда его вставлять. Наиболее логичным для моего мозга оказалось вставить код в исходную форму. Миллиарды ошибок. Какие-то смогла исправить, какие-то нет. Может быть вы поможете? Просто укажите ошибки, если код кардинально отличается от истины, то попробую поискать ещё что-то.
2)Содержание самой темы почти непонятно. Для чего используется вот такой код:
Код:
//*************************************************************//
// Select the Moster (Full Target HP)
// OBS: Working well
//*************************************************************//
procedure SelectMonster(MonID: PParams); stdcall;
(*
004596AD - a1 dc d1 96 00             - mov eax,[0096d1dc] : 0096D860
004596B2 - 57                         - push edi
004596B3 - 8b 48 20                   - mov ecx,[eax+20]
004596B6 - 81 c1 ec 00 00 00          - add ecx,000000ec
004596BC - e8 8f c7 14 00             - call 005a5e50
*)
var
  P1: DWORD;
begin
  P1:=MonID^.Param1;
  asm
    mov edx, DWORD PTR [$0096d1dc]
    push     P1
    mov ecx, DWORD PTR [edx+$20]
    add ecx, $EC
    mov edx, $005a5e50
    call     edx
  end;
end;

//*************************************************************//
// Fly command
// OBS: Working well
//*************************************************************
procedure Fly(aPParams: PParams); stdcall;
(*
0044A926 - 8b 15 dc d1 96 00          - mov edx,[0096d1dc] : 0096D860
0044A92C - 6a 01                      - push 01
0044A92E - 51                         - push ecx
0044A92F - 8b 4a 20                   - mov ecx,[edx+20]
0044A932 - 6a 0c                      - push 0c
0044A934 - 6a 01                      - push 01
0044A936 - 81 c1 ec 00 00 00          - add ecx,000000ec
0044A93C - e8 bf b2 15 00             - call 005a5c00
*)
begin
    asm
       mov  edx, DWORD PTR [$0096d1dc]
       push $01
       push $31f7
       mov  ecx, DWORD PTR [edx+$20]
       push $0C
       push $01
       add ecx, $EC
       mov  edx, $005a5c00
       call edx
    end;
end;

//*************************************************************//
// Pick Items on ground
// OBS: Working... need to stay close of the Item
//*************************************************************//
procedure PickItem(aPParams: PParams); stdcall;
(*
00467693 - 8b 15 dc d1 96 00          - mov edx,[0096d1dc] : 0096D860
00467699 - 50                         - push eax
0046769A - 51                         - push ecx
0046769B - 8b 4a 20                   - mov ecx,[edx+20]
0046769E - 81 c1 ec 00 00 00          - add ecx,000000ec
004676A4 - e8 37 e7 13 00             - call 005a5de0
*)
var
  Address: pointer;
  Pa1,pa2: cardinal;
begin
  Pa1:=aPParams^.Param1;
  pa2:=aPParams^.Param2;
  asm
    mov  edx, DWORD PTR [$0096d1dc]
    push Pa1                  // Item SN
    push Pa2                  // Item ID
    mov  ecx, DWORD PTR [edx+$20]
    add  ecx, $EC
    mov  edx, $005a5de0
    call edx
  end;
end;
Его я взяла из темы. Содержимое откровенно говоря непонятно совсем.

Последний раз редактировалось (Giga); 27.04.2012 в 14:49.
  Ответить с цитированием
Старый 27.04.2012, 15:13   #13
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Скиньте руководство.

(Giga), так. Вижу, что плохо понятны основы языка.
Есть в Delphi переменные, константы, функции, ключевые слова.
Причём постоянными и неизменными остаются лишь ключевые слова (if, then, begin, end, for и т.д.).
Остальное именуется по желанию программиста, причём оно всегда должно быть где-то объявлено прежде, чем к нему можно будет получить доступ.
Переменные объявляются с помощью VAR, как и в паскале.
Ну так вот, скорее всего большинство ошибок заключается в отсутствии объявленных переменных/функций/констант.
Есть ещё вариант, что не подключена какая-нибудь библиотека.


Цитата:
Сообщение от (Giga)Посмотреть сообщение
Для чего используется вот такой код:

Этот код используется для внедрения в клиент игры. Там он выполняется, делая определённые вещи (обычно такой код называют инжектом). Как правило, код имитирует действия клиента, заставляя персонажа двигаться, атаковать монстров и т.д.
Код может показаться сложным, так как в нём имеются блоки встроенного ассемблера. Ассемблер представляет из себя команды, наиболее приближенные к машинным - язык низкого уровня. На нём и пишут инжекты.

Я бы пока рекомендовал поработать с WinAPI (функции, работающие с окнами, процессами и т.д.), например, сделайте переименовщик окна игры (переименовывание окна позволяет запустить два клиента игры).
А уже потом, по мере понимания логики работы некоторых WinAPIшных функций можно будет углубиться в изучение ассемблера.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Пользователь сказал cпасибо:
(Giga) (28.04.2012)
Старый 27.04.2012, 18:52   #14
 Разведчик
Аватар для (Giga)
 
(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен(Giga) скоро будет известен
Регистрация: 14.04.2012
Сообщений: 24
Популярность: 492
Сказал(а) спасибо: 20
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Скиньте руководство.

Цитата:
Сообщение от BritishColonistПосмотреть сообщение
Я бы пока рекомендовал поработать с WinAPI (функции, работающие с окнами, процессами и т.д.), например, сделайте переименовщик окна игры (переименовывание окна позволяет запустить два клиента игры).
А уже потом, по мере понимания логики работы некоторых WinAPIшных функций можно будет углубиться в изучение ассемблера.

Как вы и порекомендовали, я попробовала. Как вы понимаете не могло все пойти гладко и обязательно возникнут вопросы. Вот так и у меня. Я дошла до стадии, что могу вывести в форму ListBox названия окон, открытых у меня на компьютере. Какой-никакой, это тоже результат, однако, меня это не особо утешает. Я сделала примерно 15% работы. Это очень мало, как мне кажется, даже для новичка.
Вот опытный образец: [Ссылки могут видеть только зарегистрированные пользователи. ]
Вот VT: [Ссылки могут видеть только зарегистрированные пользователи. ]
Вот код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var wnd: hwnd;
    buff: array [0..127] of char;
begin
ListBox1.clear;
wnd := GetWindow(handle, gw_hwndfirst);
while wnd <> 0 do
begin
if (wnd <> Application.Handle)
and IsWindowVisible(wnd)
and (GetWindow(wnd, gw_owner) = 0)
and (GetWindowText(wnd, buff, SizeOf(buff)) <> 0) then
begin
GetWindowText(wnd, buff, SizeOf(buff));
ListBox1.Items.Add(StrPas(buff));
end;
wnd := GetWindow(wnd, gw_hwndnext);
end;
ListBox1.ItemIndex := 0;
end;
  Ответить с цитированием
Старый 27.04.2012, 22:00   #15
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Скиньте руководство.

(Giga), есть функция FindWindow, которая постарается найти окно с нужным заголовком или классом.
Класс окна - это тоже что-то типа имени, как в заголовке.

Так что ищем окно игры и меняем его заголовок. А для этого потребуется функция SetWindowText.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Статья] Руководство по ВПЕ! maxxx Читы, баги и статьи по WoW 143 08.11.2015 11:24
[Руководство] Руководство по разводу remcoms R2 Online 4 30.01.2012 00:13
руководство по Assassin Mr.RiSs Статьи и руководства по Aion 0 28.01.2011 00:14

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

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

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