Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Помогите с системой!

Сен
48
3
Пользователь
У меня есть система экс. машин и им присвоена система ускорения, но я не понимаю что за что там отвечает, если кто-то знает помогите!

Вот код самой системы:

Pawn:
new vehicleid = GetPlayerVehicleID(playerid);
        new Float:_coord[3];
        GetVehicleVelocity(vehicleid,_coord[0],_coord[1],_coord[2]);

        new Float:v_speed = floatsqroot(floatpower(floatabs(_coord[0]), 2.0)+ floatpower(floatabs(_coord[1]), 2.0)+ floatpower(floatabs(_coord[2]), 2.0))* 100.3 ;
        GetVehicleRotation(vehicleid, _coord[0],_coord[1],_coord[2]);

        if(IsValidDynamicObject ( rolls [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( bmwi8 [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( bmwM5 [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( bmwVIS [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( kovsh [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( amg [ vehicleid ] [ 0 ] ) && player_accelerating[playerid])
        {
            if(v_speed > 15 && ! IsVehicleDrivingBackwards(vehicleid) &&(_coord[2] - VEHICLE[vehicleid - 1][v_old_zangle] < 1 && _coord[2] - VEHICLE[vehicleid - 1][v_old_zangle] > - 1))
            {
                if(GetVehicleSpeed(vehicleid) < max_veh_speed[GetVehicleModel(vehicleid)- 400] && 30 > _coord[0] > - 30 && 15 > _coord[1] > - 15)
                {
                    if(v_speed - VEHICLE[vehicleid - 1][v_old_speed] < 3 && v_speed - VEHICLE[vehicleid - 1][v_old_speed] > 0.6)
                    {
                        SetVehicleSpeed(vehicleid, v_speed + 0.349999 * 5);
                        VEHICLE[vehicleid - 1][v_old_zangle] = _coord[2];
                    }
                }
                else
                {
                    if(v_speed - VEHICLE[vehicleid - 1][v_old_speed] < 3 && v_speed - VEHICLE[vehicleid - 1][v_old_speed] >= -1.5 && GetVehicleSpeed(vehicleid) < max_veh_speed[GetVehicleModel(vehicleid)- 400] - 50 + 0.349999 * 180)
                    {
                        if(30 > _coord[0] > - 30 && 15 > _coord[1] > - 15)
                        {
                            SetVehicleSpeed(vehicleid, v_speed + 0.349999 * 2);
                            VEHICLE[vehicleid - 1][v_old_zangle] = _coord[2];
                        }
                    }
                }
            }
        }
        VEHICLE[veh-1][v_X] = X;
        VEHICLE[veh-1][v_Y] = Y;
        VEHICLE[veh-1][v_Z] = Z;
        VEHICLE[vehicleid - 1][v_old_zangle] = _coord[2];
        VEHICLE[vehicleid - 1][v_old_speed] = v_speed;

        if ( ! IsPlayerMobile ( playerid ) )
        {
        Update_Speedometr ( playerid );
        }
 
Апр
50
7
Пользователь
У меня есть система экс. машин и им присвоена система ускорения, но я не понимаю что за что там отвечает, если кто-то знает помогите!

Вот код самой системы:

Pawn:
new vehicleid = GetPlayerVehicleID(playerid);
        new Float:_coord[3];
        GetVehicleVelocity(vehicleid,_coord[0],_coord[1],_coord[2]);

        new Float:v_speed = floatsqroot(floatpower(floatabs(_coord[0]), 2.0)+ floatpower(floatabs(_coord[1]), 2.0)+ floatpower(floatabs(_coord[2]), 2.0))* 100.3 ;
        GetVehicleRotation(vehicleid, _coord[0],_coord[1],_coord[2]);

        if(IsValidDynamicObject ( rolls [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( bmwi8 [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( bmwM5 [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( bmwVIS [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( kovsh [ vehicleid ] [ 0 ] ) && player_accelerating[playerid] || IsValidDynamicObject ( amg [ vehicleid ] [ 0 ] ) && player_accelerating[playerid])
        {
            if(v_speed > 15 && ! IsVehicleDrivingBackwards(vehicleid) &&(_coord[2] - VEHICLE[vehicleid - 1][v_old_zangle] < 1 && _coord[2] - VEHICLE[vehicleid - 1][v_old_zangle] > - 1))
            {
                if(GetVehicleSpeed(vehicleid) < max_veh_speed[GetVehicleModel(vehicleid)- 400] && 30 > _coord[0] > - 30 && 15 > _coord[1] > - 15)
                {
                    if(v_speed - VEHICLE[vehicleid - 1][v_old_speed] < 3 && v_speed - VEHICLE[vehicleid - 1][v_old_speed] > 0.6)
                    {
                        SetVehicleSpeed(vehicleid, v_speed + 0.349999 * 5);
                        VEHICLE[vehicleid - 1][v_old_zangle] = _coord[2];
                    }
                }
                else
                {
                    if(v_speed - VEHICLE[vehicleid - 1][v_old_speed] < 3 && v_speed - VEHICLE[vehicleid - 1][v_old_speed] >= -1.5 && GetVehicleSpeed(vehicleid) < max_veh_speed[GetVehicleModel(vehicleid)- 400] - 50 + 0.349999 * 180)
                    {
                        if(30 > _coord[0] > - 30 && 15 > _coord[1] > - 15)
                        {
                            SetVehicleSpeed(vehicleid, v_speed + 0.349999 * 2);
                            VEHICLE[vehicleid - 1][v_old_zangle] = _coord[2];
                        }
                    }
                }
            }
        }
        VEHICLE[veh-1][v_X] = X;
        VEHICLE[veh-1][v_Y] = Y;
        VEHICLE[veh-1][v_Z] = Z;
        VEHICLE[vehicleid - 1][v_old_zangle] = _coord[2];
        VEHICLE[vehicleid - 1][v_old_speed] = v_speed;

        if ( ! IsPlayerMobile ( playerid ) )
        {
        Update_Speedometr ( playerid );
        }
Сейчас расскажу,этот код отвечает за управление скоростью транспортного средства в игре. В нем определяется текущая скорость транспортного средства, проверяются условия для увеличения скорости и применяются соответствующие изменения. Также записываются координаты и углы поворота транспортного средства для последующего использования. Кроме того, происходит обновление информации на спидометре у игрока.

Разберем данный код:
`new vehicleid = GetPlayerVehicleID(playerid);`: Получаем идентификатор транспортного средства, в котором сейчас находится игрок.

`new Float:_coord[3]; GetVehicleVelocity(vehicleid,_coord[0],_coord[1],_coord[2]);`: Получаем текущую скорость транспортного средства по трём координатам.

`new Float:v_speed = floatsqroot(floatpower(floatabs(_coord[0]), 2.0)+ floatpower(floatabs(_coord[1]), 2.0)+ floatpower(floatabs(_coord[2]), 2.0))* 100.3;`: Вычисляем общую скорость транспортного средства по формуле sqrt(x^2 + y^2 + z^2) * 100.3.

Далее идет проверка наличия различных динамических объектов (rolls, bmwi8, bmwM5, bmwVIS, kovsh, amg) вокруг транспортного средства, а также проверка активации ускорения игрока.

Если все условия (в том числе текущая скорость, направление движения, отклонение угла) выполняются, то происходит увеличение скорости транспортного средства в зависимости от заданных параметров.

Данные о координатах, угле поворота, старой скорости записываются для дальнейшего использования.

Последний блок кода выполняет проверку на подвижность игрока и, если игрок стоит на месте, обновляет информацию на спидометре.
 
Сен
48
3
Пользователь
Сейчас расскажу,этот код отвечает за управление скоростью транспортного средства в игре. В нем определяется текущая скорость транспортного средства, проверяются условия для увеличения скорости и применяются соответствующие изменения. Также записываются координаты и углы поворота транспортного средства для последующего использования. Кроме того, происходит обновление информации на спидометре у игрока.

Разберем данный код:
`new vehicleid = GetPlayerVehicleID(playerid);`: Получаем идентификатор транспортного средства, в котором сейчас находится игрок.

`new Float:_coord[3]; GetVehicleVelocity(vehicleid,_coord[0],_coord[1],_coord[2]);`: Получаем текущую скорость транспортного средства по трём координатам.

`new Float:v_speed = floatsqroot(floatpower(floatabs(_coord[0]), 2.0)+ floatpower(floatabs(_coord[1]), 2.0)+ floatpower(floatabs(_coord[2]), 2.0))* 100.3;`: Вычисляем общую скорость транспортного средства по формуле sqrt(x^2 + y^2 + z^2) * 100.3.

Далее идет проверка наличия различных динамических объектов (rolls, bmwi8, bmwM5, bmwVIS, kovsh, amg) вокруг транспортного средства, а также проверка активации ускорения игрока.

Если все условия (в том числе текущая скорость, направление движения, отклонение угла) выполняются, то происходит увеличение скорости транспортного средства в зависимости от заданных параметров.

Данные о координатах, угле поворота, старой скорости записываются для дальнейшего использования.

Последний блок кода выполняет проверку на подвижность игрока и, если игрок стоит на месте, обновляет информацию на спидометре.
А если вам не сложно можете настроить систему так, чтобы машина ехaла до 140?
 
Сверху