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

    Статус
    Оффлайн
    Регистрация
    28.07.2017
    Сообщений
    7
    Репутация:
    0 ±

    Не сразу обновляется скорость

    Привет народ, короче, такая проблема, как ее исправить?
    Допустим еду на авто, скорость показывает 50, и должно вроде 51,52,53, ну сразу короче обновляться, а оно через некоторое время например 58. Что с этим делать?

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Адрес
    Минск, БССР
    Сообщений
    236
    Репутация:
    19 ±
    Цитата Сообщение от Shapik Посмотреть сообщение
    Привет народ, короче, такая проблема, как ее исправить?
    Допустим еду на авто, скорость показывает 50, и должно вроде 51,52,53, ну сразу короче обновляться, а оно через некоторое время например 58. Что с этим делать?
    Это значит, что надо изучатсья азы скриптинга.

    По теме: кури таймеры.

  3. #3
    Аватар для Shapik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.07.2017
    Сообщений
    7
    Репутация:
    0 ±
    я знаю, но я не могу их найти. Мод взял приватный, все прочекал, таймера не нашел..

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Адрес
    Минск, БССР
    Сообщений
    236
    Репутация:
    19 ±
    Цитата Сообщение от Shapik Посмотреть сообщение
    я знаю, но я не могу их найти. Мод взял приватный, все прочекал, таймера не нашел..
    Ищи функцию вычисления скорости и от нее начинай плясать.

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

    Статус
    Оффлайн
    Регистрация
    28.07.2017
    Сообщений
    7
    Репутация:
    0 ±
    Нашел. Вот:
    Код:
    stock GetVehicleSpeed(playerid)
    {
        new Float:x, Float:y, Float:z;
        if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z);
        return floatround(floatsqroot(x*x+y*y+z*z)*100);
    }

  6. #6
    Аватар для MARVEL
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.09.2016
    Сообщений
    22
    Репутация:
    1 ±
    Цитата Сообщение от Shapik Посмотреть сообщение
    Нашел. Вот:
    Код:
    stock GetVehicleSpeed(playerid)
    {
        new Float:x, Float:y, Float:z;
        if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z);
        return floatround(floatsqroot(x*x+y*y+z*z)*100);
    }
    Теперь делай поиск по данной функции, так и найдешь таймер с обновлением скорости.

  7. #7
    Аватар для Betta
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.08.2017
    Сообщений
    20
    Репутация:
    0 ±
    Учитывай, что это сделано для оптимизации. Чтобы таймер срабатывал раз в секунду. Так-же учитывай, что скорее всего эта функция находится в том-же таймере, в котором все остальное, связанное с игроком, по этому тебе нужно либо делать отдельный таймер для спидометра, либо оставлять как есть. В противном случае нагрузка на сервер может возрасти в приличные разы.

  8. #8
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от Betta Посмотреть сообщение
    Учитывай, что это сделано для оптимизации. Чтобы таймер срабатывал раз в секунду. Так-же учитывай, что скорее всего эта функция находится в том-же таймере, в котором все остальное, связанное с игроком, по этому тебе нужно либо делать отдельный таймер для спидометра, либо оставлять как есть. В противном случае нагрузка на сервер может возрасти в приличные разы.
    То что таймер с маленьким интервалом, а не с большим, это плохо для оптимизации? Что за бред

  9. #9
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Если хочешь чтобы совсем плавно было, то делай обновление текст драва скорости в OnPlayerUpdate, однако лучше, кроме скорости в нем ничего не обновлять, некоторые говорят нагружает

  10. #10
    Аватар для Betta
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.08.2017
    Сообщений
    20
    Репутация:
    0 ±
    Цитата Сообщение от StevenH Посмотреть сообщение
    То что таймер с маленьким интервалом, а не с большим, это плохо для оптимизации? Что за бред
    Я разве сказал, что это плохо? Я сказал, что раз спидометр обновляется раз в секунду, то скорее всего код обновления находится там-же, где и все остальные функции связанные с игроком, в обычном секундном, общем таймере. А там сколько кода? Может быть столько, что если поставить обновление 250 мс, т. е. 4 раза в секунду - сервер будет ужасно лагать, ведь этот код не будет успевать выполняться. Что за неоправданная придирчивость

    - - - Добавлено - - -

    Цитата Сообщение от Seviel Посмотреть сообщение
    Если хочешь чтобы совсем плавно было, то делай обновление текст драва скорости в OnPlayerUpdate, однако лучше, кроме скорости в нем ничего не обновлять, некоторые говорят нагружает
    Этот паблик может обновляться, если не ошибаюсь, до 25 раз в секунду. Если в нем будет много различного кода - это будет не хилая нагрузка, вот его и не используют для таких целей.
    Последний раз редактировалось Betta; 19.08.2017 в 00:21.

 

 

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

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

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

Ваши права

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