ziggi
18.01.2016, 22:16
zvehcomp
GitHub (https://github.com/Open-GTO/zvehcomp)
Описание
Небольшой набор функций, которые помогут в разработке системы тюнинга. Используется заранее сгенерированный массив данных, что положительно сказывается на производительности.
Пример использования
Получить список всех доступных компонентов для модели транспорта с ID 400:
new
compatible_types[ZVEH_MAX_COMPONENT_TYPES],
compatible_types_count;
GetVehicleCompatibleTypes(400, compatible_types, compatible_types_count);
for (new i = 0; i < compatible_types_count; i++) {
printf("%d", compatible_types[i]);
}
Функции
GetVehicleComponentTypeId(name[]);
GetVehicleComponentTypeName(type, name[], size = sizeof(name));
GetVehicleCompatibleTypes(model, array[ZVEH_MAX_COMPONENT_TYPES], &array_size);
GetVehicleComponentName(componentid, cname[], size = sizeof(cname));
GetVehicleCompatibleUpgrades(model, array[ZVEH_MAX_COMPONENTS], &array_size);
IsVehicleUpgradeCompatible(model, componentid);
GetVehicleComponentTypeId(name[])
Получает ID типа (https://github.com/Open-GTO/zvehcomp/wiki/Типы-компонентов) компонента по его названию.
Параметры:
name[] - массив с именем типа компонента, который нужно найти
Возвращает:
ID типа компонента
INVALID_COMPONENT_ID в случае, если тип не найден
GetVehicleComponentTypeName(type, name[], size = sizeof(name))
Получает название типа компонента по его ID.
Параметры:
type - ID типа компонента
name[] - массив для записи имени типа компонента
size - размер name
Возвращает:
Количество символов у названия типа в случае, если тип найден
0 в случае, если тип не найден
GetVehicleCompatibleTypes(model, array[ZVEH_MAX_COMPONENT_TYPES], &array_size)
Получает список совместимых типов компонентов по модели транспорта.
Параметры:
model - ID модели транспорта
array[ZVEH_MAX_COMPONENT_TYPES] - массив для записи совместимых типов компонентов
array_size - количество элементов, записанных в массив
Возвращает:
1 в случае, если совместимые типы найдены и записаны в массив
0 в случае, если совместимых типов не найдено
GetVehicleComponentName(componentid, cname[], size = sizeof(cname))
Получает название компонента (https://github.com/Open-GTO/zvehcomp/wiki/Компоненты) по его ID.
Параметры:
componentid - ID компонента
cname[] - массив для записи имени компонента
size - размер cname
Возвращает:
Количество символов у названия компонента в случае, если компонент найден
0 в случае, если тип не найден
GetVehicleCompatibleUpgrades(model, array[ZVEH_MAX_COMPONENTS], &array_size)
Получает список совместимых компонентов (https://github.com/Open-GTO/zvehcomp/wiki/Совместимые-компоненты) по модели транспорта.
Параметры:
model - ID модели транспорта
array[ZVEH_MAX_COMPONENTS] - массив для записи совместимых компонентов
array_size - количество элементов, записанных в массив
Возвращает:
1 в случае, если совместимые типы записаны в массив
0 в случае ошибки
IsVehicleUpgradeCompatible(model, componentid)
Проверяет совместимость компонента и модели транспорта.
Параметры:
model - ID модели транспорта
componentid - ID компонента
Возвращает:
1 в случае, если данный компонент можно установить на указанную модель транспорта
0 в случае, если данный компонент нельзя установить на указанную модель транспорта
Константы
ZVEH_INVALID_COMPONENT_ID (255)
ZVEH_MAX_COMPONENTS (48)
ZVEH_MAX_COMPONENT_NAME (64)
ZVEH_MAX_COMPONENT_TYPES (14)
ZVEH_MAX_COMPONENT_TYPE_NAME (16)
ZVEH_INVALID_COMPONENT_ID
Недействительный ID компонента (равен 255).
ZVEH_MAX_COMPONENTS
Максимальное число компонентов у одной модели транспорта (равен 48).
ZVEH_MAX_COMPONENT_NAME
Максимальная длина имени компонента (равна 64).
ZVEH_MAX_COMPONENT_TYPES
Максимальное число типов компонентов (равен 14).
ZVEH_MAX_COMPONENT_TYPE_NAME
Максимальная длина имени типа компонента (равна 16).
Полезные ссылки
Документация (https://github.com/Open-GTO/zvehcomp/wiki/Документация)
Типы компонентов (https://github.com/Open-GTO/zvehcomp/wiki/Типы-компонентов)
Компоненты (https://github.com/Open-GTO/zvehcomp/wiki/Компоненты)
Совместимые компоненты (https://github.com/Open-GTO/zvehcomp/wiki/Совместимые-компоненты)
Благодарности
JernejL и Y_Less, за массив компонентов (https://github.com/ziggi/sa-mp-fixes/blob/master/fixes.inc#L2254) и метод работы с ним (https://github.com/ziggi/sa-mp-fixes/blob/master/fixes.inc#L4475)
AirKit, за названия компонентов (https://github.com/Open-GTO/zvehcomp/wiki/Компоненты)
Скачать
Последняя версия архивом: https://github.com/Open-GTO/zvehcomp/releases
Посмотреть не скачивая: https://github.com/Open-GTO/zvehcomp/blob/master/zvehcomp.inc
GitHub (https://github.com/Open-GTO/zvehcomp)
Описание
Небольшой набор функций, которые помогут в разработке системы тюнинга. Используется заранее сгенерированный массив данных, что положительно сказывается на производительности.
Пример использования
Получить список всех доступных компонентов для модели транспорта с ID 400:
new
compatible_types[ZVEH_MAX_COMPONENT_TYPES],
compatible_types_count;
GetVehicleCompatibleTypes(400, compatible_types, compatible_types_count);
for (new i = 0; i < compatible_types_count; i++) {
printf("%d", compatible_types[i]);
}
Функции
GetVehicleComponentTypeId(name[]);
GetVehicleComponentTypeName(type, name[], size = sizeof(name));
GetVehicleCompatibleTypes(model, array[ZVEH_MAX_COMPONENT_TYPES], &array_size);
GetVehicleComponentName(componentid, cname[], size = sizeof(cname));
GetVehicleCompatibleUpgrades(model, array[ZVEH_MAX_COMPONENTS], &array_size);
IsVehicleUpgradeCompatible(model, componentid);
GetVehicleComponentTypeId(name[])
Получает ID типа (https://github.com/Open-GTO/zvehcomp/wiki/Типы-компонентов) компонента по его названию.
Параметры:
name[] - массив с именем типа компонента, который нужно найти
Возвращает:
ID типа компонента
INVALID_COMPONENT_ID в случае, если тип не найден
GetVehicleComponentTypeName(type, name[], size = sizeof(name))
Получает название типа компонента по его ID.
Параметры:
type - ID типа компонента
name[] - массив для записи имени типа компонента
size - размер name
Возвращает:
Количество символов у названия типа в случае, если тип найден
0 в случае, если тип не найден
GetVehicleCompatibleTypes(model, array[ZVEH_MAX_COMPONENT_TYPES], &array_size)
Получает список совместимых типов компонентов по модели транспорта.
Параметры:
model - ID модели транспорта
array[ZVEH_MAX_COMPONENT_TYPES] - массив для записи совместимых типов компонентов
array_size - количество элементов, записанных в массив
Возвращает:
1 в случае, если совместимые типы найдены и записаны в массив
0 в случае, если совместимых типов не найдено
GetVehicleComponentName(componentid, cname[], size = sizeof(cname))
Получает название компонента (https://github.com/Open-GTO/zvehcomp/wiki/Компоненты) по его ID.
Параметры:
componentid - ID компонента
cname[] - массив для записи имени компонента
size - размер cname
Возвращает:
Количество символов у названия компонента в случае, если компонент найден
0 в случае, если тип не найден
GetVehicleCompatibleUpgrades(model, array[ZVEH_MAX_COMPONENTS], &array_size)
Получает список совместимых компонентов (https://github.com/Open-GTO/zvehcomp/wiki/Совместимые-компоненты) по модели транспорта.
Параметры:
model - ID модели транспорта
array[ZVEH_MAX_COMPONENTS] - массив для записи совместимых компонентов
array_size - количество элементов, записанных в массив
Возвращает:
1 в случае, если совместимые типы записаны в массив
0 в случае ошибки
IsVehicleUpgradeCompatible(model, componentid)
Проверяет совместимость компонента и модели транспорта.
Параметры:
model - ID модели транспорта
componentid - ID компонента
Возвращает:
1 в случае, если данный компонент можно установить на указанную модель транспорта
0 в случае, если данный компонент нельзя установить на указанную модель транспорта
Константы
ZVEH_INVALID_COMPONENT_ID (255)
ZVEH_MAX_COMPONENTS (48)
ZVEH_MAX_COMPONENT_NAME (64)
ZVEH_MAX_COMPONENT_TYPES (14)
ZVEH_MAX_COMPONENT_TYPE_NAME (16)
ZVEH_INVALID_COMPONENT_ID
Недействительный ID компонента (равен 255).
ZVEH_MAX_COMPONENTS
Максимальное число компонентов у одной модели транспорта (равен 48).
ZVEH_MAX_COMPONENT_NAME
Максимальная длина имени компонента (равна 64).
ZVEH_MAX_COMPONENT_TYPES
Максимальное число типов компонентов (равен 14).
ZVEH_MAX_COMPONENT_TYPE_NAME
Максимальная длина имени типа компонента (равна 16).
Полезные ссылки
Документация (https://github.com/Open-GTO/zvehcomp/wiki/Документация)
Типы компонентов (https://github.com/Open-GTO/zvehcomp/wiki/Типы-компонентов)
Компоненты (https://github.com/Open-GTO/zvehcomp/wiki/Компоненты)
Совместимые компоненты (https://github.com/Open-GTO/zvehcomp/wiki/Совместимые-компоненты)
Благодарности
JernejL и Y_Less, за массив компонентов (https://github.com/ziggi/sa-mp-fixes/blob/master/fixes.inc#L2254) и метод работы с ним (https://github.com/ziggi/sa-mp-fixes/blob/master/fixes.inc#L4475)
AirKit, за названия компонентов (https://github.com/Open-GTO/zvehcomp/wiki/Компоненты)
Скачать
Последняя версия архивом: https://github.com/Open-GTO/zvehcomp/releases
Посмотреть не скачивая: https://github.com/Open-GTO/zvehcomp/blob/master/zvehcomp.inc