Система визуального подтверждения попадания по игроку или по транспорту.
Возможности
- Изменение цвета хитмаркера при попадании в разные части тела игрока, транспорта, и при полном убийстве игрока.
- Отключение хитмаркера для всех видов оружия, включая спец оружие воздушного транспорта.
- Установка определенного звука при попадании.
- Настройка положение и размера хитмаркера.
- Включение/Выключение индикации попадания по игроку и по транспорту.
Установка
- Скачайте Hitmarker.inc
- Поместите файл Hitmarker.inc в папку include.
- Откройте ваш мод, и подключите #include <Hitmarker>
Автор: Bren828
GitHub: https://github.com/Bren828/HitMarker-SA-MP
Использование
Definition
Тип изменение цвета
Код:
#define HITMARKER_KILLSHOTS 0 //При полном убийстве игрока
#define HITMARKER_VEHICLE_DAMAGE 1 //При попадании по транспорту
#define HITMARKER_BODYPART_TORSO 3 //При попадании по торсу
#define HITMARKER_BODYPART_GROIN 4 //При попадании по паху
#define HITMARKER_BODYPART_LEFT_ARM 5 //При попадании по левой руке
#define HITMARKER_BODYPART_RIGHT_ARM 6 //При попадании по правой руке
#define HITMARKER_BODYPART_LEFT_LEG 7 //При попадании по левой ноге
#define HITMARKER_BODYPART_RIGHT_LEG 8 //При попадании по правой ноге
#define HITMARKER_BODYPART_HEAD 9 //При попадании в голову
Дополнительные определения для оружия
Код:
#define HITMARKER_WEAPON_FIST 0 //Урон получен кулаком
#define HITMARKER_DEATH_UNDER_VEHICLE 50 //Игрок умер под транспортом или от винтов вертолета
#define HITMARKER_ALL_EXPLOSION 51 //Игрок умер от взрыва
#define HITMARKER_AIR_VEHICLE_WEAPON_MINIGUN 52 //Игрок умер от спец оружие воздушного транспорта пулемет
#define HITMARKER_AIR_VEHICLE_WEAPON_ROCKETS 53 //Игрок умер от спец оружие воздушного транспорта ракета
Изменение положение хитмаркера
Код:
#define HITMARKER_STANDARD_CROSSHAIR 0 //Изменение положение стандартного прицела
* Используется для огнестрельного оружия (ID: 22 - 33, 37 - 38)
#define HITMARKER_CENTRE_CROSSHAIR 1 //Изменение положение прицела по центру
* Используется для холодного оружия включая транспорт
Functions
Код:
Включить Hitmarker
HitmarkerEnabled(playerid);
Выключить Hitmarker
HitmarkerDisable(playerid);
Узнать статус хитмаркера
bool:HitmarkerStatus(playerid);
Вернет: false если выключен
Вернет: true если включен
Изменить цвет хитмаркера
HitmarkerColor(playerid, type, color);
Узнать текущий цвет хитмаркера
GetHitmarkerColor(playerid, type);
Выключить хитмаркер для определенного оружия
HitmarkerDisableWeapon(playerid, weaponid, bool:disable);
* При отключении огневого оружия, отключается оружие (ID: 18, 37)
* При отключении взрывного оружия, отключается оружие (ID: 16, 35, 36, 39, 51) Не распространяется на воздушный транспорт.
Узнать статус хитмаркера у определенного оружия
GetHitmarkerDisabledWeapon(playerid, weaponid);
Включить звук попадания
HitmarkerSoundDamage(playerid, soundid);
Узнать текущий звук попадания
GetHitmarkerSoundDamage(playerid);
Изменить положение хитмаркера
HitmarkerPosition(playerid, crosshair_type, Float:x, Float:y, Float:size_x, Float:size_y);
Узнать текущие положение хитмаркера
GetHitmarkerPosition(playerid, crosshair_type, &Float:x, &Float:y, &Float:size_x, &Float:size_y);
Включить индикацию пули по игроку
HitmarkerEnablePlayerDamage(playerid, bool:enable);
* По стандарту включено
Узнать статус индикации пули по игроку
GetHitmarkerEnablePlayerDamage(playerid);
Включить индикацию пули по транспорту
HitmarkerEnableVehicleDamage(playerid, bool:enable);
Узнать статус индикации пули по транспорту
GetHitmarkerEnableVehicleDamage(playerid);
Пример использования
PHP код:
CMD:Hitmarker(playerid)
{
if(HitmarkerStatus(playerid) == false) // Узнаем состояние хитмаркера
{
// Включаем хитмаркер
HitmarkerEnabled(playerid);
// Устанавливаем нужные цвета попадания
HitmarkerColor(playerid, HITMARKER_BODYPART_TORSO, 0xFFFFFFFF);
HitmarkerColor(playerid, HITMARKER_BODYPART_GROIN, 0x7CFC00FF);
HitmarkerColor(playerid, HITMARKER_BODYPART_LEFT_ARM, 0xFFA500FF);
HitmarkerColor(playerid, HITMARKER_BODYPART_RIGHT_ARM, 0xFFD700FF);
HitmarkerColor(playerid, HITMARKER_BODYPART_LEFT_LEG, 0x00BFFFFF);
HitmarkerColor(playerid, HITMARKER_BODYPART_RIGHT_LEG, 0x00FFFFFF);
HitmarkerColor(playerid, HITMARKER_BODYPART_HEAD, 0xFF00FFFF);
HitmarkerColor(playerid, HITMARKER_KILLSHOTS, 0xFF0000FF);
HitmarkerColor(playerid, HITMARKER_VEHICLE_DAMAGE, 0xB03060FF);
// Включаем индикацию урона по транспорту
HitmarkerEnableVehicleDamage(playerid, true);
// Отключаем индикацию урона оружием (ID: 5) - Бейсбольная бита
HitmarkerDisableWeapon(playerid, WEAPON_BAT, true);
// Отключаем индикацию урона наносимого воздушным транспортом при помощи пулемета
HitmarkerDisableWeapon(playerid, HITMARKER_AIR_VEHICLE_WEAPON_MINIGUN, true);
GameTextForPlayer(playerid, "Hitmarker ~g~~h~On", 1200, 4);
}
else
{
// Выключаем хитмаркер
HitmarkerDisable(playerid);
GameTextForPlayer(playerid, "Hitmarker ~r~~h~Off", 1200, 4);
}
return 1;
}