Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include v_Control.inc || GetVehicleColor, SetVehicleColor ++

SoNik))

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


Версия 1.1
  • s_AddStaticVehicle(model, Float:X, 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:X, 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:X, 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)); // форматируем цвет 1, %06x
    SendClientMessage(playerid,-1,str); // Оправляем сообщение игроку
  • PHP:
    #include <a_samp>
    #include <v_Control>
    
    main(){}
    
    public OnGameModeInit()
    {
        VehicleColor_Init(); // загружаем покраску
        
        s_AddStaticVehicle(541, 2488.76, -1679.39, 12.96, 0.0, 3, 1, 0, 0);      // без таймера респавна
        s_AddStaticVehicleEx(541, 2492.76, -1679.39, 12.96, 0.0, 1, 0, 2, 0, 0); // с таймером
    
    	SetGameModeText("v_Control by SoNik))");
    	AddPlayerClass(40, 2490.8650,-1671.2910,13.3359,180.0,0,0,0,0,0,0);
    	return true;
    }
    public OnGameModeExit()
    {
        VehicleColor_Exit(); // выгружаем покраску
    	return true;
    }
    
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    	if(!strcmp(cmdtext, "/col1", true)) ShowChangleVehicleColor_1(playerid); // показываем меню покраски первого цвета
    	if(!strcmp(cmdtext, "/col2", true)) ShowChangleVehicleColor_2(playerid); // показываем меню покраски второго цвета
    	return true;
    }
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
        new str[35];
    	SendClientMessage(playerid,-1,"Введите /col1 или /col2 для покраски транспорта");
    	format(str,35,"{%06x} Цвет 1: %d",GetVehColToText_1(vehicleid),GetVehicleColor_1(vehicleid)); // форматируем цвет 1, %06x
    	SendClientMessage(playerid,-1,str); // Оправляем сообщение игроку
    	
    	format(str,35,"{%06x} Цвет 2: %d",GetVehColToText_2(vehicleid),GetVehicleColor_2(vehicleid)); // форматируем цвет 2, %06x
    	SendClientMessage(playerid,-1,str); // Оправляем сообщение игроку
    	return true;
    }
    public OnPlayerSpawn(playerid)
    {
    	SetPlayerPos(playerid, 2490.8650,-1671.2910,13.3359);
    	SetPlayerFacingAngle(playerid, 180.0);
    	SetCameraBehindPlayer(playerid);
    	return true;
    }

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

Автор: SoNik))
Skype: sell.mells
 
Сверху Снизу