Личные вопросы по zBot

Сообщения
15
Реакции
19
У меня есть несколько вопросов по zBot-у и их навигации. Надеюсь, кто-нибудь поможет.

1. Можно ли сделать так чтобы zBot никогда не переключался на нож, даже если у него совсем нет патронов? Вопрос возник из-за того, что переключение на нож часто происходит на большом расстоянии от меня и в результате, пока бот бежит ко мне, я успеваю сделать перезарядку и, не напрягаясь, навести прицел. Хочу подчеркнуть, что такое происходит даже если я установил в профиле приоритет для определённого оружия (и это не нож, ясное дело). Например, если я хочу потренировать стрельбу "glock против glock-а", то, видимо, можно установить переменную bot_pistols_only. Я это ещё не пробовал, то есть, просто предполагаю, что должно сработать. Но если я хочу "mac10 против tmp", то это же не снайперское оружие, поэтому bot_snipers_only явно не подойдёт, а bot_all_weapons это и ножи тоже или только огнестрельное?

2. Можно ли сделать так чтобы на некоторых картах zBot никогда не приседал во время разминирования или приседал заранее, то есть, до начала разминирования? Вопрос возник из-за того, что в Counter-Strike: Condition Zero на некоторых точках (не на всех) бывает такое, что если присесть во время разминирования, то изображение на экране начинает дёргаться вверх-вниз (словно я прыгаю) и разминирование прекращается. Если не приседать, то всё нормально. Но боты это увы не понимают, поэтому не могут разминировать, даже если у них есть для этого много времени. Ещё можно присесть заранее, до начала разминирования. В этом случае рывки ещё сильнее, но разминирование прекращается намного реже (приблизительно в десять раз реже). Например, такое бывает на карте de_fastline_cz (там где нет поезда, то есть, возле эскалаторов). И ещё на de_torn_cz случается на обеих точках, хотя и не в любом месте. Можно ли редактированием навигации исправить это? А ещё лучше если кто-то уже исправил.

3. Можно ли сделать так чтобы zBot никогда не подходил на расстояние удара ножом, если я ещё жив? В смысле, если я умер и, например, бомбу уронил, то пускай подходит, чтобы взять её или, если противник умер и его оружие подходит боту, то пускай берёт его. Просто слишком часто боты (из моей команды) наскакивают на меня, даже если я стою неподвижно и это сильно раздражает. Подозреваю, что с этим ничего нельзя сделать, но мало ли что? Кстати, если есть боты для Counter-Strike: Condition Zero, у которых нет такой проблемы, то подскажите их название.

4. Можно ли сделать так чтобы zBot начинал стрелять, например, из пистолета сразу, то есть, как можно раньше, но делал это не так часто? При слишком частой стрельбе снижается точность. То есть, можно ли увеличить интервал между выстрелами, не уменьшая время реакции (время первого выстрела)?
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
1. Можно ли сделать так чтобы zBot никогда не переключался на нож, даже если у него совсем нет патронов? Вопрос возник из-за того, что переключение на нож часто происходит на большом расстоянии от меня и в результате, пока бот бежит ко мне, я успеваю сделать перезарядку и, не напрягаясь, навести прицел. Хочу подчеркнуть, что такое происходит даже если я установил в профиле приоритет для определённого оружия (и это не нож, ясное дело). Например, если я хочу потренировать стрельбу "glock против glock-а", то, видимо, можно установить переменную bot_pistols_only. Я это ещё не пробовал, то есть, просто предполагаю, что должно сработать. Но если я хочу "mac10 против tmp", то это же не снайперское оружие, поэтому bot_snipers_only явно не подойдёт, а bot_all_weapons это и ножи тоже или только огнестрельное?
Плагином реализовать блок смены на нож.

Вопрос возник из-за того, что в Counter-Strike: Condition Zero на некоторых точках (не на всех) бывает такое, что если присесть во время разминирования, то изображение на экране начинает дёргаться вверх-вниз (словно я прыгаю) и разминирование прекращается.
Ловить Touch с С4 и выставлять бомбе SOLID_NOT.

В общем, все эти пункты нужно делать плагином.
 
Сообщения
15
Реакции
19
Я попробовал установить переменную bot_pistols_only, но это не помогло, даже для glock-а, в том смысле, что zBot всё равно переключается на нож, когда у него заканчивается текущая обойма. И это при том, что запасные патроны у него есть. Я специально это проверил несколько раз (убил бота, выбрасываю своё оружие и сразу же подбираю его оружие, пока этот раунд ещё не закончился). Но делать перезарядку (во время сетевой игры) он почему-то не хочет, хотя во время кампании Counter-Strike: Condition Zero во время перестрелок боты часто делают перезарядку (как первичного оружия, так и вторичного).

