Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 14 из 14
  1. #11
    Аватар для Saibot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.08.2016
    Сообщений
    58
    Репутация:
    24 ±
    Все оно работает, только что проверил.

    Может у тебя просто таймер не успевает обновляться? т.е. скорость у тебя показывает в одном таймере, а эта функция в другом таймере, который обновляется не так часто, как тот, что показывает скорость.

    Это я сделал, что бы ты сам убедился, что оно работает

    PHP код:
    stock LimitingVehicleSpeed(const playerid, const vehicleid, const max_speed)
    {
        if(
    vehicleid == 0)
            return 
    1;

        new 
    Floatvelocity_x,
            
    Floatvelocity_y,
            
    Floatvelocity_z;
        
        
    GetVehicleVelocity(vehicleidvelocity_xvelocity_yvelocity_z);
        
        new 
    vehicle_speed floatround(VectorSize(velocity_xvelocity_yvelocity_z) * 100.0);

        if(
    vehicle_speed >= max_speed)
            
    SetVehicleVelocity(vehicleidvelocity_x*0.99velocity_y*0.99velocity_z);

        new 
    string[3];
        
    format(stringsizeof(string), "SPEED: %d"vehicle_speed);
        
    GameTextForPlayer(playeridstring506);

        return 
    1;

    В public OnPlayerUpdate(playerid)
    PHP код:
    LimitingVehicleSpeed(playeridGetPlayerVehicleID(playerid), 45); 
    Это только для примера.
    Последний раз редактировалось Saibot; 10.12.2016 в 02:20.

  2. Пользователь сказал cпасибо:
    Сергей (10.12.2016)
  3. #12
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Saibot Посмотреть сообщение
    Все оно работает, только что проверил.

    Может у тебя просто таймер не успевает обновляться? т.е. скорость у тебя показывает в одном таймере, а эта функция в другом таймере, который обновляется не так часто, как тот, что показывает скорость.

    Это я сделал, что бы ты сам убедился, что оно работает

    PHP код:
    stock LimitingVehicleSpeed(const playerid, const vehicleid, const max_speed)
    {
        if(
    vehicleid == 0)
            return 
    1;

        new 
    Floatvelocity_x,
            
    Floatvelocity_y,
            
    Floatvelocity_z;
        
        
    GetVehicleVelocity(vehicleidvelocity_xvelocity_yvelocity_z);
        
        new 
    vehicle_speed floatround(VectorSize(velocity_xvelocity_yvelocity_z) * 100.0);

        if(
    vehicle_speed >= max_speed)
            
    SetVehicleVelocity(vehicleidvelocity_x*0.99velocity_y*0.99velocity_z);

        new 
    string[3];
        
    format(stringsizeof(string), "SPEED: %d"vehicle_speed);
        
    GameTextForPlayer(playeridstring506);

        return 
    1;

    В public OnPlayerUpdate(playerid)
    PHP код:
    LimitingVehicleSpeed(playeridGetPlayerVehicleID(playerid), 45); 
    Это только для примера.
    Я просто чтобы убрать лишнюю нагрузку, использую данный код в секундном таймере, может всё только по этому?

    Набросал себе новый пример, так вот оно как-то более менее работает скорость автомобиля в приделах 42-43 км

    PHP код:
    stock LimitingVehicleSpeed(playerid,const vehicleidMAX_SPEEDS)
    {
        new 
    Float:pos[3];
        
    GetVehicleVelocity(vehicleid,pos[0],pos[1],pos[2]);
        new 
    Float:speed SpeedVehicle(playerid);
        if(
    speed MAX_SPEEDS)
        {
            new 
    str[3];
            
    format(str,sizeof(str),"Speed: %d",SpeedVehicle(playerid));
            
    SCM(playerid,-1,str);
            new 
    Float:dif MAX_SPEEDS speed;
            
    SetVehicleVelocity(vehicleid,pos[0]*dif,pos[1]*dif,pos[2]);
            
    speed MAX_SPEEDS;
        }    
        return 
    1;


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

    Статус
    Оффлайн
    Регистрация
    21.08.2016
    Сообщений
    58
    Репутация:
    24 ±
    Делай как тебе удобно, я тебе пример показал.

  5. Пользователь сказал cпасибо:
    Сергей (10.12.2016)
  6. #14
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Saibot Посмотреть сообщение
    Делай как тебе удобно, я тебе пример показал.
    Благодарю.

 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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