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

Вопрос Как использовать команды по Статику?

LUTER2

Новый участник
15 Фев 2021
129
2
75
Как использовать команды по Статику? В редаге допустим есть команда

public static void setPlayerAdminGroup(Player player, Player target)
{
int playeіr = Main.Players[player].UUID;
if (!Group.CanUseCmd(player, "setadmin")) return;
if (Main.Players[player].AdminLVL >= 1)
{
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"У игрока уже есть админ. прав", 3000);
return;
}

Main.Players[player].AdminLVL = 1;
player. SetSharedData("IS_ADMIN", true);
player.SetSharedData("ALVL", 1);
Fractions.GangsCapture.LoadBlips(player);
Notify.Send(player, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы Выдали админ. права игроку {player.Name}", 3000);
Notify.Send(player, NotifyType.Info, NotifyPosition.BottomCenter, $"Вам выдали статус ADMIN", 3000);
GameLog.Admin($"{player.Name}", $"setAdmin", $"{player.Name}");
}







Что мне здесь нужно сменить или добавить прошу помощь
 
Реакции: Randomchik

kirjushka////////////

Участник портала
28 Янв 2023
21
11
13
что значит по статику
Ну статик. Ты чё терминологию рп серверов не знаешь? СТатик ... уникальный номер игрока над головой пишет. Вот там написано, public static void, значит чота там со статиком. Чё не понятно????
 
Реакции: Amazingevich

MentaL

Новый участник
23 Сен 2021
24
0
60
JavaScript:
public static void setPlayerAdminGroup(int playerId)
{
    Player target = mp.players.at(playerId);

    if (!Group.CanUseCmd(player, "setadmin"))
        return;

    if (Main.Players[target].AdminLVL >= 1)
    {
        Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"У игрока уже есть админ. прав", 3000);
        return;
    }

    Main.Players[target].AdminLVL = 1;
    target.SetSharedData("IS_ADMIN", true);
    target.SetSharedData("ALVL", 1);

    Fractions.GangsCapture.LoadBlips(target);

    Notify.Send(player, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы выдали админ. права игроку {target.Name}", 3000);
    Notify.Send(target, NotifyType.Info, NotifyPosition.BottomCenter, $"Вам выдали статус ADMIN", 3000);
    GameLog.Admin($"{player.Name}", $"setAdmin", $"{target.Name}");
}
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,816
1,869
208
35
я в душе не ебу что отдельный взятый микрочел на форуме может иметь ввиду под какими-то неопознанными словами
и нет, терминологию рп-серверов я не знаю
причём тут модификатор static у метода, ты что бредишь?

хотел написать что вот это похоже на правду, но внимательнее посмотрел и понял что хуйня конечно полная

mp.players.at - это жс функция, а ты правишь код очевидно написанный на сишарпе
в метод изначально всё ещё стоит передавать того, кто выполняет команду, а не только таргет
иначе уже вот здесь if (!Group.CanUseCmd(player, "setadmin")) ты выхватишь ошибку
 

LUTER2

Новый участник
15 Фев 2021
129
2
75
статик это UUID
 

Mi-Zaft

Гений
VIP
9 Окт 2020
1,742
442
175
Я думаю, он порофлил насчёт статики. Если нет, то всё плохо
 
Реакции: Inoi

MentaL

Новый участник
23 Сен 2021
24
0
60
C#:
public void SetPlayerAdminGroup(Player player, int targetId)
{
    Player target = MP.Players.At(targetId);
    int playerId = Main.Players[player].UUID;
    if (!Group.CanUseCmd(player, "setadmin"))
    {
        return;
    }
    if (Main.Players[target].AdminLVL >= 1)
    {
        Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, "У игрока уже есть админ. прав", 3000);
        return;
    }
    Main.Players[target].AdminLVL = 1;
    target.SetSharedData("IS_ADMIN", true);
    target.SetSharedData("ALVL", 1);
    Fractions.GangsCapture.LoadBlips(target);
    Notify.Send(player, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы выдали админ. права игроку {target.Name}", 3000);
    Notify.Send(target, NotifyType.Info, NotifyPosition.BottomCenter, "Вам выдали статус ADMIN", 3000);
    GameLog.Admin(player.Name, "setAdmin", target.Name);
}
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,816
1,869
208
35
если честно твой метод из первого поста похож на залупу
там есть target, который должен приниматься где-то командой как цель
и нет никаких взаимодействий с ним дальше

это похоже на метод, которым админ выдаёт права сам себе
если я всё правильно понимаю он не будет работать никогда

вот здесь вот везде кроме нотифайки вместо player должен быть target
и стоит добавить проверку, существует ли такой игрок

если ты хочешь переделать это под ууид - тебе нужно будет просто принимать в метод int target например, вместо Player Target
и потом проверять где-то тоже, существует ли такой ууид
в душе не ебу где в твой сборке они лежат, в прошлом редейдже вроде в Main.PlayerUUIDs
 

LUTER2

Новый участник
15 Фев 2021
129
2
75
да вместо target я поставил player и я думал что так решу проблему
и потом проверять где-то тоже, существует ли такой ууид(как это сделать?)
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,816
1,869
208
35
player - этот тот, кто вводит команду
target - это тот, кого ты хочешь сделать админом

какую проблему ты хотел решить?)

теперь у тебя получается int target c циферками, который ты должен принимать
проверять - ну как нибудь типа if (Main.UUIDS.Contains(target))
это всё ты делаешь после скобочки за ретёрном
я не помню код редаги до такой степени к сожалению, и не помню как там хранятся ууид точно
Там должен быть метод GetPlayerByUUID, в который ты можешь передать твой target после того как принимаешь его int аргументом из чатика
Ну то есть Player targetPlayer = SafeTrigger.GetPlayerByUUID(target);

После этого весь твой код дальше останется точно таким же, только вместо target где он был дальше, используй targetPlayer