Вопросы

amazonite
Свой человек

Screenshot_14.png.6e80b6cbaa6e252589c7b824110a4e5a.png

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

Поделиться сообщением


Ссылка на сообщение

8 ответов на этот вопрос

  • 0
amazonite
Свой человек
forward Kicker(playerid);

CMD:kick(playerid, params[])
{
    if(p_info[playerid][pAdmin] < 2return 1;
    if(sscanf(params, "us[32]", params[0], params[1])) return SendClientMessage(playerid,col_gray,"/kick [ID èãðîêà] [Ïðè÷èíà]");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,col_gray,"Âû óêàçàëè íåâåðíûé ID");
    if(p_info[playerid][pAdmin] > p_info[playerid][pAdmin]) return SendClientMessage(playerid,col_gray,"Âû íå ìîæåòå êèêíóòü àäìèíèñòðàòîðà âûøå óðîâíåì");
    new string [124],name [MAX_PLAYER_NAME], name2 [MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof (name));
    GetPlayerName(params[0],name2,sizeof (name2));
    format(string,sizeof(string),"Àäìèíèñòðàòîð %s êèêíóë èãðîêà %s. Ïðè÷èíà: %s",name, name2, params [1]);
    SendClientMessageToAll(col_red_2,string);
    KickEx(params[0]);
    return 1;
}

public Kicker(playerid)
{
    DeletePVar (playerid, "kick");
    Kick(playerid);
}
stock KickEx(playerid)
{
    SetTimerEx("Kicker",950,0,"%d",playerid);
    SetPVarInt(playerid,"Kick",1);
}


 

так же при выдаче варна игрока не кикает с сервера

 

CMD:warn(playerid, params[])
{
    if(p_info[playerid][pAdmin] < 4return 1;
    if(sscanf(params, "ds[48]", params[0],params[1])) return SendClientMessage(playerid,col_gray,"/warn [ID èãðîêà] [Ïðè÷èíà]");
    new id = params[0];
    if(!IsPlayerConnected(id) || id == playerid) return SendClientMessage(playerid,col_gray,"Íåâåðíûé ID");
    if(!p_info[id][pMysqlID]) return SendClientMessage(playerid,col_gray,"Ýòîò èãðîê íå çàðåãèñòðèðîâàí");
    new mes[256];
    if(p_info[playerid][pAdmin] < p_info[params[0]][pAdmin])
    {
        format(mes,sizeof(mes),"Àäìèíèñòðàòîð %s ïîïûòàëñÿ çàâàðíèòü Àäìèíèñòðàòîðà %s",p_info[playerid][pNickname],p_info[id][pNickname]);
        AdminChat(col_gray,mes);
        return 1;
    }
    new kol = p_info[id][pWarnc]+1;
    if(kol < 3) format(mes,sizeof(mes),"Àäìèíèñòðàòîð %s âûäàë ïðåäóïðåæäåíèå èãðîêó %s [%d/3]. Ïðè÷èíà: %s",p_info[playerid][pNickname],p_info[id][pNickname],kol,params[1]);
    if(kol-1 > 0) p_info[id][pWarn] += WARN_TIME;
    else p_info[id][pWarn] = WARN_TIME;
    p_info[id][pWarnc] = kol;
    new houseid = p_info[id][pHouse]-1;
    if(!(houseid+1) || ((houseid+1) > 0 && p_info[id][pMysqlID] != gHouses[houseid][houseOwnerID])) SetPlayerSkinEx(id,p_info[id][p_skin]);
    else if(!gHouses[houseid][houseImprove][3]) SetPlayerSkinEx(id,p_info[id][p_skin]);
    else
    {
        for(new x; x < 3; x ++) {
            if(!gHouses[houseid][houseSkin]) continue;
            p_info[id][p_skin] = gHouses[houseid][houseSkin];
            if(GetPlayerSkin(id) == gHouses[houseid][houseSkin][3]) SetPlayerSkinEx(id,p_info[id][p_skin]);
        }
        gHouses[houseid][houseSkin][3] = 0;
    }
    UpdatePlayerData(id,"warn",p_info[id][pWarn]);
    UpdatePlayerData(id,"warnc",p_info[id][pWarnc]);
    //SendLogs("Àäìèí %s âûäàë âàðí èãðîêó %s (%d/3). Ïðè÷èíà: %s",p_info[playerid][pNickname],p_info[id][pNickname],kol,params[1]);
    if(kol == 3)
    {
        p_info[id][pWarn] = 0;
        p_info[id][pWarnc] = 0;
        UpdatePlayerData(id,"warn",p_info[id][pWarn]);
        UpdatePlayerData(id,"warnc",p_info[id][pWarnc]);
        if(!(houseid+1) || ((houseid+1) > 0 && p_info[id][pMysqlID] != gHouses[houseid][houseOwnerID])) SetPlayerSkinEx(id,p_info[id][p_skin]);
        else if(!gHouses[houseid][houseImprove][3]) SetPlayerSkinEx(id,p_info[id][p_skin]);
        else
        {
            for(new x; x < 3; x ++) {
                if(!gHouses[houseid][houseSkin]) continue;
                p_info[id][p_skin] = gHouses[houseid][houseSkin];
                if(GetPlayerSkin(id) == gHouses[houseid][houseSkin][3]) SetPlayerSkinEx(id,p_info[id][p_skin]);
            }
            gHouses[houseid][houseSkin][3] = 0;
        }
        //SendLogs("Àäìèí %s çàáàíèë èãðîêà %s íà 15 äíåé. Ïðè÷èíà: %s",p_info[playerid][pNickname],p_info[id][pNickname],params[1]);
        format(mes,sizeof(mes),"Àäìèíèñòðàòîð %s çàáàíèë èãðîêà %s (3 Ïðåäóïðåæäåíèÿ). Ïðè÷èíà: %s",p_info[playerid][pNickname],p_info[id][pNickname],params[1]);
        ServerBan(playerid,id,15,params[1]);

        UpdatePlayerData(id,"status",2);
        
    }
    SendClientMessageToAll(col_red_2,mes);
    new f_str[256];
    format(f_str,sizeof(f_str),"UPDATE `accounts` SET `fraction` = '0', `rank` = '0', `fractionskin` = '0', `subfraction` = '0' WHERE `id` = '%d'",p_info[id][pMysqlID]);
    mysql_query(dbHandle, f_str);
    p_info[id][pFraction] = 0;
    p_info[id][pRank] = 0;
    p_info[id][pFractionSkin] = 0;
    p_info[id][pSubfraction] = 0;
    SetPlayerColor(id,0xFFFFFF11);
    Kick(id);
    return 1;
}

 

Отредактировано пользователем amazonite

Поделиться сообщением


Ссылка на сообщение
  • 0
user408337
Свой человек

@amazonite тот код что ты приложил, является рабочим, видимо проблема кроется на другой стороне
Проверял на пустом моде, кикает корректно

Поделиться сообщением


Ссылка на сообщение
  • 0
user408337
Свой человек

@amazonite давай попробуем разобраться, могу предположить что у тебя задефайнена функция Kick, попробуй найти в начале мода подобную строчку - #define Kick(%0)

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Jasper231
      От Jasper231
      Идет набор в команду для создания CRMP MOBILE проекта. Нам нужны
      1) Кодеры
      2) Мапперы
      3) Люди которые вообще разбираются в создании серверов
       
      об зарпалте договоримся и об остальном поговорим в вк: @haslyyyim
    • otec
      От otec
      Копия радмира
      ║☑️Название CORVUS CRMP
      ║☑️Сервер у которого есть будущее и будет
      ║☑️Адекватная администрация
      ║☑️Идут наборы в Лидеры, Админы.
      ║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
      ║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
      ║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
      ║☑️Все новости - обновления в Telegram и ВКонтакте
      ║☑️Сайт - corvus-crmp.ru
      ║☑️Форум - forum.corvus-crmp.ru
      ║☑️Скачать лаунчер - corvus-crmp.ru
      ║☑️Заходи мы ждем тебя
      ║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
    • vicegame
      От vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК
    • hatriyikko
      От hatriyikko
      Требуется мобильная сборка мод + клиент + лаунчер

      Копия Радмира, Блэк Раши или что-то другое с аналогичным функционалом. Основной упор на бизнесы, чтобы всё исправно работало
       
      Напишите сколько это будет стоить?

      В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество

      Связь тут или в тг @kovart7