This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Урок Добавляем команду для воскрешения мертвого игрока на примере мода RedAge

2pac

Профессиональный клоун
Автор темы
14 Сен 2020
152
88
89
Кукусики давайте добавим команду для админов чтоб они могли поднимать нокнутых игроков. Полезная команда которая может пригодиться на МП или во время РП ситуации.
Ну что начнем)
1. Открываем NeptuneEvo\Core\Commands.cs
2. Для удобства закинем ее рядышком со всеми админ. командами в моде, поэтому смело жмем ctrl+f и в окошко пишем [Command("kick", GreedyArg = true)]
3. Вставляем данный код ниже:
C#:
[Command("revive")]
        public static void CMD_revive(Client client, int id)
        {
            try
            {
                if (!Group.CanUseCmd(client, "revive")) return;
                Client target = Main.GetPlayerByID(id);
                if (target == null)
                {
                    Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, "Игрок с таким ID не найден", 3000);
                    return;
                }
                target.StopAnimation();
                NAPI.Entity.SetEntityPosition(target, target.Position + new Vector3(0, 0, 0.5));
                target.SetSharedData("InDeath", false);
                Trigger.ClientEvent(target, "DeathTimer", false);
                target.Health = 100;
                target.ResetData("IS_DYING");
                Main.Players[target].IsAlive = true;
                Main.OffAntiAnim(target);
                if (target.HasData("DYING_TIMER"))
                {
                    Timers.Stop(target.GetData("DYING_TIMER"));
                    target.ResetData("DYING_TIMER");
                }
                Notify.Send(target, NotifyType.Info, NotifyPosition.BottomCenter, $"Игрок ({client.Value}) реанимировал Вас", 3000);
                Notify.Send(client, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы реанимировали игрока ({target.Value})", 3000);

                if (target.HasData("CALLEMS_BLIP"))
                {
                    NAPI.Entity.DeleteEntity(target.GetData("CALLEMS_BLIP"));
                }
                if (target.HasData("CALLEMS_COL"))
                {
                    NAPI.ColShape.DeleteColShape(target.GetData("CALLEMS_COL"));
                }
            }
            catch
            {

            }

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

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

Evbej

Начинающий специалист
high coder
15 Сен 2020
103
43
60
Cмысл если эта команда и так есть в RedAge?!
C#:
 [Command("armorelp")]
        public static void CMD_armorelp(Client client, int id)
        {
            try
            {
                if (!Group.CanUseCmd(client, "armorelp")) return;
                Client target = Main.GetPlayerByID(id);
                if (target == null)
                {
                    Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, "Игрок с таким ID не найден", 3000);
                    return;
                }
                target.StopAnimation();
                NAPI.Entity.SetEntityPosition(target, target.Position + new Vector3(0, 0, 0.5));
                target.SetSharedData("InDeath", false);
                Trigger.ClientEvent(target, "DeathTimer", false);
                target.Health = 100;
                target.ResetData("IS_DYING");
                Main.Players[target].IsAlive = true;
                Main.OffAntiAnim(target);
                Trigger.ClientEvent(target, "stopScreenEffect", "DeathFailOut");
                if (target.HasData("DYING_TIMER"))
                {
                    Timers.Stop(target.GetData("DYING_TIMER"));
                    target.ResetData("DYING_TIMER");
                }
                Notify.Send(target, NotifyType.Info, NotifyPosition.BottomCenter, $"Игрок ({client.Value}) реанимировал Вас", 3000);
                Notify.Send(client, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы реанимировали игрока ({target.Value})", 3000);

                if (target.HasData("CALLEMS_BLIP"))
                {
                    NAPI.Entity.DeleteEntity(target.GetData("CALLEMS_BLIP"));
                }
                if (target.HasData("CALLEMS_COL"))
                {
                    NAPI.ColShape.DeleteColShape(target.GetData("CALLEMS_COL"));
                }
            }
            catch
            {

            }

        }
 

2pac

Профессиональный клоун
Автор темы
14 Сен 2020
152
88
89
у тебя есть потому что ты ставил броники эльпато, а те кто не ставил у тех нет(
 
Реакции: Agressor и Daston

Wolf

Активный участник
12 Ноя 2020
9
1
40
А можно как-нибудь под RedAge 1.1 сделать?
 

RAMPAGE

Участник портала
1 Окт 2020
31
16
10
А можно как-нибудь под RedAge 1.1 сделать?
Держи, но я не тестил, если что пиши.
C#:
       [Command("revive")]
        public static void CMD_revive(Player player, int id)
        {
            try
            {
                if (!Group.CanUseCmd(player, "revive")) return;
                Player target = Main.GetPlayerByID(id);
                if (target == null)
                {
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, "Игрок с таким ID не найден", 3000);
                    return;
                }
                target.StopAnimation();
                NAPI.Entity.SetEntityPosition(target, target.Position + new Vector3(0, 0, 0.5));
                target.SetSharedData("InDeath", false);
                Trigger.ClientEvent(target, "DeathTimer", false);
                target.Health = 100;
                target.ResetData("IS_DYING");
                Main.Players[target].IsAlive = true;
                Main.OffAntiAnim(target);
                if (target.HasData("DYING_TIMER"))
                {
                    Timers.Stop(target.GetData<string>("DYING_TIMER"));
                    target.ResetData("DYING_TIMER");
                }
                Notify.Send(target, NotifyType.Info, NotifyPosition.BottomCenter, $"Игрок ({player.Value}) реанимировал Вас", 3000);
                Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы реанимировали игрока ({target.Value})", 3000);

                if (target.HasData("CALLEMS_BLIP"))
                {
                    NAPI.Entity.DeleteEntity(target.GetData<Blip>("CALLEMS_BLIP"));
                }
                if (target.HasData("CALLEMS_COL"))
                {
                    NAPI.ColShape.DeleteColShape(target.GetData<ColShape>("CALLEMS_COL"));
                }
            }
            catch
            {

            }

        }
 
Реакции: Boiko и Wolf

VadimMan

Начинающий специалист
17 Дек 2020
48
11
65
Доброго времени суток! Если у кого либо есть возможность залейте броники от Эльпато. Я имею ввиду разные цвета бронежелетов для банд. Благодарю за внимание.
 

Huzo

Начинающий специалист
high coder
15 Сен 2020
65
17
70
29
 

VadimMan

Начинающий специалист
17 Дек 2020
48
11
65
Это я сделал, все отображается. Вопрос в другом. Я припоминаю Эльпато дела для каждой из банд как то отдельные цвета бронежилетов которые соответствовали цвету присущему определенной банде. Например у вагосов - жёлтые, фемили - зелёные и так далее. Вот эту информацию я и ищу. Если у кого есть возможность помочь найти буду признателен!
 

Huzo

Начинающий специалист
high coder
15 Сен 2020
65
17
70
29
Не было там такого, были только отдельно цвета у банд, госов и мафий
 

OGPRussia

Специалист
7 Окт 2020
132
36
85
Не было там такого, были только отдельно цвета у банд, госов и мафий
Были там цвета под разную фракцию, т.е. у банд свой цвет банды. Но единственное этот файл (код) провисел не долго, т.к. в нем были проблемы. Честно не помню какие, но его решили убрать с раздачи, что бы не начали возникать вопросы по поводу ошибок.