ну тут уже придется не с кодом возиться а у же в самом спрайте найди laserdot.spr и попробуй его поменять на зеленый но нужна прога которая сами рисунки из спрайтов вытаскивает это уже та самая которую я показал ранее еще потом надо сам спрайт скомпилировать ну во общем попробуй сам разобраться с этой прогой
Добавлено 24-08-2021 в 14:34:
лучше всего для редактирования спрайтов я предлагаю paintnet удобная штука сам ей пользуюсь
Добавлено 24-08-2021 в 14:36:
там еще есть такая функция замудренная она способна как раз сами цвета спрайтов менять
Добавлено 24-08-2021 в 14:46:
ну как то так затратил на это даже меньше минуты для меня просто
Вложение: crossfire0000.bmp (860.3 кб)
Этот файл был скачан 185 раз.
Aynekko писал: кто бы сделал лазер с видимым лучем. У меня не получилось.
Я делал его отдельной бодигруппой с texrendermode additive. Но по уму-то надо и правда делать спрайтом, темпэнтитей, чтобы луч обрезался энтитями при пересечении. Я бы взял pEfxAPI->R_BeamPoints за основу. Как раз нужно указать две точки. Начальная - аттачмент вьюмодели, конечная - к примеру, на 40-60 юнитов вперёд в направлении точки стрельбы. Только этому лучу надо ставить флаг FTENT_HIGHPRIORITY (или как он там правильно пишется), чтобы при переполнении массива темпэнтить, луч не удалялся и оставался видимым.
Добавлено 27-08-2021 в 19:41:
Сегодня попробую сделать, вывалю вам в эту тему код, скрин и модифицированную вьмодель рпг, если всё получится.
ЛЦУ лучиком есть в Alternative Way, такой что лучом смотрит и водится вместе с анимацией, и как я помню там точка стрельбы вроде меняется на то куда луч смотрит, автор сравнительно недавно писал что доделает кое-как и выложит вместе с кодом, интересно будет глянуть, там много всего интересного в плане кода.
Вот, смотрите, изучайте. Написал очень на скорую руку. Тут, короче, надо получать углы аттачмента по тутору Дяди Миши, чтоб красиво было. Или вообще, рисовать луч и глоу через триапи. Это я попозже сделаю, вместе с кастомными трейсерами, т.к. и там и там лучи. Включать-выключать можно через 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"))
Я как-то давно копипастил прицел то ли с ксаша, точно не помню. Так у меня laserdot в не зависимости от расстояния был одного размера, что очень удобно.
Только от первого. Я писал чисто на пробу. Собсно, лучи нормально аттачатся. А вот темп-спрайты немного лагают. Код надо переделывать на использование триапи, так будет лучше.