• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Не находит аккаунт в оффлайне (offwarn)

Статус
В этой теме нельзя размещать новые ответы.

trevison123

Умник
Код:
c:offwarn;
{
    if(pData[playerid][pAdmin] < 5 || !GetPVarInt(playerid,"AdminLogin")) return 1;
    if(sscanf(params,"s[64]s[64]",params[0], params[1])) return SendInf(playerid, "Используйте: /offwarn [ник игрока] [причина]");
    new offwarnq[150];
    format(offwarnq,sizeof offwarnq,"SELECT `id`,`warn` FROM `accounts` WHERE `nickname` = '%s'",params[0]);
    mysql_query(MySQLGo, offwarnq);
    new id,cwarn;
    if(!cache_num_rows()) return SendErr(playerid,"Ошибка. Аккаунт не найден");
    else
    {
        id = cache_get_field_content_int(0, "id");
        cwarn = cache_get_field_content_int(0, "warn");

        new ingame = -1;
        for(new iter=0, i=0; iter<cvector_size(PLAYERS); iter++)
        {
            i = cvector_get(PLAYERS, iter);
            if(i != INVALID_PLAYER_ID && IsPlayerConnected(i))
            {
                if(!strcmp(params[0],pData[i][pNickname],false))
                {
                    ingame = 1;
                    break;
                }
            }
        }
        if(ingame == -1)
        {
            if(cwarn < 2)
            {
                format(offwarnq,sizeof offwarnq,"UPDATE `accounts` SET `warn` = `warn` + 1,`fraction` = 0,`rank` = 0, `fractionskin` = 0, `subfraction` = 0 WHERE `id` = '%d';",id);
                mysql_query(MySQLGo, offwarnq);
                format(offwarnq,sizeof offwarnq,"UPDATE `accounts` SET `warntime` = `warntime` + 1440 WHERE `id` = '%d';",id);
                mysql_query(MySQLGo, offwarnq);
                new offwarnmsg[110];
                format(offwarnmsg,sizeof(offwarnmsg),"Администратор %s Выдал OFFLINE предупреждение игроку %s. Причина: %s",pData[playerid][pNickname],params[0],params[1]);
                SendAdminMessage(COLOR_LIGHTRED,offwarnmsg,id);
                new stringer3[500];
                format(stringer3,500,"Администратор <a href=/logs/searchaccount?name=%s>%s</a> выдал WARN в оффлайне игроку <a href=/logs/searchaccount?name=%s>%s</a>. Причина: %s",pData[playerid][pNickname],pData[playerid][pNickname],params[0],params[0],params[1]);
                 AdminLogs(playerid, stringer3);
            }
            else
            {
                format(offwarnq,sizeof offwarnq,"UPDATE `accounts` SET `warn` = 0,`fraction` = 0,`rank` = 0, `fractionskin` = 0, `subfraction` = 0 WHERE `id` = '%d';",id);
                mysql_query(MySQLGo, offwarnq);
                format(offwarnq,sizeof offwarnq,"UPDATE `accounts` SET `warntime` = 0 WHERE `id` = '%d';",id);
                mysql_query(MySQLGo, offwarnq);
                new offwarnmsg[110];
                format(offwarnmsg,sizeof(offwarnmsg),"Администратор %s забанил игрока %s (3 WARN). Причина: %s",pData[playerid][pNickname],params[0],params[1]);
                SendAdminMessage(COLOR_LIGHTRED,offwarnmsg,id);

                ServerBan(pData[playerid][pMysqlID],id,7,"-",true);
                new stringer3[500];
                format(stringer3,500,"Администратор <a href=/logs/searchaccount?name=%s>%s</a> забанил игрока <a href=/logs/searchaccount?name=%s>%s</a>. Причина: %s (3/3 варна)",pData[playerid][pNickname],pData[playerid][pNickname],params[0],params[0],params[1]);
                 AdminLogs(playerid, stringer3);
            }
        }
        else SendErr(playerid,"Ошибка. Игрок в игре.");
    }
    return true;
}
при попытке выдачи наказания, вылезает Ошибка. Аккаунт не найден ( аккаунт есть и не в сети )
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу