HLFX.Ru Forum Страницы (2): « 1 [2]
Показать все 30 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Хочу сделать ЛЦУ (https://hlfx.ru/forum/showthread.php?threadid=5713)


Отправлено Aynekko 24-08-2021 в 10:58:

Это легко. А вот кто бы сделал лазер с видимым лучем. У меня не получилось.

__________________
Мой мод на Xash


Отправлено hgrunt_2020 24-08-2021 в 11:03:

илья2 ну и еще маленький вопросик: как поменять цвет этой точки на зеленый?

Добавлено 24-08-2021 в 14:03:

Aynekko это можно уже в модели сделать


Отправлено илья2 24-08-2021 в 11:46:

как поменять цвет этой точки на зеленый?

ну тут уже придется не с кодом возиться а у же в самом спрайте найди laserdot.spr и попробуй его поменять на зеленый но нужна прога которая сами рисунки из спрайтов вытаскивает это уже та самая которую я показал ранее еще потом надо сам спрайт скомпилировать ну во общем попробуй сам разобраться с этой прогой

Добавлено 24-08-2021 в 14:34:

лучше всего для редактирования спрайтов я предлагаю paintnet удобная штука сам ей пользуюсь

Добавлено 24-08-2021 в 14:36:

там еще есть такая функция замудренная она способна как раз сами цвета спрайтов менять

Добавлено 24-08-2021 в 14:46:

ну как то так затратил на это даже меньше минуты для меня просто

__________________
илья


Отправлено hgrunt_2020 24-08-2021 в 11:59:

илья2
Ну а вот мой результат
https://youtu.be/9WrnDWexAVQ


Отправлено илья2 24-08-2021 в 12:13:

у тебя мод прям похож на стиль сталкера

__________________
илья


Отправлено hgrunt_2020 24-08-2021 в 12:14:

илья2 хотя на самом деле мод в стиле метро


Отправлено илья2 24-08-2021 в 12:26:

ну я в метро не играл люблю только в сталкер играть вот и подумал что сталкер. Сталкер и метро прям похожие игры спутать легко

__________________
илья


Отправлено Ku2zoff 27-08-2021 в 12:41:

Цитата:
Aynekko писал:
кто бы сделал лазер с видимым лучем. У меня не получилось.

Я делал его отдельной бодигруппой с texrendermode additive. Но по уму-то надо и правда делать спрайтом, темпэнтитей, чтобы луч обрезался энтитями при пересечении. Я бы взял pEfxAPI->R_BeamPoints за основу. Как раз нужно указать две точки. Начальная - аттачмент вьюмодели, конечная - к примеру, на 40-60 юнитов вперёд в направлении точки стрельбы. Только этому лучу надо ставить флаг FTENT_HIGHPRIORITY (или как он там правильно пишется), чтобы при переполнении массива темпэнтить, луч не удалялся и оставался видимым.

Добавлено 27-08-2021 в 19:41:

Сегодня попробую сделать, вывалю вам в эту тему код, скрин и модифицированную вьмодель рпг, если всё получится.


Отправлено Chyvachok 27-08-2021 в 13:17:

ЛЦУ лучиком есть в Alternative Way, такой что лучом смотрит и водится вместе с анимацией, и как я помню там точка стрельбы вроде меняется на то куда луч смотрит, автор сравнительно недавно писал что доделает кое-как и выложит вместе с кодом, интересно будет глянуть, там много всего интересного в плане кода.


Отправлено Crystallize 27-08-2021 в 13:32:

Самое поразительное здесь что люди с первого раза поняли что такое ЛЦУ


Отправлено Ku2zoff 27-08-2021 в 14:35:

Вот, смотрите, изучайте. Написал очень на скорую руку. Тут, короче, надо получать углы аттачмента по тутору Дяди Миши, чтоб красиво было. Или вообще, рисовать луч и глоу через триапи. Это я попозже сделаю, вместе с кастомными трейсерами, т.к. и там и там лучи. Включать-выключать можно через hl_weapons.cpp, там есть статус лазерной точки. А вообще, очень удобно сделать глоу бодигруппой в модели и выключать прямо на сервере. А на клиенте для включения/отключения луча отлавливать номер pev->body.

C++ Source Code:
1
#include "com_model.h"
2
 
3
TEMPENTITY* pRpgFlare;
4
BEAM* pRpgBeam;
5
 
6
void Game_AddObjects( void )
7
{
8
  if ( pBeam || pBeam2 )
9
    UpdateBeams();
10
 
11
  // новый код
12
  cl_entity_t *vmodel = gEngfuncs.GetViewModel();
13
  if (vmodel && vmodel->model)
14
  {
15
    vec3_t origin, angles, forward, end;
16
    VectorCopy(vmodel->attachment[0], origin);
17
    gEngfuncs.GetViewAngles((float*)angles);
18
    AngleVectors(angles, forward, NULL, NULL);
19
    VectorMA(origin, 256, forward, end);
20
 
21
    if (!stricmp(vmodel->model->name, "models/v_rpg.mdl"))
22
    {
23
      if (!pRpgFlare)
24
        pRpgFlare = gEngfuncs.pEfxAPI->R_TempSprite(vmodel->attachment[0], vec3_origin, 0.2, gEngfuncs.pEventAPI->EV_FindModelIndex("sprites/hotglow.spr"),
25
      kRenderGlow, kRenderFxNoDissipation, 192, gEngfuncs.GetClientTime() + 0.1, FTENT_NONE);
26
 
27
      if (!pRpgBeam)
28
        pRpgBeam = gEngfuncs.pEfxAPI->R_BeamEntPoint(vmodel->index | 0x1000, end, gEngfuncs.pEventAPI->EV_FindModelIndex("sprites/laserbeam.spr"),
29
      1.0, 1.0, 0, 0.5, 0, 0, 0, 255, 0, 0);
30
 
31
      if (pRpgFlare)
32
      {
33
        pRpgFlare->entity.curstate.rendercolor.r = 255;
34
        pRpgFlare->entity.curstate.rendercolor.g = 0;
35
        pRpgFlare->entity.curstate.rendercolor.b = 0;
36
        pRpgFlare->entity.origin = vmodel->attachment[0];
37
        pRpgFlare->die = gEngfuncs.GetClientTime() + 0.1;
38
      }
39
 
40
      if (pRpgBeam)
41
      {
42
        pRpgBeam->source = origin;
43
        pRpgBeam->target = end;
44
        pRpgBeam->die = gEngfuncs.GetClientTime() + 0.1;
45
      }
46
    }
47
    else
48
    {
49
      if (pRpgFlare)
50
      {
51
        pRpgFlare->die = 0.0;
52
        pRpgFlare = NULL;
53
      }
54
      if (pRpgBeam)
55
      {
56
        pRpgBeam->die = 0.0;
57
        pRpgBeam = NULL;
58
      }
59
    }
60
  }
61
}


https://i.imgur.com/Ybw0zHx.jpg

Модель рпг с аттачем в аттаче. Каламбур, однако!


Отправлено BALISTA 27-08-2021 в 16:49:

Я как-то давно копипастил прицел то ли с ксаша, точно не помню. Так у меня laserdot в не зависимости от расстояния был одного размера, что очень удобно.


Отправлено илья2 30-08-2021 в 15:25:

ничего сибе красивый луч получился однако

__________________
илья


Отправлено [CFR] B@N@N 31-08-2021 в 07:58:

Ku2zoff

А лучь виден только от первого лица или другие игроки тож могут ево видить?


Отправлено Ku2zoff 31-08-2021 в 09:06:

Цитата:
Ku2zoff писал:
Вложение: v_rpg.7z (85.0 кб)

Цитата:
Ku2zoff писал:
___if (!stricmp(vmodel->model->name, "models/v_rpg.mdl"))

Только от первого. Я писал чисто на пробу. Собсно, лучи нормально аттачатся. А вот темп-спрайты немного лагают. Код надо переделывать на использование триапи, так будет лучше.


Временная зона GMT. Текущее время 00:09. Страницы (2): « 1 [2]
Показать все 30 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024