Мне тут выше Minni сказал, что это можно исправить плагином. У меня пока нет опыта написания собственных плагинов. Поэтому, если кто-нибудь знает название уже готового плагина, который блокирует нож, то подскажите, пожалуйста. Я пробовал найти готовый плагин, но обнаружил только чьи-то просьбы об этом. Кстати, если кто-нибудь будет делать такой плагин, то лучше чтобы бот всё-таки мог переключаться на нож, но только на близкой дистанции (на расстоянии удара ножом в одном прыжке).
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
Я специально это проверил несколько раз (убил бота, выбрасываю своё оружие и сразу же подбираю его оружие, пока этот раунд ещё не закончился).
Это не совсем верная проверка. В weaponbox по-деффолту устанавливаются лишь патроны в обойме для данного item'а. То есть, если игрок выбросит оружие, то в веапонбоксе будут лишь патроны с обоймы.
 
Сообщения
15
Реакции
19
Minni, я не совсем понял ваш ответ. О какой обойме речь? Которая позволяет сразу стрелять? Или о дополнительных обоймах, из которых надо сначала сделать перезарядку, в результате перезарядки патроны попадают в текущую обойму, и только после этого ими можно стрелять?

В CSCZ, если я покупаю оружие и выбрасываю его, то, пока текущий раунд не закончился, я ещё могу его подобрать, и при этом количество патронов будет точно таким же (как в основной обойме, так и во всех дополнительных). Конечно, бывают общие патроны у разных видов оружия, но я сейчас говорю о своей ситуации, то есть, когда для тренировки только один вид огнестрельного оружия на руках.

Для проверки я в первом же раунде специально подставляюсь zBot-у на длинной дистанции. Он стреляет. Я не отвечаю ему огнём, а просто считаю его выстрелы (результат: 20). Несколько раз он даже попадает в меня, но с glock-ом этого недостаточно, чтобы убить. После этого он переключается на нож и бежит ко мне. Но пока он подбежит на расстояние удара ножом, я успеваю убить его выстрелами в голову (из своего glock-а). Естественно мне на это нужно намного меньше двадцати патронов. Затем я выбрасываю свой glock. Если до окончания раунда я успеваю подобрать его оружие, то обнаруживаю, что в текущей обойме совсем нет патронов, а в дополнительных обоймах ещё есть патроны и понятно, что бот ни разу не делал перезарядку в этом раунде. Но если я подниму свой же glock, то там будет такое же количество патронов, которое было до выбрасывания. Кроме того, если убить бота раньше, чем он успеет израсходовать всю обойму, то его оружие, которое я поднимаю, будет иметь в текущей обойме меньше патронов на то количество, которое соответствует количеству сделанных выстрелов.
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
Которая позволяет сразу стрелять?
Да. Дополнительные патроны - это уже Ваши. В веапонбокс, то есть оружие, которое выбросил игрок/бот, устанавливается лишь количество патронов, которое было в обойме перед выбросом.
 

Garey

ninjaCow
Сообщения
411
Реакции
1,051
Помог
10 раз(а)
bcspm1 а вы используете ReGameDLL? посмотрел код отвечающий за перезарядку, вроде бы в любом случае он должен перезаряжаться, странно...
https://github.com/s1lentq/ReGameDL...47f/regamedll/dlls/bot/cs_bot_weapon.cpp#L683
И более того есть шанс что во время перезарядки он скрывается за углом
22 Июн 2018
Проверил в игре, боты перезаряжаются и иногда убегают и перезаряжаются, как и в коде
 
Сообщения
15
Реакции
19
Garey, нет я использую обычную CSCZ, без плагинов, без metamod, без ReGameDLL. Через несколько дней я попробую с ReGameDLL. Кстати, а ReGameDLL умеет определять все события CSCZ? Например официальная версия CSCZ не определяет событие killvip (это когда игроку надо убить VIP-а, например, на карте as_oilrig) и ещё некоторые другие (убийство контр-террориста во время сопровождения заложников и ещё одно событие, которое я сейчас не могу вспомнить).

А вы в какой игре проверяли? И в каком конкретно игровом режиме? В CSCZ два режима: одиночная кампания с заданиями и сетевая игра. В кампании боты у меня нормально перезаряжаются, и, как вы сами сказали, прячутся за углом при перезарядке. А сетевая игра в CSCZ это почти тоже самое, что и обыкновенный CS 1.6, то есть, там нет заданий, но заложники сами убегают, если рядом с ними долгое время (несколько минут) никого нет, и ещё урон от некоторых видов оружия чуть больше (гранаты, p90).

