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

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

    Снимаем бензин по километрам

    Доброго времени суток пользователи портала.
    Столкнулся с проблемой по расходу бензина за 1км

    Делаю вот так:
    PHP код:
    new Float:sp SpeedVehicle(playerid); 
     new 
    Float:= (sp/2)/1000
     new 
    veh GetPlayerVehicleID(playerid); 
     
    Fuell[veh] -= l
    И когда этот код срабатывает, вместо количества бензина показывает скорость автомобиля...

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    А ещё больше кода нельзя выложить?
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Цитата Сообщение от Сергей Посмотреть сообщение
    new Float:sp = SpeedVehicle(playerid);
    Что это за функция такая?

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

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от _lizard Посмотреть сообщение
    Что это за функция такая?
    Скорее всего что то в роде этого
    PHP код:
    stock SpeedVehicle(playerid)
    {
        new 
    Float:ST[4];
        if(
    IsPlayerInAnyVehicle(playerid))
            
    GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
            else 
    GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
        
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
        return 
    floatround(ST[3]);


  5. #5
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Зачем использовать floatabs, если число возводится в квадрат? Более того, для вычисления длины вектора есть функция VectorSize, которая на порядок быстрее.
    PHP код:
    stock SpeedVehicle(playerid)
    {
        new
            
    Float:x,
            
    Float:y,
            
    Float:z,
            
    vehicleid;

        
    vehicleid GetPlayerVehicleID(playerid);
        if (
    vehicleid != 0) {
            
    GetVehicleVelocity(vehicleidxyz);
        } else {
            
    GetPlayerVelocity(playeridxyz);
        }

        return 
    floatround(VectorSize(xyz) * 100.0);

    Последний раз редактировалось ziggi; 26.08.2016 в 16:38.

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Зачем использовать floatabs, если число возводится в квадрат? Более того, для вычисления длины вектора есть функция VectorSize, которая на порядок быстрее.
    PHP код:
    stock SpeedVehicle(playerid)
    {
        new
            
    Float:z,
            
    Float:y,
            
    Float:z,
            
    vehicleid;

        
    vehicleid GetPlayerVehicleID(playerid);
        if (
    vehicleid != 0) {
            
    GetVehicleVelocity(vehicleidxyz);
        } else {
            
    GetPlayerVelocity(playeridxyz);
        }

        return 
    floatround(VectorSize(xyz)) * 100;

    2 раза z объявил, поправь
    UP: проверил, функция работает неправильно, когда еду на машине не показывает скорость больше 100, или 0 или 100
    Последний раз редактировалось Sp1ke; 26.08.2016 в 15:23.

  7. #7
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    проверил, функция работает неправильно, когда еду на машине не показывает скорость больше 100, или 0 или 100
    Исправил, просто обычно я не округляю скорость, а выдаю значение в виде Float числа, немного перепутал.

  8. Пользователь сказал cпасибо:
    Sp1ke (26.08.2016)
  9. #8
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Зачем использовать floatabs, если число возводится в квадрат? Более того, для вычисления длины вектора есть функция VectorSize, которая на порядок быстрее.
    PHP код:
    stock SpeedVehicle(playerid)
    {
        new
            
    Float:x,
            
    Float:y,
            
    Float:z,
            
    vehicleid;

        
    vehicleid GetPlayerVehicleID(playerid);
        if (
    vehicleid != 0) {
            
    GetVehicleVelocity(vehicleidxyz);
        } else {
            
    GetPlayerVelocity(playeridxyz);
        }

        return 
    floatround(VectorSize(xyz) * 100.0);

    имхо, я так бы не назвал функцию, так как она вычисляет не только в авто, но и пешком)
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    имхо, я так бы не назвал функцию, так как она вычисляет не только в авто, но и пешком)
    Претензию к автору темы

  11. #10
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    имхо, я так бы не назвал функцию, так как она вычисляет не только в авто, но и пешком)
    Я бы тоже, название GetSpeed больше подходит (хотя я бы не объединял две функции в одну, а разделил бы на GetPlayerSpeed и GetVehicleSpeed).

 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

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

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

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

Ваши права

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