RU/Slothbot: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 148: Line 148:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot that you want to do the following
*'''theBot:''' Бот который будет преследовать цель.
*'''theTarget:''' The bot or player you want to be followed
*'''theTarget:''' Цель которую будет преследовать указанный бот


==setBotGuard==
==setBotGuard==
makes the bot move to the specific coords and stay there while attacking any enemies
Отправляет бота на позицию и заставляет его защищать ее атакуя всех подряд


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 160: Line 160:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to do the guarding
*'''theBot:''' The bot you want to do the guarding
*'''x:''' The X coords you want the bot to guard
*'''x:''' The X coords you want the bot to guard
Line 166: Line 166:
*'''z:''' The Z coords you want the bot to guard
*'''z:''' The Z coords you want the bot to guard


<big>'''Optional Arguments'''</big>
<big>'''Опциональные Аргументы'''</big>
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard


==getBotTeam==
==getBotTeam==
returns the Team the bot is on, false if no team
Возвращает (true) если бот в комманде или же (false) если комманды нет.


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 177: Line 177:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to check the team of
*'''theBot:''' Проверят в какой комманде находится бот


==setBotTeam==
==setBotTeam==
changes the bot's team and loyalties
Переводит бота в другую комманду.


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 188: Line 188:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to change the team of
*'''theBot:''' Бот которому вы хотите изменить комманду
*'''theTeam:''' The team the bot should join
*'''theTeam:''' Комманда к которой должен присоединиться бот


==getBotAttackEnabled==
==getBotAttackEnabled==
returns true if the bot is allowed to attack, false otherwise
Возвращает (true) если бот может атаковать, (false) в другом случае.


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 200: Line 200:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to check if it can atack
*'''theBot:''' Бот у которого вы хотите проверить возможность атаки.


==setBotAttackEnabled==
==setBotAttackEnabled==
allow or disallow the bot to attack (press fire)
Включает или выключает возможность бота атаковать (press fire)


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 211: Line 211:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to set if it can atack
*'''theBot:''' Бот которому вы устанавливаете возможность атаки
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it
*'''enabled:''' Выкл (false) не дает боту атаковать, вкл (true) разрешает боту атаку


==getBotMode==
==getBotMode==
returns the mode the bot is in ("chasing", "waiting", "guarding", "hunting", "following") or if the bot is chasing or following, it will return the mode and the target
Возвращает статус бота ("chasing" -- преследование, "waiting" -- ожидание, "guarding" -- охрана, "hunting" -- охота, "following" -- следование) если бот преследует кого-то или следует за вами, будет возвращен статус и цель.


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 223: Line 223:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to check the status of
*'''theBot:''' Бот чей статус вы хотите проверить.


