RU/Slothbot: Difference between revisions
No edit summary |
No edit summary |
||
(21 intermediate revisions by 4 users not shown) | |||
Line 2: | Line 2: | ||
{{translate|ru}} | {{translate|ru}} | ||
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)). | |||
=Особенности= | =Особенности= | ||
Line 13: | Line 13: | ||
'''Агрессивность:''' | '''Агрессивность:''' | ||
Эти | Эти боты атакуют игроков и ботов состоящих в других командах. | ||
'''Кооператив:''' | '''Кооператив:''' | ||
При обнаружении союзника, боты могут автоматически объединяться в команду с ним. | При обнаружении союзника, боты могут автоматически объединяться в команду с ним. | ||
'''Подвижность и ловкость:''' | '''Подвижность и ловкость:''' | ||
Line 22: | Line 22: | ||
'''Типы игры ботов:''' | '''Типы игры ботов:''' | ||
*"hunting" - | *"hunting" - ("Охота") бот следует по указанному пути и выискивает врага. | ||
*"waiting" - | *"waiting" - ("Выжидание") бот стоит на месте пока в поле его зрения не появится враг. | ||
*"guarding" - | *"guarding" - ("Охрана") бот не двигается с места и атакует врага если тот находится в поле его зрения. | ||
*"following" - | *"following" - ("Следование") бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения. | ||
*"chasing" - | *"chasing" - ("Преследование") бот преследует врага и атакует его. | ||
'''Игровой режим/Объединение скрипта :''' | '''Игровой режим/Объединение скрипта:''' | ||
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение. | |||
'''EDF путь для создания карты:''' | '''EDF путь для создания карты:''' | ||
Line 37: | Line 37: | ||
==onBotFindEnemy== | ==onBotFindEnemy== | ||
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал | Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал. | ||
<big>'''Параметры'''</big> | <big>'''Параметры'''</big> | ||
Line 43: | Line 44: | ||
element enemy | element enemy | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*'''enemy''': Игрок или бот являющийся врагом | *'''enemy''': Игрок или бот являющийся врагом. | ||
<big>'''Source'''</big> | <big>'''Source'''</big> | ||
[[Event system#Event source|source]] этого события является бот, который нашел врага | |||
==onBotWasted== | ==onBotWasted== | ||
Это | Это срабатывает, когда бот убит. | ||
<big>''' | <big>'''Параметры'''</big> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
element attacker, float weapon, float bodypart | element attacker, float weapon, float bodypart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*'''attacker''': | *'''attacker''': Элемент, который убил бота | ||
*'''weapon''': | *'''weapon''': Идентификатор оружия, используемого для убийства бота | ||
*'''bodypart''': | *'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота | ||
<big>'''Source'''</big> | <big>'''Source'''</big> | ||
[[Event system#Event source|source]] этого события является бот, который умер | |||
==onBotSpawned== | ==onBotSpawned== | ||
Срабатывает, когда появляется бот. | |||
<big>'''Source'''</big> | <big>'''Source'''</big> | ||
[[Event system#Event source|source]] этого события является бот, который спавнился. | |||
==onBotFollow== | ==onBotFollow== | ||
Срабатывает, когда бот начинает следовать за товарищем по команде | |||
<big>''' | <big>'''Параметры'''</big> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
element leader | element leader | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*'''leader''': | *'''leader''': Игрок или Ped бот начал следовать за ним | ||
<big>'''Source'''</big> | <big>'''Source'''</big> | ||
[[Event system#Event source|source]] этого события является бот, который начинает следовать за товарищем по команде | |||
= | =Серверные функции = | ||
Все эти функции используют [[call]] функцию, иначе не будут работать | |||
==spawnBot== | ==spawnBot== | ||
Эта функция создаёт бота в игре, возвращает элемент bot или false, если возникла проблема. | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 92: | Line 94: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''x:''' | *'''x:''' x координата спавна бота | ||
*'''y:''' | *'''y:''' y координата спавна бота | ||
*'''z:''' | *'''z:''' z координата спавна бота | ||
*'''rotation:''' | *'''rotation:''' Ротация бота на спавне | ||
<big>'''Optional Arguments'''</big> | <big>'''Optional Arguments'''</big> | ||
*'''skinID:''' | *'''skinID:''' Скин бота при спавне | ||
*'''interior:''' | *'''interior:''' Интерьер, в котором появится бот | ||
*'''dimension:''' | *'''dimension:''' Идентификатор [[dimension]] - измерения, в котором должен находиться бот | ||
*'''theTeam:''' | *'''theTeam:''' Команда к которой присоединится бот | ||
*'''weapon:''' | *'''weapon:''' Оружие, которое будет носить пед | ||
*'''theMode:''' | *'''theMode:''' Действие, которое бот будет выполнять при появлении на свет (см. раздел "режимы игры" выше) | ||
*'''theModeSubject:''' | *'''theModeSubject:''' Если theMode "преследует " или" следует", этот аргумент необходим, чтобы сообщить боту, какого противника преследовать или за каким товарищем по команде следовать | ||
==setBotHunt== | ==setBotHunt== | ||
Заставляет бота путешествовать по путям до тех пор, пока он не найдет врага или товарища по команде | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 115: | Line 117: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот, на которого вы хотите охотиться | ||
==setBotWait== | ==setBotWait== | ||
Заставляет бота стоять неподвижно до тех пор, пока в поле зрения не появится враг | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 126: | Line 128: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот, которого вы хотите подождать | ||
==setBotChase== | ==setBotChase== | ||
Line 137: | Line 139: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот, который будет преследовать | ||
*'''theTarget:''' | *'''theTarget:''' Бот или игрок, которого будет преследовать | ||
==setBotFollow== | ==setBotFollow== | ||
Заставляет бота следовать за ботом тимейтом или игроком | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 149: | Line 151: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот, который будет следовать | ||
*'''theTarget:''' | *'''theTarget:''' Бот или игрок, за которым будет следовать | ||
==setBotGuard== | ==setBotGuard== | ||
makes the bot move to the specific coords and stay there while attacking any enemies | makes the bot move to the specific coords and stay there while attacking any enemies | ||
Заставляет ходить бота по специальным координатам и не уходить во время атаки | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 161: | Line 164: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот, который будет охранять | ||
*'''x:''' | *'''x:''' x координата спавна бота | ||
*'''y:''' | *'''y:''' y координата спавна бота | ||
*'''z:''' | *'''z:''' z координата спавна бота | ||
<big>'''Optional Arguments'''</big> | <big>'''Optional Arguments'''</big> | ||
*'''priority:''' | *'''priority:''' Установите true только, если вы хотите, чтобы бот стрелял только после того, как он достиг места для охраны | ||
==getBotTeam== | ==getBotTeam== | ||
Возвращает команду, в которой находится бот, false, если команды нет. | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 178: | Line 181: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот которого хотите проверить команду | ||
==setBotTeam== | ==setBotTeam== | ||
Изменяет команду и лояльность бота | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 189: | Line 192: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот у которого хотите изменить команду | ||
*'''theTeam:''' | *'''theTeam:''' Команда к которой примкнёт бот | ||
==getBotAttackEnabled== | ==getBotAttackEnabled== | ||
Возвращает true, если разрешено атаковать, иначе false. | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 201: | Line 204: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот у которого хотите узнать разрешено ли атаковать | ||
==setBotAttackEnabled== | ==setBotAttackEnabled== | ||
Разрешает или запрещает атаку | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 212: | Line 215: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот которому изменим разрешение | ||
*'''enabled:''' | *'''enabled:''' True, если бот должен атаковать. | ||
==getBotMode== | ==getBotMode== | ||
возвращает режим котором находится бот ("chasing", "waiting", "guarding", "hunting", "following"), или, если бот преследует или следует, он вернет режим и цель | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 224: | Line 227: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот у которого хотите проверить статус | ||
==isPedBot== | ==isPedBot== | ||
Возвращает true если ped является ботом. False, если не является. | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool | bool isPedbot( element thePed) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''thePed:''' | *'''thePed:''' Ped, которого вы хотите проверить бот он или нет. | ||
==setBotWeapon== | ==setBotWeapon== | ||
Выдаёт оружие боту по айди (патроны не ограничены) | |||
<big>'''Syntax'''</big> | <big>'''Syntax'''</big> | ||
Line 246: | Line 249: | ||
<big>'''Required Arguments'''</big> | <big>'''Required Arguments'''</big> | ||
*'''theBot:''' | *'''theBot:''' Бот, которому собираетесь выдать оружие | ||
*'''weapon:''' | *'''weapon:''' id оружия для выдачи | ||
=Авторство= | |||
*'''Slothman:''' Создатель бота, главный скриптер | |||
*'''Gamesnert:''' Создатель EDF, скриптинг, тестировщик | |||
*'''Dragon:''' Создатель режима игры, тестировщик, помощь в скриптинге. | |||
*'''EvGeniz:''' Раннее тестирование, маппинг | |||
*'''DriftDj:''' Перевёл страницу на русский | |||
'''Спасибо всем остальным, кто внес предложения, протестировал сценарий, помог, когда я застрял, и т.д''' | |||
[[Category:Resource]] | |||
[[Category: | |||
[[en:Slothman/Slothbot]] | [[en:Slothman/Slothbot]] |
Latest revision as of 19:20, 5 June 2021
Статью необходимо перевести на русский язык. Если страница не будет переведена в разумные сроки, она будет удалена. |
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).
Особенности
Командная игра: Бот способен отличать врага от союзника.
Навигация по карте: Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.
Агрессивность: Эти боты атакуют игроков и ботов состоящих в других командах.
Кооператив: При обнаружении союзника, боты могут автоматически объединяться в команду с ним.
Подвижность и ловкость: Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.
Типы игры ботов:
- "hunting" - ("Охота") бот следует по указанному пути и выискивает врага.
- "waiting" - ("Выжидание") бот стоит на месте пока в поле его зрения не появится враг.
- "guarding" - ("Охрана") бот не двигается с места и атакует врага если тот находится в поле его зрения.
- "following" - ("Следование") бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.
- "chasing" - ("Преследование") бот преследует врага и атакует его.
Игровой режим/Объединение скрипта: тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.
EDF путь для создания карты: Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.
События Сервера
onBotFindEnemy
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.
Параметры
element enemy
- enemy: Игрок или бот являющийся врагом.
Source
source этого события является бот, который нашел врага
onBotWasted
Это срабатывает, когда бот убит.
Параметры
element attacker, float weapon, float bodypart
- attacker: Элемент, который убил бота
- weapon: Идентификатор оружия, используемого для убийства бота
- bodypart: Идентификатор части тела, в который попали, чтобы убить бота
Source
source этого события является бот, который умер
onBotSpawned
Срабатывает, когда появляется бот.
Source
source этого события является бот, который спавнился.
onBotFollow
Срабатывает, когда бот начинает следовать за товарищем по команде
Параметры
element leader
- leader: Игрок или Ped бот начал следовать за ним
Source
source этого события является бот, который начинает следовать за товарищем по команде
Серверные функции
Все эти функции используют call функцию, иначе не будут работать
spawnBot
Эта функция создаёт бота в игре, возвращает элемент bot или false, если возникла проблема.
Syntax
element spawnBot ( float x, float y, float z, int rotation = 0, [ int skinID = 0, int interior = 0, int dimension = 0, team theTeam = nil, int weapon = 0, string theMode = "hunting", element theModesubject = nil ] )
Required Arguments
- x: x координата спавна бота
- y: y координата спавна бота
- z: z координата спавна бота
- rotation: Ротация бота на спавне
Optional Arguments
- skinID: Скин бота при спавне
- interior: Интерьер, в котором появится бот
- dimension: Идентификатор dimension - измерения, в котором должен находиться бот
- theTeam: Команда к которой присоединится бот
- weapon: Оружие, которое будет носить пед
- theMode: Действие, которое бот будет выполнять при появлении на свет (см. раздел "режимы игры" выше)
- theModeSubject: Если theMode "преследует " или" следует", этот аргумент необходим, чтобы сообщить боту, какого противника преследовать или за каким товарищем по команде следовать
setBotHunt
Заставляет бота путешествовать по путям до тех пор, пока он не найдет врага или товарища по команде
Syntax
bool setBotHunt ( element theBot )
Required Arguments
- theBot: Бот, на которого вы хотите охотиться
setBotWait
Заставляет бота стоять неподвижно до тех пор, пока в поле зрения не появится враг
Syntax
bool setBotWait ( element theBot )
Required Arguments
- theBot: Бот, которого вы хотите подождать
setBotChase
makes the bot attack an anemy bot or player
Syntax
bool setBotChase ( element theBot, element theTarget )
Required Arguments
- theBot: Бот, который будет преследовать
- theTarget: Бот или игрок, которого будет преследовать
setBotFollow
Заставляет бота следовать за ботом тимейтом или игроком
Syntax
bool setBotFollow( element theBot, element theTarget )
Required Arguments
- theBot: Бот, который будет следовать
- theTarget: Бот или игрок, за которым будет следовать
setBotGuard
makes the bot move to the specific coords and stay there while attacking any enemies Заставляет ходить бота по специальным координатам и не уходить во время атаки
Syntax
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )
Required Arguments
- theBot: Бот, который будет охранять
- x: x координата спавна бота
- y: y координата спавна бота
- z: z координата спавна бота
Optional Arguments
- priority: Установите true только, если вы хотите, чтобы бот стрелял только после того, как он достиг места для охраны
getBotTeam
Возвращает команду, в которой находится бот, false, если команды нет.
Syntax
string getBotTeam ( element theBot)
Required Arguments
- theBot: Бот которого хотите проверить команду
setBotTeam
Изменяет команду и лояльность бота
Syntax
bool setBotTeam ( element theBot, team theTeam )
Required Arguments
- theBot: Бот у которого хотите изменить команду
- theTeam: Команда к которой примкнёт бот
getBotAttackEnabled
Возвращает true, если разрешено атаковать, иначе false.
Syntax
bool getBotAttackEnabled( element theBot)
Required Arguments
- theBot: Бот у которого хотите узнать разрешено ли атаковать
setBotAttackEnabled
Разрешает или запрещает атаку
Syntax
bool setBotAttackEnabled( element theBot, bool enabled)
Required Arguments
- theBot: Бот которому изменим разрешение
- enabled: True, если бот должен атаковать.
getBotMode
возвращает режим котором находится бот ("chasing", "waiting", "guarding", "hunting", "following"), или, если бот преследует или следует, он вернет режим и цель
Syntax
string getBotMode( element theBot)
Required Arguments
- theBot: Бот у которого хотите проверить статус
isPedBot
Возвращает true если ped является ботом. False, если не является.
Syntax
bool isPedbot( element thePed)
Required Arguments
- thePed: Ped, которого вы хотите проверить бот он или нет.
setBotWeapon
Выдаёт оружие боту по айди (патроны не ограничены)
Syntax
bool setBotWeapon( element theBot, float weapon)
Required Arguments
- theBot: Бот, которому собираетесь выдать оружие
- weapon: id оружия для выдачи
Авторство
- Slothman: Создатель бота, главный скриптер
- Gamesnert: Создатель EDF, скриптинг, тестировщик
- Dragon: Создатель режима игры, тестировщик, помощь в скриптинге.
- EvGeniz: Раннее тестирование, маппинг
- DriftDj: Перевёл страницу на русский
Спасибо всем остальным, кто внес предложения, протестировал сценарий, помог, когда я застрял, и т.д