Новый пак из великолепных машин. Он добавляет измененные машины из обычной игры. Этот пак мне действительно понравился - каждая машина имеет совершенно новые эффекты, звуки и текстуры. Машины тут очень красивые. Плюс ко всему добавлено еще 2 машины (ONSBomber и вертолет) - они сделаны очень красиво. Их нужно включать отдельными мутаторами, в то время как другие машины включаются с помощью мутатора Rotating Factories.
Reborn23 Апреля 16
Ясно, спасибо за информацию. На данный момент я уже не вижу смысла вникать в это дело - то, что мне было нужно, оказалось возможным реализовать скриптами. Лезть вглубь движка я уже не хочу, кроме того, моих знаний для этого всё равно не хватит.
GP23 Апреля 16
Спасибо. Но с тем материалом что есть похоже дальше не продвинутса. B Hazard прокте в Engine есть хидер только для engineclasses, да и код ни к чему больше не отсылаетса. Актор получаетса отрезан от отстальных и попытка взаимодействия с чем-либо кроме Сore на нативном уровне крошыт движок. А те хидеры что я выложыл не подойдут. Еще подозреваю имеет значение версия, хидэры ведь для 3334.
Две тестовых карты в комплекте (которые на DM начинаются). Насколько я помню, нативный актор ставится на карту, и открываается в эдиторе, но в самой игре валится в момент входа игрока - на эвенте PlayerLogin(). (файл DM-HzTestMap2.ut2)
Чтобы обойти этот баг, использован трюк - на карту ставится ненативный актер, который через несколько секунд после начала игры спаунит нативного актера. В таком виде работает более-менее. (файл DM-HzTestMap.ut2)
Ну и безусловно работает, если вызывать нативную функцию из DLL статически (через StaticFunction).
Я заподозрил, что где-то в хидерах есть ошибка, которая при определенных условиях заваливает поставленного на карту актера. У меня было желание отладчиком найти причину падения, но моих знаний не хватило для отладки, а потом мне наскучило.
(Добавлено 2) Про официальную утечку исходников игры RognarokOnline я писал раньше. Игра насколько я понимаю на движке UnrealEngine 2 (не 2.5) Там есть хидеры и c++ файлы Core.dll, Engine.dll и вообще всех dll-к https://mega.co.nz/#!V9VTg....uIJ8Omk
GP22 Апреля 16
Ну... теперь я похоже разобралса. Оказываетса больше ошыбок при компиляцыи не значит движение в неправильную сторону Там хидэры просто взяты от ut99, подправлены только те, которые бот использует. Если вытащить lib-ы из dll-к 99-го, то компилируетса все как есть. Я то думаю почему я среди них шейдера не мог найти. Reborn, можэш скинуть если есть те хидэры, с которыми у тебя скомпилировалось, ато ссылка в статье мертвая.
Reborn22 Апреля 16
Ясно. Всё равно спасибо. Может быть, кто-нибудь доведет потом до ума.
GP21 Апреля 16
Тут проблема собственно в другом. Для айм-бота все исполнялось в dll-ке, в проэкте стояло API-IMPORT. Но так ucc не видит функцыи в dll (если они вообще там есть). А вот с API-EXPORT уже VS начинает ругатса на несоответсвия в половине акторов в Engine и Core, функцыи вроде прописаны правильно, но не имплементированы.
Reborn21 Апреля 16
У меня получалось - Native Functions, сделанные согласно туториалу, нормально работали. Выкроить бы ещё время и вспомнить.
Как я понимаю, проблема в том, что UCC не хочет собирать U-файл? У нас Onslaught.u идет с хидерами и С++ кодом. Может посмотрите, как там декларировано?
На крайний случай, хидеры в UT2004 можно вообще не копировать. Они существуют только для синхронизации uc-файла с хидером. Если вы синхронизировали вручную, h-файл можно в Ut2004 не копировать. Нативный класс соберется и без него.
Попробую в ближайшие дни, если сил на это хватит - у меня сейчас завал на работе и дома.
GP21 Апреля 16
... рано радоватса еще... оказалось как есть актор роботает только без функцый, иначе движок падает. С функцыями как в туториале не получаетса, ucc их не видит. В туториале "execFUNCTIONNAME" а ucc требует "intAClassNameexecFUNCTIONNAME", хотя и так тоже не видит.
Reborn20 Апреля 16
Ух ты, это реально круто! GP, моя огромная благодарность - может кому понадобится....
GP20 Апреля 16
Ну... Сделал по туториалу, dll-ку грузит, в редакторе вставляетса (в скрипте placeable надо ставить после native)... http://www.mediafire.com/download/t5vyjmb91y92o1r/NativeLink.zip Вызывать из скрипта что-то простенькое нативное не вижу смысла, попробую завтра вставить какую-нибудь ресурсо-ёмкую функцыю и сравнить продуктивность со скриптом. Хотелось-бы переделать LensFlare по человечески, но смотря по тому как айм-бот реализирован много я там не напрограмирую, все как-то незнакомо выглядит.
Для UT-99 таким образом делались DLL-ки для модов. (Не всякие там хаки и аймботы, а именно "легальные" dll-ки, позволяющие модмейкерам использовать в своих модах с++ код). В свое время эта тема активно обсуждалась, были даже архивы с примерами. Но, видимо, из интернета уже исчезла.
Когда вышел UT2003, модмейкеры подняли тему о публикации хидеров, но им отказали. Году так в 2006 я раздобыл восстановленные хидеры, и скомпилировал файлы для UT2004 согласно данной инструкции. Нативный актер работал, но с глюками: его нельзя было ставить на карту в эдиторе, а можно было только спаунить во время игры. То ли хидеры были восстановлены неправильно, то ли ещё что... Короче, я не придумал, как его можно использовать, и забил на это дело.
UnShame20 Апреля 16
пусть остается, уже столько накомментировали
это же из спортивных интересов, так спешил выложить, что доконца не разобрала что это. Можно переместить на форум. На счет hazard.dll поиск меня что-то подводит.
Reborn20 Апреля 16
GP: Аймботов хостить некомильфо. То же относится к любому насильственному инжекту.
Существует ЕДИНСТВЕННЫЙ способ законного использования сторонней dll в игре - в U файле создается нативный актор, который вызывает из DLL нативные функции (для этого в DLL должна быть создана его реплика).
Для UT99 был соответствующий проект - назывался Hazard DLL (можно найти поиском). В UT2004 этот проект был работоспособен частично, всё упиралось в отсутствие "правильных" хидеров.
У меня написанная таким образом DLL-ка работала (подгружалась из U-файла), но с определенными глюками (причину я так и не выяснил, а теперь уже лень возиться).
Это имело бы смысл, если бы кто-нибудь смог создать u-файл, который использует в игре скомпиллированную при помощи данных либов dll
Она сама используетса, это робочий аим-бот, dll надо просто подгрузить в процэсс и бот сразу начинает роботать.
А подгружать зачем мучитса из скрипта? Подгрузить то получаетса, только оно куда-то не туда грузятса (кеш?), ничего не исполняетса. В главном hook.cpp можно и не бота прописать, а что угодно... Если забить на версию exe-шника то не проблема заставить игру загружать дополнительную dll-ку при старте.
Reborn19 Апреля 16
Это имело бы смысл, если бы кто-нибудь смог создать u-файл, который использует в игре скомпиллированную при помощи данных либов dll (то есть "инжектит" dll в игру официальным способом). Тогда это был бы своего рода прорыв в модмейкерстве (появится возможность ставить на карту любых нативных актеров).
А в существующем виде она только для аймботов годится.
GP18 Апреля 16
Блин... заинжэктил я это на запущеной карте, и в правду aim-бот. Правда настроить немогу, ибо нам-пада нет.
Reborn18 Апреля 16
Кстати, примерно пол года назад в сеть утекли полные (включая С++) исходники UnrealEngine2 игры RognarokOnline, но меня что-то ломает возиться с их компиляцией. Кому нужно - ищите поиском в гугле.
Reborn18 Апреля 16
Гм.... С помощью таких вещей обычно аймботов пишут. Это библиотеки, позволяющие сделать dll для незаконной подгрузки в движок. Самое ценное там - Core.lib и Engine.lib, которые Эпики держут в строжайшем секрете. Ну и хидеры этих библиотек, непонятно восстановленные или ворованные.
Теоретически, Core.lib и Engine.lib позволят модмейкеру сделать нативного (управляемого из DLL) актера, которого можно включить в игру или поставить на карту. Я в свое время эксперементировал с этим.
Проблема в том, что это особо не нужно (ну нет в UT2004 таких задач, которые нельзя было бы реализовать скрипами). И кроме того, непонятно, насколько жизнеспособны сами либы.
На данный момент я уже не вижу смысла вникать в это дело - то, что мне было нужно, оказалось возможным реализовать скриптами.
Лезть вглубь движка я уже не хочу, кроме того, моих знаний для этого всё равно не хватит.
https://yadi.sk/d/GcmG3irkrDgqe
Там проблемы описаны в ReadMe
Сам проект в папке Hazard
Две тестовых карты в комплекте (которые на DM начинаются).
Насколько я помню, нативный актор ставится на карту, и открываается в эдиторе, но в самой игре валится в момент входа игрока - на эвенте PlayerLogin().
(файл DM-HzTestMap2.ut2)
Чтобы обойти этот баг, использован трюк - на карту ставится ненативный актер, который через несколько секунд после начала игры спаунит нативного актера. В таком виде работает более-менее.
(файл DM-HzTestMap.ut2)
Ну и безусловно работает, если вызывать нативную функцию из DLL статически (через StaticFunction).
Я заподозрил, что где-то в хидерах есть ошибка, которая при определенных условиях заваливает поставленного на карту актера.
У меня было желание отладчиком найти причину падения, но моих знаний не хватило для отладки, а потом мне наскучило.
Компилятор (Portable_Visual_C_6.0)
прилагаю на всякий случай.
https://yadi.sk/d/bjEN5ADmrDgqA
Хидеры восстановленные - то есть гарантий их соответствия подлиннику нету.
Вот ещё добавил:
https://yadi.sk/d/_zmvOfIVrDhif
Проект нативной DLL для UT-99 (соответственно, хидеры от UT-99)
https://yadi.sk/d/ckPJupkLrDhju
официальные хидеры UT-99
(Добавлено 2)
Про официальную утечку исходников игры RognarokOnline я писал раньше.
Игра насколько я понимаю на движке UnrealEngine 2 (не 2.5)
Там есть хидеры и c++ файлы Core.dll, Engine.dll и вообще всех dll-к
https://mega.co.nz/#!V9VTg....uIJ8Omk
Всё равно спасибо.
Может быть, кто-нибудь доведет потом до ума.
Выкроить бы ещё время и вспомнить.
Как я понимаю, проблема в том, что UCC не хочет собирать U-файл?
У нас Onslaught.u идет с хидерами и С++ кодом.
Может посмотрите, как там декларировано?
На крайний случай, хидеры в UT2004 можно вообще не копировать. Они существуют только для синхронизации uc-файла с хидером. Если вы синхронизировали вручную, h-файл можно в Ut2004 не копировать. Нативный класс соберется и без него.
Попробую в ближайшие дни, если сил на это хватит - у меня сейчас завал на работе и дома.
GP, моя огромная благодарность - может кому понадобится....
http://www.mediafire.com/download/t5vyjmb91y92o1r/NativeLink.zip
Вызывать из скрипта что-то простенькое нативное не вижу смысла, попробую завтра вставить какую-нибудь ресурсо-ёмкую функцыю и сравнить продуктивность со скриптом. Хотелось-бы переделать LensFlare по человечески, но смотря по тому как айм-бот реализирован много я там не напрограмирую, все как-то незнакомо выглядит.
http://web.archive.org/web....ttp
http://web.archive.org/web....ttp
Для UT-99 таким образом делались DLL-ки для модов.
(Не всякие там хаки и аймботы, а именно "легальные" dll-ки, позволяющие модмейкерам использовать в своих модах с++ код).
В свое время эта тема активно обсуждалась, были даже архивы с примерами.
Но, видимо, из интернета уже исчезла.
Когда вышел UT2003, модмейкеры подняли тему о публикации хидеров, но им отказали. Году так в 2006 я раздобыл восстановленные хидеры, и скомпилировал файлы для UT2004 согласно данной инструкции. Нативный актер работал, но с глюками: его нельзя было ставить на карту в эдиторе, а можно было только спаунить во время игры.
То ли хидеры были восстановлены неправильно, то ли ещё что...
Короче, я не придумал, как его можно использовать, и забил на это дело.
То же относится к любому насильственному инжекту.
Существует ЕДИНСТВЕННЫЙ способ законного использования сторонней dll в игре - в U файле создается нативный актор, который вызывает из DLL нативные функции (для этого в DLL должна быть создана его реплика).
Для UT99 был соответствующий проект - назывался Hazard DLL (можно найти поиском). В UT2004 этот проект был работоспособен частично, всё упиралось в отсутствие "правильных" хидеров.
У меня написанная таким образом DLL-ка работала (подгружалась из U-файла), но с определенными глюками (причину я так и не выяснил, а теперь уже лень возиться).
А подгружать зачем мучитса из скрипта? Подгрузить то получаетса, только оно куда-то не туда грузятса (кеш?), ничего не исполняетса. В главном hook.cpp можно и не бота прописать, а что угодно... Если забить на версию exe-шника то не проблема заставить игру загружать дополнительную dll-ку при старте.
Тогда это был бы своего рода прорыв в модмейкерстве
(появится возможность ставить на карту любых нативных актеров).
А в существующем виде она только для аймботов годится.
Кому нужно - ищите поиском в гугле.
Это библиотеки, позволяющие сделать dll для незаконной подгрузки в движок.
Самое ценное там - Core.lib и Engine.lib, которые Эпики держут в строжайшем секрете.
Ну и хидеры этих библиотек, непонятно восстановленные или ворованные.
Теоретически, Core.lib и Engine.lib позволят модмейкеру сделать нативного (управляемого из DLL) актера, которого можно включить в игру или поставить на карту.
Я в свое время эксперементировал с этим.
Проблема в том, что это особо не нужно (ну нет в UT2004 таких задач, которые нельзя было бы реализовать скрипами). И кроме того, непонятно, насколько жизнеспособны сами либы.