# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lessons.sannybuilder.com/00200/00100/000127.-obzor-klassa-group.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
