<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baloo+Pro</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baloo+Pro"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Baloo_Pro"/>
	<updated>2026-04-28T21:53:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawMaterialLine3D&amp;diff=73119</id>
		<title>DxDrawMaterialLine3D</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawMaterialLine3D&amp;diff=73119"/>
		<updated>2021-12-07T21:48:45Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function draws a textured 3D line between two points in the 3D world - rendered for one frame.  This should be used in conjunction with [[onClientPreRender]] in order to display continuously.&lt;br /&gt;
&lt;br /&gt;
The 3D line with a large width value effectively becomes a rectangle, so it it possible to construct basic shapes such as boxes with several large width lines and the appropriate values for 'faceToward'.&lt;br /&gt;
&lt;br /&gt;
3D lines are drawn at a particular place in the [[Game_Processing_Order|game processing order]], so use [[onClientPreRender]] for drawing if you are attaching them to world elements.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawMaterialLine3D ( float startX, float startY, float startZ, float endX, float endY, float endZ, [ bool flipUV = false, ] element material, float width,&lt;br /&gt;
                          [ int color = white, [ bool postGUI = false, ] float faceTowardX, float faceTowardY, float faceTowardZ ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
* '''startX/Y/Z:''' The start position of the 3D line, representing a coordinate in the GTA world.&lt;br /&gt;
* '''endX/Y/Z:''' The end position of the 3D line, representing a coordinate in the GTA world.&lt;br /&gt;
* '''material:''' A [[material]] to draw the line with.&lt;br /&gt;
* '''width:''' The width/thickness of the line in GTA world units. (This is 1/75th of the width used in dxDrawLine3D)&lt;br /&gt;
&lt;br /&gt;
==Optional Arguments==&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20862|&lt;br /&gt;
* '''flipUV''': A bool representing whether a UV orientation should be flipped.&lt;br /&gt;
}}&lt;br /&gt;
* '''color:''' An [[int|integer]] of the hex color, produced using [[tocolor]] or 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue).&lt;br /&gt;
* '''postGUI''': A bool representing whether the line should be drawn on top of or behind any ingame GUI.&lt;br /&gt;
* '''faceTowardX/Y/Z:''' The position the front of the line should face towards. If this is not set, the camera position is used, so the front of the line faces toward the camera.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a ''true'' if the operation was successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Draws [[:File:DxDrawMaterialLine3D-example.png|an image]] in coordiantes -2422.68555, -608.78986, 132.56250:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local redcircle = dxCreateTexture(&amp;quot;red.png&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
x,y,z = -2422.68555, -608.78986, 132.56250&lt;br /&gt;
&lt;br /&gt;
size = 1&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, root, function()&lt;br /&gt;
    dxDrawMaterialLine3D(x+size, y+size, z-0.95, x-size, y-size, z-0.95, redcircle, size*2,tocolor(255, 255, 255, 255), false, x, y, z)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3.0-9.03931|}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.5-9.11998|Added ''postGUI'' argument}}&lt;br /&gt;
{{ChangelogItem|1.5.8-9.20862|Added ''flipUV'' argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DgsCreateNineSlice&amp;diff=67372</id>
		<title>DgsCreateNineSlice</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DgsCreateNineSlice&amp;diff=67372"/>
		<updated>2020-09-03T12:33:18Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
&lt;br /&gt;
This function creates a nine-slice scaler.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element dgsCreateNineSlice( element texture, float gridXLeft, float gridXRight, float gridYTop, float gridYBottom [, bool relative = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Image:DGS_Nine_Slice.png|300px|thumb|Nine Slice Scaling]]&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''texture:''' A texture element that you want to scale.&lt;br /&gt;
*'''gridXLeft:''' A float of the position of left grid, depends of by '''relative'''&lt;br /&gt;
*'''gridXRight:''' A float of the position of right grid, depends of by '''relative'''&lt;br /&gt;
*'''gridYTop:''' A float of the position of top grid, depends of by '''relative'''&lt;br /&gt;
*'''gridYBottom:''' A float of the position of bottom grid, depends of by '''relative'''&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''relative:''' A bool of whether the position of grid is ranging from 0 to 1 or just absolute pixels&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a dgs-dxnineslice (DGS Plugin Type)[ dgs-dxcustomrenderer(Element Type) ] if succeed, ''false'' otherwise&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
DGS = exports.dgs --get exported functions from dgs&lt;br /&gt;
&lt;br /&gt;
yourTexture = dxCreateTexture(&amp;quot;yourTexture&amp;quot;)&lt;br /&gt;
nSlice = DGS:dgsCreateNineSlice( yourTexture, 0.2, 0.35, 0.2, 0.65, true )&lt;br /&gt;
Image = DGS:dgsCreateImage( 100, 200, 500, 450, nSlice, false )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{DGSFUNCTIONS}}&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65985</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65985"/>
		<updated>2020-04-23T14:18:25Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* setBotWait */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который нашел врага&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
Это срабатывает, когда бот начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': Игрок или Ped бот начал следовать за ним&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
Эта функция создаёт бота в игре, возвращает элемент bot или false, если возникла проблема.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' x координата спавна бота&lt;br /&gt;
*'''y:''' y координата спавна бота&lt;br /&gt;
*'''z:''' z координата спавна бота&lt;br /&gt;
*'''rotation:''' Ротация бота на спавне&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Скин бота при спавне&lt;br /&gt;
*'''interior:''' Интерьер, в котором появится бот&lt;br /&gt;
*'''dimension:''' Идентификатор [[dimension]] - измерения, в котором должен находиться бот&lt;br /&gt;
*'''theTeam:''' Команда к которой присоединится бот&lt;br /&gt;
*'''weapon:''' Оружие, которое будет носить пед&lt;br /&gt;
*'''theMode:''' Действие, которое бот будет выполнять при появлении на свет (см. раздел &amp;quot;режимы игры&amp;quot; выше)&lt;br /&gt;
*'''theModeSubject:''' Если theMode &amp;quot;преследует &amp;quot; или&amp;quot; следует&amp;quot;, этот аргумент необходим, чтобы сообщить боту, какого противника преследовать или за каким товарищем по команде следовать&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
заставляет бота путешествовать по путям до тех пор, пока он не найдет врага или товарища по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' Бот, на которого вы хотите охотиться&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
заставляет бота стоять неподвижно до тех пор, пока в поле зрения не появится враг&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' Бот, которого вы хотите подождать&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65984</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65984"/>
		<updated>2020-04-23T14:13:44Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* setBotHunt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который нашел врага&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
Это срабатывает, когда бот начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': Игрок или Ped бот начал следовать за ним&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
Эта функция создаёт бота в игре, возвращает элемент bot или false, если возникла проблема.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' x координата спавна бота&lt;br /&gt;
*'''y:''' y координата спавна бота&lt;br /&gt;
*'''z:''' z координата спавна бота&lt;br /&gt;
*'''rotation:''' Ротация бота на спавне&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Скин бота при спавне&lt;br /&gt;
*'''interior:''' Интерьер, в котором появится бот&lt;br /&gt;
*'''dimension:''' Идентификатор [[dimension]] - измерения, в котором должен находиться бот&lt;br /&gt;
*'''theTeam:''' Команда к которой присоединится бот&lt;br /&gt;
*'''weapon:''' Оружие, которое будет носить пед&lt;br /&gt;
*'''theMode:''' Действие, которое бот будет выполнять при появлении на свет (см. раздел &amp;quot;режимы игры&amp;quot; выше)&lt;br /&gt;
*'''theModeSubject:''' Если theMode &amp;quot;преследует &amp;quot; или&amp;quot; следует&amp;quot;, этот аргумент необходим, чтобы сообщить боту, какого противника преследовать или за каким товарищем по команде следовать&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
заставляет бота путешествовать по путям до тех пор, пока он не найдет врага или товарища по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' Бот, на которого вы хотите охотиться&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65983</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65983"/>
		<updated>2020-04-23T12:56:13Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* spawnBot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который нашел врага&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
Это срабатывает, когда бот начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': Игрок или Ped бот начал следовать за ним&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
Эта функция создаёт бота в игре, возвращает элемент bot или false, если возникла проблема.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' x координата спавна бота&lt;br /&gt;
*'''y:''' y координата спавна бота&lt;br /&gt;
*'''z:''' z координата спавна бота&lt;br /&gt;
*'''rotation:''' Ротация бота на спавне&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Скин бота при спавне&lt;br /&gt;
*'''interior:''' Интерьер, в котором появится бот&lt;br /&gt;
*'''dimension:''' Идентификатор [[dimension]] - измерения, в котором должен находиться бот&lt;br /&gt;
*'''theTeam:''' Команда к которой присоединится бот&lt;br /&gt;
*'''weapon:''' Оружие, которое будет носить пед&lt;br /&gt;
*'''theMode:''' Действие, которое бот будет выполнять при появлении на свет (см. раздел &amp;quot;режимы игры&amp;quot; выше)&lt;br /&gt;
*'''theModeSubject:''' Если theMode &amp;quot;преследует &amp;quot; или&amp;quot; следует&amp;quot;, этот аргумент необходим, чтобы сообщить боту, какого противника преследовать или за каким товарищем по команде следовать&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
заставляет бота путешествовать по путям до тех пор, пока он не найдет врага или товарища по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65982</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65982"/>
		<updated>2020-04-23T12:55:16Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* Server Functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который нашел врага&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
Это срабатывает, когда бот начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': Игрок или Ped бот начал следовать за ним&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
Эта функция создаёт бота в игре, возвращает элемент bot или false, если возникла проблема.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' x координата спавна бота&lt;br /&gt;
*'''y:''' y координата спавна бота&lt;br /&gt;
*'''z:''' z координата спавна бота&lt;br /&gt;
*'''rotation:''' Ротация бота на спавне&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Скин бота при спавне&lt;br /&gt;
*'''interior:''' Интерьер, в котором появится бот&lt;br /&gt;
*'''dimension:''' Идентификатор [[измерения]], в котором должен находиться бот&lt;br /&gt;
*'''theTeam:''' Команда к которой присоединится бот&lt;br /&gt;
*'''weapon:''' Оружие, которое будет носить пед&lt;br /&gt;
*'''theMode:''' Действие, которое бот будет выполнять при появлении на свет (см. раздел &amp;quot;режимы игры&amp;quot; выше)&lt;br /&gt;
*'''theModeSubject:''' Если theMode &amp;quot;преследует &amp;quot; или&amp;quot; следует&amp;quot;, этот аргумент необходим, чтобы сообщить боту, какого противника преследовать или за каким товарищем по команде следовать&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
заставляет бота путешествовать по путям до тех пор, пока он не найдет врага или товарища по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65981</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65981"/>
		<updated>2020-04-23T12:48:55Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* onBotFollow */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который нашел врага&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
Это срабатывает, когда бот начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': Игрок или Ped бот начал следовать за ним&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который начинает следовать за товарищем по команде&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
This function spawns a bot ingame, will return the bot element, or false if there was a problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' The x co-ordinate to spawn the bot at&lt;br /&gt;
*'''y:''' The y co-ordinate to spawn the bot at&lt;br /&gt;
*'''z:''' The z co-ordinate to spawn the bot at&lt;br /&gt;
*'''rotation:''' Rotation of the bot on spawn&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Bots skin on spawn&lt;br /&gt;
*'''interior:''' Interior the bot will spawn into&lt;br /&gt;
*'''dimension:''' The ID of the [[dimension]] that the bot should be in&lt;br /&gt;
*'''theTeam:''' The team the bot will join&lt;br /&gt;
*'''weapon:''' The weapon the ped will carry&lt;br /&gt;
*'''theMode:''' The action the bot will be performing when spawned (see &amp;quot;modes of playing&amp;quot; above)&lt;br /&gt;
*'''theModeSubject:''' If theMode is &amp;quot;chasing&amp;quot; or &amp;quot;following&amp;quot; this arg is needed to tell the bot what opponent to chase or teammate to follow&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
makes the bot travel pathways untill finding an enemy or teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65980</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65980"/>
		<updated>2020-04-23T12:47:30Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* onBotFindEnemy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который нашел врага&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
This triggers when a bot starts following a teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': The Player or Ped the bot has started following&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that starts following a teammate&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
This function spawns a bot ingame, will return the bot element, or false if there was a problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' The x co-ordinate to spawn the bot at&lt;br /&gt;
*'''y:''' The y co-ordinate to spawn the bot at&lt;br /&gt;
*'''z:''' The z co-ordinate to spawn the bot at&lt;br /&gt;
*'''rotation:''' Rotation of the bot on spawn&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Bots skin on spawn&lt;br /&gt;
*'''interior:''' Interior the bot will spawn into&lt;br /&gt;
*'''dimension:''' The ID of the [[dimension]] that the bot should be in&lt;br /&gt;
*'''theTeam:''' The team the bot will join&lt;br /&gt;
*'''weapon:''' The weapon the ped will carry&lt;br /&gt;
*'''theMode:''' The action the bot will be performing when spawned (see &amp;quot;modes of playing&amp;quot; above)&lt;br /&gt;
*'''theModeSubject:''' If theMode is &amp;quot;chasing&amp;quot; or &amp;quot;following&amp;quot; this arg is needed to tell the bot what opponent to chase or teammate to follow&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
makes the bot travel pathways untill finding an enemy or teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65979</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65979"/>
		<updated>2020-04-23T12:45:08Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* onBotSpawned */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that has found an enemy&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
This triggers when a bot starts following a teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': The Player or Ped the bot has started following&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that starts following a teammate&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
This function spawns a bot ingame, will return the bot element, or false if there was a problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' The x co-ordinate to spawn the bot at&lt;br /&gt;
*'''y:''' The y co-ordinate to spawn the bot at&lt;br /&gt;
*'''z:''' The z co-ordinate to spawn the bot at&lt;br /&gt;
*'''rotation:''' Rotation of the bot on spawn&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Bots skin on spawn&lt;br /&gt;
*'''interior:''' Interior the bot will spawn into&lt;br /&gt;
*'''dimension:''' The ID of the [[dimension]] that the bot should be in&lt;br /&gt;
*'''theTeam:''' The team the bot will join&lt;br /&gt;
*'''weapon:''' The weapon the ped will carry&lt;br /&gt;
*'''theMode:''' The action the bot will be performing when spawned (see &amp;quot;modes of playing&amp;quot; above)&lt;br /&gt;
*'''theModeSubject:''' If theMode is &amp;quot;chasing&amp;quot; or &amp;quot;following&amp;quot; this arg is needed to tell the bot what opponent to chase or teammate to follow&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
makes the bot travel pathways untill finding an enemy or teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65978</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65978"/>
		<updated>2020-04-23T12:44:31Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* onBotSpawned */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that has found an enemy&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
This triggers when a bot starts following a teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': The Player or Ped the bot has started following&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that starts following a teammate&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
This function spawns a bot ingame, will return the bot element, or false if there was a problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' The x co-ordinate to spawn the bot at&lt;br /&gt;
*'''y:''' The y co-ordinate to spawn the bot at&lt;br /&gt;
*'''z:''' The z co-ordinate to spawn the bot at&lt;br /&gt;
*'''rotation:''' Rotation of the bot on spawn&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Bots skin on spawn&lt;br /&gt;
*'''interior:''' Interior the bot will spawn into&lt;br /&gt;
*'''dimension:''' The ID of the [[dimension]] that the bot should be in&lt;br /&gt;
*'''theTeam:''' The team the bot will join&lt;br /&gt;
*'''weapon:''' The weapon the ped will carry&lt;br /&gt;
*'''theMode:''' The action the bot will be performing when spawned (see &amp;quot;modes of playing&amp;quot; above)&lt;br /&gt;
*'''theModeSubject:''' If theMode is &amp;quot;chasing&amp;quot; or &amp;quot;following&amp;quot; this arg is needed to tell the bot what opponent to chase or teammate to follow&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
makes the bot travel pathways untill finding an enemy or teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65977</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65977"/>
		<updated>2020-04-23T12:43:29Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* onBotSpawned */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that has found an enemy&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
Это срабатывает, когда появляется бот.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который спавнился.&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
This triggers when a bot starts following a teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': The Player or Ped the bot has started following&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that starts following a teammate&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
This function spawns a bot ingame, will return the bot element, or false if there was a problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' The x co-ordinate to spawn the bot at&lt;br /&gt;
*'''y:''' The y co-ordinate to spawn the bot at&lt;br /&gt;
*'''z:''' The z co-ordinate to spawn the bot at&lt;br /&gt;
*'''rotation:''' Rotation of the bot on spawn&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Bots skin on spawn&lt;br /&gt;
*'''interior:''' Interior the bot will spawn into&lt;br /&gt;
*'''dimension:''' The ID of the [[dimension]] that the bot should be in&lt;br /&gt;
*'''theTeam:''' The team the bot will join&lt;br /&gt;
*'''weapon:''' The weapon the ped will carry&lt;br /&gt;
*'''theMode:''' The action the bot will be performing when spawned (see &amp;quot;modes of playing&amp;quot; above)&lt;br /&gt;
*'''theModeSubject:''' If theMode is &amp;quot;chasing&amp;quot; or &amp;quot;following&amp;quot; this arg is needed to tell the bot what opponent to chase or teammate to follow&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
makes the bot travel pathways untill finding an enemy or teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65976</id>
		<title>RU/Slothbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Slothbot&amp;diff=65976"/>
		<updated>2020-04-23T12:42:31Z</updated>

		<summary type="html">&lt;p&gt;Baloo Pro: /* onBotWasted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{translate|ru}}&lt;br /&gt;
&lt;br /&gt;
Этот ресурс разработан для создания виртуального игрока (бота), который может выполнять некоторые задачи реального игрока (стрелять по врагу, следовать за союзником, искать врага, ходить по путям(вайпоинтам)).&lt;br /&gt;
&lt;br /&gt;
=Особенности=&lt;br /&gt;
'''Командная игра:'''&lt;br /&gt;
Бот способен отличать врага от союзника.&lt;br /&gt;
&lt;br /&gt;
'''Навигация по карте:'''&lt;br /&gt;
Если бот будет заспаунен на карте без специальных путей, он сможет двигаться самостоятельно и искать врагов, но не так ловко.&lt;br /&gt;
&lt;br /&gt;
'''Агрессивность:'''&lt;br /&gt;
Эти боты атакуют игроков и ботов состоящих в других командах.&lt;br /&gt;
&lt;br /&gt;
'''Кооператив:'''&lt;br /&gt;
При обнаружении союзника, боты могут автоматически объединяться в команду с ним.&lt;br /&gt;
&lt;br /&gt;
'''Подвижность и ловкость:'''&lt;br /&gt;
Если на пути бота появятся препятствия он попытается обойти их или перепрыгнуть.&lt;br /&gt;
&lt;br /&gt;
'''Типы игры ботов:'''&lt;br /&gt;
*&amp;quot;hunting&amp;quot; - (&amp;quot;Охота&amp;quot;) бот следует по указанному пути и выискивает врага.&lt;br /&gt;
*&amp;quot;waiting&amp;quot; - (&amp;quot;Выжидание&amp;quot;) бот стоит на месте пока в поле его зрения не появится враг.&lt;br /&gt;
*&amp;quot;guarding&amp;quot; - (&amp;quot;Охрана&amp;quot;) бот не двигается с места и атакует врага если тот находится в поле его зрения.&lt;br /&gt;
*&amp;quot;following&amp;quot; - (&amp;quot;Следование&amp;quot;) бот следует за союзником (игроком/ботом) и атакует врагов в поле зрения.&lt;br /&gt;
*&amp;quot;chasing&amp;quot; - (&amp;quot;Преследование&amp;quot;) бот преследует врага и атакует его.&lt;br /&gt;
&lt;br /&gt;
'''Игровой режим/Объединение скрипта:'''&lt;br /&gt;
тот сценарий имеет несколько функций и событий что позволит другим ресурсам видеть и контролировать то, что боты делают, и даже взять под контроль их поведение.&lt;br /&gt;
&lt;br /&gt;
'''EDF путь для создания карты:'''&lt;br /&gt;
Интегрированный в карту редактор,на карте разработчики могут легко разместить пути для ботов для их следования через всю карту. Это значительно расширило возможности ботов для имитации истинной игры.&lt;br /&gt;
&lt;br /&gt;
=События Сервера=&lt;br /&gt;
&lt;br /&gt;
==onBotFindEnemy==&lt;br /&gt;
Это условие вызывается когда бот находит врага. Оно может быть отменено, чтобы бот никого не атаковал.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element enemy&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''enemy''': Игрок или бот являющийся врагом.&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that has found an enemy&lt;br /&gt;
&lt;br /&gt;
==onBotWasted==&lt;br /&gt;
Это срабатывает, когда бот убит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element attacker, float weapon, float bodypart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''attacker''': Элемент, который убил бота&lt;br /&gt;
*'''weapon''': Идентификатор оружия, используемого для убийства бота&lt;br /&gt;
*'''bodypart''': Идентификатор части тела, в который попали, чтобы убить бота&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Event system#Event source|source]] этого события является бот, который умер&lt;br /&gt;
&lt;br /&gt;
==onBotSpawned==&lt;br /&gt;
This triggers when a bot is spawned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that spawned&lt;br /&gt;
&lt;br /&gt;
==onBotFollow==&lt;br /&gt;
This triggers when a bot starts following a teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Parameters'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element leader&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''leader''': The Player or Ped the bot has started following&lt;br /&gt;
&amp;lt;big&amp;gt;'''Source'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[event system#Event source|source]] of this event is the Bot that starts following a teammate&lt;br /&gt;
&lt;br /&gt;
=Server Functions=&lt;br /&gt;
All of these funtions will have to be used through the [[call]] function, otherwise they won't work&lt;br /&gt;
&lt;br /&gt;
==spawnBot==&lt;br /&gt;
This function spawns a bot ingame, will return the bot element, or false if there was a problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
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 = &amp;quot;hunting&amp;quot;, element theModesubject = nil ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''x:''' The x co-ordinate to spawn the bot at&lt;br /&gt;
*'''y:''' The y co-ordinate to spawn the bot at&lt;br /&gt;
*'''z:''' The z co-ordinate to spawn the bot at&lt;br /&gt;
*'''rotation:''' Rotation of the bot on spawn&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''skinID:''' Bots skin on spawn&lt;br /&gt;
*'''interior:''' Interior the bot will spawn into&lt;br /&gt;
*'''dimension:''' The ID of the [[dimension]] that the bot should be in&lt;br /&gt;
*'''theTeam:''' The team the bot will join&lt;br /&gt;
*'''weapon:''' The weapon the ped will carry&lt;br /&gt;
*'''theMode:''' The action the bot will be performing when spawned (see &amp;quot;modes of playing&amp;quot; above)&lt;br /&gt;
*'''theModeSubject:''' If theMode is &amp;quot;chasing&amp;quot; or &amp;quot;following&amp;quot; this arg is needed to tell the bot what opponent to chase or teammate to follow&lt;br /&gt;
&lt;br /&gt;
==setBotHunt==&lt;br /&gt;
makes the bot travel pathways untill finding an enemy or teammate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotHunt ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to hunt&lt;br /&gt;
&lt;br /&gt;
==setBotWait==&lt;br /&gt;
makes the bot stand still untill an enemy of teammate comes into view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWait ( element theBot )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to wait&lt;br /&gt;
&lt;br /&gt;
==setBotChase==&lt;br /&gt;
makes the bot attack an anemy bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotChase ( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the chasing&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be chased&lt;br /&gt;
&lt;br /&gt;
==setBotFollow==&lt;br /&gt;
makes the bot follow a teammate bot or player&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotFollow( element theBot, element theTarget )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot that you want to do the following&lt;br /&gt;
*'''theTarget:''' The bot or player you want to be followed&lt;br /&gt;
&lt;br /&gt;
==setBotGuard==&lt;br /&gt;
makes the bot move to the specific coords and stay there while attacking any enemies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotGuard( element theBot, float x, float y, float z, [ bool priority = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to do the guarding&lt;br /&gt;
*'''x:''' The X coords you want the bot to guard&lt;br /&gt;
*'''y:''' The Y coords you want the bot to guard&lt;br /&gt;
*'''z:''' The Z coords you want the bot to guard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Optional Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''priority:''' Set to true only if you want the bot to only shoot once it has reached the location to guard&lt;br /&gt;
&lt;br /&gt;
==getBotTeam==&lt;br /&gt;
returns the Team the bot is on, false if no team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotTeam ( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the team of&lt;br /&gt;
&lt;br /&gt;
==setBotTeam==&lt;br /&gt;
changes the bot's team and loyalties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotTeam ( element theBot, team theTeam )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to change the team of&lt;br /&gt;
*'''theTeam:''' The team the bot should join&lt;br /&gt;
&lt;br /&gt;
==getBotAttackEnabled==&lt;br /&gt;
returns true if the bot is allowed to attack, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool getBotAttackEnabled( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check if it can atack&lt;br /&gt;
&lt;br /&gt;
==setBotAttackEnabled==&lt;br /&gt;
allow or disallow the bot to attack (press fire)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotAttackEnabled( element theBot, bool enabled)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set if it can atack&lt;br /&gt;
*'''enabled:''' set to false to remove the bots ability to attack, true to allow it&lt;br /&gt;
&lt;br /&gt;
==getBotMode==&lt;br /&gt;
returns the mode the bot is in (&amp;quot;chasing&amp;quot;, &amp;quot;waiting&amp;quot;, &amp;quot;guarding&amp;quot;, &amp;quot;hunting&amp;quot;, &amp;quot;following&amp;quot;) or if the bot is chasing or following, it will return the mode and the target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string getBotMode( element theBot)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to check the status of&lt;br /&gt;
&lt;br /&gt;
==isPedBot==&lt;br /&gt;
returns true if the ped is a bot, false otherwise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool isPedbot( element thePed)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''thePed:''' The ped you want to check if its a bot&lt;br /&gt;
&lt;br /&gt;
==setBotWeapon==&lt;br /&gt;
sets the bot's weapon id (ammo is always infinite)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Syntax'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setBotWeapon( element theBot, float weapon)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Required Arguments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*'''theBot:''' The bot you want to set the weapon of&lt;br /&gt;
*'''weapon:''' the weapon id you want to give the bot&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
*'''Slothman:''' Bot creator, main scripter&lt;br /&gt;
*'''Gamesnert:''' EDF creator, scripting, testing&lt;br /&gt;
*'''Dragon:''' Gamemode creator, testing, scripting help&lt;br /&gt;
*'''EvGeniz:''' early testing, mapping&lt;br /&gt;
'''Thanks to Everyone else who made suggestions, tested the script, helped when i was stuck, etc'''&lt;br /&gt;
[[Category:Resource]]&lt;br /&gt;
&lt;br /&gt;
[[en:Slothman/Slothbot]]&lt;/div&gt;</summary>
		<author><name>Baloo Pro</name></author>
	</entry>
</feed>