Закрыто Проблема с системой администрации

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Статус
В этой теме нельзя размещать новые ответы.
Пользователь
Регистрация
9 Июл 2023
Сообщения
1
Я написал систему администрации:
C++:
CMD:makeadmin(playerid, params[])
{
     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{F81414}Äëÿ ïîñòàíîâëåíèÿ íà ïîñò àäèìèíèñòðàòîðà, îáðàòèòåñü ê ñîçäàòåëþ ïðîåêòà!");
     if(sscanf(params, "is[144]", params[0], params[1])) return SendClientMessage(playerid, -1, "{F81414}Ââåäèòå /makeadmin id lvl(1-7)");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "{F81414}Èãðîêà ñ äàííûì àéäè íå îáíàðóæåíî, ïåðåïðîâåðüòå àéäè!");
    if(params[1] > '7') return SendClientMessage(playerid, -1, "{F3FF02}Ìàêñèìàëüíûé óðîâåíü àäìèíèñòðàòèâíûõ ïðàâ - 7");
     new AdmName[30], Name[30], string[128], string2[128];
       GetPlayerName(playerid, AdmName, 30);
    GetPlayerName(params[0], Name, 30);
    AdminLevel[params[0]] = '5';
    if(params[1] == 0)
    {
        format(string2, sizeof(string), "{6EF83C}Óñïåøíî | Âû ñíÿëè àäìèíèñòðàòîðà %d ñ ïîñòà àäìèíèñòðàòîðà", Name);
        SendClientMessage(playerid, -1, string2);
        format(string, sizeof(string), "{F81414}Âû áûëè ñíÿòû ñ ïîñòà àäìèíèñòðàòîðà, àäìèíèñòðàòîðîì %d", AdmName);
        SCM(params[0], -1, string);
    }
    format(string2, sizeof(string), "{6EF83C}Óñïåøíî | Âû ñíÿëè àäìèíèñòðàòîðà %d ñ ïîñòà àäìèíèñòðàòîðà", Name);
    format(string, sizeof(string), "Âû íàçíà÷åíû íà ïîñò àäìèíèñòðàòîðà %d óðîâíÿ, àäìèíèñòðàòîðîì %d", params[1], AdmName);
    SCM(playerid, -1, string);
    SCM(params[0], -1, string);
    return 1;
}
На символы внимания можете не обращать.
Проблема в том что когда я присываиваю AdminLevel = '5'
Он вместо 5 присваивает 55 когда 3 он присваивает 53
 
Последнее редактирование модератором:
Команда форума
Администратор
Регистрация
1 Апр 2022
Сообщения
488
Я написал систему администрации:
CMD:makeadmin(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{F81414}Äëÿ ïîñòàíîâëåíèÿ íà ïîñò àäèìèíèñòðàòîðà, îáðàòèòåñü ê ñîçäàòåëþ ïðîåêòà!");
if(sscanf(params, "is[144]", params[0], params[1])) return SendClientMessage(playerid, -1, "{F81414}Ââåäèòå /makeadmin id lvl(1-7)");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "{F81414}Èãðîêà ñ äàííûì àéäè íå îáíàðóæåíî, ïåðåïðîâåðüòå àéäè!");
if(params[1] > '7') return SendClientMessage(playerid, -1, "{F3FF02}Ìàêñèìàëüíûé óðîâåíü àäìèíèñòðàòèâíûõ ïðàâ - 7");
new AdmName[30], Name[30], string[128], string2[128];
GetPlayerName(playerid, AdmName, 30);
GetPlayerName(params[0], Name, 30);
AdminLevel[params[0]] = '5';
if(params[1] == 0)
{
format(string2, sizeof(string), "{6EF83C}Óñïåøíî | Âû ñíÿëè àäìèíèñòðàòîðà %d ñ ïîñòà àäìèíèñòðàòîðà", Name);
SendClientMessage(playerid, -1, string2);
format(string, sizeof(string), "{F81414}Âû áûëè ñíÿòû ñ ïîñòà àäìèíèñòðàòîðà, àäìèíèñòðàòîðîì %d", AdmName);
SCM(params[0], -1, string);
}
format(string2, sizeof(string), "{6EF83C}Óñïåøíî | Âû ñíÿëè àäìèíèñòðàòîðà %d ñ ïîñòà àäìèíèñòðàòîðà", Name);
format(string, sizeof(string), "Âû íàçíà÷åíû íà ïîñò àäìèíèñòðàòîðà %d óðîâíÿ, àäìèíèñòðàòîðîì %d", params[1], AdmName);
SCM(playerid, -1, string);
SCM(params[0], -1, string);
return 1;
}
На символы внимания можете не обращать.
Проблема в том что когда я присываиваю AdminLevel = '5'
Он вместо 5 присваивает 55 когда 3 он присваивает 53
Приветствую. В следующий раз, код/команду берите в тэг "код". Прикрепил исправленный вариант, попробуйте его

C++:
CMD:makeadmin(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{F81414}Äëÿ ïîñòàíîâëåíèÿ íà ïîñò àäèìèíèñòðàòîðà, îáðàòèòåñü ê ñîçäàòåëþ ïðîåêòà!");
    if(sscanf(params, "is[144]", params[0], params[1])) return SendClientMessage(playerid, -1, "{F81414}Ââåäèòå /makeadmin id lvl(1-7)");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "{F81414}Èãðîêà ñ äàííûì àéäè íå îáíàðóæåíî, ïåðåïðîâåðüòå àéäè!");
    if(params[1] > 7) return SendClientMessage(playerid, -1, "{F3FF02}Ìàêñèìàëüíûé óðîâåíü àäìèíèñòðàòèâíûõ ïðàâ - 7");
    new AdmName[30], Name[30], string[128], string2[128];
    GetPlayerName(playerid, AdmName, 30);
    GetPlayerName(params[0], Name, 30);
    AdminLevel[params[0]] = params[1];
    if(params[1] == 0)
    {
        format(string2, sizeof(string), "{6EF83C}Óñïåøíî | Âû ñíÿëè àäìèíèñòðàòîðà %d ñ ïîñòà àäìèíèñòðàòîðà", Name);
        SendClientMessage(playerid, -1, string2);
        format(string, sizeof(string), "{F81414}Âû áûëè ñíÿòû ñ ïîñòà àäìèíèñòðàòîðà, àäìèíèñòðàòîðîì %d", AdmName);
        SCM(params[0], -1, string);
    }
    format(string2, sizeof(string), "{6EF83C}Óñïåøíî | Âû ñíÿëè àäìèíèñòðàòîðà %d ñ ïîñòà àäìèíèñòðàòîðà", Name);
    format(string, sizeof(string), "Âû íàçíà÷åíû íà ïîñò àäìèíèñòðàòîðà %d óðîâíÿ, àäìèíèñòðàòîðîì %d", params[1], AdmName);
    SCM(playerid, -1, string);
    SCM(params[0], -1, string);
    return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху