Показано с 1 по 3 из 3

Тема: v_Control.inc || GetVehicleColor, SetVehicleColor ++

  1. #1
    Пользователь Аватар для SoNik))
    Регистрация
    28.02.2014
    Сообщений
    13
    Репутация: 10

    Звание: на пути к лучшему

    v_Control.inc || GetVehicleColor, SetVehicleColor ++

    Include упрощает работу с транспортом, создание, покраска, возможно узнать цвет (integer,string).
    При написании было решено осуществить две версии include, изначально хотел поделиться покраской на TextDraw.
    Так-как красит она по одному цвету за раз, решил выложить всю систему, но в include.


    Версия 1.1
    • s_AddStaticVehicle(model, Float, Float:Y, Float:Z, Float:Angle, col1 = -1, col2 = -1, world = 0, int = 0);
      • model — модель машины (400 - 611)
      • X, Y, Z — координаты появления транспорта
      • Angle — угол поворота
      • col1 — первый цвет транспорта ( -1 означает рандомный из 255 )
      • col2 — второй цвет транспорта ( -1 означает рандомный из 255 )
      • world — виртуальный мир, в котором транспорт появится
      • int — ID интерьера, в котором транспорт появится


    • s_AddStaticVehicleEx(model,Float,Float:Y,Float:Z,Float:Angle,col1 = -1,col2 = -1,time = 0,world = 0,int = 0);
      • model — модель машины (400 - 611)
      • X, Y, Z — координаты появления транспорта
      • Angle — угол поворота
      • col1 — первый цвет транспорта ( -1 означает рандомный из 255 )
      • col2 — второй цвет транспорта ( -1 означает рандомный из 255 )
      • time — время до возвращения на место появление (X, Y, Z), после того как игрок покинет транспорт (в секундах)
      • world — виртуальный мир, в котором транспорт появится
      • int — ID интерьера, в котором транспорт появится


    • s_CreateVehicle(model,Float,Float:Y,Float:Z,Float:Angle,col1 = -1,col2 = -1,time=0,death=0,world=0,int=0);
      • model — модель машины (400 - 611)
      • X, Y, Z — координаты появления транспорта
      • Angle — угол поворота
      • col1 — первый цвет транспорта ( -1 означает рандомный из 255 )
      • col2 — второй цвет транспорта ( -1 означает рандомный из 255 )
      • time — время до возвращения на место появление (X, Y, Z), после того как игрок покинет транспорт (в секундах)
      • death — удалить транспорт по истечению времени time или уничтожении/респавне ( 0 - нет, 1 - да )
      • world — виртуальный мир, в котором транспорт появится
      • int — ID интерьера, в котором транспорт появится


    • SetVehicleColor(vehid, col1, col2)Установить два цвета (0 - 255) (0 - 255)

    • SetVehicleColor_1(vehid, color)Установить первый цвет (0 - 255)
    • SetVehicleColor_2(vehid, color)Установить второй цвет (0 - 255)

    • GetVehicleColor_1(vehid)Возвращает первый ID цвета (0 - 255)
    • GetVehicleColor_2(vehid)Возвращает второй ID цвета (0 - 255)

    • GetVehColToText_1(vehid)Возвращает первый цвет транспорта в строку, форматировать через {%06x}
    • GetVehColToText_2(vehid)Возвращает второй цвет транспорта в строку, форматировать через {%06x}




    Версия 1.2 Данная версия содержит тот-же функционал, что и 1.1, + покраска на TextDraw
    • VehicleColor_Init()Загружаем покраску, использовать в OnGameModeInit или OnFilterScriptInit
    • VehicleColor_Exit()Выгружаем покраску, использовать в OnGameModeExit или OnFilterScriptExit

    • ShowChangleVehicleColor_1(playerid)Показать игроку меню покраски первого цвета
    • ShowChangleVehicleColor_2(playerid)Показать игроку меню покраски второго цвета
    • IsChangleVehicleColor(playerid)Проверяет, открыто ли меню у игрока, возвращает: 1 - да, 0 - нет


    • PHP код:
      new str[40];
      format(str,40,"{%06x} Этот текст цвета машины",GetVehColToText_1(vehicleid));
      SendClientMessage(playerid,-1,str); // Оправляем сообщение игроку 
    • PHP код:
      #include <a_samp>
      #include <v_Control>

      main(){}

      public 
      OnGameModeInit()
      {
          
      VehicleColor_Init(); // загружаем покраску
          
          // без таймера респавна
          
      s_AddStaticVehicle(5412488.76, -1679.3912.960.03100);

          
      // с таймером
          
      s_AddStaticVehicleEx(5412492.76, -1679.3912.960.010200); 

          
      SetGameModeText("v_Control by SoNik))");
          
      AddPlayerClass(402490.8650,-1671.2910,13.3359,180.0,0,0,0,0,0,0);
          return 
      true;
      }
      public 
      OnGameModeExit()
      {
          
      VehicleColor_Exit(); // выгружаем покраску
          
      return true;
      }

      public 
      OnPlayerCommandText(playeridcmdtext[])
      {
          
      // показываем меню покраски первого цвета
          
      if(!strcmp(cmdtext"/col1"true)) ShowChangleVehicleColor_1(playerid); 
          
      // показываем меню покраски второго цвета
          
      if(!strcmp(cmdtext"/col2"true)) ShowChangleVehicleColor_2(playerid); 
          return 
      true;
      }
      public 
      OnPlayerEnterVehicle(playeridvehicleidispassenger)
      {
          new 
      str[35];
          
      SendClientMessage(playerid,-1,"Введите /col1 или /col2 для покраски транспорта");
          
      format(str,35,"{%06x} Цвет 1: %d",GetVehColToText_1(vehicleid),GetVehicleColor_1(vehicleid));
          
      SendClientMessage(playerid,-1,str); // Оправляем сообщение игроку
          
      format(str,35,"{%06x} Цвет 2: %d",GetVehColToText_2(vehicleid),GetVehicleColor_2(vehicleid)); 
          
      SendClientMessage(playerid,-1,str); // Оправляем сообщение игроку
          
      return true;
      }
      public 
      OnPlayerSpawn(playerid)
      {
          
      SetPlayerPos(playerid2490.8650,-1671.2910,13.3359);
          
      SetPlayerFacingAngle(playerid180.0);
          
      SetCameraBehindPlayer(playerid);
          return 
      true;



    Downloadархив (include, screenshot, gamemode)

    Автор: SoNik))
    Skype: sell.mells


  2. #2
    ваш статус был снят систе Аватар для DeadLine
    Регистрация
    10.03.2011
    Адрес
    Казахстан, Алма-Ата
    Возраст
    28
    Сообщений
    2,449
    Репутация: 243

    Звание: - весьма и весьма положительная личность

    Re: v_Control.inc || GetVehicleColor, SetVehicleColor ++

    Пастебин! в студию
    А да как обычно велосипед.. В общем.

    http://forum.sa-mp.com/showthread.php?t=176496




  3. #3
    ex-Pawn developer Аватар для SHOROOP
    Регистрация
    28.05.2011
    Адрес
    St.Petersburg
    Возраст
    31
    Сообщений
    2,667
    Репутация: 306

    Звание: как роза среди колючек

    Re: v_Control.inc || GetVehicleColor, SetVehicleColor ++

    По функционалу...имхо, проще хукнуть стандартные функции, чем создавать зоопарк новых. Да и сама идея далеко не нова - писать в отдельной структуре значение устанавливаемого цвета.
    А меню покраски на TD себя не оправдывает. Я юзал похожее решение Окса, шестьдесят шесть TD-шек (64 - под цвета, один - под фон, один - под выделение) - не стоит оно того.

Ваши права

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