> For the complete documentation index, see [llms.txt](https://lessons.sannybuilder.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lessons.sannybuilder.com/00200/00100/000127.-obzor-klassa-group.md).

# 000127. Обзор класса Group

Обзор класса Group||wmysterio|wmysterio|<wmysterio@yandex.ru>|||Как и в San Andreas мы можем создавать и управлять группами людей в 4-ке. Этот урок посвящен именно этой теме. Для создания групп существует класс Group. Конструктор выглядит следующим образом:<br>

| <p>Group Fr = new Group(Player.Character)<br></p> |
| ------------------------------------------------- |

Мы указывает переменную класса, которому присваивается результат конструктора. В качестве параметра указывается пед, который будет лидером этой группы, в нашем случаи это игрок. После создания группы, мы получаем доступ к следующим командам этого класса:<br>

| <p>Fr.AddMember(MyPed);<br><br>Добавить педа в группу. Можно использовать команду как проверку<br><br><strong>MyPed</strong> - лидер, объект класса <strong>Ped</strong><br><br>Возвращаемый параметр: <strong>bool</strong><br><br>Примеры в Sanny Builder:</p>                                                                                                                                                      |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>0631: put\_actor 1@ in\_group 0@<br></p>                                                                                                                                                                                                                                                                                                                                                                           |
| <p>Fr.Delete();<br><br>Уничтожает группу(как объект)<br><br>Примеры в Sanny Builder:</p>                                                                                                                                                                                                                                                                                                                              |
| <p>0632: release\_group 0@<br></p>                                                                                                                                                                                                                                                                                                                                                                                    |
| <p>Fr.EnterVehicle(Veh, true, true);<br><br>Заставляет группу сесть в транспорт.<br><br><strong>Veh</strong> - транспорт, объект класса <strong>Vehicle</strong><br><strong>true</strong> - включая лидера / false - без него<br><strong>true</strong> - закрепить водителя в транспорте<br><br>Примеры в Sanny Builder:</p>                                                                                          |
| 0940: set\_group 0@ enters\_leaders\_vehicle 1                                                                                                                                                                                                                                                                                                                                                                        |
| <p>Fr.Exists()<br><br>Проверка: "<strong>Группа существует?</strong>"<br><br>Примеры в Sanny Builder: (возможный вариант)<br></p>                                                                                                                                                                                                                                                                                     |
| <p>07FD:   group 0@ alive<br></p>                                                                                                                                                                                                                                                                                                                                                                                     |
| <p>Fr.FollowStatus = 1;<br><br>Установить статус следования за лидером.<br><br><strong>1</strong> - статус, число(<strong>int</strong>)<br><br>Примеры в Sanny Builder: (возможный вариант)<br></p>                                                                                                                                                                                                                   |
| <p>07B3: set\_group 0@ give\_command 1<br></p>                                                                                                                                                                                                                                                                                                                                                                        |
| <p>Fr.Formation = 4;<br><br>??? Установить формирование. Возможно устанавливает максимальное количество братков, которых можно нанять ???<br><br><strong>4</strong> - число(<strong>int</strong>)<br><br>Примеры в Sanny Builder: неизвестно<br></p>                                                                                                                                                                  |
| <p>Fr.FormationSpacing = 4.0F;<br><br>??? Устанавливает расстояние, при которых формируется группа. Если чел находится дальше указанного радиуса, то он не добавляется в группу ???<br><br><strong>4.0F</strong> - число(<strong>float</strong>)<br><br>Примеры в Sanny Builder: неизвестно<br></p>                                                                                                                   |
| <p>Fr.GetMember(1);<br><br>Получить члена группы, находящийся по заданному индексу<br><br><strong>1</strong> - индекс(оно же место) в группе, число(<strong>int</strong>)<br><br>Возвращаемый параметр: объект класса <strong>Ped</strong><br><br>Примеры в Sanny Builder:<br></p>                                                                                                                                    |
| <p>092B: 1@ = group 0@ member 1<br></p>                                                                                                                                                                                                                                                                                                                                                                               |
| <p>Fr.isLeader(MyPed)<br><br>Проверка: "<strong>Пед является лидером группы?</strong>"<br><br><strong>MyPed</strong> - лидер, объект класса <strong>Ped</strong><br><br>Примеры в Sanny Builder:<br></p>                                                                                                                                                                                                              |
| <p>06EF:   actor 1@ leading\_group 0@<br></p>                                                                                                                                                                                                                                                                                                                                                                         |
| <p>Fr.isMember(MyPed)<br><br>Проверка: "<strong>Пед находится в группе?</strong>"<br><br><strong>MyPed</strong> - пед, объект класса <strong>Ped</strong><br><br>Примеры в Sanny Builder:<br></p>                                                                                                                                                                                                                     |
| <p>06EE:   actor 1@ in\_group 0@<br></p>                                                                                                                                                                                                                                                                                                                                                                              |
| <p>Fr.Leader = MyPed;<br><br>Получить или задать лидера группы.<br><br><strong>MyPed</strong> - пед, объект класса <strong>Ped</strong><br><br>Возвращаемый параметр: пед, объект класса <strong>Ped</strong><br><br>Примеры в Sanny Builder:<br></p>                                                                                                                                                                 |
| <p>0630: put\_actor 1@ in\_group 0@ as\_leader<br></p>                                                                                                                                                                                                                                                                                                                                                                |
| <p>Fr.MaxMemberCount;<br><br>Получить максимальное количество участников группы<br><br>Возвращаемый параметр: число(<strong>int</strong>)<br><br>Примеры в Sanny Builder: (возможный вариант)<br></p>                                                                                                                                                                                                                 |
| <p>07F6: get\_group 0@ number\_of\_leaders\_to 1@ number\_of\_members\_to 2@<br></p>                                                                                                                                                                                                                                                                                                                                  |
| <p>Fr.MemberCount;<br><br>Получить текущее количество участников группы<br><br>Возвращаемый параметр: число(<strong>int</strong>)<br><br>Примеры в Sanny Builder: (возможный вариант)<br></p>                                                                                                                                                                                                                         |
| <p>07F6: get\_group 0@ number\_of\_leaders\_to 1@ number\_of\_members\_to 2@<br></p>                                                                                                                                                                                                                                                                                                                                  |
| <p>Fr.RemoveAllMembers();<br><br>Распустить группу.<br><br>Примеры в Sanny Builder: (возможные варианты)<br></p>                                                                                                                                                                                                                                                                                                      |
| <p>0A31: set\_player 0@ group\_to\_follow\_never 1<br>0A20: disable\_player 0@ group\_control\_back 1<br></p>                                                                                                                                                                                                                                                                                                         |
| <p>Fr.RemoveMember(1);<br>Fr.RemoveMember(MyPed);<br><br>Отчислить актёра из группы. Эта команда имеет 2 перегрузки. В одном случаи мы можем уволить педа по его индексу, в другом - уволить по хэндлу<br><br><strong>1</strong> - индекс(оно же место) в группе, число(<strong>int</strong>)<br><strong>MyPed</strong> - пед, объект класса <strong>Ped</strong><br><br>Примеры в Sanny Builder:<br></p><p>.<br></p> |
| <p>06C9: remove\_actor 1@ from\_group<br></p>                                                                                                                                                                                                                                                                                                                                                                         |
| <p>Fr.SeparationRange = 30.0F;<br><br>??? Установить максимальную дистанцию, при котором участники будут следовать лидеру ???<br><br><strong>30.0F</strong> - дистанция, число(<strong>float</strong>)<br><br>Примеры в Sanny Builder: (возможный вариант)<br></p>                                                                                                                                                    |
| <p>06F0: set\_group 0@ distance\_limit\_to 30.0<br></p>                                                                                                                                                                                                                                                                                                                                                               |
| <p>Fr.ToArray(true);<br><br>Получить массив всех участников группы<br><br><strong>true</strong> - включая лидера<br><br>Возвращаемый параметр: массив <strong>Ped</strong>\[]<br><br>Примеры в Sanny Builder: нет<br></p>                                                                                                                                                                                             |
| <p>Fr.ToList(true);<br><br>Получить список всех участников группы<br><br><strong>true</strong> - включая лидера<br><br>Возвращаемый параметр: список, объект <strong>PedCollection</strong><br><br>Примеры в Sanny Builder: нет<br></p>                                                                                                                                                                               |

| <p>06F0: set\_group 0@ distance\_limit\_to 30.0<br></p> |
| ------------------------------------------------------- |

| <p>06C9: remove\_actor 1@ from\_group<br></p> |
| --------------------------------------------- |

| <p>0A31: set\_player 0@ group\_to\_follow\_never 1<br>0A20: disable\_player 0@ group\_control\_back 1<br></p> |
| ------------------------------------------------------------------------------------------------------------- |

| <p>07F6: get\_group 0@ number\_of\_leaders\_to 1@ number\_of\_members\_to 2@<br></p> |
| ------------------------------------------------------------------------------------ |

| <p>07F6: get\_group 0@ number\_of\_leaders\_to 1@ number\_of\_members\_to 2@<br></p> |
| ------------------------------------------------------------------------------------ |

| <p>0630: put\_actor 1@ in\_group 0@ as\_leader<br></p> |
| ------------------------------------------------------ |

| <p>06EE:   actor 1@ in\_group 0@<br></p> |
| ---------------------------------------- |

| <p>06EF:   actor 1@ leading\_group 0@<br></p> |
| --------------------------------------------- |

| <p>092B: 1@ = group 0@ member 1<br></p> |
| --------------------------------------- |

| <p>07B3: set\_group 0@ give\_command 1<br></p> |
| ---------------------------------------------- |

| <p>07FD:   group 0@ alive<br></p> |
| --------------------------------- |

| <p>0632: release\_group 0@<br></p> |
| ---------------------------------- |

| <p>0631: put\_actor 1@ in\_group 0@<br></p> |
| ------------------------------------------- |

Давайте напишем простой пример: при нажатии кнопки TAB, возле Нико спавнятся 3 случайных человека, которые будут участниками группы игрока:Кодusing System;\
using System.Windows.Forms;\
using System.Drawing;\
using GTA;\
\
namespace TestScript {\
&#x20;   public class Thread : Script {\
&#x20;       public Thread() {\
&#x20;           while (true) {\
&#x20;               if(Game.isKeyPressed(Keys.Tab)){\
&#x20;                   Vector3 Pos = Player.Character.Position;\
&#x20;                   Group Fr = new Group(Player.Character);\
&#x20;                   for (int Temp = 0; Temp < 3; Temp++ ) {\
&#x20;                       Pos.X += 2.0F;\
&#x20;                       Fr.AddMember(World.CreatePed(Pos));\
&#x20;                   }\
&#x20;                   Fr.FollowStatus = 1;\
&#x20;               }\
&#x20;               Wait(0);\
&#x20;           }\
&#x20;       }\
&#x20;   }\
}\
Результат: удалось натравить группу на пешехода\
[![](https://github.com/wmysterio/scm-scripting-lessons/blob/main/_pu/1/s98136388.jpg)](https://github.com/wmysterio/scm-scripting-lessons/blob/main/_pu/1/98136388.png)\
\
Я не знаю сколько людей можно завербовать, нажимал TAB, пока не получил ошибку скрипта, и в результате получилось такое крошечное количество:\
[![](https://github.com/wmysterio/scm-scripting-lessons/blob/main/_pu/1/s62721357.jpg)](https://github.com/wmysterio/scm-scripting-lessons/blob/main/_pu/1/62721357.png)\
\
На этом урок окончен. До встречи в следующем ![wink](http://s49.ucoz.net/sm/15/wink.gif)|714|1|0|62721357`png`600`525`400`350\|98136388`png`600`525`400`350||obzor\_klassa\_group|1392794866
