Вопросы

Screenshot_14.png.6e80b6cbaa6e252589c7b824110a4e5a.png

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

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


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

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

  • 0

проверял, что возвращает функция Kick() и что хранится в id?

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


Ссылка на сообщение
  • 0
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

UP 

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


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

UP

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


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

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

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


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

@user408337  что делать теперь? как исправить

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


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

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

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


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

@user408337 можно ваш ВК? 

 

@Cawfee помогите пожалуйста :(

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


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

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

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

    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать только через MYSQL ( BD ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • Доналдо Фарекелка
      От Доналдо Фарекелка
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать только через MYSQL ( BD ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
    • Redmondd
      От Redmondd
      Когда в игре ввожу команду /gps, нажимаю на Важные места то окно просто закрывается, так же с Государственными организациями и Вокзалами