HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 198 199 200 201 [202] 203 204 205 206 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Ku2zoff спасибо, что откликнулся, в entity encode у меня уже стоит 16, 1.0 у всех iuser. Но даже число -3 не проходит, пишет ноль. Больше нуля выставляю сразу все четко. Если это важно, то ставлю iuser3 в спаун солдата, на карте только я и солдат, пустая коробка. Пишу 555, вижу на клиенте 555, пишу отрицалку вижу ноль...

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205078

Старое сообщение 08-11-2021 21:55
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Aynekko тогда не знаю, в чём дело. Поступи по-другому. Вместо отрицательных чисел используй какой-нибудь диапазон. Например, в качестве положительных 1-255, а в качестве отрицательных 256-511. То есть, у тебя на клиенте проверка была

C++ Source Code:
if (entity->curstate.iuser4 < 0)

а стала
C++ Source Code:
if (entity->curstate.iuser4 > 256)

Ну или
C++ Source Code:
if (entity->curstate.iuser4 > 256)
  entity->curstate.iuser4 = 256 - entity->curstate.iuser4;

Таким образом ты уже на клиенте получишь отрицательное число.

В AddToFullPack иузеры вписаны? Где они из энтварсов передаются в entity_state?

Добавлено 09-11-2021 в 13:15:

Щас глянул в сорцы ксаш мода, а они там все уже заняты, кроме iuser4:
C++ Source Code:
state->iuser1	 = ent->v.iuser1; // flags
state->iuser2	 = ent->v.iuser2; // flags
state->iuser3	 = ent->v.iuser3; // vertexlight cachenum
state->iuser4	 = ent->v.iuser4;

Надеюсь, ты это учёл. Вообще, это для енв_статиков, и проверки в коде клиента должны быть.

Отредактировано Ku2zoff 09-11-2021 в 06:20

Сообщить модератору | | IP: Записан
Сообщение: 205080

Старое сообщение 09-11-2021 06:15
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



В принципе я уже решил проблему, заведя новый pev-effects, но все равно хотелось бы разобраться.

Цитата:
Ku2zoff писал:
Вместо отрицательных чисел используй какой-нибудь диапазон.

Вот чтобы избежать возможных конфликтов со статиками, я хотел отрицательное число вписать. Когда ставил положительное, у меня статик делал тот же эффект ибо iuser совпал
Цитата:
Ku2zoff писал:
В AddToFullPack иузеры вписаны?

Ага. В самом конце addtofullpack вывел в консоль все четыре iuser. Поставил число -5. Так и выводит. То есть с сервера ушло -5.
На клиенте алерт в консоль стоит прямо первой строчкой в HUD_AddEntity. Четыре нуля выводит. Если пишу положительное число, выводит правильно. Капец странно. И число маленькое же.
Я уже искал в коде какие-то проверки на обнуление, если меньше нуля - не удалось найти. Может проверь у себя, как работает ли у тебя.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205081

Старое сообщение 09-11-2021 07:24
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32210
Нанёс повреждений: 392 ед.

Рейтинг



DT_SIGNED

Добавлено 09-11-2021 в 11:54:

Цитата:
Ku2zoff писал:
Вместо отрицательных чисел используй какой-нибудь диапазон

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 205082

Старое сообщение 09-11-2021 08:54
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
DT_SIGNED

Ларчик просто открывался. Сработало!

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205083

Старое сообщение 09-11-2021 09:13
- За что?
[CFR] B@N@N
Житель форума

Группа: Неопытный
Дата регистрации: Feb 2018
Проживает: Default City
Сообщений: 174
Возраст: 31

Рейтинг



Может просто множить искомое число на -1 при получении?

Сообщить модератору | | IP: Записан
Сообщение: 205084

Старое сообщение 09-11-2021 11:22
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
[CFR] B@N@N писал:
Может просто множить искомое число на -1 при получении?

Гениально, надо было сразу так сделать.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205085

Старое сообщение 09-11-2021 11:46
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Хотел на клиенте повращать браш. Обнуляю там angles и параллельно постоянно считаются и задаются новые координаты. Но он не крутится.
Сделал ту же самую энтитю, но точечную, с моделькой - крутится.
Судя по репортам консоль, брашевая энтитя приходит на клиент, координаты так же считаются и задаются. Если делать то же самое на сервере, то браш крутится. Какая-то особенность для брашевых энтитей?

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205168

Старое сообщение 14-11-2021 10:44
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Aynekko с сервера приходят координаты и углы, а клиент уже по ним производит трансформацию. Учти, что брашевая модель - субмодель мира.

Цитата:
Aynekko писал:
точечную, с моделькой - крутится

Ты крутишь только клиентскую энтитю. На сервере всё остаётся по-старому. Как только придёт новый пакет данных - твоя энтитя встанет в первоначальное положение. Вижу два выхода: первое, это крутить на сервере, как положено. Второе, это делать чисто клиентскую энтитю, и оперировать ей. Со студиомодельками такое канает, с брашами - не знаю. Их как минимум придётся грузить из отдельных бсп (то есть энтитя будет точечной), как итемы в первой кваке.

Отредактировано Ku2zoff 14-11-2021 в 11:15

Сообщить модератору | | IP: Записан
Сообщение: 205170

Старое сообщение 14-11-2021 11:10
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Ku2zoff писал:
Ты крутишь только клиентскую энтитю.

Я знаю, энтитя несолидная, так что проблем не будет, мне просто надо сделать визуальный эффект, на сервер побоку.

