Вопросы

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 пользователей онлайн

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

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

    • Redmondd
      От Redmondd
      При запуске сервера в консоли пишет: Started server on port: 7777, with maxplayers: 500 lanmode is OFF.
      И когда захожу на сервер пишет server didnt respond
       
      ---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team filterscripts = ""  (string) Server Plugins --------------  Loading plugin: mysql   > MySQL plugin R7-2 successfully loaded.   Loaded.  Loading plugin: sscanf  ===============================       sscanf plugin loaded.          Version:  2.8.1    (c) 2012 Alex "Y_Less" Cole  ===============================   Loaded.  Loading plugin: dc_cmd   Daniel's CMD plugin v2.8     (c) 2014 Daniel_Cortez         www.pro-pawn.ru   Loaded.  Loading plugin: streamer *** Streamer Plugin v2.7.9 by Incognito loaded ***   Loaded.  Loaded 4 plugins. Started server on port: 7777, with maxplayers: 500 lanmode is OFF. Filterscripts ---------------   Loaded 0 filterscripts. Подключение к базе данных MYSQL успешно ---------------------------------- --------Redmond RP 01-------- ---------------------------------- Number of vehicle models: 5 Склады загружены успешно Дома (15 шт) загружены успешно