==isPedBot==
==isPedBot==
returns true if the ped is a bot, false otherwise
Возвращает true если пед -- бот,в других случаях false


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 234: Line 234:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''thePed:''' The ped you want to check if its a bot
*'''thePed:''' Проверка, являеться ли пед, ботом.


==setBotWeapon==
==setBotWeapon==
sets the bot's weapon id (ammo is always infinite)
Устанавлевает боту оружие с указанным ID (патроны бесконечны)


<big>'''Syntax'''</big>
<big>'''Syntax'''</big>
Line 245: Line 245:
</syntaxhighlight>
</syntaxhighlight>


<big>'''Required Arguments'''</big>
<big>'''Необходимые Аргументы'''</big>
*'''theBot:''' The bot you want to set the weapon of
*'''theBot:''' Бот которому вы выдаете оружие
*'''weapon:''' the weapon id you want to give the bot
*'''weapon:''' ID оружия который вы хотите дать боту


=Credits=
=Credits=

Revision as of 06:32, 19 January 2015

Warning.png

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

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


Особенности

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

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

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

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

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

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

  • "hunting" - ("рус. Охота") бот следует по указанному пути и выискивает врага.
  • "waiting" - ("рус. Выжидание") бот стоит на месте пока в поле его зрения не появится враг.
  • "guarding" - ("рус. Охрана") бот не двигается с места и атакует врага если тот находится в поле его зрения.
  • "following" - ("рус. Следование") бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.
  • "chasing" - ("рус. Преследование") бот преследует врага и атакует его.

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

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

События Сервера

onBotFindEnemy

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

Параметры

element enemy
  • enemy: Игрок или бот являющийся врагом

Source

The source of this event is the Bot that has found an enemy

onBotWasted

Это условие вызывается когда бот умирает.

Parameters

element attacker, float weapon, float bodypart
  • attacker: Игрок/Бот/Элемент убивший sloth-бота.
  • weapon: Орудие убийства.
  • bodypart: Часть тела в которую sloth-бот был убит.

Source

The source of this event is the Bot that died

onBotSpawned

Это условие вызывается когда бот возраждается.

Source The source of this event is the Bot that spawned

onBotFollow

Это условие вызывается когда бот следует за союзником.

Parameters

element leader
  • leader: Союзник за которым следует sloth-бот

Source

The source of this event is the Bot that starts following a teammate

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

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

spawnBot

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

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 ] )

Необходимые аргументы

  • x: Координата спавна бота по X
  • y: Координата спавна бота по Y
  • z: Координата спавна бота по Z
  • rotation: "Поворот" спавна бота

Необязательные аргументы

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

setBotHunt

Заставляет бота следовать по "путям" пока не найдет противника или товарища по команде

Syntax

bool setBotHunt ( element theBot )

Необходимые аргументы

  • theBot: Бот будет "хотеть охотиться"

setBotWait

Заставляет бота стоять на месте, пока враг товарища по команде не попадает в поле зрения

Syntax

bool setBotWait ( element theBot )

Required Arguments

  • theBot: Бот будет "хотеть" ждать

setBotChase

Заставляет бота атаковать вражеского бота или игрока

Syntax

bool setBotChase ( element theBot, element theTarget )

Необходимые аргументы

  • theBot: Заставляет бота начать преследование врага
  • theTarget: Бот или игрок начинает преследование

setBotFollow

Заставляет бота следовать за дружеским игроком или ботом

Syntax

bool setBotFollow( element theBot, element theTarget )

Необходимые Аргументы

  • theBot: Бот который будет преследовать цель.
  • theTarget: Цель которую будет преследовать указанный бот

setBotGuard

Отправляет бота на позицию и заставляет его защищать ее атакуя всех подряд

Syntax

bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )

Необходимые Аргументы

  • 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

Опциональные Аргументы

  • priority: Set to true only if you want the bot to only shoot once it has reached the location to guard

getBotTeam

Возвращает (true) если бот в комманде или же (false) если комманды нет.

Syntax

string getBotTeam ( element theBot)

Необходимые Аргументы

  • theBot: Проверят в какой комманде находится бот

setBotTeam

Переводит бота в другую комманду.

Syntax

bool setBotTeam ( element theBot, team theTeam )

Необходимые Аргументы

  • theBot: Бот которому вы хотите изменить комманду
  • theTeam: Комманда к которой должен присоединиться бот

getBotAttackEnabled

Возвращает (true) если бот может атаковать, (false) в другом случае.

Syntax

bool getBotAttackEnabled( element theBot)

Необходимые Аргументы

  • theBot: Бот у которого вы хотите проверить возможность атаки.

setBotAttackEnabled

Включает или выключает возможность бота атаковать (press fire)

Syntax

bool setBotAttackEnabled( element theBot, bool enabled)

Необходимые Аргументы

  • theBot: Бот которому вы устанавливаете возможность атаки
  • enabled: Выкл (false) не дает боту атаковать, вкл (true) разрешает боту атаку

getBotMode

Возвращает статус бота ("chasing" -- преследование, "waiting" -- ожидание, "guarding" -- охрана, "hunting" -- охота, "following" -- следование) если бот преследует кого-то или следует за вами, будет возвращен статус и цель.

Syntax

string getBotMode( element theBot)

Необходимые Аргументы

  • theBot: Бот чей статус вы хотите проверить.

isPedBot

Возвращает true если пед -- бот,в других случаях false

Syntax

bool ispedbot( element thePed)

Необходимые Аргументы

  • thePed: Проверка, являеться ли пед, ботом.

setBotWeapon

Устанавлевает боту оружие с указанным ID (патроны бесконечны)

Syntax

bool setBotWeapon( element theBot, float weapon)

Необходимые Аргументы

  • 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