Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Рекомендованные сообщения



26 posts in this topic

1. Помогите, как сделать что бы с папки "scriptfiles" лежала музыка и запускалась при авторизации например в /alogin

2. И так же как сделать что бы при авторизации администратора писалось какой администратор. Например: "Разработчик сервера на дежурстве" (При ввода команды в чат)

 

Edited by Daniil Roslyakov

Share this post


Link to post
Share on other sites

@Daniil Roslyakov 1. Никак. Музыка запускается только по URL. 

2. У вас есть массив с рангами администратора, например скиньте команду /admins. 

Share this post


Link to post
Share on other sites

@stibs 1. А как сделать свою музыку по ссылке?
2. 

Спойлер

CMD:admins(playerid)
{
    if(PI[playerid][pAdmin] > 0 || PI[playerid][pVip])
    {
        new str[100];
        SCM(playerid, COLOR_LIME, "Администрация в сети:");
        foreach(new i: Player)
        {
            if(!PlayerLogged) continue;
            if(PI[pAdmin] > 0 && PI[pAdmin] < 8)
            {
                format(str, sizeof(str), "%s[%d] (%i lvl) | Выговоры: %d/3", GetName(i), i, PI[pAdmin],AdminInfo[admWarns]);
                if(PI[pAFK] >= 3) format(str, sizeof(str), "%s {FF9900}AFK %s", str, Converts(PI[pAFK]));
                //else if(PI[Spectating] != INVALID_PLAYER_ID && PI[pAFK] < 3) format(str, sizeof(str), "%s {FF0000}/spec %i", str, PI[Spectating]);
                //else if(PI[Spectating] != INVALID_PLAYER_ID && PI[pAFK] >= 3) format(str, sizeof(str), "%s {FF9900}AFK %s {FF0000}/spec %i", str, Converts(PI[pAFK]), PI[Spectating]);
                SCM(playerid, COLOR_WHITE, str);
            }
        }
        new string[128];
        format(string, sizeof(string), "Время администратирования за сегодня: %i минут", AdminInfo[playerid][admPlayOnline]/60);
        SCM(playerid, COLOR_YELLOW, string);
    }
    return 1;
}

 

 

Edited by stibs

Share this post


Link to post
Share on other sites

@Daniil Roslyakov Использование спойлера с кодом для подсветки синтаксиса

1. Можно залить на какой-нибудь сайт и вставить прямую ссылку для проигрывания. Если нужна одна песня могу сюда залить и дать вам ссылку. 

2. Скиньте массив или команду в котором перечисляются названия рангов администраторских. Например Основатель, Главный администратор и пр. 

Share this post


Link to post
Share on other sites

