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

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

    Спидометр.

    Добрый день, помогите пожалуйста как сделать так чтоб он отображался правильно!

    Раньше было вот просто числом, но я захотел переделать чтоб отображалось числом через точку.

    допустим если бензина 50 литров чтоб отображалось 50.0, а потом если транспорт едет то отнималось 49.9,49.8.

      Открыть/закрыть


    PHP код:
    public UpdateSpeedometr(playerid)
    {
        if(
    GetPlayerState(playerid) != 2) return 1;
        
        new 
    str[48];
        new 
    vehicleid GetPlayerVehicleID(playerid);
        
        if(
    IsAPlane(vehicleid) == || IsABoat(vehicleid) == || IsAMoped(vehicleid) == || IsAVel(vehicleid) == 1) return 1;
        
        
    f(str,"%d KM/H",SpeedVehicle(playerid) / 2);
        
    PlayerTextDrawSetString(playerid,SpeedPlayerText[playerid][0], str);

        
    f(str,"Fuel: %.2f",Fuel[vehicleid]);
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][1], str);

        
    f(str,"%s %s",
        (
    IsLocked[vehicleid] == true) ? ("~r~LOCK") : ("~g~UNLOCK"),
        (
    Engine[vehicleid] == true) ? ("~y~ON") : ("~r~OFF"));
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][2],str);
        return 
    1;


    PHP код:
    public UpdateSpeedometr(playerid)
    {
        if(
    GetPlayerState(playerid) != 2) return 1;
        
        new 
    str[48];
        new 
    vehicleid GetPlayerVehicleID(playerid);
        
        if(
    IsAPlane(vehicleid) == || IsABoat(vehicleid) == || IsAMoped(vehicleid) == || IsAVel(vehicleid) == 1) return 1;

        new 
    vehs[4];
        if(
    Fuel[vehicleid] <= 10vehs "~r~";
        else 
    vehs "~g~";
        
        
    format(strsizeof(str),"%d KM/H",SpeedVehicle(playerid) / 2);
        
    PlayerTextDrawSetString(playerid,SpeedPlayerText[playerid][0], str);

        
    format(strsizeof(str), "Fuel: %s%d/150~w~ L"vehsFuel[vehicleid]);
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][1], str);

        
    format(strsizeof(str), "%s %s",
        (
    IsLocked[vehicleid] == true) ? ("~r~LOCK") : ("~g~UNLOCK"),
        (
    Engine[vehicleid] == true) ? ("~y~ON") : ("~r~OFF"));
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][2],str);
        return 
    1;


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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    new Float:Fuel[vehicleid]; //Обязательно Float

    public UpdateSpeedometr(playerid

        if(
    GetPlayerState(playerid) != 2) return 1
        new 
    vehicleid GetPlayerVehicleID(playerid); 
         
        if(
    IsAPlane(vehicleid) == || IsABoat(vehicleid) == || IsAMoped(vehicleid) == || IsAVel(vehicleid) == 1) return 1

        if(
    SpeedVehicle(playerid) > 0Fuel[vehicleid] -= 0.1//Отнимаем топливо машины если машина игрока двигается
        
    new vehs[4], str[48]; 
        if(
    Fuel[vehicleid] <= 10.0vehs "~r~"
        else 
    vehs "~g~"
         
        
    format(strsizeof(str),"%d KM/H",SpeedVehicle(playerid) / 2); 
        
    PlayerTextDrawSetString(playerid,SpeedPlayerText[playerid][0], str); 

        
    format(strsizeof(str), "Fuel: %s%f/150~w~ L"vehsFuel[vehicleid]); //%f вместо %d
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][1], str); 

        
    format(strsizeof(str), "%s %s"
        (
    IsLocked[vehicleid] == true) ? ("~r~LOCK") : ("~g~UNLOCK"), 
        (
    Engine[vehicleid] == true) ? ("~y~ON") : ("~r~OFF")); 
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][2],str); 
        return 
    1

    Последний раз редактировалось vovandolg; 16.07.2016 в 15:28.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    PHP код:
    new Float:Fuel[vehicleid]; //Обязательно Float

    public UpdateSpeedometr(playerid

        if(
    GetPlayerState(playerid) != 2) return 1
        new 
    vehicleid GetPlayerVehicleID(playerid); 
         
        if(
    IsAPlane(vehicleid) == || IsABoat(vehicleid) == || IsAMoped(vehicleid) == || IsAVel(vehicleid) == 1) return 1

        if(
    SpeedVehicle(playerid) > 0Fuel[vehicleid] -= 0.1//Отнимаем топливо машины если машина игрока двигается
        
    new vehs[4], str[48]; 
        if(
    Fuel[vehicleid] <= 10.0vehs "~r~"
        else 
    vehs "~g~"
         
        
    format(strsizeof(str),"%d KM/H",SpeedVehicle(playerid) / 2); 
        
    PlayerTextDrawSetString(playerid,SpeedPlayerText[playerid][0], str); 

        
    format(strsizeof(str), "Fuel: %s%f/150~w~ L"vehsFuel[vehicleid]); //%f вместо %d
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][1], str); 

        
    format(strsizeof(str), "%s %s"
        (
    IsLocked[vehicleid] == true) ? ("~r~LOCK") : ("~g~UNLOCK"), 
        (
    Engine[vehicleid] == true) ? ("~y~ON") : ("~r~OFF")); 
        
    PlayerTextDrawSetString(playeridSpeedPlayerText[playerid][2],str); 
        return 
    1

    А если у меня вот так вот то что делать?

    PHP код:
    new Fuel[MAX_VEHICLES] = 100

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    new Float:Fuel[MAX_VEHICLES] = 100.0
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

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

    PHP код:
    new Fuel[MAX_VEHICLES] = 100
    PHP код:
    new Float:Fuel[MAX_VEHICLES];

    Fuel[vehicleid] = 100.0

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    PHP код:
    new Float:Fuel[MAX_VEHICLES];

    Fuel[vehicleid] = 100.0
    Все баки пустые, можно заправить по одному или перебрать и всё заправить

    Цитата Сообщение от vovandolg Посмотреть сообщение
    PHP код:
    new Float:Fuel[MAX_VEHICLES] = 100.0
    У всех каров баки заправлены без всяких переборов...


    Как удобнее или как нужно сам смотри
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

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


    У всех каров баки заправлены без всяких переборов...


    Как удобнее или как нужно сам смотри
    Это был пример использования при дальнейших действиях, заправка/установка кол-ва/расход бензина

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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Все баки пустые, можно заправить по одному или перебрать и всё заправить


    У всех каров баки заправлены без всяких переборов...


    Как удобнее или как нужно сам смотри
    Ну если использовать

    PHP код:
    new Float:Fuel[MAX_VEHICLES] = 100 
    PHP код:
    C:\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(684) : warning 213tag mismatch
    C
    :\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(11257) : warning 213tag mismatch
    C
    :\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(14864) : warning 213tag mismatch
    C
    :\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(26051) : warning 213tag mismatch
    Pawn compiler 3.2.3664              Copyright 
    (c1997-2006ITB CompuPhase


    4 Warnings

    строка
    PHP код:
    строка 684:    new Float:Fuel[MAX_VEHICLES] = 100;
    строка 11257:  PI[playerid][cFuel] = Fuel[GetPVarInt(playerid"PlayerCar")];
    строка 14864:  PI[playerid][cFuel] = Fuel[GetPVarInt(playerid"PlayerCar")];
    строка 26051:  if(GetPlayerHouse(playerid)) PI[playerid][cFuel] = Fuel[GetPVarInt(playerid"PlayerCar")]; 
    - - - Добавлено - - -

    Я немного решил переделать и сделал по принцепу.

    PHP код:
    enum VehicleInfo
    {
    Float:vehicleX,
    Float:vehicleY,
    Float:vehicleZ,
        
    vColor1,
        
    vColor2,
    Float:vDrived,
    Float:vFuel
    }
    new 
    VehInfo[MAX_VEHICLES][VehicleInfo]; 
    Но теперь другая проблемма как вот это перевести?

    PHP код:
    if(IsPlayerInVehicle(iGetPVarInt(playerid"PlayerCar"))) 

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

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

    PHP код:
    new Float:Fuel[MAX_VEHICLES] = 100 
    PHP код:
    C:\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(684) : warning 213tag mismatch
    C
    :\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(11257) : warning 213tag mismatch
    C
    :\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(14864) : warning 213tag mismatch
    C
    :\Users\kala4ik\Desktop\Ñåðâåð\gamemodes\motion.pwn(26051) : warning 213tag mismatch
    Pawn compiler 3.2.3664              Copyright 
    (c1997-2006ITB CompuPhase


    4 Warnings

    строка
    PHP код:
    строка 684:    new Float:Fuel[MAX_VEHICLES] = 100;
    строка 11257:  PI[playerid][cFuel] = Fuel[GetPVarInt(playerid"PlayerCar")];
    строка 14864:  PI[playerid][cFuel] = Fuel[GetPVarInt(playerid"PlayerCar")];
    строка 26051:  if(GetPlayerHouse(playerid)) PI[playerid][cFuel] = Fuel[GetPVarInt(playerid"PlayerCar")]; 
    http://ziggi.org/pawn-peremennye-i-massivy/ - прочитай, очень полезно для тебя.

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    У PVar помимо Int так же есть Float, String ...
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

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

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

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

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

Ваши права

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