Собственно вот нехитрый код. На клиенте я просто подменяю angles, когда они приходят (а приходит по идее всегда ноль, т.к. на сервере энтитя не двигается)
C++ Source Code:
1
static Vector Angles;
2
Angles.z += 200 * g_fFrametime;
3
if( Angles.z > 359 ) Angles.z = 0;
4
e->angles = Angles;

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

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205171

Старое сообщение 14-11-2021 11:15
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Aynekko писал:
e->angles = Angles;

попробуй e->curstate.angles.

Сообщить модератору | | IP: Записан
Сообщение: 205172

Старое сообщение 14-11-2021 11:16
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Не, тоже не хотит. И моделька тогда тоже не крутится, что интересно. Только если просто angles менять

Добавлено 14-11-2021 в 14:59:

Все, нашел. В R_AddEntity нашел, где трансформация браша происходит.

C++ Source Code:
if( clent->model->type == mod_brush )
  clent->hCachedMatrix = GL_CacheState( clent->origin, clent->angles );

Переставил код сюда перед заданием матрицы. Все отлично работает. Спасибо, что откликнулся

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 205173

Старое сообщение 14-11-2021 11:59
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Интересно, а как на клиенте сдвинуть счетчик патронов? Пока не могу найти где. А то я когда добавлял вторичную обойму для Акимбо-Подствола, он стал шире, и иконка патронов уехала за экран.

Добавлено 23-11-2021 в 15:51:

И вопрос по R_StreakSplash, как в нем указывается цвет? Там color не rgb, а просто одно число.

Сообщить модератору | | IP: Записан
Сообщение: 205413

Старое сообщение 23-11-2021 14:51
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Chyvachok писал:
color не rgb, а просто одно число

Скорее всего, цвет берётся из палитры. Как у всех партиклей. Открывай palette.lmp в wally и смотри индексы цветов.
Цитата:
Chyvachok писал:
как на клиенте сдвинуть счетчик патронов?

У них расстояние считается от правого края экрана:
C++ Source Code:
x = ScreeinWidth - ширина спрайта - отступ.

Добавь ширину второго спрайта и ещё один отступ.

Сообщить модератору | | IP: Записан
Сообщение: 205415

Старое сообщение 23-11-2021 15:13
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Ku2zoff Спасибо.

Вопрос еще по TriApi, а как сделать чтобы край эффекта луча где он начинается был полупрозрачным? А то он резко начинается, не очень красиво выглядит: https://imgur.com/a/qkA8d0V

Сам код рендера луча, из ХДМ:

code:
//----------------------------------------------------------------------------- // Purpose: Draw system to screen. // Warning: Requires texture tiling enabled in GL! //----------------------------------------------------------------------------- void CRSBeam::Render(void) { if (!gEngfuncs.pTriAPI->SpriteTexture(m_pTexture, m_iFrame)) return; Vector rt, up; AngleVectors(g_vecViewAngles, NULL, rt, up); gEngfuncs.pTriAPI->RenderMode(m_iRenderMode); //gEngfuncs.pTriAPI->Color4ub(m_color.r, m_color.g, m_color.b, 255);//(unsigned char)(m_fBrightness*255.0f)); gEngfuncs.pTriAPI->Color4f(m_fColorCurrent[0],m_fColorCurrent[1],m_fColorCurrent[2],1.0f);// HL m_fColorCurrent[3]);// XDM3038c gEngfuncs.pTriAPI->Brightness(GetRenderBrightness()); gEngfuncs.pTriAPI->CullFace(TRI_NONE); gEngfuncs.pTriAPI->Begin(TRI_QUADS); gEngfuncs.pTriAPI->TexCoord2f(0.0, 0.0); gEngfuncs.pTriAPI->Vertex3fv(m_vecOrigin + rt*m_fScale); gEngfuncs.pTriAPI->TexCoord2f(1.0, 0.0); gEngfuncs.pTriAPI->Vertex3fv(m_vecOrigin - rt*m_fScale); gEngfuncs.pTriAPI->TexCoord2f(1.0, m_fTextureTile); gEngfuncs.pTriAPI->Vertex3fv(m_vEnd - rt*m_fScale); gEngfuncs.pTriAPI->TexCoord2f(0.0, m_fTextureTile); gEngfuncs.pTriAPI->Vertex3fv(m_vEnd + rt*m_fScale); gEngfuncs.pTriAPI->TexCoord2f(0.0, 0.0); gEngfuncs.pTriAPI->Vertex3fv(m_vecOrigin + up*m_fScale); gEngfuncs.pTriAPI->TexCoord2f(1.0, 0.0); gEngfuncs.pTriAPI->Vertex3fv(m_vecOrigin - up*m_fScale); gEngfuncs.pTriAPI->TexCoord2f(1.0, m_fTextureTile); gEngfuncs.pTriAPI->Vertex3fv(m_vEnd - up*m_fScale); gEngfuncs.pTriAPI->TexCoord2f(0.0, m_fTextureTile); gEngfuncs.pTriAPI->Vertex3fv(m_vEnd + up*m_fScale); gEngfuncs.pTriAPI->End(); //gEngfuncs.pTriAPI->RenderMode(kRenderNormal); }


Добавлено 23-11-2021 в 17:30:

Жаль что я кодер никакой, вот это бы как-то накодить, чтобы края спрайтов сглаживались когда в стену упираются как тут: http://www.ogse.ru/gallery/13.jpg

Сообщить модератору | | IP: Записан
Сообщение: 205417

Старое сообщение 23-11-2021 16:30
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 03:39. Новая тема    Ответить
Страницы (260): « Первая ... « 198 199 200 201 [202] 203 204 205 206 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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