44 posts in this topic

не работает оффбан и бан. Хотя бан по ип работает и iban - бан навсегда тоже.

Спойлер

CMD:ban(playerid,params[])
{
    AdminCommand(3);
    new nsa[120];
    if(sscanf(params,"ids[60]",params[0], params[1], params[2])) return SCM(playerid, COLOR_GREY, "Используйте: /ban [id] [дни] [причина]");
    if(params[1] < 1 || params[1] > 30) return SCM(playerid, COLOR_GREY, "Нельзя меньше 1 и больше 30!");
    GetPlayerName(params[0], gp, sizeof(gp));
    new ip[16];
    GetPlayerIp(params[0], ip, sizeof(ip));
    GetPlayerName(playerid, sn, sizeof(sn));
    com
    format(nsa,128,"Администратор %s[%d] заблокировал аккаунт %s на %d дней. Причина: %s",sn, playerid, gp, params[1],params[2]);
    SCMToAll(COLOR_LIGHTRED,nsa);
    new Hour, Minute, Second,Year, Month, Day;
    getdate(Year, Month, Day), gettime(Hour, Minute, Second);
    new slip[16];
    GetPlayerIp(params[0], slip, sizeof(slip));
    format(nsa, sizeof(nsa), "[A] [IP: %s] REG-IP: [%s]",slip, info[params[0]][pRegIP]);
    SCM(playerid, COLOR_LIGHTRED,nsa);
    new unbandate = gettime() + params[2]*86400;
    new data[16];
    format(data, 16, "%02d.%02d.%02d",Day,Month,Year);
    format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUE ('%s', '%s', '%i', '%s')",gp,data,unbandate,params[2]);
    mysql_query(query);
    Kicked(params[0]);
    ainfo[playerid][aBan] ++;
    return 1;
}
CMD:offban(playerid, params[])
{
    AdminCommand(4);
    new nick,result[128],ip[16],data[16];
    if(sscanf(params, "s[32]s[60]", nick,result)) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /offban [nick_name] [ïðè÷èíà]");
    format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(!mysql_fetch_row_format(query)) return SCM(playerid, -1, "Äàííûé àêêàóíò íå íàéäåí â áàçå äàííûõ!");
    format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query) == 1) return SCM(playerid, -1, "Äàííûé àêêàóíò óæå íàõîäèòñÿ â áàíëèñòå!");
    GetPlayerName(nick, gp, sizeof(gp));
    GetPlayerIp(nick, ip, sizeof(ip));
    GetPlayerName(playerid, sn, sizeof(sn));
     new nsa[128];
    format(nsa,128,"Àäìèíèñòðàòîð %s[%d] çàáëîêèðîâàë àêêàóíò %s . Ïðè÷èíà: %s",sn, playerid, gp,result);
    SCMToAll(COLOR_LIGHTRED,nsa);
    new Hour, Minute, Second,Year, Month, Day;
    getdate(Year, Month, Day), gettime(Hour, Minute, Second);
    new slip[16];
    GetPlayerIp(playerid, slip, sizeof(slip));
    format(nsa, sizeof(nsa), "[IP: %s]",slip);
    SCM(playerid, COLOR_LIGHTRED,nsa);
    new unbandate = gettime() + 31*86400;
    format(data, 16, "%02d.%02d.%02d",Day,Month,Year);
    format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUE ('%s', '%s', '%i', '%s')",gp,data,unbandate,result);
    mysql_query(query);
    mysql_free_result();
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

Что означает не отображается? При бане игроку не отображается причина, не кикает и т.д, или все это выполняется, или при перезаходе пускает на сервер?

Share this post


Link to post
Share on other sites

при перезаходе пускает на сервер

Share this post


Link to post
Share on other sites
8 минут назад, Pirat сказал:

при перезаходе пускает на сервер

Посмотри mysql_log, может не заносится запись в бд, и скинь проверку на бан.

Share this post


Link to post
Share on other sites

а где проверка на бан?

 

 

mysql log пуст

При оффбане стопается сервер тестил на 2 хостах результат тот же 

Заметка от Cawfee , создано

Объединил сообщения.

Share this post


Link to post
Share on other sites
58 минут назад, Pirat сказал:

mysql log пуст

При оффбане стопается сервер тестил на 2 хостах результат тот же 

Проверка на бан должна быть при коннекте игрока, то есть начинай с OnPlayerConnect и иди дальше по функциям, которые в нем вызывается. Чаще всего называется она "OnCheckPlayerBan" и т.д, что-то таком духе. Скинь код оффбана.

Share this post


Link to post
Share on other sites

@Pirat Посмотри в таблице база данных типо такого -  "bans", есть ли там ник игрока которого вы забанили.

Share this post


Link to post
Share on other sites

паблик онплаерконнект
 

Спойлер

public OnPlayerConnect(playerid)
{
    SetPlayerColor(playerid, 0xFFFFFF22);
    if(rej[playerid] > gettime())
    {
        SCM(playerid, -1, "(Слово удалено системой)! "c_red"Неизвестная ошибка");
        Kicked(playerid);
        return 0;
    }
    GetPlayerName(playerid, info[playerid][pName], MAX_PLAYER_NAME);
    Clear(playerid);
    LoadBanList(playerid);
    LoadBanIpList(playerid);
    rej[playerid] = gettime()+2;
    SetPlayerMapIcon(playerid, 12, 2495.3909,-1691.1396,14.7656, 62, 0, MAPICON_LOCAL); //Иконка Grove
    SetPlayerMapIcon(playerid, 13, 2000.0322, -1114.0546, 16.7380, 59, 0, MAPICON_LOCAL); //Иконка Ballas
    SetPlayerMapIcon(playerid, 14, 2801.9202,-1936.3910,13.5469, 61, 0, MAPICON_LOCAL); //Иконка Rifa
    SetPlayerMapIcon(playerid, 15, 2756.3247, -1182.8079, 16.7380, 60, 0, MAPICON_LOCAL); //Иконка Vagos
    SetPlayerMapIcon(playerid, 16, 2185.8733,-1815.2267,13.5469, 58, 0, MAPICON_LOCAL); //Иконка Aztecas
    //-TextDraw-----------------------------------------------------------------
    capt0[playerid] = TextDrawCreate(129.000000, 218.862899, "usebox");
    TextDrawLetterSize(capt0[playerid], 0.000000, 5.925307);
    TextDrawTextSize(capt0[playerid], 13.666652, 0.000000);
    TextDrawAlignment(capt0[playerid], 1);
    TextDrawColor(capt0[playerid], 0);
    TextDrawUseBox(capt0[playerid], true);
    TextDrawBoxColor(capt0[playerid], 102);
    TextDrawSetShadow(capt0[playerid], 0);
    TextDrawSetOutline(capt0[playerid], 0);
    TextDrawFont(capt0[playerid], 0);

    capt1[playerid] = TextDrawCreate(128.666687, 218.863052, "usebox");
    TextDrawLetterSize(capt1[playerid], 0.000000, 1.083744);
    TextDrawTextSize(capt1[playerid], 13.666645, 0.000000);
    TextDrawAlignment(capt1[playerid], 1);
    TextDrawColor(capt1[playerid], 0);
    TextDrawUseBox(capt1[playerid], true);
    TextDrawBoxColor(capt1[playerid], 102);
    TextDrawSetShadow(capt1[playerid], 0);
    TextDrawSetOutline(capt1[playerid], 0);
    TextDrawFont(capt1[playerid], 0);

    capt2[playerid] = TextDrawCreate(16.333328, 230.477691, "usebox");
    TextDrawLetterSize(capt2[playerid], 0.000000, -0.198973);
    TextDrawTextSize(capt2[playerid], 126.333358, 0.000000);
    TextDrawAlignment(capt2[playerid], 1);
    TextDrawColor(capt2[playerid], 0);
    TextDrawUseBox(capt2[playerid], true);
    TextDrawBoxColor(capt2[playerid], -2139094785);
    TextDrawSetShadow(capt2[playerid], 0);
    TextDrawSetOutline(capt2[playerid], 0);
    TextDrawFont(capt2[playerid], 0);

    capt3[playerid] = TextDrawCreate(38.999950, 216.533325, "CAPTURE");
    TextDrawLetterSize(capt3[playerid], 0.350999, 1.301333);
    TextDrawAlignment(capt3[playerid], 1);
    TextDrawColor(capt3[playerid], 512819199);
    TextDrawUseBox(capt3[playerid], true);
    TextDrawBoxColor(capt3[playerid], 0);
    TextDrawSetShadow(capt3[playerid], 0);
    TextDrawSetOutline(capt3[playerid], 1);
    TextDrawBackgroundColor(capt3[playerid], 51);
    TextDrawFont(capt3[playerid], 2);
    TextDrawSetProportional(capt3[playerid], 1);

    capt4[playerid] = TextDrawCreate(16.999986, 229.807449, "CMDONES");
    TextDrawLetterSize(capt4[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt4[playerid], 1);
    TextDrawColor(capt4[playerid], -2139062017);
    TextDrawSetShadow(capt4[playerid], 0);
    TextDrawSetOutline(capt4[playerid], 1);
    TextDrawBackgroundColor(capt4[playerid], 255);
    TextDrawFont(capt4[playerid], 2);
    TextDrawSetProportional(capt4[playerid], 1);

    capt5[playerid] = TextDrawCreate(31.666654, 239.933410, "VS");
    TextDrawLetterSize(capt5[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt5[playerid], 1);
    TextDrawColor(capt5[playerid], -12254977);
    TextDrawSetShadow(capt5[playerid], 0);
    TextDrawSetOutline(capt5[playerid], 1);
    TextDrawBackgroundColor(capt5[playerid], 255);
    TextDrawFont(capt5[playerid], 2);
    TextDrawSetProportional(capt5[playerid], 1);

    capt6[playerid] = TextDrawCreate(16.999984, 249.888885, "CMDONES");
    TextDrawLetterSize(capt6[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt6[playerid], 1);
    TextDrawColor(capt6[playerid], -2139062017);
    TextDrawSetShadow(capt6[playerid], 0);
    TextDrawSetOutline(capt6[playerid], 1);
    TextDrawBackgroundColor(capt6[playerid], 255);
    TextDrawFont(capt6[playerid], 2);
    TextDrawSetProportional(capt6[playerid], 1);

    capt7[playerid] = TextDrawCreate(16.999982, 261.259338, "TIME:");
    TextDrawLetterSize(capt7[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt7[playerid], 1);
    TextDrawColor(capt7[playerid], -1378294017);
    TextDrawSetShadow(capt7[playerid], 0);
    TextDrawSetOutline(capt7[playerid], 1);
    TextDrawBackgroundColor(capt7[playerid], 255);
    TextDrawFont(capt7[playerid], 2);
    TextDrawSetProportional(capt7[playerid], 1);

    capt8[playerid] = TextDrawCreate(103.333290, 229.488952, "0");
    TextDrawLetterSize(capt8[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt8[playerid], 1);
    TextDrawColor(capt8[playerid], -2139062017);
    TextDrawSetShadow(capt8[playerid], 0);
    TextDrawSetOutline(capt8[playerid], 1);
    TextDrawBackgroundColor(capt8[playerid], 255);
    TextDrawFont(capt8[playerid], 2);
    TextDrawSetProportional(capt8[playerid], 1);

    capt9[playerid] = TextDrawCreate(103.333282, 249.155563, "1");
    TextDrawLetterSize(capt9[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt9[playerid], 1);
    TextDrawColor(capt9[playerid], -2139062017);
    TextDrawSetShadow(capt9[playerid], 0);
    TextDrawSetOutline(capt9[playerid], 1);
    TextDrawBackgroundColor(capt9[playerid], 255);
    TextDrawFont(capt9[playerid], 2);
    TextDrawSetProportional(capt9[playerid], 1);

    capt10 = TextDrawCreate(93.999938, 261.355651, "10:00");
    TextDrawLetterSize(capt10, 0.300667, 1.301333);
    TextDrawAlignment(capt10, 1);
    TextDrawColor(capt10, -1378294017);
    TextDrawSetShadow(capt10, 0);
    TextDrawSetOutline(capt10, 1);
    TextDrawBackgroundColor(capt10, 255);
    TextDrawFont(capt10, 2);
    TextDrawSetProportional(capt10, 1);
    for(new i = 0; i < 100; i++)
    {
        GangZoneShowForPlayer(playerid, GZInfo[gID], GetGangZoneColor(i));
        if(BattleZone == true)
        {
            GangZoneFlashForPlayer(playerid,GZInfo[gID], GetGangZoneColor(GZInfo[gFrak]));
        }
    }
    return 1;
}

offban
CMD:offban(playerid, params[])
{
    AdminCommand(4);
    new nick,result[128],ip[16],data[16];
    if(sscanf(params, "s[32]s[60]", nick,result)) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /offban [nick_name] [ïðè÷èíà]");
    format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(!mysql_fetch_row_format(query)) return SCM(playerid, -1, "Äàííûé àêêàóíò íå íàéäåí â áàçå äàííûõ!");
    format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query) == 1) return SCM(playerid, -1, "Äàííûé àêêàóíò óæå íàõîäèòñÿ â áàíëèñòå!");
    GetPlayerName(nick, gp, sizeof(gp));
    GetPlayerIp(nick, ip, sizeof(ip));
    GetPlayerName(playerid, sn, sizeof(sn));
     new nsa[128];
    format(nsa,128,"Àäìèíèñòðàòîð %s[%d] çàáëîêèðîâàë àêêàóíò %s . Ïðè÷èíà: %s",sn, playerid, gp,result);
    SCMToAll(COLOR_LIGHTRED,nsa);
    new Hour, Minute, Second,Year, Month, Day;
    getdate(Year, Month, Day), gettime(Hour, Minute, Second);
    new slip[16];
    GetPlayerIp(playerid, slip, sizeof(slip));
    format(nsa, sizeof(nsa), "[IP: %s]",slip);
    SCM(playerid, COLOR_LIGHTRED,nsa);
    new unbandate = gettime() + 31*86400;
    format(data, 16, "%02d.%02d.%02d",Day,Month,Year);
    format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUE ('%s', '%s', '%i', '%s')",gp,data,unbandate,result);
    mysql_query(query);
    mysql_free_result();
    return 1;
}

 

 

нету в таблице mysql того кого я забанил

 

Заметка от Cawfee , создано

3.2. Код больше 10 строк брать еще и под спойлер. Как это сделать рассказано в разделе "FAQ"

Устное предупреждение.

Share this post


Link to post
Share on other sites

LoadBanList(playerid)     

LoadBanIpList(playerid)

 

В студию

при выполнении команд "mysql_log" нет? таблица "banlist" есть в базе?

Share this post


Link to post
Share on other sites

@SCRIPTMAN,

LoadBanList(playerid)     

LoadBanIpList(playerid)

 

В студию

Вот это не понял.

Таблица есть

Share this post


Link to post
Share on other sites

@Pirat, вспомните телеперадачу "Поле чудес" с Леонидом Якубовичем. Как он говорил постоянно "В студию", чтобы какой-либо предмет (например, подарок для победителя) вынесли в зал съемок на публику, тем самым продемонстрировали предмет всем. Вот и на форумах так. Частенько можно услышать "в студию", что предполагает необходимость отправить что-либо (в данном случае код функций LoadBanList и LoadBanIpList).

 

Спойлер

Безымянный.png

 

Share this post


Link to post
Share on other sites
Спойлер

stock LoadBanIpList(playerid)
{
    new ip[16], endpos = 0;
    GetPlayerIp(playerid, ip, sizeof(ip));
    format(query, sizeof(query), "SELECT * FROM `baniplist` WHERE `IP` = '%s'", ip);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query))
    {
        SCM(playerid, COLOR_LIGHTRED,"Âàø IP çàáëîêèðîâàí!");
        Kicked(playerid);
        return 1;
    }
    mysql_free_result();
    //
    for(new i = 0; i < 2; i++)
    {
        endpos = strfind(ip, ".", true,endpos+1);
    }
    if(endpos != -1) strdel(ip, endpos, sizeof(ip));
    format(query, sizeof(query), "SELECT * FROM `baniplist` WHERE `IP` = '%s'", ip);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query))
    {
        SCM(playerid, COLOR_LIGHTRED, "Âàø IP àäðåñ çàáëîêèðîâàí!");
        Kicked(playerid);
        return 1;
    }
    mysql_free_result();
    return 1;
}

 

