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

2pac

Профессиональный клоун
Автор темы
high coder
14 Сен 2020
119
74
63
Кукусики давайте добавим команду для админов чтоб они могли поднимать нокнутых игроков;). Полезная команда которая может пригодиться на МП или во время РП ситуации.
Ну что начнем):sneaky:
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, вписав минимальный ранг администратора, который сможет ее использовать:
Без имени.png

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

Evbej

Начинающий специалист
high coder
15 Сен 2020
103
40
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

Профессиональный клоун
Автор темы
high coder
14 Сен 2020
119
74
63
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
            {

            }

        }
у тебя есть потому что ты ставил броники эльпато, а те кто не ставил у тех нет(
 
  • OK
  • Like
Реакции: CHungro и Daston

Wolf

Участник портала
12 Ноя 2020
9
0
13
А можно как-нибудь под RedAge 1.1 сделать?
 

RAMPAGE

Участник портала
1 Окт 2020
31
15
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
            {

            }

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

VadimMan

Участник портала
17 Дек 2020
16
1
15
Доброго времени суток! Если у кого либо есть возможность залейте броники от Эльпато. Я имею ввиду разные цвета бронежелетов для банд. Благодарю за внимание.
 

Huzo

Активный участник
high coder
15 Сен 2020
14
3
35
26
Доброго времени суток! Если у кого либо есть возможность залейте броники от Эльпато. Я имею ввиду разные цвета бронежелетов для банд. Благодарю за внимание.
 

VadimMan

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

Huzo

Активный участник
high coder
15 Сен 2020
14
3
35
26
Это я сделал, все отображается. Вопрос в другом. Я припоминаю Эльпато дела для каждой из банд как то отдельные цвета бронежилетов которые соответствовали цвету присущему определенной банде. Например у вагосов - жёлтые, фемили - зелёные и так далее. Вот эту информацию я и ищу. Если у кого есть возможность помочь найти буду признателен!
Не было там такого, были только отдельно цвета у банд, госов и мафий
 

OGPRussia

Участник портала
7 Окт 2020
36
8
20
Не было там такого, были только отдельно цвета у банд, госов и мафий
Были там цвета под разную фракцию, т.е. у банд свой цвет банды. Но единственное этот файл (код) провисел не долго, т.к. в нем были проблемы. Честно не помню какие, но его решили убрать с раздачи, что бы не начали возникать вопросы по поводу ошибок.
Это я сделал, все отображается. Вопрос в другом. Я припоминаю Эльпато дела для каждой из банд как то отдельные цвета бронежилетов которые соответствовали цвету присущему определенной банде. Например у вагосов - жёлтые, фемили - зелёные и так далее. Вот эту информацию я и ищу. Если у кого есть возможность помочь найти буду признателен!