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

2pac

Активный участник
Автор темы
high coder
35
19
27
Кукусики давайте добавим команду для админов чтоб они могли поднимать нокнутых игроков;). Полезная команда которая может пригодиться на МП или во время РП ситуации.
Ну что начнем):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
41
12
27
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
35
19
27
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
Реакции: Daston