Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1
  1. #1
    Аватар для Bren
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.01.2020
    Адрес
    Россия
    Сообщений
    2
    Репутация:
    0 ±

    Система ХитМаркера & HitMarker - Визуальное подтверждение подтверждения


    Система визуального подтверждения попадания по игроку или по транспорту.


    Возможности
    • Изменение цвета хитмаркера при попадании в разные части тела игрока, транспорта, и при полном убийстве игрока.
    • Отключение хитмаркера для всех видов оружия, включая спец оружие воздушного транспорта.
    • Установка определенного звука при попадании.
    • Настройка положение и размера хитмаркера.
    • Включение/Выключение индикации попадания по игроку и по транспорту.


    Установка
    • Скачайте 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(playeridHITMARKER_BODYPART_TORSO,      0xFFFFFFFF);
            
    HitmarkerColor(playeridHITMARKER_BODYPART_GROIN,      0x7CFC00FF);
            
    HitmarkerColor(playeridHITMARKER_BODYPART_LEFT_ARM,   0xFFA500FF);
            
    HitmarkerColor(playeridHITMARKER_BODYPART_RIGHT_ARM,  0xFFD700FF);
            
    HitmarkerColor(playeridHITMARKER_BODYPART_LEFT_LEG,   0x00BFFFFF);
            
    HitmarkerColor(playeridHITMARKER_BODYPART_RIGHT_LEG,  0x00FFFFFF);
            
    HitmarkerColor(playeridHITMARKER_BODYPART_HEAD,       0xFF00FFFF);

            
    HitmarkerColor(playeridHITMARKER_KILLSHOTS,           0xFF0000FF);
            
    HitmarkerColor(playeridHITMARKER_VEHICLE_DAMAGE,      0xB03060FF);


            
    // Включаем индикацию урона по транспорту
            
    HitmarkerEnableVehicleDamage(playeridtrue);

            
    // Отключаем индикацию урона оружием (ID: 5) - Бейсбольная бита
            
    HitmarkerDisableWeapon(playeridWEAPON_BATtrue);


            
    // Отключаем индикацию урона наносимого воздушным транспортом при помощи пулемета
            
    HitmarkerDisableWeapon(playeridHITMARKER_AIR_VEHICLE_WEAPON_MINIGUNtrue);

            
    GameTextForPlayer(playerid"Hitmarker ~g~~h~On"12004);
        }
        else
        {
            
    // Выключаем хитмаркер
            
    HitmarkerDisable(playerid);

            
    GameTextForPlayer(playerid"Hitmarker ~r~~h~Off"12004);
        }
        return 
    1;

    Последний раз редактировалось Bren; 08.02.2023 в 12:10. Причина: Обновление
    Услуги pawn скриптинга

    Контакты для связи:
    Telegram: @Bren828
    VK: @bren828

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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