Так вот, я говорил об отсутствии перезарядки не в обычной сетевой игре, а только о своей ситуации. То есть, я в профиле для бота устанавливаю приоритет для одного оружия - glock-а, разрешаю ботам использовать пистолеты, на карте de_dust добавляю одного бота за контр-террористов, для себя выбираю команду террористов, покупаю бронежилет. Вот в такой ситуации zBot почему-то никогда не делает перезарядки своего glock-а, хотя патроны у него точно есть. Деньги у него тоже есть (начальная сумма 16000 и это только первый раунд). То есть, набор для разминирования бот покупает, бронежилет покупает, а патроны - нет, и перезарядку никогда не делает.
26 Июн 2018
Minni, по поводу weaponbox я проверил в сетевой игре - оказалось всё как вы сказали. То есть, вместе с glock-ом убитого противника я получаю только текущую обойму, и перезарядка происходит уже с использованием моих патронов. Но в кампаниях CSCZ это не так. Например, на карте cs_italy_cz есть задание "игрок должен убить столько-то противников из awp". Я покупаю awp, но не покупаю дополнительных патронов к нему. Один из ботов (играет за террористов) покупает awp с дополнительными патронами. Если я его убиваю и выбрасываю свою awp, то, подобрав его awp, вижу, что вместе с его оружием я получаю и его дополнительные патроны. Так случается в первом или во втором раунде (в кампаниях начальная сумма всегда 10000). Но когда у ботов заканчиваются деньги, то они не покупают дополнительные патроны, поэтому и оружие после них остаётся без дополнительных патронов.
 
Сообщения
0
Реакции
0
Garey, А в какую папку помещать плагин? И под каким названием? Скажи пожалуйста
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
Но в кампаниях CSCZ это не так. Например, на карте cs_italy_cz есть задание "игрок должен убить столько-то противников из awp". Я покупаю awp, но не покупаю дополнительных патронов к нему. Один из ботов (играет за террористов) покупает awp с дополнительными патронами. Если я его убиваю и выбрасываю свою awp, то, подобрав его awp, вижу, что вместе с его оружием я получаю и его дополнительные патроны
Дропнутое оружие игрока != оружие, выпавшее с трупа.

Если убить игрока с этим оружием, и поднять его, то в запас будут выданы патроны.
2 Июл 2018
Пример с m4a1 (ammo / bpammo):
1) Если враг выкинул (дропнул) оружие, то при поднятии будет - оставшееся количество патронов в обойме перед дропом / 0 в запасе.
2) Если вы убили врага, то при поднятии его оружия будет - оставшееся количество патронов в обойме перед смертью врага / количество патронов в запасе, которое было у врага.
 
Сообщения
15
Реакции
19
Minni, я думал, что весь разговор по этому пункту идёт только об оружии с трупов, а вариант, в котором zBot сам выбрасывает своё оружие вообще не упоминался. Что же это получается в итоге? Выходит, что zBot, если ему указать в профиле приоритет только на glock, не покупает патроны для glock-а? Кстати, с deagle такая же ситуация. Или в профиле у zBot-а должно быть отдельное разрешение на покупку патронов? Например, у PODBot такое разрешение устанавливается отдельно от разрешения на покупку оружия. Или, возможно, дело в отсутствии у zBot-а первичного оружия? То есть, возможно, zBot запрограммирован сначала переключаться на другое оружие, а только после этого делать перезарядку?

В любом случае это уже не важно, поскольку для тренировки с пистолетами я решил использовать других ботов (не обязательно PODBot, посмотрю все варианты).

Да, и спасибо за все ответы. Хотя в ближайшее время я не смогу делать свои плагины, но я понял, что с их помощью многие проблемы можно исправить, а это хорошая мотивация для обучения.

Garey, я попробовал ReGameDLL, которую вы упоминали, но эта библиотека мне не подходит. Во-первых, она не умеет определять все события CSCZ, впрочем, как и официальная (от Valve). Во-вторых, похоже, что она предназначена только для выделенного сервера. Это я просто предполагаю, в её описании ничего такого не сказано (пишут только, что отладочная информация от HLDS использовалась). Во всяком случае, при локальном запуске я наблюдал частые "вылеты" игры, даже без сообщений об ошибке. То есть, просто мгновенные завершения работы. И ещё с ней у меня во время кампании срабатывает автобаланс -- меня автоматически перебрасывает в другую команду. Хотя такого не должно быть, не зависимо от значений каких-либо переменных, поскольку из-за этого просто невозможно выполнить задания. Кроме того, после выигрыша раунда, я иногда остаюсь без оружия и брони, которые я купил раньше, хотя я не умирал.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу