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

Мануал Добавляем визуальное отображение бронежилетов в сборку RedAge RP / NeptuneEvo (RAGE:MP 1.1)

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219
1. Заходим в Inventory.cs
ищем case ItemType.BodyArmor и заменяем на это:

C#:
case ItemType.BodyArmor:
{
    if (item.IsActive)
    {
        item.Data = player.Armor.ToString();
        player.Armor = 0;
        player.ResetSharedData("HASARMOR");
        Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Variation = 0;
        Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture = 0;
        player.SetClothes(9, Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Variation, Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture);
        nInventory.Items[UUID][index].IsActive = false;
        GUI.Dashboard.Update(player, item, index);
    }
    else
    {
        var armor = Convert.ToInt32((string)item.Data);
        player.Armor = armor;
        player.SetSharedData("HASARMOR", true);
        switch (Fractions.Manager.FractionTypes[Main.Players[player].FractionID])
        {
            case -1:
            case 1:
                Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture = 2;
                break;
            case 0:
                Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture = 0;
                break;
            case 2:
                Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture = 1;
                break;
            default:
                Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture = 1;
                break;

        }
        Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Variation = 12;
        player.SetClothes(9, Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Variation, Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture);
        nInventory.UnActiveItem(player, item.Type);
        nInventory.Items[UUID][index].IsActive = true;
        GUI.Dashboard.Update(player, item, index);
    }
    return;
}

2. заходим в Main.cs
Ищем [RemoteEvent("deletearmor")] и заменяем на это:


C#:
[RemoteEvent("deletearmor")]
public void ClientEvent_DeleteArmor(Client player)
{
try
{
if (player.Armor == 0)
{
nItem aItem = nInventory.Find(Main.Players[player].UUID, ItemType.BodyArmor);
if (aItem == null || aItem.IsActive == false) return;
nInventory.Remove(player, ItemType.BodyArmor, 1);
Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Variation = 0;
Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture = 0;
player.SetClothes(9, Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Variation, Customization.CustomPlayerData[Main.Players[player].UUID].Clothes.Bodyarmor.Texture);

player.ResetSharedData("HASARMOR");
}
}
catch (Exception e) { Log.Write("deletearmor: " + e.Message, nLog.Type.Error); }
}

3. Заходим в Commands.cs
В любом месте между командами добавляем новую комманду:


C#:
[Command("armorelp")]
        public static void CMD_armorelp(Player player, int id)
        {
            try
            {
                if (!Group.CanUseCmd(player, "armorelp")) 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<Entity>("CALLEMS_BLIP"));
                }
                if (target.HasData("CALLEMS_COL"))
                {
                    NAPI.ColShape.DeleteColShape(target.GetData<ColShape>("CALLEMS_COL"));
                }
            }
            catch
            {

            }

        }


4. Заходим в FractionManager.cs


Ищем public static bool canUseCommand и добавляем ниже это :

if (Main.Players[player].AdminLVL > 0) return true;


5. Заходим в Character.cs

Ищем player.SetData("RESIST_TIME", 0); и добавляем ниже это :

player.SetSharedData("ALVL", AdminLVL);

6. Заходим в базу переходим в adminaccess и добавляем таблицу

Minirank пишем 7
command пишем armorelp
isaadmin пишем 1
idkey смотрите по последнему числу, если там допустип последняя команда 30 то пишем 31
 

Agressor

Начинающий специалист
27 Окт 2020
371
51
93
Скрин нет?
 

OGPRussia

Активный участник
BackEnd developer
7 Окт 2020
135
35
85
Как сделать, что бы отображалось в линии жизни информация о бронежилете (сколько осталось), как например как отображается информация о остатке воздуха когда ты плаваешь под водой?
 

skyElmax

Специалист
FrontEnd developer
15 Сен 2020
151
89
105

Tertiy

Участник портала
1 Ноя 2020
37
9
45
Добрый день!делал как написано,но что то пошло не так
подскажите что именно.Спасибо
 

Вложения

  • 123.jpg
    100.1 KB · Просмотры: 406

DaVilka

Старожил
BackEnd developer
16 Сен 2020
771
284
128

DaVilka

Старожил
BackEnd developer
16 Сен 2020
771
284
128

PERS

Участник портала
14 Сен 2020
113
10
37
Парни вики на 1.1 еще не выпущена, по этому лучше задавайте, вам будут отвечать под 1.1 что то.

Отвечу что сам знаю, но я больше по дизайну )
 

DaVilka

Старожил
BackEnd developer
16 Сен 2020
771
284
128
Разница в том что если если это мануал то он должен работать, а если было бы десяток версий рейджа, то что, можно через слово пихать функции из всех версий?
 

VadimMan

Участник портала
17 Дек 2020
49
12
65
Всё отлично работает! Благодаою за скрипт. Но есть один вопрос как задать цвет для бронежелетов банд?