Регистрация - или - Войти
PrecursorPrecursor

First Person Shooter...

28/03/2011

Изменение цвета HUD'а(полное)! Но прицелы придётся переделывать вам самим! Сдесь я перевевёл туториал с twhl.info на русский язык!


  • Описание
  • Ссылка и установка

Изменение цвета HUD'а(полное)!

Изменение цвета HUD'а(полное)! Но прицелы придётся переделывать вам самим! Сдесь я перевевёл туториал с twhl.info на русский язык!


Просмотров : 765 ( +2 )
Скачиваний : 0
Прислал / (а) : SteamPlay
Дата создания : 14.11.2012 14:00:19
Источник : http://twhl.info/tutorial.php?id=80
Рейтинг :
 ( 0 ) 
Поделиться :


Имеются следующие переводы : | русский |

Вам потребуется:

C++ 6.0 желательно
Некоторое знание языка C++
HL SDK 2.3
Время и терпение! (Важно)

Заходим в папку исходников в Single Player Source или в Multiplayer Source(смотря какого типа вашь мод). Далее, идём в папку cl_dll и открываем hud.cpp . В районе 306 строки находим это:

CVAR_CREATE( "hud_classautokill", "1", FCVAR_ARCHIVE | FCVAR_USERINFO ); CVAR_CREATE( "hud_takesshots", "0", FCVAR_ARCHIVE );

Добовляем посли этих значений ещё 3 значения:

CVAR_CREATE( "hud_red","0", FCVAR_ARCHIVE ); CVAR_CREATE( "hud_green", "200", FCVAR_ARCHIVE ); CVAR_CREATE( "hud_blue", "0", FCVAR_ARCHIVE );

Значение высчитывается по цветам RGB, первый красный, второй зелёный и соответственно третий синий.

Теперь открываем файл cl_util.h. В районе сточки 153 и заменяем этот код:

inline void UnpackRGB(int &r, int &g, int &b, unsigned long ulRGB) { r = (ulRGB & 0xFF0000) >>16; g = (ulRGB & 0xFF00) >> 8; b = ulRGB & 0xFF; }

На этот:

inline void UnpackRGB(int &r, int &g, int &b, unsigned long ulRGB) { if ( ulRGB == RGB_YELLOWISH ) { r = CVAR_GET_FLOAT( "hud_red" ); g = CVAR_GET_FLOAT( "hud_green" ); b = CVAR_GET_FLOAT( "hud_blue" ); } else { r = (ulRGB & 0xFF0000) >>16; g = (ulRGB & 0xFF00) >> 8; b = ulRGB & 0xFF; } }

Таким образом мод говорит движку какой цвет будет по умолчянию. Цвета пока не работают, можете проверить! Откройте health.cpp и перейдите в район строки 233.

Заменяем:

FillRGBA(x, y, iWidth, iHeight, 255, 160, 0, a);

На:

FillRGBA(x, y, iWidth, iHeight, r, g, b, a);

This will tell the engine to read the health color from our CVARs.

ПРЕДУПРЕЖДЕНИЕ: Если при компиляции будут ошибки в файле hud_spectator.cpp, откройте его и перейдите в район сточки 1079 и заменим эту строку:

i = sqrt (i);

На эту:

i = float sqrt (i);

ПРЕДУПРЕЖДЕНИЕ: Я тестировал это в сингплеере, но в мултиплеере тоже должно работать!

Я надеюсь это поможет вам в создании ваших модов! Рекомендуйте этот урок тем, кто нуждается в помощи по смену цвета HUD'а.



Похожие1. Создание нового ствола - Создание нового ствола с новыми патронами
2. Цвет спрайтов HUD - Итак, как же сменить цвет спрайтов в HUD-системе
3. Функции движка - как и для чего - Функции движка - как и для чего их использовать?
Вы не можете комментировать, т.к. вы не зарегистрированы.
    Sleepytime
    Half-Life 2Sleepytime
    Machine Gun
    Half-LifeMachine Gun
    Lightning Gun
    Half-LifeLightning Gun
    Hyperblaster
    Half-LifeHyperblaster