@stibs 1. В том и дело я не знаю какой сайт :(

 

Спойлер

CMD:a(playerid,params[])
{
    if(PI[playerid][pAdmin] < 1) return 1;
    else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
    else if(isnull(params)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /a [текст]");
    else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SCM(playerid, COLOR_GREY, "Не флуди");
    new string[128];
    static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Заместитель","Разработчик"};
    format(string, sizeof(string), "[A] %s %s [%d]: %s", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid, params[0]);
    SendAdminMessage(COLOR_LIME, string);
    SetString(OldMessage[playerid], params[0]);
    TextReset[playerid] = gettime()+3;
    SendLog("Adminlog",string);
    return 1;
}

 

 

Edited by stibs

Share this post


Link to post
Share on other sites

@stibs 2. 

Спойлер

CMD:alogin(playerid)
{
    if(GetPVarInt(playerid, "check_alogin") > gettime()) return 1;
    else if(AdminLogged[playerid]) return SCM(playerid, COLOR_DARKORANGE, "Вы уже авторизовались как администратор!");
     new string[128];
    format(string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s'", GetName(playerid));
    mysql_tquery(dbHandle, string, "Alogin", "is", playerid, GetName(playerid));
     SetPVarInt(playerid, "check_alogin", gettime()+5);
     return 1;
}

 

 

Edited by stibs

Share this post


Link to post
Share on other sites

@stibs 

Спойлер

       


case D_ALOGIN:
        {
            if(!response) return Kick(playerid), SCM(playerid, COLOR_RED, "Вы должны обязательно ввести пароль администратора. Вы были кикнуты с сервера."), SCM(playerid, COLOR_RED, "Сообщите основателю, если забыли пароль от АЦ.");
            new string[144];
            switch(GetPVarInt(playerid,"aLogin"))
            {
                case 1:
                {
                    if(!strlen(inputtext)|| !strcmp(inputtext, "qwerty", true) || strlen(inputtext) < 4 || strlen(inputtext) > 16 || strfind(inputtext, "=", true) != -1)
                        return ShowPlayerDialog(playerid, D_ALOGIN, DIALOG_STYLE_PASSWORD, "{FFCC00}Регистрация администратора", "{FFFFFF}Введите пароль, который будет от панели администратора\n\n{63BD4E}Примечание:\n\t- Пароль должен состоять из латинских букв и цифр\n\t- Размер пароля от 4 до 15 символов", "Принять", "Отмена");
                    SetPVarString(playerid, "inputtext", inputtext);
                    mysql_format(dbHandle, string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s'", GetName(playerid));
                    mysql_tquery(dbHandle, string, "AloginReg", "is", playerid, GetName(playerid));
                }
                case 0:
                {
                    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_ALOGIN, DIALOG_STYLE_PASSWORD, "{FFCC00}Доступ администратора", "{FFFFFF}Введите Ваш пароль от панели администратора", "Принять", "Отмена");
                    mysql_format(dbHandle, string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s' AND `password` = '%e'", GetName(playerid), inputtext);
                    mysql_tquery(dbHandle, string, "AloginAuth", "is", playerid, inputtext);
                }
            }
            return 1;
         }
    }
    return 1;
}

 

 

Edited by stibs

Share this post


Link to post
Share on other sites

@stibs 

Спойлер

forward AloginAuth(playerid, inputtext[]);
public AloginAuth(playerid, inputtext[])
{
     new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)
    {
        SCM(playerid, COLOR_GREY, "[Ошибка] Неверный пароль");
        SetPVarInt(playerid, "attempt_pass", GetPVarInt(playerid, "attempt_pass") + 1);
        if(GetPVarInt(playerid, "attempt_pass") > 3)
        {
            DeletePVar(playerid, "attempt_pass");
            return SKick(playerid, 2112);
        }
    }
    else
    {
        AdminLogged[playerid] = true;
        PI[playerid][pAdmin] = cache_get_row_int(0, 1, dbHandle);
        AdminInfo[playerid][admGoto] = cache_get_row_int(0, 6, dbHandle);
        AdminInfo[playerid][admGethere] = cache_get_row_int(0, 7, dbHandle);
        AdminInfo[playerid][admSpectate] = cache_get_row_int(0, 8, dbHandle);
        AdminInfo[playerid][admKicked] = cache_get_row_int(0, 16, dbHandle);
        cache_get_row(0, 17, AdminInfo[playerid][admKickedReason], dbHandle, 32);
        AdminInfo[playerid][admSKicked] = cache_get_row_int(0, 18, dbHandle);
        AdminInfo[playerid][admWarned] = cache_get_row_int(0, 19, dbHandle);
           cache_get_row(0, 20, AdminInfo[playerid][admWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admOffWarned] = cache_get_row_int(0, 21, dbHandle);
        cache_get_row(0, 22, AdminInfo[playerid][admOffWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admBaned] = cache_get_row_int(0, 23, dbHandle);
        cache_get_row(0, 24, AdminInfo[playerid][admBanedReason], dbHandle, 32);
        AdminInfo[playerid][admOffBaned] = cache_get_row_int(0, 25, dbHandle);
        cache_get_row(0, 26, AdminInfo[playerid][admOffBanedReason], dbHandle, 32);
        AdminInfo[playerid][admMuted] = cache_get_row_int(0, 27, dbHandle);
        cache_get_row(0, 28, AdminInfo[playerid][admMutedReason], dbHandle, 32);
        AdminInfo[playerid][admAnsed] = cache_get_row_int(0, 29, dbHandle);
        cache_get_row(0, 30, AdminInfo[playerid][admAnsedText], dbHandle, 64);
        AdminInfo[playerid][admWarns] = cache_get_row_int(0, 31, dbHandle);
        AdminInfo[playerid][admPlayOnline] = cache_get_row_int(0, 32, dbHandle);
        
        /*new who_load[64];
         format(who_load, sizeof(who_load), "online_%s", getDay());
           cache_get_field_content(0, who_load, AdminInfo[playerid][admPlayOnline]);*/
           
         new string[256];
        static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Заместитель","Разработчик"};
        if(PI[playerid][pSex] == 1 && PI[playerid][pAdmin] != 8) format(string, sizeof(string), "[A] %s %s[%i] вошёл в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
        else if(PI[playerid][pSex] == 2 && PI[playerid][pAdmin] != 8)  format(string, sizeof(string), "[A] %s {FFFFFF}%s[%i] вошла в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
          new Query[156];
        format(Query, sizeof(Query), "UPDATE "T_ADMIN" SET `last_connect` = CURDATE() WHERE `name` = '%s' LIMIT 1",GetName(playerid));
        mysql_tquery(dbHandle, Query, "", "");
        MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]);
        
        if(AdminInfo[playerid][admWarns] >= 3 && PI[playerid][pAdmin] < 8)
        {
            PI[playerid][pAdmin] --,AdminInfo[playerid][admWarns] = 0;
            switch(PI[playerid][pAdmin])
            {
                case 0,1: f(string,"[A] Администратор %s[%d] был снят. Причина: 3 выговора"),SCM(playerid,COLOR_WHITE,"Вы были сняты по причине 3-ёх выговоров."),RemoveAdmin(playerid, GetName(playerid));
                default: f(string,"[A] Администратор %s[%d] был понижен до %d-ого уровня. Причина: 3 выговора",PI[playerid][pName],playerid,PI[playerid][pAdmin]),SCM(playerid,COLOR_WHITE,"Вы были понижены по причине 3-ёх выговоров! Больше не нарушайте админ.правил!");
            }
            SendAdminMessage(COLOR_GREY, string);
        }
    }
    return 1;
}


 

 

Edited by stibs

Share this post


Link to post
Share on other sites

У вас итак в этой системе выводится ранг администратора, который вошел. Или я неправильно понял Вас?

Share this post


Link to post
Share on other sites

@stibs Что бы над головой отображалась после того как пропишет человек /alogin

 

Share this post


Link to post
Share on other sites

@Daniil Roslyakov ну так сразу так и надо было говорить :)

Спойлер

forward AloginAuth(playerid, inputtext[]);
public AloginAuth(playerid, inputtext[])
{
     new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)
    {
        SCM(playerid, COLOR_GREY, "[Ошибка] Неверный пароль");
        SetPVarInt(playerid, "attempt_pass", GetPVarInt(playerid, "attempt_pass") + 1);
        if(GetPVarInt(playerid, "attempt_pass") > 3)
        {
            DeletePVar(playerid, "attempt_pass");
            return SKick(playerid, 2112);
        }
    }
    else
    {
        AdminLogged[playerid] = true;
        PI[playerid][pAdmin] = cache_get_row_int(0, 1, dbHandle);
        AdminInfo[playerid][admGoto] = cache_get_row_int(0, 6, dbHandle);
        AdminInfo[playerid][admGethere] = cache_get_row_int(0, 7, dbHandle);
        AdminInfo[playerid][admSpectate] = cache_get_row_int(0, 8, dbHandle);
        AdminInfo[playerid][admKicked] = cache_get_row_int(0, 16, dbHandle);
        cache_get_row(0, 17, AdminInfo[playerid][admKickedReason], dbHandle, 32);
        AdminInfo[playerid][admSKicked] = cache_get_row_int(0, 18, dbHandle);
        AdminInfo[playerid][admWarned] = cache_get_row_int(0, 19, dbHandle);
           cache_get_row(0, 20, AdminInfo[playerid][admWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admOffWarned] = cache_get_row_int(0, 21, dbHandle);
        cache_get_row(0, 22, AdminInfo[playerid][admOffWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admBaned] = cache_get_row_int(0, 23, dbHandle);
        cache_get_row(0, 24, AdminInfo[playerid][admBanedReason], dbHandle, 32);
        AdminInfo[playerid][admOffBaned] = cache_get_row_int(0, 25, dbHandle);
        cache_get_row(0, 26, AdminInfo[playerid][admOffBanedReason], dbHandle, 32);
        AdminInfo[playerid][admMuted] = cache_get_row_int(0, 27, dbHandle);
        cache_get_row(0, 28, AdminInfo[playerid][admMutedReason], dbHandle, 32);
        AdminInfo[playerid][admAnsed] = cache_get_row_int(0, 29, dbHandle);
        cache_get_row(0, 30, AdminInfo[playerid][admAnsedText], dbHandle, 64);
        AdminInfo[playerid][admWarns] = cache_get_row_int(0, 31, dbHandle);
        AdminInfo[playerid][admPlayOnline] = cache_get_row_int(0, 32, dbHandle);
        
        /*new who_load[64];
         format(who_load, sizeof(who_load), "online_%s", getDay());
           cache_get_field_content(0, who_load, AdminInfo[playerid][admPlayOnline]);*/
           
         new string[256];
        static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Заместитель","Разработчик"};
        if(PI[playerid][pSex] == 1 && PI[playerid][pAdmin] != 8) format(string, sizeof(string), "[A] %s %s[%i] вошёл в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
        else if(PI[playerid][pSex] == 2 && PI[playerid][pAdmin] != 8)  format(string, sizeof(string), "[A] %s {FFFFFF}%s[%i] вошла в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
      new str[33];
      format(str, sizeof(str), "%s", Admin_Names[PI[playerid][pAdmin]-1);
      new Text:AdminRang;
      AdminRang = Create3DTextLabel(str, -1, 0.0, 0.0, 0.0, 30.0, 0, 0); 
       Attach3DTextLabelToPlayer(AdminRang, playerid, 0.0, 0.0, 0.0);
          new Query[156];
        format(Query, sizeof(Query), "UPDATE "T_ADMIN" SET `last_connect` = CURDATE() WHERE `name` = '%s' LIMIT 1",GetName(playerid));
        mysql_tquery(dbHandle, Query, "", "");
        MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]);
        
        if(AdminInfo[playerid][admWarns] >= 3 && PI[playerid][pAdmin] < 8)
        {
            PI[playerid][pAdmin] --,AdminInfo[playerid][admWarns] = 0;
            switch(PI[playerid][pAdmin])
            {
                case 0,1: f(string,"[A] Администратор %s[%d] был снят. Причина: 3 выговора"),SCM(playerid,COLOR_WHITE,"Вы были сняты по причине 3-ёх выговоров."),RemoveAdmin(playerid, GetName(playerid));
                default: f(string,"[A] Администратор %s[%d] был понижен до %d-ого уровня. Причина: 3 выговора",PI[playerid][pName],playerid,PI[playerid][pAdmin]),SCM(playerid,COLOR_WHITE,"Вы были понижены по причине 3-ёх выговоров! Больше не нарушайте админ.правил!");
            }
            SendAdminMessage(COLOR_GREY, string);
        }
    }
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

@stibs так об этом я и пытался вам сказать, но походу не написал где то что именно и запустались

Share this post


Link to post
Share on other sites

@stibs 

Спойлер

J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31312) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31334) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31335) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31352) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31353) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31356) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31357) : error 001: expected token: "]", but found ")"
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31359) : warning 213: tag mismatch
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31360) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31360) : warning 213: tag mismatch
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31361) : warning 217: loose indentation
J:åðâåð TimePlay RolePlayîä\gamemodes\stel.pwn(31362) : warning 217: loose indentation
Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase

1 Error.


    cache_get_data(rows, fields);

 

 

Edited by stibs

Share this post


Link to post
Share on other sites

Код лесенкой поправьте, есть программы, которые табулируют все сами. 

Вот эту строку замените у себя в коде

format(str, sizeof(str), "%s", Admin_Names[PI[playerid][pAdmin]-1]);

Если будут еще ошибки выкладывайте строки. 

Share this post


Link to post
Share on other sites

@stibs 

Спойлер

J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31312) : error 017: undefined symbol "str"
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31312) : error 017: undefined symbol "str"
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31312) : warning 215: expression has no effect
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31312) : error 001: expected token: ";", but found "]"
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31312) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


 

Спойлер

     format(str, sizeof(str), "%s", Admin_Names[PI[playerid][pAdmin]-1]);

 

Share this post


Link to post
Share on other sites
Спойлер

forward AloginAuth(playerid, inputtext[]);
public AloginAuth(playerid, inputtext[])
{
     new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)
    {
        SCM(playerid, COLOR_GREY, "[Ошибка] Неверный пароль");
        SetPVarInt(playerid, "attempt_pass", GetPVarInt(playerid, "attempt_pass") + 1);
        if(GetPVarInt(playerid, "attempt_pass") > 3)
        {
            DeletePVar(playerid, "attempt_pass");
            return SKick(playerid, 2112);
        }
    }
    else
    {
        AdminLogged[playerid] = true;
        PI[playerid][pAdmin] = cache_get_row_int(0, 1, dbHandle);
        AdminInfo[playerid][admGoto] = cache_get_row_int(0, 6, dbHandle);
        AdminInfo[playerid][admGethere] = cache_get_row_int(0, 7, dbHandle);
        AdminInfo[playerid][admSpectate] = cache_get_row_int(0, 8, dbHandle);
        AdminInfo[playerid][admKicked] = cache_get_row_int(0, 16, dbHandle);
        cache_get_row(0, 17, AdminInfo[playerid][admKickedReason], dbHandle, 32);
        AdminInfo[playerid][admSKicked] = cache_get_row_int(0, 18, dbHandle);
        AdminInfo[playerid][admWarned] = cache_get_row_int(0, 19, dbHandle);
           cache_get_row(0, 20, AdminInfo[playerid][admWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admOffWarned] = cache_get_row_int(0, 21, dbHandle);
        cache_get_row(0, 22, AdminInfo[playerid][admOffWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admBaned] = cache_get_row_int(0, 23, dbHandle);
        cache_get_row(0, 24, AdminInfo[playerid][admBanedReason], dbHandle, 32);
        AdminInfo[playerid][admOffBaned] = cache_get_row_int(0, 25, dbHandle);
        cache_get_row(0, 26, AdminInfo[playerid][admOffBanedReason], dbHandle, 32);
        AdminInfo[playerid][admMuted] = cache_get_row_int(0, 27, dbHandle);
        cache_get_row(0, 28, AdminInfo[playerid][admMutedReason], dbHandle, 32);
        AdminInfo[playerid][admAnsed] = cache_get_row_int(0, 29, dbHandle);
        cache_get_row(0, 30, AdminInfo[playerid][admAnsedText], dbHandle, 64);
        AdminInfo[playerid][admWarns] = cache_get_row_int(0, 31, dbHandle);
        AdminInfo[playerid][admPlayOnline] = cache_get_row_int(0, 32, dbHandle);
        
        /*new who_load[64];
         format(who_load, sizeof(who_load), "online_%s", getDay());
           cache_get_field_content(0, who_load, AdminInfo[playerid][admPlayOnline]);*/
           
         new string[256];
        static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Заместитель","Разработчик"};
        if(PI[playerid][pSex] == 1 && PI[playerid][pAdmin] != 8) format(string, sizeof(string), "[A] %s %s[%i] вошёл в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
        else if(PI[playerid][pSex] == 2 && PI[playerid][pAdmin] != 8)  format(string, sizeof(string), "[A] %s {FFFFFF}%s[%i] вошла в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
      new str[33];
      format(str, sizeof(str), "%s", Admin_Names[PI[playerid][pAdmin]-1]);
      new Text:AdminRang;
      AdminRang = Create3DTextLabel(str, -1, 0.0, 0.0, 0.0, 30.0, 0, 0); 
       Attach3DTextLabelToPlayer(AdminRang, playerid, 0.0, 0.0, 0.0);
          new Query[156];
        format(Query, sizeof(Query), "UPDATE "T_ADMIN" SET `last_connect` = CURDATE() WHERE `name` = '%s' LIMIT 1",GetName(playerid));
        mysql_tquery(dbHandle, Query, "", "");
        MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]);
        
        if(AdminInfo[playerid][admWarns] >= 3 && PI[playerid][pAdmin] < 8)
        {
            PI[playerid][pAdmin] --,AdminInfo[playerid][admWarns] = 0;
            switch(PI[playerid][pAdmin])
            {
                case 0,1: f(string,"[A] Администратор %s[%d] был снят. Причина: 3 выговора"),SCM(playerid,COLOR_WHITE,"Вы были сняты по причине 3-ёх выговоров."),RemoveAdmin(playerid, GetName(playerid));
                default: f(string,"[A] Администратор %s[%d] был понижен до %d-ого уровня. Причина: 3 выговора",PI[playerid][pName],playerid,PI[playerid][pAdmin]),SCM(playerid,COLOR_WHITE,"Вы были понижены по причине 3-ёх выговоров! Больше не нарушайте админ.правил!");
            }
            SendAdminMessage(COLOR_GREY, string);
        }
    }
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

@stibs 

Спойлер

J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31312) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31334) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31335) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31352) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31353) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31356) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31359) : warning 213: tag mismatch
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31360) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31360) : warning 213: tag mismatch
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31361) : warning 217: loose indentation
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(31362) : warning 217: loose indentation
Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase

