RU/Slothbot: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
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
*"hunting" - '''("рус. Охота")''' бот следует по указанному пути и выискивает врага.
leader:: Союзник за которым следует sloth-бот.
*"waiting" - '''("рус. Выжидание")''' бот стоит на месте пока в поле его зрения не появится враг.
*"guarding" - '''("рус. Охрана")''' бот не двигается с места и атакует врага если тот находится в поле его зрения.
*"following" - '''("рус. Следование")''' бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.  
*"chasing" - '''("рус. Преследование")''' бот преследует врага и атакует его.


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


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


=События Сервера=
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ом случае "следование за.."


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


The [[event system#Event source|source]] of this event is the Bot that has found an enemy
setBotWaitЗаставляет бота стоять на месте, пока враг товарища по команде не попадает в поле зрения.bool setBotWait ( element theBot )
theBot: Бот будет ждать.


==onBotWasted==
setBotChaseЗаставляет бота атаковать вражеского бота или игрока.bool setBotChase ( element theBot, element theTarget )
Это условие вызывается когда бот умирает.
theBot: Заставляет бота начать преследование врага.
theTarget: Бот или игрок начинает преследование.setBotFollowЗаставляет бота следовать за дружеским игроком или ботом.bool setBotFollow( element theBot, element theTarget )
theBot: Бот.
theTarget: Бот или игрок за которым нужно следовать.


<big>'''Parameters'''</big>
setBotGuardЗаставляет бота перейти к конкретным координатам и оставаться там во время нападения любых врагов.bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )
<syntaxhighlight lang="lua">
theBot: Бот
element attacker, float weapon, float bodypart
x: Координаты по оси X где бот будет охранять
</syntaxhighlight>
y: Координаты по оси Y где бот будет охранять
*'''attacker''': Игрок/Бот/Элемент убивший sloth-бота.
z: Координаты по оси Z где бот будет охранять
*'''weapon''': Орудие убийства.
priority: Бот будет атаковать врагов оружием
*'''bodypart''': Часть тела в которую sloth-бот был убит.
<big>'''Source'''</big>


The [[event system#Event source|source]] of this event is the Bot that died
getBotTeamПолучает команду бота.string getBotTeam ( element theBot)
theBot: Бот


==onBotSpawned==
setBotTeamЗадает команду бота.bool setBotTeam ( element theBot, team theTeam )
Это условие вызывается когда бот возраждается.
theBot: Бот
theTeam: Команда к которой должен присоединится бот


<big>'''Source'''</big>
getBotAttackEnabledВозвращает true если бот начал атаковать, иначе false.bool getBotAttackEnabled( element theBot)
The [[event system#Event source|source]] of this event is the Bot that spawned
theBot: Бот


==onBotFollow==
setBotAttackEnabledВключить или отключить атаку бота.bool setBotAttackEnabled( element theBot, bool enabled)
Это условие вызывается когда бот следует за союзником.
theBot: Бот
enabled: false - Отключить. true - Включить.


<big>'''Parameters'''</big>
getBotModeПолучает тип бота ("chasing", "waiting", "guarding", "hunting", "following").string getBotMode( element theBot)
<syntaxhighlight lang="lua">
Типы игры ботов:
element leader
"hunting" - ("Охота") бот следует по указанному пути и выискивает врага.
</syntaxhighlight>
"waiting" - ("Выжидание") бот стоит на месте пока в поле его зрения не появится враг.
*'''leader''': Союзник за которым следует sloth-бот
"guarding" - ("Охрана") бот не двигается с места и атакует врага если тот находится в поле его зрения.
<big>'''Source'''</big>
"following" - ("Следование") бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.
"chasing" - ("Преследование") бот преследует врага и атакует его.
theBot: Бот


The [[event system#Event source|source]] of this event is the Bot that starts following a teammate
isPedBotВозвращает true если пед является ботом, иначе false.bool ispedbot( element thePed)
thePed: Бот которого нужно "проверить".


=Функции Сервера=
setBotWeaponДает оружие боту.bool setBotWeapon( element theBot, float weapon)
Все эти функции должны быть использованы посредством вызова функции([[call]]), иначе они не будут работать
theBot: Бот
 
==spawnBot==
Эта функция создает бота в игре, вернется элемент бот или ложный, если была проблема.
 
<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>'''Необходимые аргументы'''</big>
*'''x:''' Координата спавна бота по X
*'''y:''' Координата спавна бота по Y
*'''z:''' Координата спавна бота по Z
*'''rotation:''' "Поворот" спавна бота
 
<big>'''Необязательные аргументы'''</big>
*'''skinID:''' ID скина бота
*'''interior:''' Интерьер в котором бот "заспавнится"
*'''dimension:''' The ID of the [[dimension]] that the bot should be in
*'''theTeam:''' Команда в которую бот "войдет"
*'''weapon:''' Оружие которое бот будет "носить"
*'''theMode:''' Действие которое бот будет выполнять, когда "заспавнился" (см. "Режимы игры" [http://wiki.multitheftauto.com/wiki/RU/Slothbot#.D0.9E.D1.81.D0.BE.D0.B1.D0.B5.D0.BD.D0.BD.D0.BE.D1.81.D1.82.D0.B8] )
*'''theModeSubject:''' Если режим "погоня" или "следование за.." этим аргументом необходимо сказать, что бот преследует противника(в 1ом случае "погоня") или товарища по команде(во 2ом случае "следование за.."
 
==setBotHunt==
Заставляет бота следовать по "путям" пока не найдет противника или товарища по команде
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotHunt ( element theBot )
</syntaxhighlight>
 
<big>'''Необходимые аргументы'''</big>
*'''theBot:''' Бот будет "хотеть охотиться"
 
==setBotWait==
Заставляет бота стоять на месте, пока враг товарища по команде не попадает в поле зрения
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotWait ( element theBot )
</syntaxhighlight>
 
<big>'''Required Arguments'''</big>
*'''theBot:''' Бот будет "хотеть" ждать
 
==setBotChase==
Заставляет бота атаковать вражеского бота или игрока
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotChase ( element theBot, element theTarget )
</syntaxhighlight>
 
<big>'''Необходимые аргументы'''</big>
*'''theBot:''' Заставляет бота начать преследование врага
*'''theTarget:''' Бот или игрок начинает преследование
 
==setBotFollow==
Заставляет бота следовать за дружеским игроком или ботом
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotFollow( element theBot, element theTarget )
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' Бот который будет преследовать цель.
*'''theTarget:''' Цель которую будет преследовать указанный бот
 
==setBotGuard==
Отправляет бота на позицию и заставляет его защищать ее атакуя всех подряд
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to do the guarding
*'''x:''' The X coords you want the bot to guard
*'''y:''' The Y coords you want the bot to guard
*'''z:''' The Z coords you want the bot to guard
 
<big>'''Опциональные Аргументы'''</big>
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard
 
==getBotTeam==
Возвращает (true) если бот в комманде или же (false) если комманды нет.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
string getBotTeam ( element theBot)
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' Проверят в какой комманде находится бот
 
==setBotTeam==
Переводит бота в другую комманду.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotTeam ( element theBot, team theTeam )
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' Бот которому вы хотите изменить комманду
*'''theTeam:''' Комманда к которой должен присоединиться бот
 
==getBotAttackEnabled==
Возвращает (true) если бот может атаковать, (false) в другом случае.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool getBotAttackEnabled( element theBot)
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' Бот у которого вы хотите проверить возможность атаки.
 
==setBotAttackEnabled==
Включает или выключает возможность бота атаковать (press fire)
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotAttackEnabled( element theBot, bool enabled)
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' Бот которому вы устанавливаете возможность атаки
*'''enabled:''' Выкл (false) не дает боту атаковать, вкл (true) разрешает боту атаку
 
==getBotMode==
Возвращает статус бота ("chasing" -- преследование, "waiting" -- ожидание, "guarding" -- охрана, "hunting" -- охота, "following" -- следование) если бот преследует кого-то или следует за вами, будет возвращен статус и цель.
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
string getBotMode( element theBot)
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' Бот чей статус вы хотите проверить.
 
==isPedBot==
Возвращает true если пед -- бот,в других случаях false
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool ispedbot( element thePed)
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''thePed:''' Проверка, являеться ли пед, ботом.
 
==setBotWeapon==
Устанавлевает боту оружие с указанным ID (патроны бесконечны)
 
<big>'''Syntax'''</big>
<syntaxhighlight lang="lua">
bool setBotWeapon( element theBot, float weapon)
</syntaxhighlight>
 
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' Бот которому вы выдаете оружие
*'''weapon:''' ID оружия который вы хотите дать боту
 
=Credits=
*'''Slothman:''' Bot creator, main scripter
*'''Gamesnert:''' EDF creator, scripting, testing
*'''Dragon:''' Gamemode creator, testing, scripting help
*'''EvGeniz:''' early testing, mapping
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''
[[Category:RU/Resource]]
[[Category:RU/Resource]]


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

Revision as of 21:42, 4 May 2015

Warning.png

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

Особенности

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

Типы игры ботов: "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-бот.

Функции Сервера

Примечание: Все эти функции должны быть использованы посредством вызова функции(call), иначе они не будут работать.

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: "Поворот" спавна бота

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

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

setBotWaitЗаставляет бота стоять на месте, пока враг товарища по команде не попадает в поле зрения.bool setBotWait ( element theBot ) theBot: Бот будет ждать.

setBotChaseЗаставляет бота атаковать вражеского бота или игрока.bool setBotChase ( element theBot, element theTarget ) 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 ] ) theBot: Бот x: Координаты по оси X где бот будет охранять y: Координаты по оси Y где бот будет охранять z: Координаты по оси Z где бот будет охранять priority: Бот будет атаковать врагов оружием

getBotTeamПолучает команду бота.string getBotTeam ( element theBot) theBot: Бот

setBotTeamЗадает команду бота.bool setBotTeam ( element theBot, team theTeam ) theBot: Бот theTeam: Команда к которой должен присоединится бот

getBotAttackEnabledВозвращает true если бот начал атаковать, иначе false.bool getBotAttackEnabled( element theBot) theBot: Бот

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

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

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

setBotWeaponДает оружие боту.bool setBotWeapon( element theBot, float weapon) theBot: Бот