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

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Всегда интересовался, существенная разница есть?
    PHP код:
    Float:stock GetPlayerSpeed(playerid)
    {
        new 
    Float:speed;
        
    // тра ля ля
        
    return speed;
    }

    stock GetPlayerSpeed(playerid, &Float:speed)
    {
        
    // ...


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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от _lizard Посмотреть сообщение
    Всегда интересовался, существенная разница есть?
    PHP код:
    Float:stock GetPlayerSpeed(playerid)
    {
        new 
    Float:speed;
        
    // тра ля ля
        
    return speed;
    }

    stock GetPlayerSpeed(playerid, &Float:speed)
    {
        
    // ...

    Как по мне, разница существенная - первая функция не скомпилируется, вторая скомпилируется.

    А по сути - нет, делай так, как удобно. Но стандартные функции SA-MP придерживаются второго варианта, поэтому имеет смысл использовать его (для сохранения общего стиля).

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

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Но стандартные функции SA-MP придерживаются второго варианта, поэтому имеет смысл использовать его (для сохранения общего стиля).
    Не все, например VectorSize(), поэтому и спросил, спасибо.

  5. #14
    Аватар для Сергей
    Пользователь

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

    PHP код:
    stock SpeedVehicle(playerid)
    {
        if(!
    IsPlayerInAnyVehicle(playerid)) return 1;
        new 
    Float:XFloat:YFloat:Z;
        
    GetVehicleVelocity(GetPlayerVehicleID(playerid),X,Y,Z);
        return 
    floatround(VectorSize(XYZ) * 100.3);

    Капец вы в теме раздули. Я даже сказать ничего не могу....
    Проблема вот в чём, не онемает бензин по километрам...

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от Сергей Посмотреть сообщение
    Сама функция:

    PHP код:
    stock SpeedVehicle(playerid)
    {
        if(!
    IsPlayerInAnyVehicle(playerid)) return 1;
        new 
    Float:XFloat:YFloat:Z;
        
    GetVehicleVelocity(GetPlayerVehicleID(playerid),X,Y,Z);
        return 
    floatround(VectorSize(XYZ) * 100.3);

    Капец вы в теме раздули. Я даже сказать ничего не могу....
    Проблема вот в чём, не онемает бензин по километрам...
    Зачем вызывать IsPlayerInAnyVehicle, если GetPlayerVehicleID вернет 0, если игрок не в авто? Покажи показ бензина, ты же на ТД делаешь спидометр? Скорее всего ты ошибся текстдравом

  7. #16
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    Зачем вызывать IsPlayerInAnyVehicle, если GetPlayerVehicleID вернет 0, если игрок не в авто? Покажи показ бензина, ты же на ТД делаешь спидометр? Скорее всего ты ошибся текстдравом
    Да не ошибся я текстдравом, ты просто по смотри на код, который я показал выше, просто суть проблемы мне не ясна, и я не могу её решить в одиночку, по этому я решил поделиться проблемой со всеми.
    Когда сработает хоть один раз:
    PHP код:
    new Float:sp SpeedVehicle(playerid); 
    new 
    Float:= (sp/2)/1000
    new 
    veh GetPlayerVehicleID(playerid); 
    Fuell[veh] -= l
    То бензин на спидометре убирается, полностью, и в графе там где литраж автомобиля, начинается показывать скорость автомобиля...
    Код:
    Зачем вызывать IsPlayerInAnyVehicle, если GetPlayerVehicleID вернет 0
    Захотелось, и сделал так.

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от Сергей Посмотреть сообщение
    Да не ошибся я текстдравом, ты просто по смотри на код, который я показал выше, просто суть проблемы мне не ясна, и я не могу её решить в одиночку, по этому я решил поделиться проблемой со всеми.
    Когда сработает хоть один раз:
    PHP код:
    new Float:sp SpeedVehicle(playerid); 
    new 
    Float:= (sp/2)/1000
    new 
    veh GetPlayerVehicleID(playerid); 
    Fuell[veh] -= l
    То бензин на спидометре убирается, полностью, и в графе там где литраж автомобиля, начинается показывать скорость автомобиля...
    Код:
    Зачем вызывать IsPlayerInAnyVehicle, если GetPlayerVehicleID вернет 0
    Захотелось, и сделал так.
    PHP код:
    new Float:sp SpeedVehicle(playerid); 
    new 
    Float:= (sp/2)/1000
    new 
    veh GetPlayerVehicleID(playerid);
    printf("%d %f %f"vehlFuell[veh]);
    Fuell[veh] -= l;
    printf("%f"Fuell[veh]); 
    Скинь лог

  9. #18
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    PHP код:
    new Float:sp SpeedVehicle(playerid); 
    new 
    Float:= (sp/2)/1000
    new 
    veh GetPlayerVehicleID(playerid);
    printf("%d %f %f"vehlFuell[veh]);
    Fuell[veh] -= l;
    printf("%f"Fuell[veh]); 
    Скинь лог
    PHP код:
    [00:05:05387 0.020999 1318926976.000000 || LOG
    [00:05:051318926976.000000 || LOG 
    Переменная Fuell у меня объявлена не как Float;
    Последний раз редактировалось Сергей; 27.08.2016 в 01:20.

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Сергей Посмотреть сообщение
    Сама функция:

    PHP код:
    stock SpeedVehicle(playerid)
    {
        if(!
    IsPlayerInAnyVehicle(playerid)) return 1;
        new 
    Float:XFloat:YFloat:Z;
        
    GetVehicleVelocity(GetPlayerVehicleID(playerid),X,Y,Z);
        return 
    floatround(VectorSize(XYZ) * 100.3);

    Капец вы в теме раздули. Я даже сказать ничего не могу....
    Проблема вот в чём, не онемает бензин по километрам...
    SpeedVehicle возвращает целое число, а ты записываешь его в переменную с тегом Float, в этом и проблема.

  11. #20
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    SpeedVehicle возвращает целое число, а ты записываешь его в переменную с тегом Float, в этом и проблема.
    PHP код:
    new sp SpeedVehicle(playerid); 
                new 
    = (sp/2)/1000
                new 
    veh GetPlayerVehicleID(playerid);
                
    Fuell[veh] -= l
    Сделал по другому, километры не идут...
    Лог:
    PHP код:
    [00:32:24387 0 50 || LOG
    [00:32:2450 || LOG 

 

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

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

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

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

Ваши права

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