Собрал. Протестирую сначала своих модифицированных, потом соберу из чистых исходников и дам народу вместе с сорцами, подебажить. А то ботов для халфы под линукс не видел. Только для TFC и DoD.
Завести ботов под линуксом не удалось, дебажить не стал, всё равно буду встраивать их в серверную дллку. Вот вам, форумчане, подправленные исходники. Если хотите, можете исправить мой быдлокод Класть папку sdk в папку с модом. Все либы собираются и под Linux тоже, makeфайлы есть. client.dll(.so) и server.dll(.so) после компиляции автоматом падают в cl_dlls и dlls папки мода. parabot.dll(.so) падает в папку parabot в корне халфы, где лежит лаунчер. В коде есть комментарии, что и как исправлено. Касательно Linux (для ботов, конечно) - ku2zoff: linux. Исправлял на скорую руку, так что вполне могут быть грубые косяки.
З.Ы. Оказалось, что чувствительность к регистру непостоянная: в "живом" дебиане с кедами идёт ругань на все инклуиды, названия которых не соответствуют реальным файлам. А в виртуальной машине с этим же дебианом и рабочим столом MATE, не ругается.
Добавлено 01-02-2015 в 23:34:
З.З.Ы. Visual Studio 2013 и gcc-4.9 использовал для компила.
З.З.З.Ы. В исходники клиента встроен фикс мышки при m_rawinput 1.
~ X ~ писал: очередной прокси-бот-длл... даже как-то грустно стало.
А почему? Если HPB_bot построены изначально как прокси-длл, то и все последователи будут такие. Расчёт здесь идёт на моды с закрытыми сорцами. Ясен пень, что если у тебя есть свои сорцы, то можно ботов встроить в сервер. Будет намного удобнее работать с разными вещами, особенно касательно класса игрока и классов оружия, ведь будет доступ не только к энтварсам, но и к любым публичным переменным и функциям. Ну и в pm_shared тоже будет доступ, что немаловажно.
Добавлено 03-02-2015 в 04:01:
З.Ы. Ну и конечно унаследовать класс бота можно будет напрямую от игрока
Ku2zoff писал: Ясен пень, что если у тебя есть свои сорцы, то можно ботов встроить в сервер.
Имхо, совершенно неправильное решение.
При открытых сорцах я бы сделал хороший BotAPI для отдельной бот-дллки. На самом деле ботов мало что интересует из игровой библиотеки, зато код ботовского ИИ того же паработа довольно сложен, разнесён по десяткам файлов и будет лишь захламлять игровой проект. Тем более что сингловые моды (или простенькие мультиплеерные) не требуют модификаций сложнее, чем научиться ботов пользоваться новой пушкой. Что, опять же, реализуемо через BotAPI.
XaeroX писал: не требуют модификаций сложнее, чем научиться ботов пользоваться новой пушкой.
Я хочу научить их нормально действовать в разных игровых режимах, пользоваться спринтом, ползать на пузе (кстати, надо будет вообще закодить такую возможность, туторов не видел, буду сам пробовать) и вообще, более плотно взаимодействовать со всеми энтитями.
Цитата:
XaeroX писал: код ботовского ИИ того же паработа довольно сложен, разнесён по десяткам файлов и будет лишь захламлять игровой проект.
По сути, там всё логично разнесено, главное сделать код удобочитаемым. Мне категорически не нравится манера автора расставлять фигурные скобки и вообще форматировать код. Положить в отдельную папочку, чтобы файлы ботов не мозолили глаза, когда работаешь только с сервером и наоборот.
XaeroX писал: При открытых сорцах я бы сделал хороший BotAPI для отдельной бот-дллки.
ВНЕЗАПНО! И ЭТО есть в XDM!
Только подгрузка лишних ДЛЛ и кривожопный перехват парсинг сетевых сообщений меня уже реально бесит. Кто делает закрытые моды - пусть сам жрёт говно. Для остальных не вижу никаких проблем.
З.Ы. Что в паработах нехорошо, так это своеобразная конфигурация с профилями. Буду перепиливать по-своему, либо откачу до состояния HPB_bot и заведу персоналии, как в кондишн зеро.
Добавлено 03-02-2015 в 14:59:
Цитата:
~ X ~ писал: С анимацией swim?
Я анимации игрока из DoD уже украл, и там есть нормальные анимации prone
Добавлено 03-02-2015 в 15:01:
Вообще, персоналии можно подглядеть, исходники зботов валяются лишним грузом в хлсдк на гитхабе.
Ku2zoff писал: Мне категорически не нравится манера автора расставлять фигурные скобки и вообще форматировать код.
У каждого свои привычки.
Я, например, раньше писал как м... чудак:
C++ Source Code:
1
if ( a )
2
{
3
blablabla;
4
}
5
else
6
{
7
__asmint 3
8
}
Теперь исправился, и пишу православно и благодатно:
C++ Source Code:
if ( a ) {
blablabla;
} else {
__asmint 3
}
Добавлено 03-02-2015 в 15:36:
Цитата:
~ X ~ писал: И ЭТО есть в XDM!
Омг, зачем ЭТО там?
Цитата:
~ X ~ писал: Кто делает закрытые моды - пусть сам жрёт говно.
Не-не, он выпустит мод и забудет. А говно будут жрать игроки. И чем более классный мод получится - тем больше говна им предстоит сожрать.
Вспомните закрытый опфор с его вировками, которые всем почти 15 лет мозги выносили. Люди вынуждены были привязывать свой мод к opfor.dll из-за этих сцаных вировок!
Добавлено 03-02-2015 в 15:37:
Цитата:
Ku2zoff писал: Буду перепиливать по-своему, либо откачу до состояния HPB_bot и заведу персоналии, как в кондишн зеро.
Сделай персоналии как в волатиле.
Там каждому боту сопоставлен ник КСМ-юзера.
Среди них даже karsar есть, который давно умер.
XaeroX писал: Люди вынуждены были привязывать свой мод к opfor.dll из-за этих сцаных вировок!
"Oh yeah, they'll pay. The will DEFINITELY PAY."
эти верёвки забудутся ещё нескоро.
Цитата:
XaeroX писал: Омг, зачем ЭТО там?
Например, чтобы боты нормально получали из XDM.dll Relationship, определали, что за энтитя перед ними (пикап, монстр, опасность и пр.). Используя эти функции я избавился от переборов 9000 строк, как это было в оригинале.
Цитата:
XaeroX писал: Сделай персоналии как в волатиле.
Рассказывай, как это и что это.
Я хотел сделать как в УТ1.