Спойлер

stock LoadBanList(playerid)
{
    new name[MAX_PLAYER_NAME], unbandate, dates[16],reason[128];
    new str[150],totalstr[600];
    GetPlayerName(playerid, sn, sizeof(sn));
    format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", sn);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row(query) == 1)
    {
        mysql_fetch_row_format(query, "|");
        sscanf(query, "p<|>s[32]s[16]s[32]s[128]",name,dates,unbandate,reason);
        mysql_free_result();
        if(unbandate > gettime())
        {
            format(str, sizeof(str),"{FF6347}NICK:\t\t\t%s\n",name);
            strcat(totalstr, str);
            format(str, sizeof(str),"Äàòà áàíà:\t\t%s\n",dates);
            strcat(totalstr, str);
            format(str, sizeof(str),"Ïðè÷èíà:\t\t%s",reason);
            strcat(totalstr, str);
            SPD(playerid,0,DIALOG_STYLE_MSGBOX,"Áëîêèðîâêà",totalstr,"Çàêðûòü","");
            Kicked(playerid);
        }
        else
        {
            format(query, sizeof(query), "DELETE FROM `banlist` WHERE `Name` = '%s'",sn);
            mysql_query(query);
            SCM(playerid, COLOR_YELLOW, "Âàø àêêàóíò óñïåøíî {00FF00}ðàçáëîêèðîâàí!{33FFFF} Âû ìîæåòå ïðîäîëæèòü èãðó!");
        }
        mysql_free_result();
    }
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

@Pirat Попробуйте заменить в команде /ban, вот эту строчку на мою. И зайдите в FileZilla, и скиньте нам строки из файла - mysql_log.txt

format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUES ('%s', '%s', '%i', '%s')",gp,data,unbandate,params[2]);

Edited by Nekit_Krut18
Причина: Подправил.

Share this post


Link to post
Share on other sites

@Nekit_Krut18 А для чего тебе конфигурационный файл сервера понадобился, позволь поинтересоваться? :D

Share this post


Link to post
Share on other sites

@20th century Какой конфигурационные? Логи мускулы.?

Share this post


Link to post
Share on other sites

При вводе команды, говоришь, сервер останавливается? Подключи crashdetect, заново введи команду и покажи логи из файла server_log.txt.

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

При копировании участков кода из текстового редактора переключай раскладку на русский язык, дабы избежать кривого копирования кириллицы.

Покажи команду /iban если уверен, что она точно работает в отличии от твоих.

Share this post


Link to post
Share on other sites

@Nekit_Krut18, На что заменить? mysql после банов пуст

@20th century, У меня нету крашдетекта. КМД iban идет заспись в табл с аками в раздел iban. Кмд проверил работает отлично. А ban offban нет может и unban тоже

 

Спойлер

CMD:iban(playerid, params[])
{
    AdminCommand(5);
    if(sscanf(params,"is[60]",params[0], params[1]))return SCM(playerid, COLOR_GREY, "Используйте: /iban [id] [причина]");
    GPN
    GGGPN
    new nsa[120];
    format(nsa, sizeof(nsa), "Администратор %s[%d] навсегда заблокировал доступ игроку %s на сервер. Причина: %s", sn, playerid, gp, params[1]);
    SCMToAll(COLOR_LIGHTRED, nsa);
    info[params[0]][pIBAN] = 1;
    new ip[20];
    new n[65];
    GetPlayerIp(params[0], ip, sizeof(ip));
    format(n, sizeof(n), "[A] IP: [%s] REG-IP: [%s]", ip, info[params[0]][pRegIP]);
    SCMA(COLOR_LIGHTRED, n);
    Kicked(params[0]);
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

Так..

В OnGameModeInit:

mysql_log(ALL);

 

Заходишь на сервер, и используешь команду /ban, после выходишь, mysql_log скидываешь нам сюда. И ещё, в таблице вообще появляется аккаунт игрока в списке забаненных или нет?

Share this post


Link to post
Share on other sites

@SCRIPTMAN, я проверял после бана пуст, нету в табл

Share this post


Link to post
Share on other sites

@Pirat включи логирование и сделай что я тебе сказал

Share this post


Link to post
Share on other sites
5 часов назад, SCRIPTMAN сказал:

@Pirat включи логирование и сделай что я тебе сказал

как включить логирование?

Share this post


Link to post
Share on other sites

@Pirat я писал выше. Посмотри.

Share this post


Link to post
Share on other sites

@SCRIPTMAN,

C:\Users\User\Desktop\gamemodes\dm.pwn(386) : error 017: undefined symbol "mysql_log"
Pawn compiler 3.2.3664              Copyright (c) 1997-2016, ITB CompuPhase


1 Error.
Ошибка

 

Share this post


Link to post
Share on other sites

@Pirat Попробуйте - 

mysql_log(LOG_ALL);

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Decard
      By Decard
      D: honest-roleplay_main/.build/include/pregress2 (23) fatal error 111 user error: cloud not locate a_samp.inc file, please check your server includes
       
      Как это исправить у мене a_samp в самом вверху мода
       
    • MARIANO
      By MARIANO
      Приветствую всех, уважаемых знатаков. 
       
      Столкнулся не то что бы с проблемой, но все равно вопросов меньше от этого не становиться.
      В общем. В все работало хорошо, как надо. В один прекрасный момент, а именно после добавления команды /light (до этого было через кнопку, но даже если все возвращаю - происходит тоже самое.) для автомобиля - произошла странная магия.
       
      В ночное игровое время, фары стали включаться только при заведенном двигателе, а днем - не включаются вовсе.  В чем может выражаться такое?
       
      Кому интересно: Вот команда, в ней все тоже самое, что было через нажатие кнопки, хотя роли это и не играет. 
       
      СMD:light(playerid) {     if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, color_white, "Необходимо быть за рулем автомобиля.");     new v = GetPlayerVehicleID(playerid);      if(!noeng(v)) // проверка на велосипеды и самолеты     {         if(!vehicle_info[v][v_light])         {             vehicle_info[v][v_light] = 1;             PlayerTextDrawColor(playerid, speed_PTD[playerid][2], 0x679fc7ff);             PlayerTextDrawHide(playerid, speed_PTD[playerid][2]);             PlayerTextDrawShow(playerid, speed_PTD[playerid][2]);         }         else         {             vehicle_info[v][v_light] = 0;             PlayerTextDrawColor(playerid, speed_PTD[playerid][2], 200);             PlayerTextDrawHide(playerid, speed_PTD[playerid][2]);             PlayerTextDrawShow(playerid, speed_PTD[playerid][2]);         }      SetVehicleParamsEx(v, vehicle_info[v][v_engine], vehicle_info[v][v_light], 0, vehicle_info[v][v_lock], vehicle_info[v][v_bonnet], vehicle_info[v][v_boot], 0);     }     return 1; }