Приведу пример: Я сейчас занимаюсь ботом к BSGO...
Я начал с того, что я хочу... Я хочу чтобы он себя вел как игрок. Для этого УОПиолта мне явно не хватит (из-за сложности картинки). Я начал копать... игра построена на Юнити. Юнити в себе содержит JS и .Net, вернее mono. Ересь насчет того, что скрипты написаны на JS я отмел сразу. Сложного кода на JS написать сложно из-за того, что он не типизирован и не структурирован. Он не для этого подходит. Я начал копаться в сети... Нашел софт, который unity3d распаковывает. И ILSpy, который дизассемблирует сборки. ILSpy со сборкой справился не до конца, да и запаковщика я не нашел... Я пошел другим путем: Я нашел в плеере (с помощью IDA) ядро моно (~2Мб, кстати), начал читать как с ним работать... Процесс перехвата и внедрения скоего кода в обычные бинари у меня уже был на примере UOExt... Я нашел куцую доку и с помощью исходников моно (на гитхае), ее документации и IDA понял как надо ловить загрузку сборки со скриптами... Потом Нашел Mono.Cecil для рантаймового патчинга сборки и вот я научился подгружать свою сборку в чужое Юнити приложение. Дальше я начала писать бота и единственный вопрос, с которым я пошел к народу: Геометрическая задача связанная с алгоритмикой для более эффективной работы бота.
Если-же вы спрашиваете "как прописать хп у монстра", то вам противопоказано RunUO. Если-же вы спрашиваете "подскажите алгоритм просчета видимости объектов", заметьте, не как сделать, а только алгоритм. Написать вы его и сами сможете, то вы уже пишете на RunUO, так как Сферы для вас мало.
--------------------
Do. Or do not. There is no Try! © Master Joda, Dagobah, Star Wars: Episode V.
|