|
|
2024/03/28, Чт, 13:49
|
Приветствую Вас ---- | RSS Регистрация
|
[Кодинг] Ночное Видение (А ля Оппосинг форс)
| |
Jack-Hang | Дата: Ср, 2006/10/11, 15:35 | Сообщение # 1 |
Hang-Overed
Репутация: 5
Регистрация:2006/08/20
Сообщений: 84
Статус: Offline
| 1) На сервере в player.cpp все встречающиеся EF_DIMLIGHT заменяем на EF_BRIGHTLIGHT 2) На клиенте в файле flashlight.cpp ищем функцию int CHudFlashlight::Draw(float flTime) там в ней почти в самом начале есть строчки: Code | if (!(gHUD.m_iWeaponBits & (1 | После них вставляем код, который весь экран замостит анимированными спрайтиками найтвижена: Code | if (m_fOn) { // здесь задается имя спрайта HSPRITE hspr = SPR_Load( "sprites/of_nv_b.spr" ); // 128, 255, 128 - это зеленоватый цвет в RGB, измени если нужно SPR_Set(hspr, 128, 255, 128 ); // 20 - это скорость анимации спрайта, количество кадров/сек int frame = (int)(flTime * 20) % SPR_Frames(hspr); int xSize = SPR_Width(hspr, 0); int ySize = SPR_Height(hspr, 0); for (int yPos = 0; yPos < ScreenHeight; yPos += ySize) { for (int xPos = 0; xPos < ScreenWidth; xPos += xSize) { SPR_DrawAdditive(frame, xPos, yPos, NULL); } } } | 3) Берем из оппозинг форса спрайт по имени of_nv_b.spr, и кладем его в свою папку sprites.. Ну или юзаем любой другой понравившийся спрайт. 4) По вкусу заменяем картинки батарейки и звуки. © by BUzer
|
|
| |
JoJo | Дата: Вт, 2007/03/27, 12:36 | Сообщение # 2 |
Noob
Репутация: 0
Регистрация:2007/03/27
Сообщений: 3
Статус: Offline
| Что-то не получается сделать! Можете дать целеком файл flashlight.cpp с уже этим кодом?
|
|
| |
Jack-Hang | Дата: Вт, 2007/03/27, 16:55 | Сообщение # 3 |
Hang-Overed
Репутация: 5
Регистрация:2006/08/20
Сообщений: 84
Статус: Offline
| Code | int CHudFlashlight::Draw(float flTime) { if ( gHUD.m_iHideHUDDisplay & ( HIDEHUD_FLASHLIGHT | HIDEHUD_ALL ) ) return 1; int r, g, b, x, y, a; wrect_t rc; if (!(gHUD.m_iWeaponBits & (1<<(WEAPON_SUIT)) )) return 1;if (m_fOn) { // здесь задается имя спрайта HSPRITE hspr = SPR_Load( "sprites/of_nv_b.spr" ); // 128, 255, 128 - это зеленоватый цвет в RGB, измени если нужно SPR_Set(hspr, 120, 0, 180); // 20 - это скорость анимации спрайта, количество кадров/сек int frame = (int)(flTime * 20) % SPR_Frames(hspr); int xSize = SPR_Width(hspr, 0); int ySize = SPR_Height(hspr, 0); for (int yPos = 0; yPos < ScreenHeight; yPos += ySize) { for (int xPos = 0; xPos < ScreenWidth; xPos += xSize) { SPR_DrawAdditive(frame, xPos, yPos, NULL); } } } if (m_fOn) a = 100; else a = MIN_ALPHA; if (m_flBat < 0.20) UnpackRGB(r,g,b, RGB_REDISH); else UnpackRGB(r,g,b, RGB_WHITISH); ScaleColors(r, g, b, a); y = (m_prc1->bottom - m_prc2->top)/2; x = ScreenWidth - m_iWidth - m_iWidth/2 ; // Draw the flashlight casing SPR_Set(m_hSprite1, r, g, b ); SPR_DrawAdditive( 0, x, y, m_prc1); if ( m_fOn ) { // draw the flashlight beam x = ScreenWidth - m_iWidth/2; SPR_Set( m_hBeam, r, g, b ); SPR_DrawAdditive( 0, x, y, m_prcBeam ); } // draw the flashlight energy level x = ScreenWidth - m_iWidth - m_iWidth/2 ; int iOffset = m_iWidth * (1.0 - m_flBat); if (iOffset < m_iWidth) { rc = *m_prc2; rc.left += iOffset; SPR_Set(m_hSprite2, r, g, b ); SPR_DrawAdditive( 0, x + iOffset, y, &rc); } return 1; } | Вот полностью вся функция, советую ознакомится!
|
|
| |
JoJo | Дата: Ср, 2007/03/28, 00:05 | Сообщение # 4 |
Noob
Репутация: 0
Регистрация:2007/03/27
Сообщений: 3
Статус: Offline
| Компил ругается на RGB_WHITISH. Можешь выложить flashlight.cpp целым файлом?
|
|
| |
Jack-Hang | Дата: Ср, 2007/03/28, 14:51 | Сообщение # 5 |
Hang-Overed
Репутация: 5
Регистрация:2006/08/20
Сообщений: 84
Статус: Offline
| Code | else UnpackRGB(r,g,b, RGB_WHITISH); | Удали!! Это ненужно.
|
|
| |
NameLesS | Дата: Сб, 2007/07/07, 18:20 | Сообщение # 6 |
Noob
Репутация: 0
Регистрация:2007/07/07
Сообщений: 5
Статус: Offline
| a mozet ktonibut screen pokazat?
|
|
| |
Kie | Дата: Сб, 2007/07/07, 20:57 | Сообщение # 7 |
Keyborder
Репутация: 5
Регистрация:2006/08/20
Сообщений: 40
Статус: Offline
| NameLesS, скринов не делали, а рабочая версия с этим кодом утеряна. Но выглядит это примерно как в Контр-Ударе.
Сообщение отредактировал Kie - Сб, 2007/07/07, 20:58 |
|
| |
NameLesS | Дата: Вс, 2007/07/08, 18:04 | Сообщение # 8 |
Noob
Репутация: 0
Регистрация:2007/07/07
Сообщений: 5
Статус: Offline
| Kie, OK
|
|
| |
|
|
Сайт управляется системой uCoz
|
Copyright by kiexStudio © 2009
|
|
|