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

Обзор класса Group||wmysterio|wmysterio|[email protected]|||Как и в San Andreas мы можем создавать и управлять группами людей в 4-ке. Этот урок посвящен именно этой теме. Для создания групп существует класс Group. Конструктор выглядит следующим образом:

Group Fr = new Group(Player.Character)

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

Fr.AddMember(MyPed); Добавить педа в группу. Можно использовать команду как проверку MyPed - лидер, объект класса Ped Возвращаемый параметр: bool Примеры в Sanny Builder:

0631: put_actor 1@ in_group 0@

0631: put_actor 1@ in_group 0@

Fr.Delete(); Уничтожает группу(как объект) Примеры в Sanny Builder:

0632: release_group 0@

0632: release_group 0@

Fr.EnterVehicle(Veh, true, true); Заставляет группу сесть в транспорт. Veh - транспорт, объект класса Vehicle true - включая лидера / false - без него true - закрепить водителя в транспорте Примеры в Sanny Builder:

0940: set_group 0@ enters_leaders_vehicle 1

Fr.Exists() Проверка: "Группа существует?" Примеры в Sanny Builder: (возможный вариант)

07FD: group 0@ alive

07FD: group 0@ alive

Fr.FollowStatus = 1; Установить статус следования за лидером. 1 - статус, число(int) Примеры в Sanny Builder: (возможный вариант)

07B3: set_group 0@ give_command 1

07B3: set_group 0@ give_command 1

Fr.Formation = 4; ??? Установить формирование. Возможно устанавливает максимальное количество братков, которых можно нанять ??? 4 - число(int) Примеры в Sanny Builder: неизвестно

Fr.FormationSpacing = 4.0F; ??? Устанавливает расстояние, при которых формируется группа. Если чел находится дальше указанного радиуса, то он не добавляется в группу ??? 4.0F - число(float) Примеры в Sanny Builder: неизвестно

Fr.GetMember(1); Получить члена группы, находящийся по заданному индексу 1 - индекс(оно же место) в группе, число(int) Возвращаемый параметр: объект класса Ped Примеры в Sanny Builder:

092B: 1@ = group 0@ member 1

092B: 1@ = group 0@ member 1

Fr.isLeader(MyPed) Проверка: "Пед является лидером группы?" MyPed - лидер, объект класса Ped Примеры в Sanny Builder:

06EF: actor 1@ leading_group 0@

06EF: actor 1@ leading_group 0@

Fr.isMember(MyPed) Проверка: "Пед находится в группе?" MyPed - пед, объект класса Ped Примеры в Sanny Builder:

06EE: actor 1@ in_group 0@

06EE: actor 1@ in_group 0@

Fr.Leader = MyPed; Получить или задать лидера группы. MyPed - пед, объект класса Ped Возвращаемый параметр: пед, объект класса Ped Примеры в Sanny Builder:

0630: put_actor 1@ in_group 0@ as_leader

0630: put_actor 1@ in_group 0@ as_leader

Fr.MaxMemberCount; Получить максимальное количество участников группы Возвращаемый параметр: число(int) Примеры в Sanny Builder: (возможный вариант)

07F6: get_group 0@ number_of_leaders_to 1@ number_of_members_to 2@

07F6: get_group 0@ number_of_leaders_to 1@ number_of_members_to 2@

Fr.MemberCount; Получить текущее количество участников группы Возвращаемый параметр: число(int) Примеры в Sanny Builder: (возможный вариант)

07F6: get_group 0@ number_of_leaders_to 1@ number_of_members_to 2@

07F6: get_group 0@ number_of_leaders_to 1@ number_of_members_to 2@

Fr.RemoveAllMembers(); Распустить группу. Примеры в Sanny Builder: (возможные варианты)

0A31: set_player 0@ group_to_follow_never 1 0A20: disable_player 0@ group_control_back 1

0A31: set_player 0@ group_to_follow_never 1 0A20: disable_player 0@ group_control_back 1

Fr.RemoveMember(1); Fr.RemoveMember(MyPed); Отчислить актёра из группы. Эта команда имеет 2 перегрузки. В одном случаи мы можем уволить педа по его индексу, в другом - уволить по хэндлу 1 - индекс(оно же место) в группе, число(int) MyPed - пед, объект класса Ped Примеры в Sanny Builder:

06C9: remove_actor 1@ from_group

.

06C9: remove_actor 1@ from_group

Fr.SeparationRange = 30.0F; ??? Установить максимальную дистанцию, при котором участники будут следовать лидеру ??? 30.0F - дистанция, число(float) Примеры в Sanny Builder: (возможный вариант)

06F0: set_group 0@ distance_limit_to 30.0

06F0: set_group 0@ distance_limit_to 30.0

Fr.ToArray(true); Получить массив всех участников группы true - включая лидера Возвращаемый параметр: массив Ped[] Примеры в Sanny Builder: нет

Fr.ToList(true); Получить список всех участников группы true - включая лидера Возвращаемый параметр: список, объект PedCollection Примеры в Sanny Builder: нет

Давайте напишем простой пример: при нажатии кнопки TAB, возле Нико спавнятся 3 случайных человека, которые будут участниками группы игрока:Кодusing System; using System.Windows.Forms; using System.Drawing; using GTA; namespace TestScript { public class Thread : Script { public Thread() { while (true) { if(Game.isKeyPressed(Keys.Tab)){ Vector3 Pos = Player.Character.Position; Group Fr = new Group(Player.Character); for (int Temp = 0; Temp < 3; Temp++ ) { Pos.X += 2.0F; Fr.AddMember(World.CreatePed(Pos)); } Fr.FollowStatus = 1; } Wait(0); } } } } Результат: удалось натравить группу на пешехода Я не знаю сколько людей можно завербовать, нажимал TAB, пока не получил ошибку скрипта, и в результате получилось такое крошечное количество: На этом урок окончен. До встречи в следующем wink|714|1|0|62721357png600525400350\|98136388png600525400350||obzor_klassa_group|1392794866

Last updated

Was this helpful?