Question

Screenshot_14.png.6e80b6cbaa6e252589c7b824110a4e5a.png

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

Share this post


Link to post

8 answers to this question

  • 0

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

Share this post


Link to post
  • 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;
}

 

Edited by amazonite

Share this post


Link to post
  • 0

UP 

Share this post


Link to post
  • 0

UP

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

 

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

Share this post


Link to post
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

    • Dexter Nomad
      By Dexter Nomad
      При попытке компиляции кода возникает ошибка:
      error 076: syntax error in the expression, or invalid function call
      Не могу найти причину, буду благодарен, если не только укажете, где сама ошибка, но еще и исправите ее.
      Сам код:
          if(strcmp(cmd, "/carsharing", true) == 0)     {         if(IsPlayerConnected(playerid))         {             if(PlayerInfo[playerid][CarLic] == 0) return SCM(playerid, COLOR_RED, "У вас нет вод.прав! Вы можете получить их в автошколе!");         }     }  
    • Sanya_Greison
      By Sanya_Greison
      Куплю РП мод под сервер без бонуса. Бюджет до 150 $
      А также скриптера с Украины
      мой вк vk.com/i_am_sashko