Header size:          17012 bytes
Code size:          8141044 bytes
Data size:          2644904 bytes
Stack/heap size:      16384 bytes; estimated max. usage=6682 cells (26728 bytes)
Total requirements:10819344 bytes

11 Warnings.
 

Спойлер

    cache_get_data(rows, fields);
 

           cache_get_row(0, 20, AdminInfo[playerid][admWarnedReason], dbHandle, 32);

        AdminInfo[playerid][admOffWarned] = cache_get_row_int(0, 21, dbHandle);

         new string[256];
        static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Заместитель","Разработчик"};

      new str[33];

     AdminRang = Create3DTextLabel(str, -1, 0.0, 0.0, 0.0, 30.0, 0, 0);

       Attach3DTextLabelToPlayer(AdminRang, playerid, 0.0, 0.0, 0.0);
          new Query[156];
        format(Query, sizeof(Query), "UPDATE "T_ADMIN" SET `last_connect` = CURDATE() WHERE `name` = '%s' LIMIT 1",GetName(playerid));
        mysql_tquery(dbHandle, Query, "", "");

 

Share this post


Link to post
Share on other sites

@Daniil Roslyakov скиньте КОНКРЕТНО строки на которые ошибка tag mismatch, остальное вы и сами можете исправить, выравняйте код лесенкой. 

