Доброе утро граждане 
Сегодня будет мануал или же урок как хотите так и называйте команда - /alogin
Можно будет использовать на любом моде (RedAge RP / NeptuneEvo)
Первое что нужно это зайти в Command.cs и добавить:
Ниже делаем паблик:
Далее заходим в Admin.cs и ищем строку public static bool CanUseCmd(Player player, string cmd, string args = "")
После if (command.IsAdmin) вписываем:
И еще заходим в Characters.cs и ищем public async Task Load
После foreach (DataRow Row in result.Rows)
Вставляем это:
В итоге у нас получается вот это:
Сегодня будет мануал или же урок как хотите так и называйте команда - /alogin
Можно будет использовать на любом моде (RedAge RP / NeptuneEvo)
Первое что нужно это зайти в Command.cs и добавить:
C#:
[Command("alogin", "Используйте: /alogin [Пароль]")] // Красный админский ник (1 лвл)
public static void CMD_alogin(Player player, int number)
{
try
{
if (Main.Players[player].AdminLVL >= 10 && number == 123) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 9 && number == 1234) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 8 && number == 1235) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 7 && number == 1236) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 6 && number == 1237) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 5 && number == 1238) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 4 && number == 1239) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 3 && number == 12310) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 2 && number == 12311) ProverkaNaLogin(player);
else if (Main.Players[player].AdminLVL == 1 && number == 12312) ProverkaNaLogin(player);
else if (player.GetSharedData<bool>("PROVERKANAPASS") == true)
{
Notify.Send(player, NotifyType.Alert, NotifyPosition.BottomCenter, $"Вы уже вошли в админку", 3000); // Это показывает если уже вошел
return;
}
else if (Main.Players[player].AdminLVL >= 1 && Main.Players[player].AdminLVL <= 100)
{
Notify.Send(player, NotifyType.Alert, NotifyPosition.BottomCenter, $"Вы ввели не правильный пароль от админки", 3000); // Если человек не правильный пароль ввел
return;
}
else
{
Notify.Send(player, NotifyType.Alert, NotifyPosition.BottomCenter, $"К сожалению вам это недоступно", 3000); //Это показывает если у игрока нет админки
return;
}
}
catch (Exception e) { Log.Write("EXCEPTION AT \"CMD\":\n" + e.ToString(), nLog.Type.Error); }
}
Ниже делаем паблик:
C#:
public static void ProverkaNaLogin(Player player)
{
if (!player.HasSharedData("PROVERKANAPASS") || !player.GetSharedData<bool>("PROVERKANAPASS"))
{
player.SetSharedData("PROVERKANAPASS", true);
Notify.Send(player, NotifyType.Alert, NotifyPosition.BottomCenter, $"Вы вошли в админку", 3000);
foreach (Player p in Main.Players.Keys.ToList())
{
if (!Main.Players.ContainsKey(p)) continue;
if (Main.Players[p].AdminLVL >= 1)
{
p.SendChatMessage("!{#2b8234}" + $"Админ-Уведомление | : {player.Name} ({player.Value}): Авторизовался под админкой");
}
}
}
else
{
Notify.Send(player, NotifyType.Alert, NotifyPosition.BottomCenter, $"Вы вышли из админки", 3000);
player.SetSharedData("PROVERKANAPASS", false);
}
}
Далее заходим в Admin.cs и ищем строку public static bool CanUseCmd(Player player, string cmd, string args = "")
После if (command.IsAdmin) вписываем:
C#:
if (player.GetSharedData<bool>("PROVERKANAPASS") == false)
{
Notify.Send(player, NotifyType.Alert, NotifyPosition.BottomCenter, $"Вы не вошли в админку", 3000);
return false;
}
И еще заходим в Characters.cs и ищем public async Task Load
После foreach (DataRow Row in result.Rows)
Вставляем это:
C#:
player.SetSharedData("PROVERKANAPASS", false);
В итоге у нас получается вот это:
Последнее редактирование: