• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Появляется спидометр при входе в игру

valencia_manager

Умник
Здравствуйте, столкнулся с такой проблемой, когда при входе игру может появляться спидометр и не исчезать. Также спидометр может появиться когда ты просто находишься на сервере. В чем может быть проблема?
В OnPlayerDisconnect и при выходе из авто KillTimer прописан.

Скрин:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


Код:
PHP:
public OnPlayerStateChange:

if(!IsAVel(vehicleid))
{
       @UpdateCarInfo(playerid, vehicleid, 0);
       pTemp[playerid][pCarInfoTimer] = SetTimerEx("@UpdateCarInfo", 200, true, "iii", playerid, vehicleid, 0);
       PlayerTextDrawShow(playerid,speed_TD[playerid][17]);
       PlayerTextDrawShow(playerid,speed_TD[playerid][18]);               
}

Сам таймер:

@UpdateCarInfo(playerid, vehicleid, speedonly);
@UpdateCarInfo(playerid, vehicleid, speedonly)
{
    if(!IsPlayerConnected(playerid) || IsKicked(playerid) || !Iter_Contains(valid_vehicles, vehicleid))
    {
        if(pTemp[playerid][pCarInfoTimer] != 0)
        {
            HideSpeedometer(playerid);
            KillTimer(pTemp[playerid][pCarInfoTimer]);
            pTemp[playerid][pCarInfoTimer] = 0;
        }
        return 1;
    }
    new Float:X, Float:Y, Float:Z, Float:X2, Float:Y2, Float:Z2;
    new lights, engine;
    engine = GetEngineStatL(vehicleid, lights);
    new model = GetVehicleModel(vehicleid);
    new Float:tank = VehStats[model-400][vMaxFuel];
    GetVehicleVelocity(vehicleid,X,Y,Z);
    new Float:speed = floatsqroot(floatadd(floatadd(floatpower(X, 2), floatpower(Y, 2)),  floatpower(Z, 2))) * 126.31;
    if(VehicleInfo[vehicleid][vSLimit])
    {
        if(speed > 55)
        {
            new Float:dif = 55 / speed;
            SetVehicleVelocity(vehicleid,X*dif,Y*dif,Z);
            speed = 55;
        }
    }
    if(!speedonly)
    {
        X2 = VehicleInfo[vehicleid][vX];
        Y2 = VehicleInfo[vehicleid][vY];
        Z2 = VehicleInfo[vehicleid][vZ];
        GetVehiclePos(vehicleid, X, Y, Z);
        if(X > 10000.0 || Y > 10000.0 || Z > 10000.0 || X < -10000.0 || Y < -10000.0 || Z < -10000.0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Ошибка 2");
            ToCheat(playerid, 9982);
            SetVehicleToRespawn(vehicleid);
            return 0;
        }
        new Float:veloc = PointToPoint3D(X2,Y2,Z2,X,Y,Z)/1000;
        VehicleInfo[vehicleid][vMileage] += veloc;
        if(engine == 1)
        {
            VehicleInfo[vehicleid][vFuel] -= (veloc/100)*tank;
            if(VehicleInfo[vehicleid][vFuel] <= 0.0)
            {
                VehicleInfo[vehicleid][vFuel] = 0.0;
                new alarm, doors, bonnet, boot, objective;
                GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
                SetVehicleParamsEx(vehicleid, false, lights, alarm, doors, bonnet, boot, objective);
            }
            if(VehicleInfo[vehicleid][vHealth] <= 300.0)
            {
                SetVehicleHealth(vehicleid, 300.0);
                new alarm, doors, bonnet, boot, objective;
                GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
                SetVehicleParamsEx(vehicleid, false, false, alarm, doors, bonnet, boot, objective);
            }
        }
        VehicleInfo[vehicleid][vX] = X;
        VehicleInfo[vehicleid][vY] = Y;
        VehicleInfo[vehicleid][vZ] = Z;
    }
    new fmt_speed[64];
    format(fmt_speed, sizeof(fmt_speed), "%s", VehStats[model-400][vName]);
    PlayerTextDrawSetString(playerid, speed_TD[playerid][20], VehStats[model-400][vName]);
                
    format(fmt_speed, sizeof(fmt_speed), "%d", GetVehicleSpeed(playerid));
    PlayerTextDrawSetString(playerid, speed_TD[playerid][31], fmt_speed);
    
    format(fmt_speed, sizeof(fmt_speed), "%.1f_KM", VehicleInfo[vehicleid][vMileage]);
    PlayerTextDrawSetString(playerid, speed_TD[playerid][55], fmt_speed);
    
    format(fmt_speed, sizeof(fmt_speed), "FUEL:_%.0f/%.0fL", VehicleInfo[vehicleid][vFuel], tank);
    PlayerTextDrawSetString(playerid, speed_TD[playerid][42], fmt_speed);
    
    PlayerTextDrawColor(playerid, speed_TD[playerid][11], lights ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][43], lights ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][44], lights ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][45], lights ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][46], lights ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][12], VehicleInfo[vehicleid][vLock] ? -2147483393 : 8388863);
    PlayerTextDrawColor(playerid, speed_TD[playerid][47], VehicleInfo[vehicleid][vLock] ? -2147483393 : 8388863);
    PlayerTextDrawColor(playerid, speed_TD[playerid][48], VehicleInfo[vehicleid][vLock] ? -2147483393 : 8388863);
    PlayerTextDrawColor(playerid, speed_TD[playerid][49], VehicleInfo[vehicleid][vLock] ? -2147483393 : 8388863);
    
    PlayerTextDrawColor(playerid, speed_TD[playerid][9], VehicleInfo[vehicleid][vSLimit] ?  8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][50], VehicleInfo[vehicleid][vSLimit] ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][51], VehicleInfo[vehicleid][vSLimit] ? 8388863 : -2147483393);
    
    PlayerTextDrawColor(playerid, speed_TD[playerid][10], engine ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][52], engine ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][53], engine ? 8388863 : -2147483393);
    PlayerTextDrawColor(playerid, speed_TD[playerid][54], engine ? 8388863 : -2147483393);
    if(VehicleInfo[vehicleid][vPerfomance] > 0)
    {
        PlayerTextDrawColor(playerid, speed_TD[playerid][34], 0x99CC00FF);
    }
    else
    {
        PlayerTextDrawColor(playerid, speed_TD[playerid][34], -1);
    }
    
    for(new i; i < 56; i++)
    {
        if(i == 17 || i == 18) continue;
        PlayerTextDrawShow(playerid,speed_TD[playerid][i]);
    }
    if(GetVehicleSpeed(playerid) >= 10 && GetPVarInt(playerid,"USEDIALOGID"))
    {
        if(pTemp[playerid][pBusID] != vehicleid && vehicleid >= aBus[0] && vehicleid <= aBus[15]
        || pTemp[playerid][pTruckID] != vehicleid && vehicleid >= aTruck[0][0] && vehicleid <= aTruck[2][1]
        || pTemp[playerid][pTaxiID] != vehicleid && vehicleid >= taxicar[0] && vehicleid <= taxicar[15]
        || pTemp[playerid][pMechID] != vehicleid && vehicleid >= mechanic[0] && vehicleid <= mechanic[16])
            ToCheat(playerid, 3278);
    }
    if(playerCheckRepair{playerid}) playerCheckRepair{playerid}--;
    else
    {
        new Float:vhealth;
        GetVehicleHealth(vehicleid, vhealth);
        if(vhealth > VehicleInfo[vehicleid][vHealth])
        {
            SetPVarFloat(playerid, "HealCar_Kick", vhealth);
            SetVehicleHealth(vehicleid, VehicleInfo[vehicleid][vHealth]);
            ToCheat(playerid, 1154);
        }
        else
        {
            VehicleInfo[vehicleid][vHealth] = vhealth;
        }
    }
    if(GetPVarInt(playerid, "DrivingTest"))
    {
        if(GetVehicleSpeed(playerid) > 70 && GetPVarInt(playerid, "AntiFloodTestError") <= gettime())
        {
            new string[128];
            format(string, sizeof(string), "Вы двигаетесь со скоростью более 70 км/ч. Сбавьте скорость. Ошибок: {ffffff}%i", GetPVarInt(playerid, "DrivingTestError") + 1);
            SendClientMessage(playerid, COLOR_RED, string);
            SetPVarInt(playerid, "DrivingTestError", GetPVarInt(playerid, "DrivingTestError") + 1);
            SetPVarInt(playerid, "AntiFloodTestError", gettime()+7);
        }
    }
    return 1;
}
 
Сверху Снизу