You are not logged in.
Помню, писали, что в GTA V будет использоваться Denuvo DRM (которая была в DA: Inquisition, Lord of the fallen etc.), которую вроде как поломали.
Она и используется или что-то самодельное?
Кстати, насколько реально сделать Сплитскрин версию гта са? Чтоб был кооп в сингле. В ps2 как раз было нечто похожее реализовано. И да, сплитскрин не обязательно на одном пк, а еще по сети, используя как базу, например, sa-mp или mta.
Или уже пытались реализовать?
P.S. Давно не был на форуме
Первый вопрос, похоже, решился. Кому интересно:
MSDN
WIKI
Я попробовал Mail Slot, но для отправки пары флажков и потом, возможно, строк, как-то многовато действий + не очень удобно. Потом попробовал Shared Memory (это когда процессы используют выделенную одним из них общую память), этот способ больше понравился. А Windows Sockets, как и Mail Slot, слишком громоздкое решение.
Большое спасибо за ссылки, сегодня прочту. прочитал пару статеек, очень много хороших советов и хитростей (например, про DllMain).
Да, второй процесс чужой, сорцов нет. Второй процесс - процесс Skype. Пишу небольшой рекордер звонков для него. Dll детектит начало звонка, первый процесс, получая данные о том, что звонок начался, начинает писать звук, получает окончание звонка - прекращает писать и сохраняет все это дело.
По-началу я использовал Skype API - библиотеку Skype4COM.dll, которая подключается к проекту и далее можно легко взаимодействовать со скайпом, только этот API прекратит работать в 2014 году.
P.S Нет, это не будет вирус-ворующий-звонки) Начал писать из-за объявления на фрилансе, но заказчику утилита оказалсь уже не нужна, но ради интереса продолжил пилить.
Привет всем. Два довольно нетематических для форума вопроса...
1. Есть процесс, есть другой процесс, есть dll библиотека, которая инжектится во второй процесс. Эта библиотека выполняет какой-либо функционал и должна как-то доложить первому процессу о чем-либо. Попробовал так: объявить какие-либо поля с данными, которые надо передать в первый процесс, как поля dllexport, чтобы потом из первого процесса, просканировав второй процесс и найдя dll, делать ReadMemoryEx. ИМХО, немного неправильно экспортировать из dll не функции, а данные.
Что делает эта dll: хукает 1-6 winapi функций, такие как CreateWindow и тд. Я думал на тему других методов, но ничего дельного не придумал. Предлагайте варианты, если есть идеи.
2. Как в Windows (хотя бы в семерке или восьмерке где другая звуковая система, по сравнению с XP) можно писать звук определенного процесса? Я делаю довольно кривым методом, но рабочим: создается виртуальное устройство с помощью Virtual Audio Cable, в настройках подопытной программы ставлю использование этого устройства (и микрофон и динамик), пишу с этого устройства в моей проге с помощью библиотеки bass и потом свожу звук с микрофона и динамика с помощью микшера (опять-таки из bass). Примерно как-то так.
У меня были идеи хукать интерфейс IAudioRenderClient отдельного процесса (точнее я где-то читал, что кто-то, хукнув его и далее, использовав его GetBuffer метод, мог писать звук отдельного процесса), но у меня нет идей и знаний по хуку интерфейсов.
Есть еще идея писать небольшой драйвер устройства, который будет представлять собой устройство, в которое будет пропускать через себя звук подопытной программы (принцип тот же, что у Virtual Audio Cable, только без использования сторонних программ). Либо написать драйвер-фильтр, который будет как-то писать звук нужной программы.
Опыт написания драйверов ограничивается переделкой example'ов от майкрософта, поэтому я не шарю в этом всем, если есть опытные люди, прошу помочь.
[offtop]009 - ты тот самый Alex009, который сделал ботов в 0.2x?) Я как раз тут нарыл исходник сампа 0.2.5, испытывать не с кем, а боты бы пригодились [/offtop]
Чем больше ты будешь наворачивать бота, тем больше это будет упираться в функционал игры, так что мне кажется, что не обойдется без использования самой игры. Можно посмотреть готовые опен-сорс проекты с ботами или даже, например, в утекших исходниках Source, для помощи в разработке алгоритмов самих ботов.
Отключить рендеринг и тд можно, но это все делать незачем. Точнее, все зависит от целей бота. Если просто нужен бот с задачами типа "сесть в ближайшую тачку и следовать за игроком" или просто "следовать за игроком", т.е для выполнения алгоритмических задач, то тут физика не нужна. Смотри исходники RakSamp bots или как-то так; гуглить на гугл-коде. Там используется RakNet - сетевой движок, который в самом сампе. Ну а для "умного" бота, даже с простыми задачами типа "добежать до координаты x,y", конечно, нужны алгоритмы оббегания препятствий и тд, т.е придется либо использовать игру, либо составлять какие-то базы объектов или типа того.
И да, зачем писать свой велосипед, если существует оф. плагин для ботов для сервера samp, да и вообще, зачем нужны боты с задачами умнее "сделать то-то столько-то раз". Задача довольно трудоёмкая.
И все это в беск. цикле.
Если в конце файла есть свободное место (оно обязательно будет в виде нулей), то можно попробовать "отодвинуть" весь код на нужное кол-во байтов вниз, изменив все ссылки на адреса при этом (вроде бы Olly это делает автоматически). Вообще, приведи код в лс (50 строк до push, 50 после).
Ну да, ищи куда загружается vehicle.ide в памяти и меняй.
Я канеш могу ошибаться, но:
0xA47B60 - Start of the external scripts info pool. There are 82 elements with 32 bytes of size each
+0 = [dword] Script IP
+4 = [word] Status (can be obtained by 0926)
+6 = [word] Index in SCM (a number as defined in the scm header)
+8 = [char] Name, char 20
+28 = [dword] Size
Джек, спасибо. Но к ментам не пойду, а в Киви — поздно.
Ден, тут понятно, удалял так с компа одноклассницы, только без диска, из безопасного режима. Сам никогда не цеплял. А с весны и антивирусом не пользуюсь — Линукс поставил.
У меня линукс как вторая система, но на винде нету антивируса уже почти второй год и ничего, нормально
В смысле он не всегда защитит.
Поидее это все делается через .rrr файлы (поиск по форуму). Но, судя по всему, в данном случае нет:
04D0: force_heli 58@ looking_angle_to 90.0 - для выравнивания наклона
0743: heli 37@ fly_to -2244.48 129.14 34.56 altitude 0.0 0.0 - для полета к точке (не представляю, как это будет работать, автопилот что ли? )
Ясно. Просто думал, что есть какой-то тип маркера, который при смерти актера сам исчезает.
Этот тип маркера, если бы он был, тоже содержит в себе проверку на смерть :3
А почему именно без проверки?
Точно не помню, вроде бы:
0614: set_actor 215@ animation "POOL_SHORT_SHOT" progress_to 247@ // 0.0 to 1.0
Да, это и есть номер телефона. В киви такая система: к номеру привязывается киви-кошелек, на который можно кидать бабло. Без обращения в Киви не узнать кто, это совершил, либо обращение к оператору, на котором "зареган" этот номер. Но никакая компания не выдаст обычному гражданину личных данных своего клиента. Поэтому либо в милицию/отдел К(если на Украине такой есть), либо забей - таких винлокеров тысячи.
UPD. В идеале если перечислили деньги через мобильный к ним, то можете обратиться к оператору - они обычно возвращают деньги, а номера мошенников блокируют
Это как в случае с функциями: если вызвать функцию, которая "ниже" той, из которой вызывают, то она ее как бы не "видит". Поэтому функции объявляют в хидерах или в начале кода.
struct A; struct B; struct A{ B *pB; }; struct B{ A *pA; };
Это предварительное объявление структур.
И сразу два вопроса вопроса вдогонку:
1) можно ли включить фары, если заглушен двигатель автомобиля?
*CVehicle+1412= включены фары или нет [dword]
Но т.к двигатель выключен или от того, что в игре время суток - день, фары будут отключаться сами. Поэтому надо занопать 0x6E0A3B (записать 6 байтов 0x90).
Не помню, есть ли в клео опкод для рандомизации чисел (можно написать и свой рандом даже на клео, если понадобится), то с помощью какого-нибудь хитрого цикла можно сделать выбор чисел от n до m. Ну а далее этот id использовать в спавне машины.
UPD. Собственно, есть 2 опкода генерящих рандомные числа в пределах.
0099: $8224 = random_int_in_ranges_0_to_32767
0209: 17@ = random_int_in_ranges 0 10
(Есть аналоги для float)
This shitinformation is useless.
No one in this forum will not help you to make cheats for samp. Remeber it
2. Как сделать проверку, которая работает на протяжении всего скрипта? Например проверка на нанесения ущерба актеру игроком:
051A: actor $STD damaged_by_actor $PLAYER_ACTORЧто бы в любой в любой момент, если нанесен ущерб определенному актеру, это приводило к определенной метке. Например к провалу миссии.
Заранее спасибо.
Использовать потоки
Да, все просто, но а если игра сама захочет создать/разрушить CPed?
Просто та капча, что сейчас, она облегчает жизнь ботам (циферки и буковки обведены в белые квадраты).