Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для Den_Gurino
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.07.2017
    Сообщений
    36
    Репутация:
    3 ±

    Топливо авто на спидометре!

    Здравствуйте все!
    Сразу к делу, мод в котором я ковыряюсь, был обнаружен баг, на спидометре авто, ТД бензина не убавляется, и я не могу понять, толи бензин бесконечный, толи он очень медленно расходуется, толи ТД не работает по мере потребления топлива.
    На том же спидометре есть шкала состояния машины, так вот она работает нормально, а горючка нет, вот код шкалы топлива!
      Открыть/закрыть
    PHP код:
         switch(VehInfo[vehicleid][vFuel]) 
            { 
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1]," "); 
                case 
    1..3PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"II"); 
                case 
    4..5PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"III"); 
                case 
    6..7PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIII"); 
                case 
    8..9PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIII"); 
                case 
    10..11PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIII"); 
                case 
    12..13PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIII"); 
                case 
    14..15PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIII"); 
                case 
    16..17PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIII"); 
                case 
    18..19PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIII"); 
                case 
    20..21PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIII"); 
                case 
    22..23PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIII"); 
                case 
    24..25PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIII"); 
                case 
    26..27PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIII"); 
                case 
    28..29PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIII"); 
                case 
    30..31PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIII"); 
                case 
    32..35PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIII"); 
                case 
    36..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIII"); 
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIII"); 
                default: 
    PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIIII"); 
            } 


    А вот полностью паблик спидометра, с этим кодом, который выше!
      Открыть/закрыть
    PHP код:
    publicsUpdateSpeedometr(playerid

        if(!
    GetPVarInt(playerid,"ShowSpeed") || GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1
        if(!
    pTemp[playerid][pAFK]) 
        { 
            new 
    vehicleid GetPVarInt(playerid,"VehicleEnters"); 
            if(
    vehicleid <= 0) return 0
            if(
    GetVehicleModel(GetPlayerVehicleID(playerid)) == 538) return 1
            if(
    VehInfo[vehicleid][vFuel] <= 1.0
            { 
                
    SendClientMessage(playerid,-1,""#net"В машине нет бензина"); 
                   
    new engine,lights,alarm,doors,bonnet,boot,objective
                
    GetVehicleParamsEx(vehicleidenginelightsalarmdoorsbonnetbootobjective); 
                
    SetVehicleParamsEx(vehicleidfalselightsalarmdoorsbonnetbootobjective); 
                return 
    0
            } 

            new 
    Float:X2Float:Y2Float:Z2,Float:X,Float:Y,Float:Z

            
    X2 VehInfo[vehicleid-1][vehicleX]; 
            
    Y2 VehInfo[vehicleid-1][vehicleY]; 
            
    Z2 VehInfo[vehicleid-1][vehicleZ]; 

             
    GetVehicleVelocity(vehicleid,X,Y,Z); 

            new 
    Float:speed floatsqroot(floatadd(floatadd(floatpower(X2), floatpower(Y2)),  floatpower(Z2))) * 126.31

            new 
    PlayerSpeed floatround(speed); 

              if (
    PlayerSpeed>=350
            { 
                
    OnPlayerCheat(playerid,AC_SPEED_HACKCAR_codeAC_KICK); 
                return 
    0
            } 

            if(
    PlayerSpeed <= 165 && VehInfo[vehicleid-1][vEngineRestyle] && GetPVarInt(playerid"SPRINT_KEY") && VehInfo[vehicleid-1][vEngine] && GetPVarInt(playerid,"VehicleEnters") != 462
            { 
                new 
    Float:vAnglesFloat:dis 0.05
                
    GetVehicleZAngle(vehicleidvAngles); 
                
    SetVehicleVelocity(vehicleid,floatadd(X,floatmul(dis,floatsin(-vAngles,degrees))), floatadd(Y,floatmul(dis,floatcos(-vAngles,degrees))), Z); 
            } 

            if(
    GetPVarInt(playerid"slimit") && PlayerSpeed >= GetPVarInt(playerid,"slimit")) 
            { 
                new 
    Float:dif GetPVarInt(playerid,"slimit") / speed
                
    SetVehicleVelocity(vehicleid,X*dif,Y*dif,Z); 
            } 

            
    GetVehiclePos(vehicleidXYZ); 
            if(
    10000.0 || 10000.0 || 10000.0 || < -10000.0 || < -10000.0 || < -10000.0
            { 
                
    SetVehicleToRespawn(vehicleid); 
                
    OnPlayerCheat(playeridAC_PlayerSpeedHack_codeAC_KICK); 
                return 
    0
            } 

            
    // 
            
    VehInfo[vehicleid-1][vehicleX] = X
            
    VehInfo[vehicleid-1][vehicleY] = Y
            
    VehInfo[vehicleid-1][vehicleZ] = Z
            
    // 
            
    new Float:veloc PointToPoint3D(X2,Y2,Z2,X,Y,Z)/1000

            
    VehInfo[vehicleid-1][vDrived] += veloc

            if(
    VehInfo[vehicleid][vFuel] > 1.0 && !IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= (veloc*2); 
            else if(
    IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= 0.001

            new 
    FloatCarH
            
    GetVehicleHealth(vehicleidCarH); 

            switch(
    VehInfo[vehicleid][vFuel]) 
            { 
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1]," "); 
                case 
    1..3PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"II"); 
                case 
    4..5PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"III"); 
                case 
    6..7PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIII"); 
                case 
    8..9PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIII"); 
                case 
    10..11PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIII"); 
                case 
    12..13PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIII"); 
                case 
    14..15PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIII"); 
                case 
    16..17PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIII"); 
                case 
    18..19PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIII"); 
                case 
    20..21PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIII"); 
                case 
    22..23PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIII"); 
                case 
    24..25PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIII"); 
                case 
    26..27PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIII"); 
                case 
    28..29PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIII"); 
                case 
    30..31PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIII"); 
                case 
    32..35PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIII"); 
                case 
    36..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIII"); 
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIII"); 
                default: 
    PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIIII"); 
            } 

            switch(
    floatround(CarH 10.0floatround_ceil)) 
            { 
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],"I"); 
                case 
    1..10:  PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "II"); 
                case 
    11..20PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIII"); 
                case 
    21..30PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIII"); 
                case 
    31..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIII"); 
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIII"); 
                case 
    51..60PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIII"); 
                case 
    61..70PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIII"); 
                case 
    71..80PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIIIII"); 
                case 
    81..100PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2] ,"IIIIIIIIIIIIIIIIIIII"); 
            } 

            
    format(string64"%i"PlayerSpeed); 
            
    PlayerTextDrawSetString(playeridTD_SPEED[playerid][0], string); 

            if(
    IsVehicleDrivingBackwards(vehicleid)) PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  ~r~R ~w~1 2 3 4 5"); 
            else 
            { 
                if(!
    PlayerSpeedPlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~r~N  ~w~R 1 2 3 4 5"); 
                if(
    PlayerSpeed && PlayerSpeed 40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R ~r~1 ~w~2 3 4 5");
                if(
    PlayerSpeed 40 && PlayerSpeed 79PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 ~r~2 ~w~3 4 5"); 
                if(
    PlayerSpeed 80 && PlayerSpeed 109PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 ~r~3 ~w~4 5"); 
                if(
    PlayerSpeed 110 && PlayerSpeed 129PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 ~r~4 ~w~5"); 
                if(
    PlayerSpeed 130 && PlayerSpeed 220PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 4 ~r~5");
            } 
        } 
        
    SetTimerEx("UpdateSpeedometr",200,0,"i",playerid); 
        return 
    1


    Помогите пожалуйста разобраться в этом! За помощь, с меня как полагается!

  2. #2
    Аватар для NewGreen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    61
    Репутация:
    44 ±
    Попробуйте так:
      Открыть/закрыть

    PHP код:
    publicsUpdateSpeedometr(playerid)  
    {  
        if(!
    GetPVarInt(playerid,"ShowSpeed") || GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;  
        if(!
    pTemp[playerid][pAFK])  
        {  
            new 
    vehicleid GetPVarInt(playerid,"VehicleEnters");  
            if(
    vehicleid <= 0) return 0;  
            if(
    GetVehicleModel(GetPlayerVehicleID(playerid)) == 538) return 1;  
            if(
    VehInfo[vehicleid][vFuel] <= 1.0)  
            {  
                
    SendClientMessage(playerid,-1,""#net"В машине нет бензина");  
                   
    new engine,lights,alarm,doors,bonnet,boot,objective;  
                
    GetVehicleParamsEx(vehicleidenginelightsalarmdoorsbonnetbootobjective);  
                
    SetVehicleParamsEx(vehicleidfalselightsalarmdoorsbonnetbootobjective);  
                return 
    0;  
            }  

            new 
    Float:X2Float:Y2Float:Z2,Float:X,Float:Y,Float:Z;  

            
    X2 VehInfo[vehicleid-1][vehicleX];  
            
    Y2 VehInfo[vehicleid-1][vehicleY];  
            
    Z2 VehInfo[vehicleid-1][vehicleZ];  

             
    GetVehicleVelocity(vehicleid,X,Y,Z);  

            new 
    Float:speed floatsqroot(floatadd(floatadd(floatpower(X2), floatpower(Y2)),  floatpower(Z2))) * 126.31;  

            new 
    PlayerSpeed floatround(speed);  

              if (
    PlayerSpeed>=350)  
            {  
                
    OnPlayerCheat(playerid,AC_SPEED_HACKCAR_codeAC_KICK);  
                return 
    0;  
            }  

            if(
    PlayerSpeed <= 165 && VehInfo[vehicleid-1][vEngineRestyle] && GetPVarInt(playerid"SPRINT_KEY") && VehInfo[vehicleid-1][vEngine] && GetPVarInt(playerid,"VehicleEnters") != 462)  
            {  
                new 
    Float:vAnglesFloat:dis 0.05;  
                
    GetVehicleZAngle(vehicleidvAngles);  
                
    SetVehicleVelocity(vehicleid,floatadd(X,floatmul(dis,floatsin(-vAngles,degrees))), floatadd(Y,floatmul(dis,floatcos(-vAngles,degrees))), Z);  
            }  

            if(
    GetPVarInt(playerid"slimit") && PlayerSpeed >= GetPVarInt(playerid,"slimit"))  
            {  
                new 
    Float:dif GetPVarInt(playerid,"slimit") / speed;  
                
    SetVehicleVelocity(vehicleid,X*dif,Y*dif,Z);  
            }  

            
    GetVehiclePos(vehicleidXYZ);  
            if(
    10000.0 || 10000.0 || 10000.0 || < -10000.0 || < -10000.0 || < -10000.0)  
            {  
                
    SetVehicleToRespawn(vehicleid);  
                
    OnPlayerCheat(playeridAC_PlayerSpeedHack_codeAC_KICK);  
                return 
    0;  
            }  

            
    //  
            
    VehInfo[vehicleid-1][vehicleX] = X;  
            
    VehInfo[vehicleid-1][vehicleY] = Y;  
            
    VehInfo[vehicleid-1][vehicleZ] = Z;  
            
    //  
            
    new Float:veloc PointToPoint3D(X2,Y2,Z2,X,Y,Z)/1000;  

            
    VehInfo[vehicleid-1][vDrived] += veloc;  

            if(
    VehInfo[vehicleid][vFuel] > 1.0 && !IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= (veloc*10);  
            else if(
    IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= 0.001;  

            new 
    FloatCarH;  
            
    GetVehicleHealth(vehicleidCarH);  

            switch(
    VehInfo[vehicleid][vFuel])  
            {  
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1]," ");  
                case 
    1..3PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"II");  
                case 
    4..5PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"III");  
                case 
    6..7PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIII");  
                case 
    8..9PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIII");  
                case 
    10..11PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIII");  
                case 
    12..13PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIII");  
                case 
    14..15PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIII");  
                case 
    16..17PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIII");  
                case 
    18..19PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIII");  
                case 
    20..21PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIII");  
                case 
    22..23PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIII");  
                case 
    24..25PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIII");  
                case 
    26..27PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIII");  
                case 
    28..29PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIII");  
                case 
    30..31PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIII");  
                case 
    32..35PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIII");  
                case 
    36..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIII");  
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIII");  
                default: 
    PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIIII");  
            }  

            switch(
    floatround(CarH 10.0floatround_ceil))  
            {  
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],"I");  
                case 
    1..10:  PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "II");  
                case 
    11..20PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIII");  
                case 
    21..30PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIII");  
                case 
    31..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIII");  
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIII");  
                case 
    51..60PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIII");  
                case 
    61..70PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIII");  
                case 
    71..80PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIIIII");  
                case 
    81..100PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2] ,"IIIIIIIIIIIIIIIIIIII");  
            }  

            
    format(string64"%i"PlayerSpeed);  
            
    PlayerTextDrawSetString(playeridTD_SPEED[playerid][0], string);  

            if(
    IsVehicleDrivingBackwards(vehicleid)) PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  ~r~R ~w~1 2 3 4 5");  
            else  
            {  
                if(!
    PlayerSpeedPlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~r~N  ~w~R 1 2 3 4 5");  
                if(
    PlayerSpeed && PlayerSpeed 40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R ~r~1 ~w~2 3 4 5"); 
                if(
    PlayerSpeed 40 && PlayerSpeed 79PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 ~r~2 ~w~3 4 5");  
                if(
    PlayerSpeed 80 && PlayerSpeed 109PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 ~r~3 ~w~4 5");  
                if(
    PlayerSpeed 110 && PlayerSpeed 129PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 ~r~4 ~w~5");  
                if(
    PlayerSpeed 130 && PlayerSpeed 220PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 4 ~r~5"); 
            }  
        }  
        
    SetTimerEx("UpdateSpeedometr",200,0,"i",playerid);  
        return 
    1;  


  3. Пользователь сказал cпасибо:
    Den_Gurino (16.12.2018)
  4. #3
    Аватар для Den_Gurino
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.07.2017
    Сообщений
    36
    Репутация:
    3 ±
    Теперь топливо закончилось очень быстро, с гетто не доехал до зоны 51, и на спидометре датчик топлива не показывал что идет расход, типа полный бак показывает, а бенза скончалась )

  5. #4
    Аватар для NewGreen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    61
    Репутация:
    44 ±
    Уменьшил потребление топлива, и должно начать показывать расход.
      Открыть/закрыть
    PHP код:
    publicsUpdateSpeedometr(playerid)   
    {   
        if(!
    GetPVarInt(playerid,"ShowSpeed") || GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;   
        if(!
    pTemp[playerid][pAFK])   
        {   
            new 
    vehicleid GetPVarInt(playerid,"VehicleEnters");   
            if(
    vehicleid <= 0) return 0;   
            if(
    GetVehicleModel(GetPlayerVehicleID(playerid)) == 538) return 1;   
            if(
    VehInfo[vehicleid][vFuel] <= 1.0)   
            {   
                
    SendClientMessage(playerid,-1,""#net"В машине нет бензина");   
                   
    new engine,lights,alarm,doors,bonnet,boot,objective;   
                
    GetVehicleParamsEx(vehicleidenginelightsalarmdoorsbonnetbootobjective);   
                
    SetVehicleParamsEx(vehicleidfalselightsalarmdoorsbonnetbootobjective);   
                return 
    0;   
            }   

            new 
    Float:X2Float:Y2Float:Z2,Float:X,Float:Y,Float:Z;   

            
    X2 VehInfo[vehicleid-1][vehicleX];   
            
    Y2 VehInfo[vehicleid-1][vehicleY];   
            
    Z2 VehInfo[vehicleid-1][vehicleZ];   

             
    GetVehicleVelocity(vehicleid,X,Y,Z);   

            new 
    Float:speed floatsqroot(floatadd(floatadd(floatpower(X2), floatpower(Y2)),  floatpower(Z2))) * 126.31;   

            new 
    PlayerSpeed floatround(speed);   

              if (
    PlayerSpeed>=350)   
            {   
                
    OnPlayerCheat(playerid,AC_SPEED_HACKCAR_codeAC_KICK);   
                return 
    0;   
            }   

            if(
    PlayerSpeed <= 165 && VehInfo[vehicleid-1][vEngineRestyle] && GetPVarInt(playerid"SPRINT_KEY") && VehInfo[vehicleid-1][vEngine] && GetPVarInt(playerid,"VehicleEnters") != 462)   
            {   
                new 
    Float:vAnglesFloat:dis 0.05;   
                
    GetVehicleZAngle(vehicleidvAngles);   
                
    SetVehicleVelocity(vehicleid,floatadd(X,floatmul(dis,floatsin(-vAngles,degrees))), floatadd(Y,floatmul(dis,floatcos(-vAngles,degrees))), Z);   
            }   

            if(
    GetPVarInt(playerid"slimit") && PlayerSpeed >= GetPVarInt(playerid,"slimit"))   
            {   
                new 
    Float:dif GetPVarInt(playerid,"slimit") / speed;   
                
    SetVehicleVelocity(vehicleid,X*dif,Y*dif,Z);   
            }   

            
    GetVehiclePos(vehicleidXYZ);   
            if(
    10000.0 || 10000.0 || 10000.0 || < -10000.0 || < -10000.0 || < -10000.0)   
            {   
                
    SetVehicleToRespawn(vehicleid);   
                
    OnPlayerCheat(playeridAC_PlayerSpeedHack_codeAC_KICK);   
                return 
    0;   
            }   

            
    //   
            
    VehInfo[vehicleid-1][vehicleX] = X;   
            
    VehInfo[vehicleid-1][vehicleY] = Y;   
            
    VehInfo[vehicleid-1][vehicleZ] = Z;   
            
    //   
            
    new Float:veloc PointToPoint3D(X2,Y2,Z2,X,Y,Z)/1000;   

            
    VehInfo[vehicleid-1][vDrived] += veloc;   

            if(
    VehInfo[vehicleid][vFuel] > 1.0 && !IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= (veloc*5);   
            else if(
    IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= 0.001;   

            new 
    FloatCarH;   
            
    GetVehicleHealth(vehicleidCarH);   

            switch(
    floatround(VehInfo[vehicleid][vFuel]))   
            {   
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1]," ");   
                case 
    1..3PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"II");   
                case 
    4..5PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"III");   
                case 
    6..7PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIII");   
                case 
    8..9PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIII");   
                case 
    10..11PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIII");   
                case 
    12..13PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIII");   
                case 
    14..15PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIII");   
                case 
    16..17PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIII");   
                case 
    18..19PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIII");   
                case 
    20..21PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIII");   
                case 
    22..23PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIII");   
                case 
    24..25PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIII");   
                case 
    26..27PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIII");   
                case 
    28..29PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIII");   
                case 
    30..31PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIII");   
                case 
    32..35PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIII");   
                case 
    36..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIII");   
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIII");   
                default: 
    PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIIII");   
            }   

            switch(
    floatround(CarH 10.0floatround_ceil))   
            {   
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],"I");   
                case 
    1..10:  PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "II");   
                case 
    11..20PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIII");   
                case 
    21..30PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIII");   
                case 
    31..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIII");   
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIII");   
                case 
    51..60PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIII");   
                case 
    61..70PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIII");   
                case 
    71..80PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIIIII");   
                case 
    81..100PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2] ,"IIIIIIIIIIIIIIIIIIII");   
            }   

            
    format(string64"%i"PlayerSpeed);   
            
    PlayerTextDrawSetString(playeridTD_SPEED[playerid][0], string);   

            if(
    IsVehicleDrivingBackwards(vehicleid)) PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  ~r~R ~w~1 2 3 4 5");   
            else   
            {   
                if(!
    PlayerSpeedPlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~r~N  ~w~R 1 2 3 4 5");   
                if(
    PlayerSpeed && PlayerSpeed 40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R ~r~1 ~w~2 3 4 5");  
                if(
    PlayerSpeed 40 && PlayerSpeed 79PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 ~r~2 ~w~3 4 5");   
                if(
    PlayerSpeed 80 && PlayerSpeed 109PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 ~r~3 ~w~4 5");   
                if(
    PlayerSpeed 110 && PlayerSpeed 129PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 ~r~4 ~w~5");   
                if(
    PlayerSpeed 130 && PlayerSpeed 220PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 4 ~r~5");  
            }   
        }   
        
    SetTimerEx("UpdateSpeedometr",200,0,"i",playerid);   
        return 
    1;   


  6. Пользователь сказал cпасибо:
    Den_Gurino (22.12.2018)
  7. #5
    Аватар для Den_Gurino
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.07.2017
    Сообщений
    36
    Репутация:
    3 ±
    Цитата Сообщение от NewGreen Посмотреть сообщение
    Уменьшил потребление топлива, и должно начать показывать расход.
      Открыть/закрыть
    PHP код:
    publicsUpdateSpeedometr(playerid)   
    {   
        if(!
    GetPVarInt(playerid,"ShowSpeed") || GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;   
        if(!
    pTemp[playerid][pAFK])   
        {   
            new 
    vehicleid GetPVarInt(playerid,"VehicleEnters");   
            if(
    vehicleid <= 0) return 0;   
            if(
    GetVehicleModel(GetPlayerVehicleID(playerid)) == 538) return 1;   
            if(
    VehInfo[vehicleid][vFuel] <= 1.0)   
            {   
                
    SendClientMessage(playerid,-1,""#net"В машине нет бензина");   
                   
    new engine,lights,alarm,doors,bonnet,boot,objective;   
                
    GetVehicleParamsEx(vehicleidenginelightsalarmdoorsbonnetbootobjective);   
                
    SetVehicleParamsEx(vehicleidfalselightsalarmdoorsbonnetbootobjective);   
                return 
    0;   
            }   

            new 
    Float:X2Float:Y2Float:Z2,Float:X,Float:Y,Float:Z;   

            
    X2 VehInfo[vehicleid-1][vehicleX];   
            
    Y2 VehInfo[vehicleid-1][vehicleY];   
            
    Z2 VehInfo[vehicleid-1][vehicleZ];   

             
    GetVehicleVelocity(vehicleid,X,Y,Z);   

            new 
    Float:speed floatsqroot(floatadd(floatadd(floatpower(X2), floatpower(Y2)),  floatpower(Z2))) * 126.31;   

            new 
    PlayerSpeed floatround(speed);   

              if (
    PlayerSpeed>=350)   
            {   
                
    OnPlayerCheat(playerid,AC_SPEED_HACKCAR_codeAC_KICK);   
                return 
    0;   
            }   

            if(
    PlayerSpeed <= 165 && VehInfo[vehicleid-1][vEngineRestyle] && GetPVarInt(playerid"SPRINT_KEY") && VehInfo[vehicleid-1][vEngine] && GetPVarInt(playerid,"VehicleEnters") != 462)   
            {   
                new 
    Float:vAnglesFloat:dis 0.05;   
                
    GetVehicleZAngle(vehicleidvAngles);   
                
    SetVehicleVelocity(vehicleid,floatadd(X,floatmul(dis,floatsin(-vAngles,degrees))), floatadd(Y,floatmul(dis,floatcos(-vAngles,degrees))), Z);   
            }   

            if(
    GetPVarInt(playerid"slimit") && PlayerSpeed >= GetPVarInt(playerid,"slimit"))   
            {   
                new 
    Float:dif GetPVarInt(playerid,"slimit") / speed;   
                
    SetVehicleVelocity(vehicleid,X*dif,Y*dif,Z);   
            }   

            
    GetVehiclePos(vehicleidXYZ);   
            if(
    10000.0 || 10000.0 || 10000.0 || < -10000.0 || < -10000.0 || < -10000.0)   
            {   
                
    SetVehicleToRespawn(vehicleid);   
                
    OnPlayerCheat(playeridAC_PlayerSpeedHack_codeAC_KICK);   
                return 
    0;   
            }   

            
    //   
            
    VehInfo[vehicleid-1][vehicleX] = X;   
            
    VehInfo[vehicleid-1][vehicleY] = Y;   
            
    VehInfo[vehicleid-1][vehicleZ] = Z;   
            
    //   
            
    new Float:veloc PointToPoint3D(X2,Y2,Z2,X,Y,Z)/1000;   

            
    VehInfo[vehicleid-1][vDrived] += veloc;   

            if(
    VehInfo[vehicleid][vFuel] > 1.0 && !IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= (veloc*5);   
            else if(
    IsAPlane(GetVehicleModel(vehicleid))) VehInfo[vehicleid][vFuel] -= 0.001;   

            new 
    FloatCarH;   
            
    GetVehicleHealth(vehicleidCarH);   

            switch(
    floatround(VehInfo[vehicleid][vFuel]))   
            {   
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1]," ");   
                case 
    1..3PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"II");   
                case 
    4..5PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"III");   
                case 
    6..7PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIII");   
                case 
    8..9PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIII");   
                case 
    10..11PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIII");   
                case 
    12..13PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIII");   
                case 
    14..15PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIII");   
                case 
    16..17PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIII");   
                case 
    18..19PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIII");   
                case 
    20..21PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIII");   
                case 
    22..23PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIII");   
                case 
    24..25PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIII");   
                case 
    26..27PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIII");   
                case 
    28..29PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIII");   
                case 
    30..31PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIII");   
                case 
    32..35PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIII");   
                case 
    36..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIII");   
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIII");   
                default: 
    PlayerTextDrawSetString(playerid,TD_SPEED[playerid][1],"IIIIIIIIIIIIIIIIIIII");   
            }   

            switch(
    floatround(CarH 10.0floatround_ceil))   
            {   
                case 
    0PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],"I");   
                case 
    1..10:  PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "II");   
                case 
    11..20PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIII");   
                case 
    21..30PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIII");   
                case 
    31..40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIII");   
                case 
    41..50PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIII");   
                case 
    51..60PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIII");   
                case 
    61..70PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIII");   
                case 
    71..80PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2],  "IIIIIIIIIIIIIIIIII");   
                case 
    81..100PlayerTextDrawSetString(playerid,TD_SPEED[playerid][2] ,"IIIIIIIIIIIIIIIIIIII");   
            }   

            
    format(string64"%i"PlayerSpeed);   
            
    PlayerTextDrawSetString(playeridTD_SPEED[playerid][0], string);   

            if(
    IsVehicleDrivingBackwards(vehicleid)) PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  ~r~R ~w~1 2 3 4 5");   
            else   
            {   
                if(!
    PlayerSpeedPlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~r~N  ~w~R 1 2 3 4 5");   
                if(
    PlayerSpeed && PlayerSpeed 40PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R ~r~1 ~w~2 3 4 5");  
                if(
    PlayerSpeed 40 && PlayerSpeed 79PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 ~r~2 ~w~3 4 5");   
                if(
    PlayerSpeed 80 && PlayerSpeed 109PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 ~r~3 ~w~4 5");   
                if(
    PlayerSpeed 110 && PlayerSpeed 129PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 ~r~4 ~w~5");   
                if(
    PlayerSpeed 130 && PlayerSpeed 220PlayerTextDrawSetString(playerid,TD_SPEED[playerid][3],"~w~N  R 1 2 3 4 ~r~5");  
            }   
        }   
        
    SetTimerEx("UpdateSpeedometr",200,0,"i",playerid);   
        return 
    1;   

    Спасибо тебе, я даже разобрал весь паблик, и понял что ты там исправил, спасибо за помощь, и мини урок!
    Тема закрыта!

  8. Пользователь сказал cпасибо:
    NewGreen (22.12.2018)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •