18.05.2014, 22:10
Include упрощает работу с транспортом, создание, покраска, возможно узнать цвет (integer,string).
При написании было решено осуществить две версии include, изначально хотел поделиться покраской на TextDraw.
Так-как красит она по одному цвету за раз, решил выложить всю систему, но в include.
Версия 1.1
Версия 1.2 — Данная версия содержит тот-же функционал, что и 1.1, + покраска на TextDraw
Автор: SoNik))
Skype: sell.mells
При написании было решено осуществить две версии 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,Floa t: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 - нет
- Правильное форматирование из GetVehColToText_1(vehid)PHP Code:
new str[40];
format(str,40,"{%06x} Этот текст цвета машины",GetVehColToText_1(vehicleid)); // форматируем цвет 1, %06x
SendClientMessage(playerid,-1,str); // Оправляем сообщение игроку
- Mini GameModePHP Code:
#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;
}
- ScreenShot покраски
Автор: SoNik))
Skype: sell.mells