RU/Slothbot: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(12 intermediate revisions by 2 users not shown)
Line 2: Line 2:


{{translate|ru}}
{{translate|ru}}
Особенности


Командная игра: Бот способен отличать врага от союзника.
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).
Навигация по карте: Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.
Агрессивность: Эти боты атакуют игроков и ботов состоящих в других командах.
Кооператив: При обнаружении союзника, боты могут автоматически объединяться в команду с ним.
Подвижность и ловкость: Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.


Типы игры ботов:
=Особенности=
"hunting" - ("Охота") бот следует по указанному пути и выискивает врага.
'''Командная игра:'''
"waiting" - ("Выжидание") бот стоит на месте пока в поле его зрения не появится враг.
Бот способен отличать врага от союзника.
"guarding" - ("Охрана") бот не двигается с места и атакует врага если тот находится в поле его зрения.
"following" - ("Следование") бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.
"chasing" - ("Преследование") бот преследует врага и атакует его.
Игровой режим/Объединение скрипта: Этот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.
EDF путь для создания карты: Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.


События Сервера
'''Навигация по карте:'''
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.


onBotFindEnemyЭто условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.element enemy
'''Агрессивность:'''
enemy: Игрок или бот являющийся врагом.
Эти боты атакуют игроков и ботов состоящих в других командах.


onBotWastedЭто условие вызывается когда бот умирает.element attacker, float weapon, float bodypart
'''Кооператив:'''
attacker: Игрок/Бот/Элемент убивший sloth-бота.
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.
weapon: Орудие убийства.
bodypart: Часть тела в которую sloth-бот был убит.


onBotSpawnedЭто условие вызывается когда бот возрождается.
'''Подвижность и ловкость:'''
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.


onBotFollowЭто условие вызывается когда бот следует за союзником.element leader
'''Типы игры ботов:'''
leader:: Союзник за которым следует sloth-бот.
*"hunting" - ("Охота") бот следует по указанному пути и выискивает врага.
*"waiting" - ("Выжидание") бот стоит на месте пока в поле его зрения не появится враг.
*"guarding" - ("Охрана") бот не двигается с места и атакует врага если тот находится в поле его зрения.
*"following" - ("Следование") бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.
*"chasing" - ("Преследование") бот преследует врага и атакует его.


Функции Сервера
'''Игровой режим/Объединение скрипта:'''
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.


Примечание: Все эти функции должны быть использованы посредством вызова функции(call), иначе они не будут работать.
'''EDF путь для создания карты:'''
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.


spawnBotЭта функция создает бота в игре.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 ] )
=События Сервера=
Обязательные аргументы:
x: Координата спавна бота по X
y: Координата спавна бота по Y
z: Координата спавна бота по Z
rotation: "Поворот" спавна бота