Share this post


Link to post
Share on other sites

@stibs 

Спойлер

J:\Сервер TimePlay RolePlay\Мод\gamemodes\stel.pwn(31359) : warning 213: tag mismatch
J:\Сервер TimePlay RolePlay\Мод\gamemodes\stel.pwn(31360) : warning 213: tag mismatch
Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase

Header size:          17012 bytes
Code size:          8141044 bytes
Data size:          2644904 bytes
Stack/heap size:      16384 bytes; estimated max. usage=6682 cells (26728 bytes)
Total requirements:10819344 bytes

2 Warnings.



        AdminRang = Create3DTextLabel(str, -1, 0.0, 0.0, 0.0, 30.0, 0, 0);
        Attach3DTextLabelToPlayer(AdminRang, playerid, 0.0, 0.0, 0.0);

 

Share this post


Link to post
Share on other sites
Спойлер

forward AloginAuth(playerid, inputtext[]);
public AloginAuth(playerid, inputtext[])
{
     new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)
    {
        SCM(playerid, COLOR_GREY, "[Ошибка] Неверный пароль");
        SetPVarInt(playerid, "attempt_pass", GetPVarInt(playerid, "attempt_pass") + 1);
        if(GetPVarInt(playerid, "attempt_pass") > 3)
        {
            DeletePVar(playerid, "attempt_pass");
            return SKick(playerid, 2112);
        }
    }
    else
    {
        AdminLogged[playerid] = true;
        PI[playerid][pAdmin] = cache_get_row_int(0, 1, dbHandle);
        AdminInfo[playerid][admGoto] = cache_get_row_int(0, 6, dbHandle);
        AdminInfo[playerid][admGethere] = cache_get_row_int(0, 7, dbHandle);
        AdminInfo[playerid][admSpectate] = cache_get_row_int(0, 8, dbHandle);
        AdminInfo[playerid][admKicked] = cache_get_row_int(0, 16, dbHandle);
        cache_get_row(0, 17, AdminInfo[playerid][admKickedReason], dbHandle, 32);
        AdminInfo[playerid][admSKicked] = cache_get_row_int(0, 18, dbHandle);
        AdminInfo[playerid][admWarned] = cache_get_row_int(0, 19, dbHandle);
           cache_get_row(0, 20, AdminInfo[playerid][admWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admOffWarned] = cache_get_row_int(0, 21, dbHandle);
        cache_get_row(0, 22, AdminInfo[playerid][admOffWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admBaned] = cache_get_row_int(0, 23, dbHandle);
        cache_get_row(0, 24, AdminInfo[playerid][admBanedReason], dbHandle, 32);
        AdminInfo[playerid][admOffBaned] = cache_get_row_int(0, 25, dbHandle);
        cache_get_row(0, 26, AdminInfo[playerid][admOffBanedReason], dbHandle, 32);
        AdminInfo[playerid][admMuted] = cache_get_row_int(0, 27, dbHandle);
        cache_get_row(0, 28, AdminInfo[playerid][admMutedReason], dbHandle, 32);
        AdminInfo[playerid][admAnsed] = cache_get_row_int(0, 29, dbHandle);
        cache_get_row(0, 30, AdminInfo[playerid][admAnsedText], dbHandle, 64);
        AdminInfo[playerid][admWarns] = cache_get_row_int(0, 31, dbHandle);
        AdminInfo[playerid][admPlayOnline] = cache_get_row_int(0, 32, dbHandle);
        
        /*new who_load[64];
         format(who_load, sizeof(who_load), "online_%s", getDay());
           cache_get_field_content(0, who_load, AdminInfo[playerid][admPlayOnline]);*/
           
         new string[256];
        static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Заместитель","Разработчик"};
        if(PI[playerid][pSex] == 1 && PI[playerid][pAdmin] != 8) format(string, sizeof(string), "[A] %s %s[%i] вошёл в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
        else if(PI[playerid][pSex] == 2 && PI[playerid][pAdmin] != 8)  format(string, sizeof(string), "[A] %s {FFFFFF}%s[%i] вошла в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
      new str[33];
      format(str, sizeof(str), "%s", Admin_Names[PI[playerid][pAdmin]-1]);
      new Text3D:AdminRang;
      AdminRang = Create3DTextLabel(str, -1, 0.0, 0.0, 0.0, 30.0, 0, 0); 
       Attach3DTextLabelToPlayer(AdminRang, playerid, 0.0, 0.0, 0.0);
          new Query[156];
        format(Query, sizeof(Query), "UPDATE "T_ADMIN" SET `last_connect` = CURDATE() WHERE `name` = '%s' LIMIT 1",GetName(playerid));
        mysql_tquery(dbHandle, Query, "", "");
        MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]);
        
        if(AdminInfo[playerid][admWarns] >= 3 && PI[playerid][pAdmin] < 8)
        {
            PI[playerid][pAdmin] --,AdminInfo[playerid][admWarns] = 0;
            switch(PI[playerid][pAdmin])
            {
                case 0,1: f(string,"[A] Администратор %s[%d] был снят. Причина: 3 выговора"),SCM(playerid,COLOR_WHITE,"Вы были сняты по причине 3-ёх выговоров."),RemoveAdmin(playerid, GetName(playerid));
                default: f(string,"[A] Администратор %s[%d] был понижен до %d-ого уровня. Причина: 3 выговора",PI[playerid][pName],playerid,PI[playerid][pAdmin]),SCM(playerid,COLOR_WHITE,"Вы были понижены по причине 3-ёх выговоров! Больше не нарушайте админ.правил!");
            }
            SendAdminMessage(COLOR_GREY, string);
        }
    }
    return 1;
}

 

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Guest Андрей
      By Guest Андрей
      Сделал логи для сервера, но в БД не идет, пишет ошибку #1064 (MySQL), почитал на других форумах, там написано что из за размера, но с размером все хорошо.
       
       
       
       
       
      P/s: В таблицу тоже ничего не записывается