SourceMod - Custom Admin Menu. Создание пароля через Админ-Панель.

Emptyc

Участник
Сообщения
509
Реакции
96
Приветствую, форумчане, знающие люди.
Обращаюсь к вам с вопросом, как же правильно сделать смену пароля через Админ-Панель? Может быть у вас есть готовый код.
Мой код в Симпл Админе выглядит так:

C-подобный:
"Setup Password [V Razrabotke]"
    {     
        "Password"
        {
            "cmd"        "sv_password"
            "admin"        "sm_ban"
            "execute"    "server"
            "1"
            {
                "type"         "list"
                "title"        "Select"
                "3"        "5588"
                "3."        "Password: 5588"
                "4"        "none"
                "4."        "Delete Password"
            }

Либо же даже в чате по команде: !sm_cvar sv_password 5588
Пароль вроде бы изменен, но консоль выдает обратное, что "Cannot require sv_password when server is already reserved or clients connected!"
будто нельзя поменять пароль, когда сервер включен или игроки подключены к серверу.
Но я то знаю, что прямо на сервере можно менять пароль)
Прошу помощи, у знающих толковых кодерофф)
Отзовитесь.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2

Emptyc

Участник
Сообщения
509
Реакции
96
@Emptyc,

--- Добавлено позже ---

а это говорит что на сервер есть игроки.
можно кикнуть всех перед этим.
или
Там кароче понял в чем проблема, там не успевает пройти запрос, и происходит выполнение команды пароля, а потом меня кикает только.
Я на английских форумах эту же херню читал, то шо команда смены пароля быстрее выполняется, и ту ошибку все равно выдает, пушо я еще нахожусь на сервере. и через милисекунды меня кикает
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
добавь рядом команду sm_kick @all
Нажал на неё, всех кикнуло и пока никто не успел подключиться ставишь пароль
 

Emptyc

Участник
Сообщения
509
Реакции
96
добавь рядом команду sm_kick @all
Нажал на неё, всех кикнуло и пока никто не успел подключиться ставишь пароль
так я понял, я ее добавил.
Но я же сижу на сервере, она и меня кикает.
Вот в чем проблема.
Я же считаюсь за игрока.
--- Добавлено позже ---
--- Добавлено позже ---
Проблема не решена.
Есть те, кто сталкивался с этой проблемой?
Уже и плагин написали
 
Последнее редактирование:

All

Random
Сообщения
553
Реакции
228
добавь рядом команду sm_kick @all
Нажал на неё, всех кикнуло и пока никто не успел подключиться ставишь пароль
Я конечно рассчитывал признание себя как мнение большинства, но это уже перебор. Оффтоп
 

Emptyc

Участник
Сообщения
509
Реакции
96
Проблема не решена.
Есть те, кто сталкивался с этой проблемой?
Уже и плагин написали
неа(
--- Добавлено позже ---
Рико написал плагин на моментальный кик и очистку сервера при вводе sm_password *pass*
Все получилось отлично.
Но сервер все равно выдает ошибку, что я нахожусь на сервере и невозможно сменить пароль.
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #11
@Emptyc,
PHP:
#pragma semicolon 1

#include <sourcemod>
#pragma newdecls required

public void OnPluginStart()
{
//    LoadTranslations("plugin.basecommands");

    RegAdminCmd("sm_password", Command_Password, ADMFLAG_ROOT, "sm_password"); // "sm_password \"пароль\""
}

//char g_szPass[64];

public Action Command_Password(int iClient, int iArgs)
{
//    GetCmdArg(1, g_szPass, sizeof(g_szPass));
    SetConVarInt(FindConVar("sv_hibernate_postgame_delay"), 0, false, false);

    for(int i = 1; i <= MaxClients; ++i)
    {
        if(IsClientConnected(i) && !IsFakeClient(i) && !IsClientInKickQueue(i))
            KickClient(i, "[SM] Сервер очищен для установки пароля.");
    }

    CreateTimer(1.0, Timer_SetPassword);
    return Plugin_Handled;
}

public Action Timer_SetPassword(Handle hTimer)
{
//    SetConVarString(FindConVar("sv_password"), g_szPass);
    ServerCommand("exec pass.cfg");

    return Plugin_Stop;
}
вот что имеется. дальше я хз
 
Сверху Снизу