Необязательные аргументы:
==onBotFindEnemy==
skinID: ID скина бота
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.
interior: Интерьер в котором бот "заспавнится"
dimension: Размер, величина
theTeam: Команда в которую бот "войдет"
weapon: Оружие которое бот будет "носить"
theMode: Действие которое бот будет выполнять, когда "заспавнился"
theModeSubject: Если режим "погоня" или "следование за.." этим аргументом необходимо сказать, что бот преследует противника(в 1ом случае "погоня") или товарища по команде(во 2ом случае "следование за.."


setBotHuntЗаставляет бота следовать по "путям" пока не найдет противника или товарища по команде.bool setBotHunt ( element theBot )
theBot: Бот будет "охотиться".


setBotWaitЗаставляет бота стоять на месте, пока враг товарища по команде не попадает в поле зрения.bool setBotWait ( element theBot )
<big>'''Параметры'''</big>
theBot: Бот будет ждать.
<syntaxhighlight lang="lua">
element enemy
</syntaxhighlight>
*'''enemy''': Игрок или бот являющийся врагом.
<big>'''Source'''</big>


setBotChaseЗаставляет бота атаковать вражеского бота или игрока.bool setBotChase ( element theBot, element theTarget )
[[Event system#Event source|source]] этого события является бот, который нашел врага
theBot: Заставляет бота начать преследование врага.
theTarget: Бот или игрок начинает преследование.setBotFollowЗаставляет бота следовать за дружеским игроком или ботом.bool setBotFollow( element theBot, element theTarget )
theBot: Бот.
theTarget: Бот или игрок за которым нужно следовать.


setBotGuardЗаставляет бота перейти к конкретным координатам и оставаться там во время нападения любых врагов.bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )
==onBotWasted==
theBot: Бот
Это срабатывает, когда бот убит.
x: Координаты по оси X где бот будет охранять
y: Координаты по оси Y где бот будет охранять
z: Координаты по оси Z где бот будет охранять
priority: Бот будет атаковать врагов оружием


getBotTeamПолучает команду бота.string getBotTeam ( element theBot)
<big>'''Параметры'''</big>
theBot: Бот
<syntaxhighlight lang="lua">
element attacker, float weapon, float bodypart
</syntaxhighlight>
*'''attacker''': Элемент, который убил бота
*'''weapon''': Идентификатор оружия, используемого для убийства бота
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота
<big>'''Source'''</big>


setBotTeamЗадает команду бота.bool setBotTeam ( element theBot, team theTeam )
[[Event system#Event source|source]] этого события является бот, который умер
theBot: Бот
theTeam: Команда к которой должен присоединится бот


getBotAttackEnabledВозвращает true если бот начал атаковать, иначе false.bool getBotAttackEnabled( element theBot)
==onBotSpawned==
theBot: Бот
Срабатывает, когда появляется бот.


setBotAttackEnabledВключить или отключить атаку бота.bool setBotAttackEnabled( element theBot, bool enabled)
<big>'''Source'''</big>
theBot: Бот
enabled: false - Отключить. true - Включить.


getBotModeПолучает тип бота ("chasing", "waiting", "guarding", "hunting", "following").string getBotMode( element theBot)
[[Event system#Event source|source]] этого события является бот, который спавнился.
Типы игры ботов:
"hunting" - ("Охота") бот следует по указанному пути и выискивает врага.
"waiting" - ("Выжидание") бот стоит на месте пока в поле его зрения не появится враг.
"guarding" - ("Охрана") бот не двигается с места и атакует врага если тот находится в поле его зрения.
"following" - ("Следование") бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.
"chasing" - ("Преследование") бот преследует врага и атакует его.
theBot: Бот


isPedBotВозвращает true если пед является ботом, иначе false.bool ispedbot( element thePed)
==onBotFollow==
thePed: Бот которого нужно "проверить".
Срабатывает, когда бот начинает следовать за товарищем по команде


setBotWeaponДает оружие боту.bool setBotWeapon( element theBot, float weapon)
<big>'''Параметры'''</big>
theBot: Бот
<syntaxhighlight lang="lua">
[[Category:RU/Resource]]
element leader
</syntaxhighlight>
*'''leader''': Игрок или Ped бот начал следовать за ним
<big>'''Source'''</big>
 
[[Event system#Event source|source]] этого события является бот, который начинает следовать за товарищем по команде
 
=Серверные функции =
Все эти функции используют [[call]] функцию, иначе не будут работать
 
==spawnBot==
Эта функция создаёт бота в игре, возвращает элемент bot или false, если возникла проблема.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
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 ] )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''x:''' x координата спавна бота
*'''y:''' y координата спавна бота
*'''z:''' z координата спавна бота
*'''rotation:''' Ротация бота на спавне
 
<big>'''Optional Arguments'''</big>
*'''skinID:''' Скин бота при спавне
*'''interior:''' Интерьер, в котором появится бот
*'''dimension:''' Идентификатор [[dimension]] - измерения, в котором должен находиться бот
*'''theTeam:''' Команда к которой присоединится бот
*'''weapon:''' Оружие, которое будет носить пед
*'''theMode:''' Действие, которое бот будет выполнять при появлении на свет (см. раздел "режимы игры" выше)
*'''theModeSubject:''' Если theMode "преследует " или" следует", этот аргумент необходим, чтобы сообщить боту, какого противника преследовать или за каким товарищем по команде следовать
 
==setBotHunt==
Заставляет бота путешествовать по путям до тех пор, пока он не найдет врага или товарища по команде
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotHunt ( element theBot )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот, на которого вы хотите охотиться
 
==setBotWait==
Заставляет бота стоять неподвижно до тех пор, пока в поле зрения не появится враг
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotWait ( element theBot )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот, которого вы хотите подождать
 
==setBotChase==
makes the bot attack an anemy bot or player
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotChase ( element theBot, element theTarget )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот, который будет преследовать
*'''theTarget:''' Бот или игрок, которого будет преследовать
 
==setBotFollow==
Заставляет бота следовать за ботом тимейтом или игроком
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotFollow( element theBot, element theTarget )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот, который будет следовать
*'''theTarget:''' Бот или игрок, за которым будет следовать
 
==setBotGuard==
makes the bot move to the specific coords and stay there while attacking any enemies
Заставляет ходить бота по специальным координатам и не уходить во время атаки
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот, который будет охранять
*'''x:''' x координата спавна бота
*'''y:''' y координата спавна бота
*'''z:''' z координата спавна бота
 
<big>'''Optional Arguments'''</big>
*'''priority:''' Установите true только, если вы хотите, чтобы бот стрелял только после того, как он достиг места для охраны
 
==getBotTeam==
Возвращает команду, в которой находится бот, false, если команды нет.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
string getBotTeam ( element theBot)
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот которого хотите проверить команду
 
==setBotTeam==
Изменяет команду и лояльность бота
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotTeam ( element theBot, team theTeam )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот у которого хотите изменить команду
*'''theTeam:''' Команда к которой примкнёт бот
 
==getBotAttackEnabled==
Возвращает true, если разрешено атаковать, иначе false.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool getBotAttackEnabled( element theBot)
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот у которого хотите узнать разрешено ли атаковать
 
==setBotAttackEnabled==
Разрешает или запрещает атаку
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotAttackEnabled( element theBot, bool enabled)
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот которому изменим разрешение
*'''enabled:''' True, если бот должен атаковать.
 
==getBotMode==
возвращает режим котором находится бот ("chasing", "waiting", "guarding", "hunting", "following"), или, если бот преследует или следует, он вернет режим и цель
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
string getBotMode( element theBot)
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот у которого хотите проверить статус
 
==isPedBot==
Возвращает true если ped является ботом. False, если не является.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool isPedbot( element thePed)
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''thePed:''' Ped, которого вы хотите проверить бот он или нет.
 
==setBotWeapon==
Выдаёт оружие боту по айди (патроны не ограничены)
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotWeapon( element theBot, float weapon)
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот, которому собираетесь выдать оружие
*'''weapon:''' id оружия для выдачи
 
=Авторство=
*'''Slothman:''' Создатель бота, главный скриптер
*'''Gamesnert:''' Создатель EDF, скриптинг, тестировщик
*'''Dragon:''' Создатель режима игры, тестировщик, помощь в скриптинге.
*'''EvGeniz:''' Раннее тестирование, маппинг
*'''DriftDj:''' Перевёл страницу на русский
'''Спасибо всем остальным, кто внес предложения, протестировал сценарий, помог, когда я застрял, и т.д'''
 
[[Category:Resource]]


[[en:Slothman/Slothbot]]
[[en:Slothman/Slothbot]]

Latest revision as of 19:20, 5 June 2021

Warning.png

Статью необходимо перевести на русский язык. Если страница не будет переведена в разумные сроки, она будет удалена.


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

Особенности

Командная игра: Бот способен отличать врага от союзника.

Навигация по карте: Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.

Агрессивность: Эти боты атакуют игроков и ботов состоящих в других командах.

Кооператив: При обнаружении союзника, боты могут автоматически объединяться в команду с ним.

Подвижность и ловкость: Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.

Типы игры ботов:

  • "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: Перевёл страницу на русский

Спасибо всем остальным, кто внес предложения, протестировал сценарий, помог, когда я застрял, и т.д