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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено Vadiman 02-12-2022 в 19:15:

Доброго времени суток!
Несколько вопросов:
1) Хочу доработать зомбаков - чтобы при смерти игрока они шли его жрать (технически проигрывая victory_dance ивент). По идее это сложно реализовать, ведь нужно определять радиус в котором все monster_zombie почуят хрючево и начнут сбегаться к игроку. Я пробовал стащить аналогичную тему у буллсквида, но ничего не вышло.
2) Как сделать у оружия анимацию "первого подбирания"? Ну то есть находит игрок новое оружие и проигрывается единожды анимация, как он его осматривает или там пафосно затвор взводит, итд.
3) Как реализовать смену сабмодели рук у оружия? Слишком ли это заморочное дело? Вроде в спирите такое есть но мне весь функционал этого мода не нужен


Отправлено Shadow762 02-12-2022 в 22:18:

Цитата:
Vadiman писал:
2) Как сделать у оружия анимацию "первого подбирания"? Ну то есть находит игрок новое оружие и проигрывается единожды анимация, как он его осматривает или там пафосно затвор взводит, итд.


Не знаю как это делается у профессионалов, но я бы завел переменную в классе пушки в weapons.h например со значением FALSE по умолчанию.

Далее, в ::DEPLOY методе проверил, равна ли она FALSE, если да, то (на примере mp5) -
C++ Source Code:
1
BOOL CMP5::Deploy( )
2
{
3
  if ( <ПЕРЕМЕННАЯ> == FALSE ) {
4
    <ПЕРЕМЕННАЯ> == TRUE;
5
    return DefaultDeploy( "models/v_9mmAR.mdl", "models/p_9mmAR.mdl", MP5_DEPLOY_FIRST, "mp5" );
6
  }
7
  return DefaultDeploy( "models/v_9mmAR.mdl", "models/p_9mmAR.mdl", MP5_DEPLOY, "mp5" );
8
}


таким образом при следующих деплоях проверка не пройдет и будет работать штатный деплой.

Правда после обезоруживания игрока через с Player_weaponstrip и последующего подбора пушки деплой будет штатный скорее всего.

__________________
я Z


Отправлено Luciferchik 11-12-2022 в 02:13:

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

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.


Отправлено Shadow762 12-12-2022 в 04:45:

Цитата:
Luciferchik писал:
Подскажите где можно почитать тутор по вгуи, помню были на хл.ру, а сайт уже давно лёг на покой


http://ralertmod.narod.ru/sham-vgui.htm

__________________
я Z


Отправлено Luciferchik 13-12-2022 в 06:08:

Цитата:
Shadow762 писал:
http://ralertmod.narod.ru/sham-vgui.htm

Благодарю огромное

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.


Отправлено Vadiman 25-12-2022 в 18:26:

Цитата:
Shadow762 писал:
Не знаю как это делается у профессионалов, но я бы завел переменную в классе пушки в weapons.h например со значением FALSE по умолчанию.

Далее, в ::DEPLOY методе проверил, равна ли она FALSE, если да, то (на примере mp5) -
C++ Source Code:
1
BOOL CMP5::Deploy( )
2
{
3
  if ( <ПЕРЕМЕННАЯ> == FALSE ) {
4
    <ПЕРЕМЕННАЯ> == TRUE;
5
    return DefaultDeploy( "models/v_9mmAR.mdl", "models/p_9mmAR.mdl", MP5_DEPLOY_FIRST, "mp5" );
6
  }
7
  return DefaultDeploy( "models/v_9mmAR.mdl", "models/p_9mmAR.mdl", MP5_DEPLOY, "mp5" );
8
}


таким образом при следующих деплоях проверка не пройдет и будет работать штатный деплой.

Правда после обезоруживания игрока через с Player_weaponstrip и последующего подбора пушки деплой будет штатный скорее всего.

Спасибо! Правда полноценно работает при load/save, а по факту сразу перебивается (скорее всего WeaponIdle), но я пытался время там регулировать и полностью его убирать, пока не знаю как решить


Отправлено Shadow762 28-12-2022 в 00:53:

Цитата:
Vadiman писал:
Спасибо! Правда полноценно работает при load/save, а по факту сразу перебивается (скорее всего WeaponIdle), но я пытался время там регулировать и полностью его убирать, пока не знаю как решить

Один добрый человек подсказал, ту самую <ПЕРЕМЕННУЮ> следует занести в сейвдату в weapons.cpp
по аналогии с дрободаном
но учти, что у большинства пух сейвдаты нет, так что создавай эти методы на подобии тех пух, что внесены в сейвдату
C++ Source Code:
1
TYPEDESCRIPTION	CShotgun::m_SaveData[] =
2
{
3
  DEFINE_FIELD(CShotgun, m_flNextReload, FIELD_TIME),
4
  DEFINE_FIELD(CShotgun, m_fInSpecialReload, FIELD_INTEGER),
5
  DEFINE_FIELD(CShotgun, m_flNextReload, FIELD_TIME),
6
  DEFINE_FIELD(CShotgun, m_flPumpTime, FIELD_TIME),
7
};
8
IMPLEMENT_SAVERESTORE(CShotgun, CBasePlayerWeapon);

А что касается перебивания анимации - там же есть параметр, которые отвечает за ее длительность
подставить количество кадров деленное на FPS в анимации и все будет отлично

__________________
я Z


Отправлено Vadiman 01-01-2023 в 12:55:

Цитата:
Shadow762 писал:
Один добрый человек подсказал, ту самую <ПЕРЕМЕННУЮ> следует занести в сейвдату в weapons.cpp
по аналогии с дрободаном
но учти, что у большинства пух сейвдаты нет, так что создавай эти методы на подобии тех пух, что внесены в сейвдату
C++ Source Code:
1
TYPEDESCRIPTION	CShotgun::m_SaveData[] =
2
{
3
  DEFINE_FIELD(CShotgun, m_flNextReload, FIELD_TIME),
4
  DEFINE_FIELD(CShotgun, m_fInSpecialReload, FIELD_INTEGER),
5
  DEFINE_FIELD(CShotgun, m_flNextReload, FIELD_TIME),
6
  DEFINE_FIELD(CShotgun, m_flPumpTime, FIELD_TIME),
7
};
8
IMPLEMENT_SAVERESTORE(CShotgun, CBasePlayerWeapon);

А что касается перебивания анимации - там же есть параметр, которые отвечает за ее длительность
подставить количество кадров деленное на FPS в анимации и все будет отлично


Все равно перебивается. Ладно, нафиг тогда эти анимации
Но спасибо за помощь


Отправлено [CFR] B@N@N 01-01-2023 в 16:23:

Легко же ты сдался...


Отправлено FreeSlave 17-01-2023 в 21:17:

TRACE_TEXTURE в TEXTURETYPE_PlaySound возвращает нулевой указатель при ударе монтировкой по скайбоксу. Это нормально?
Хотел проверить на удар по скаю, но вот не вышло. Или возвращение нулевого указателя и есть сигнал о том, что попали в скай?

Ради интереса даже заглянул в код XDM и нашёл там коммент

code:
pTextureName = TRACE_TEXTURE(pEntity->edict(), vecSrc, vecEnd);// BUGBUG: at some strange angles this shit fails and returns "sky"!!

Т.е. при каких-то условиях sky всё-таки может вернуться?

__________________
I'm on github
I'm on opendesktop.org


Отправлено Ku2zoff 19-01-2023 в 11:07:

FreeSlave помнится, в стародавние времена, когда я пользовался 2003-й студией и SDK 2.3, компиляция и в дебаге, и в релизе давала такой результат, что TRACE_TEXTURE возвращала что-то такое, из-за чего тип материала не определялся. Будто бы текстура не прописана в materials.txt.
https://hlfx.ru/forum/showthread.ph...4491#post144491


Отправлено Дядя Миша 19-01-2023 в 13:30:

Там сама система материалов немного бажная, вот и глючит.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FreeSlave 19-01-2023 в 18:44:

Так материалы ни при чем. Вопрос о движковой функции pfnTraceTexture и определение ская.

__________________
I'm on github
I'm on opendesktop.org


Отправлено илья2 05-02-2023 в 20:15:

как сделан основной crosshair из dmc ?

пробовал найти любые ресурсы по этому ничего не нашел

__________________
илья


Отправлено FreeSlave 06-02-2023 в 00:22:

Цитата:
илья2 писал:
как сделан основной crosshair из dmc ?

пробовал найти любые ресурсы по этому ничего не нашел


Код DMC открыт же https://github.com/ValveSoftware/ha...l/ammo.cpp#L846

Там просто рисуется знак плюса
C++ Source Code:
1
/******************* DRAW CROSSHAIR *********************/
2
iCrossLength = gHUD.m_scrinfo.charWidths[ *chCrossHair ];
3
iCrossY = ScreenHeight / 2 - gHUD.m_scrinfo.iCharHeight / 2;
4
iCrossX = ScreenWidth / 2 - iCrossLength / 2;
5
 
6
gHUD.DrawHudString( iCrossX, iCrossY, iCrossX + 50, chCrossHair, 170, 170, 170 );
7
/******************* DRAW CROSSHAIR *********************/

__________________
I'm on github
I'm on opendesktop.org


Отправлено илья2 06-02-2023 в 06:04:

а ну теперь понятно он вырисовываться как отдельный худ

Добавлено 06-02-2023 в 09:04:

все спасибо теперь этот код можно в свои исходники ставить

__________________
илья


Отправлено Luciferchik 18-02-2023 в 13:57:

Здарова всем, играл как-то с друзьями в л4д и стало интересно, а как в мультиплеере рисовать себе в худ хп товарищей?

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.


Отправлено erfty 20-02-2023 в 19:30:

точечные энтити, выполняющие роль брашей будут нагружать карту( по сравнению с обычными брашами)? и кста , есть источник света, чтоб его не надо было компилить(энтитя источника света, свет этот не компилится а накарте отображается)?


Отправлено Skaarj 20-02-2023 в 19:34:

Какие то попытки создать вечный двигатель.
И чтоб ресурсы не ело, и чтоб мильён полигонов. Бесплатно.
Не, это так не работает.


Отправлено erfty 20-02-2023 в 19:54:

Цитата:
Skaarj писал:
Какие то попытки создать вечный двигатель.
И чтоб ресурсы не ело, и чтоб мильён полигонов. Бесплатно.
Не, это так не работает.

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


Отправлено Skaarj 20-02-2023 в 21:32:

Это вроде как плагинами делают, AmxMod и всякое такое.
Ну или ремейк карты с нуля делай. Либо по декомпилу, либо ищи исправленный декомпил, если карта популярная.


Отправлено илья2 04-03-2023 в 07:39:

как скомпилировать исходники decay ? может я неправильный visual studio использую ?
ссылки на исходники:
сорцы:https://github.com/FWGS/hlsdk-portable/tree/decay-pc
сорцы2:https://github.com/hoaxer/Half-Life-Decay

Добавлено 04-03-2023 в 10:39:

выполнял еще такую функцию
mkdir build && cd build
cmake ../
но безрезультатно выдает ошибки

__________________
илья


Отправлено FreeSlave 04-03-2023 в 20:16:

илья2 ветка Decay в hlsdk-portable недоделанная (и пока вообще заброшенная). Не пытайся её использовать.

Сорцы, выложенные самим разработчиком, содержат проект под старые версии Visual Studio. Мб в студии конвертация проекта сработает.

__________________
I'm on github
I'm on opendesktop.org


Отправлено erfty 08-03-2023 в 17:25:

Цитата:
FreeSlave писал:
илья2 ветка Decay в hlsdk-portable недоделанная (и пока вообще заброшенная). Не пытайся её использовать.

Сорцы, выложенные самим разработчиком, содержат проект под старые версии Visual Studio. Мб в студии конвертация проекта сработает.

если будет время то пофикси waf в ветке invasion пж а то там вообще сломано(иль можно на телефон собрать)


Отправлено chakki.skrip 19-04-2023 в 16:13:

В последнее время я стал часто сталкиваться с некорректным воспроизведением анимации у вставленной на карту модели. Анимация воспроизводится рывками, кадры проскакивают. Но дело в том, что сама анимация зациклена и не имеет швов. Изменение значения framerate у cycler_sprite или fps в qc файле модели изменяет характер бага.
https://youtu.be/SSbUEfq-1ps

Опытным путем пришел к тому, что скорость воспроизведения анимации следует задавать в qc файле модели, а при размещении модели с анимацией на карте значение framerate должно быть равно количеству кадров анимации модели. В таком случае анимация воспроизводится практически корректно, но прыгающие кадры все еще имеют место.
Менее наглядное видео (таймкод)
https://youtu.be/5jD2j4DxZbs?t=92

Что можно предпринять, чтобы анимация всегда воспроизводилась корректно?


Отправлено ZGreen 19-04-2023 в 16:41:

А 200 фепсов не многовато для голдовой модельки? Попробуй поднимать фреймрейт от 30 и смотреть, когда начинает проявляться. Как бы там от тикрейта сервера и клиентского фпс не было зависимости еще.


Отправлено chakki.skrip 19-04-2023 в 16:50:

Пробовал множество значений framerate от 0.01 до нескольких тысяч. Также и с fps в qc. Больше всего тестов с framerate провел со значениями 1, 10, 30 и 60.
Количество кадров в самой анимации также менял. В основном 30, 60 240 кадров. Но на полное решение проблемы это не влияло.


Отправлено ZGreen 19-04-2023 в 16:59:

А у тебя точно кейфрейм верно в анимации стоит? Частая ошибка такая, что последний кадр анимации равен первому, а от этого естественно получится как-будто анимация подергивается. Ну условно, у тебя шарик должен повернуться на 360 градусов за 360 секунд, стало быть за последнюю секунду шарик должен стремиться к начальному положению, но не достигать его.

Добавлено 19-04-2023 в 23:59:

Во вьюере-то оно как себя ведет?


Отправлено chakki.skrip 19-04-2023 в 17:10:

В анимациях некоторых моделей передвигаю последний кадр за пределы таймлайна на один кадр. В этой модели я так не делал, мне было достаточно убрать интерполяцию между последним и первым кадром для плавной цикличности анимации. Во вьювере анимация отображается нормально, если значение фпс выставлено не мизерное(в противном случае вращения не будет). В Blender анимация отображается корректно.


Отправлено Aynekko 19-04-2023 в 17:17:

Этот рывок происходит в 100% случаев? Если просто стоять и смотреть на модель.

__________________
Мой мод на Xash


Отправлено chakki.skrip 19-04-2023 в 17:20:

Да, но он не слишком критичен, поскольку всего один за несколько минут.


Отправлено Дядя Миша 19-04-2023 в 17:48:

Цитата:
chakki.skrip писал:
значение framerate должно быть равно количеству кадров анимации модели

framerate - это множитель.

__________________
My Projects: download page

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

Цитата:

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


Отправлено chakki.skrip 20-04-2023 в 04:41:

Цитата:
Дядя Миша писал:
framerate - это множитель.

Но почему анимация воспроизводится некорректно?


Отправлено Дядя Миша 20-04-2023 в 06:25:

Ну его не стоит ставить менее 0.01 или более 10.

__________________
My Projects: download page

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

Цитата:

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


Отправлено chakki.skrip 20-04-2023 в 06:55:

Цитата:
Дядя Миша писал:
Ну его не стоит ставить менее 0.01 или более 10.

framerate 1, fps в qc 30 - скорость вращения высокая; иногда перескакивают кадры;
framerate 1, fps в qc 10 - скорость ниже, но анимация воспроизводится уже некорректно. Кадры идут примерно так: 1 2 3 4 5 3 4 5 6 7 8 9 10 8 9 10 11...
framerate 1, fps в qc 1 - скорость приемлемая, воспроизведение анимации некорректное. Слайдшоу из случайных кадров будто: 1 4 122 124.

framerate 10, fps в qc 30, 10 - высокая скорость вращения
framerate 10, fps в qc 1 - аналогично framerate 1, fps в qc 10
framerate 10, fps в qc 0.125 - воспроизводится отрезок анимации, да и то некорректно. Если в анимации 240 кадров, то воспроизводится лишь несколько кадров, грубо говоря: 1 3 5 7 9 11 1 3 5 7 9 11 1 3 5 7 9 11

framerate 240, fps в qc 0.125 - хорошая скорость анимации и плавность, но иногда проскакивают кадры. Я имею в виду, что был порядок в плане воспроизведения кадров от 1 до 240, но в какой-то момент анимация может пропустить 100 кадров(визуально).

При framerate ниже 0.01 анимации, насколько я помню, вообще не было. А при выставлении значений выше количества кадров анимации(240, 680, 1024 и т.д.) скорость анимации не изменялась, но менялся характер воспроизведения(с пролагами).


Отправлено Дядя Миша 20-04-2023 в 08:03:

Если скорость воспроизведения выше общего фреймрейта, то кадры и будут перескакивать, естественно.
У одинарного вещественного точность не бесконечная, а в голдсорсе фреймрейт не квантизирован, в отличие, от сорса, например.

__________________
My Projects: download page

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

Цитата:

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


Отправлено erfty 21-04-2023 в 14:31:

кстати, что там с анимироваными текстурами? лимиты повышены или как голдсорсе? а можно туда вообще видева запихнуть?


Отправлено XaeroX 21-04-2023 в 14:33:

erfty
Видева без звука - как водка без пива!

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


Отправлено erfty 21-04-2023 в 14:50:

а если гифка??


Отправлено Aynekko 25-04-2023 в 12:50:

Вопрос - как определить энтитю локального игрока так, чтобы быть уверенным, что это энтитя именно мы, а не кто-то другой?
Поясню: у меня есть боты на сервере. Есть визуальный эффект на экране, который зависит от значения gEngfuncs.GetLocalPlayer()->curstate.vuser1.z. Пока я в игре - все хорошо. Но если я зайду в спектаторы (становлюсь невидимым, несолидным и т.д.) я иногда вижу этот эффект на экране, когда у какого-то бота, по всей видимости, изменилось это значение (ведь он тоже игрок).
В моем понимании выходит, что GetLocalPlayer возвращает мне локального игрока, а т.к. я в спеках и как бы "не совсем игрок", он подсовывает данные бота, ведь он локальный.

__________________
Мой мод на Xash


Отправлено Ku2zoff 27-04-2023 в 11:17:

Aynekko режим спектатора - это когда подключаешься к HLTV Proxy. Прокси, по сути, такой же клиент, подключенный к серверу. А вот подключенные к прокси - уже не клиенты, а зрители-спектаторы. А "зайти в спектаторы" - перейти в режим обсервера. Игрок остаётся таким же подключенным клиентом, так же занимает слот на сервере, и к нему применяются все те же правила, что и к другим клиентам. Единственное, работает фильтр по pev->iuser1, отсекая всё ненужное и добавляя нужное. Чтобы у тебя не вылезал эффект, когда ты обсервер, добавь проверку на g_iUser1. Можно пойти дальше, и рисовать чужой эффект при наблюдении от первого лица. Через g_iUser2 можно получить индекс наблюдаемого игрока, а после его vuser1.z.

Добавлено 27-04-2023 в 18:17:

Цитата:
Aynekko писал:
он подсовывает данные бота, ведь он локальный

Нет, это твои данные. Значение меняется у тебя.


Отправлено Aynekko 27-04-2023 в 14:14:

Цитата:
Ku2zoff писал:
Чтобы у тебя не вылезал эффект, когда ты обсервер, добавь проверку на g_iUser1

Спасибо. Оказалось, дело и не в vuser. Там было еще одно условие, которое я меняю из CHudHealth::MsgFunc_Damage. Почему этот msg вызывают боты, когда я в наблюдателях, я пока не понял. Проверка на g_iUser1 помогла.

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-04-2023 в 19:28:

Цитата:
Aynekko писал:
а т.к. я в спеках и как бы "не совсем игрок", он подсовывает данные бота, ведь он локальный.

В Ксаше спектаторы никогда не тестировались и их работа вообще не гарантируется.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 03-05-2023 в 11:58:

Цитата:
Aynekko писал:
Почему этот msg вызывают боты, когда я в наблюдателях, я пока не понял.

А не должны. MSG_ONE только для одного клиента. Которым является бот, его энтварсы используются. Ищи проблему на клиентской стороне.


Отправлено erfty 04-06-2023 в 23:32:

Можно ли в хлсдк прямо в коде создать обычный куб вместо использования модельки?Хитбокс то можно создать а я вот иемнно про визуальную часть.


Отправлено hgrunt_2020 05-06-2023 в 09:43:

erfty вопрос: зачем? Чисто теоретически можно, да, теоретически можно что угодно, а на практике чорт его знает.

__________________
И главное, Артём, помни: не ешь желтый снег!


Отправлено Crystallize 05-06-2023 в 10:26:

erfty ну посмотри как рисовать командами типа GL_QUAD, GL_TRIANGLE (точно не помню) главное координаты вершин и ювишки текстур корректно задать.


Отправлено Luciferchik 05-06-2023 в 13:09:

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


Отправлено erfty 05-06-2023 в 21:48:

Цитата:
Crystallize писал:
erfty ну посмотри как рисовать командами типа GL_QUAD, GL_TRIANGLE (точно не помню) главное координаты вершин и ювишки текстур корректно задать.

а если на всех рендерах хочу?


Отправлено Crystallize 06-06-2023 в 00:48:

erfty так д3д же автоматом транслирует, нет? Я не разбирался.

Добавлено 06-06-2023 в 07:48:

Цитата:
Luciferchik писал:
Стало интересно могут ли кнопки в хл иметь две функции, то есть на примере перезарядки если просто нажать R то играет анимация перезарядки, а если зажать то отображается менюшка или что-то другое

В коде отслеживается отдельно отпускание и нажимание клавиши, так что можно.


Отправлено Luciferchik 06-06-2023 в 04:58:

Цитата:
Crystallize писал:
В коде отслеживается отдельно отпускание и нажимание клавиши, так что можно.


Это оно m_pPlayer->m_afButtonPressed?
Да и ещё чтоб вызвать кастомную анимацию нужно вызвать SendWeaponAnim или есть более разумные методы?

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.


Отправлено Crystallize 06-06-2023 в 11:30:

Luciferchik на клиенте input.cpp, там KeyUp, KeyDown, CL_KeyState.


Отправлено Luciferchik 06-06-2023 в 15:21:

Цитата:
Crystallize писал:
Luciferchik на клиенте input.cpp, там KeyUp, KeyDown, CL_KeyState.
Спасибо, я вспомнил просто очень давно делал прицел который реагировал на движения и он был завязан на стейтах клавиш

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.


Отправлено Deadlocked1337 28-06-2023 в 15:46:

HUD

Как сделать "изогнутый" HUD, как в Crysis 2/Cyberpunk 2077/ULTRAKILL?


Отправлено Crystallize 29-06-2023 в 06:02:

Deadlocked1337 Скорее всего он рендерится в отдельный буфер и искажается шейдером.


Отправлено Дядя Миша 29-06-2023 в 06:25:

Он там наверное в 3D рендерится, но с отключённым тестом на глубину.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Deadlocked1337 06-07-2023 в 21:28:

Visual Studio

Есть ли какая-то особая версия Visual Studio, которая умеет компилировать код Paranoia 2?


Отправлено Crystallize 07-07-2023 в 05:36:

Шестерка Corporate c процессор-паком.


Отправлено Nitrw 09-07-2023 в 06:40:

Всем привет! Сделал свою карту c расширением *.bsp в hammer, теперь появился вопрос - как в неё поиграть?


Отправлено hgrunt_2020 09-07-2023 в 11:14:

Nitrw ну допустим сделал ты карту в формате BSP. Теперь вопрос: для какого движка?

__________________
И главное, Артём, помни: не ешь желтый снег!


Отправлено Crystallize 15-07-2023 в 16:13:

Цитата:
hgrunt_2020 писал:
Всем привет! Сделал свою карту c расширением *.bsp в hammer, теперь появился вопрос - как в неё поиграть?

Нужно кинуть bsp в папку valve/maps
и набрать в консоли игры:
map имякарты


Отправлено Crystallize 17-07-2023 в 09:53:

А почему при спрыгивании с каната игроку дают инерцию через AbsVelocity, а не через BaseVelocity?


Отправлено Дядя Миша 17-07-2023 в 10:27:

Кто его знает. Может так в опфоре было.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 17-07-2023 в 12:29:

code:
void CRopeSegment :: Touch( CBaseEntity* pOther ) { if( pOther->IsPlayer() ) { CBasePlayer *pPlayer = (CBasePlayer *)pOther; // Electrified wires deal damage. - Solokiller if( m_bCauseDamage ) { if( gpGlobals->time >= pev->dmgtime ) { if( pev->dmg < 0 ) pOther->TakeHealth( -pev->dmg, DMG_GENERIC ); else pOther->TakeDamage( pev, pev, pev->dmg, DMG_SHOCK ); pev->dmgtime = gpGlobals->time + 0.5f; } } if( GetMasterRope()->IsAcceptingAttachment() && !pPlayer->IsOnRope( )) { if( m_bCanBeGrabbed ) { pOther->SetAbsOrigin( m_Data.mPosition ); pPlayer->SetOnRopeState( true ); pPlayer->SetRope( GetMasterRope() ); GetMasterRope()->AttachObjectToSegment( this );

Никак не пойму где класс камеры идет проверка на расстояние до игрока. Там проверяется все что угодно но не это.


Отправлено Дядя Миша 17-07-2023 в 13:07:

Хм, ну если вызвана функция Touch, значит игрок уже дотронулся до веровки.
В противном случае, как бы она вызвалась?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 18-07-2023 в 01:37:

Дядя Миша Я посмотрел, по-моему её никто не вызывает. Ну то есть изначально, так-то она сама может вызвать себя.


Отправлено Дядя Миша 18-07-2023 в 08:05:

Цитата:
Crystallize писал:
Я посмотрел, по-моему её никто не вызывает

Ну как это никто?
Физика её вызывает. Через каллбэки.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 18-07-2023 в 09:14:

Дядя Миша А можно как-то сделать чтоб такие вещи в поиске Студии показывались?


Отправлено Дядя Миша 18-07-2023 в 10:16:

Разумеется нет. Про такие вещи даже компилятор не знает. Только в рантайме.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Deadlocked1337 20-07-2023 в 20:32:

У меня сразу несколько вопросов.
1. Как скомпилировать исходники п2? Компилятор упорно останавливается на 59%.
2. Как выдернуть код худа из п2? Думаю вместо него поставить худ из хл1.

__________________
Leaving this world isn't as scary as it sounds.


Отправлено Дядя Миша 20-07-2023 в 22:28:

Цитата:
Deadlocked1337 писал:
Компилятор упорно останавливается на 59%.

Что это за компилятор такой - проценты пишет?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Deadlocked1337 21-07-2023 в 09:25:

Дядя Миша, батник, что был в комплекте с кодом.

Прерывается на


Цитата:
Добавление mainui\mainui.dsp  59% OK
Прервано пользователем

Добавление mainui\menufont.H
Работа программы прервана

__________________
Leaving this world isn't as scary as it sounds.


Отправлено Дядя Миша 21-07-2023 в 10:44:

Я никакого батника в комплекте с кодом не прикладывал.
Это вопросы к тому, кто приложил.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 21-07-2023 в 16:32:

Наконец-то раздуплил физический смысл брать текущий момент времени, прибавлять к нему и сравнивать. То есть мы как бы отмечаем момент в будущем, ок.

По какому принципу код игрока делится на пре-тчинк и пост-тчинк? Например почему канат именно в претчинке? У меня сложилось впечатление что в претчинке мы ставим какие-то флаги в основном, а в пост-тчинке по ним уже действуем.


Отправлено Дядя Миша 21-07-2023 в 16:53:

PreThink - до запуска физической симуляции игрока. PostThink - соответственно после.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 21-07-2023 в 17:57:

Дядя Миша ну а с точки зрения этой симуляции в чем разница перед или после что-то делать? Это сделано потому что одни процессы физичные, а другие - нет?


Отправлено Дядя Миша 21-07-2023 в 18:21:

Ну допустим ты делаешь что-то такое и хочешь чтобы симулятор физики это учёл уже прямо на этом кадре. Значит надо делать в PreThink. А в PostThink ты уже собираешь результаты симуляции - куда там игрок уткнулся, сколько ящиков задел, нуитд.

__________________
My Projects: download page

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

Цитата:

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


Отправлено chakki.skrip 30-07-2023 в 18:13:

Здравствуйте. Хотелось бы получить информацию по следующему вопросу.
После уменьшения размера хулла игрока в 4 раза view модель полностью входит в геометрию, если подойти вплотную к стене.

Это происходит с такими размерами хуллов:
( 0 0 0 ) ( 0 0 0 )
( -4 -4 -8 ) ( 4 4 8 )
( -16 -16 -16 ) ( 16 16 16 )
( -4 -4 -4 ) ( 4 4 4 )

Но если увеличить размер хулла в длину/ширину, то уже такое не происходит:
( 0 0 0 ) ( 0 0 0 )
( -6 -6 -8 ) ( 6 6 8 )
( -16 -16 -16 ) ( 16 16 16 )
( -6 -6 -4 ) ( 6 6 4 )

Можно ли решить это на стороне сервера?


Отправлено Дядя Миша 30-07-2023 в 19:48:

Цитата:
chakki.skrip писал:
Можно ли решить это на стороне сервера?

нет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено chakki.skrip 31-07-2023 в 11:26:

Цитата:
Дядя Миша писал:
нет.

Понял, благодарю за ответ


Отправлено Crystallize 10-08-2023 в 20:30:

Как сделать printf в матчлибе? Там ниче не работает.

Бывает ли что перпендикуляр к прямой косячит? У меня персонаж движется по прямой, и постоянно ищет перпендикуляр к ней. До точки пересечения с прямой разрешено некое расстояние, так что это как бы цилиндр. Скорость небольшая, что-то вроде 5-10 юнитов за кадр. И вот хотя по длине ему остается 20-25 юнитов, персонаж внезапно выпадает из этого объема.


Отправлено Дядя Миша 10-08-2023 в 21:05:

Цитата:
Crystallize писал:
Как сделать printf в матчлибе?

о какой именно матчлибе идёт речь?

Цитата:
Crystallize писал:
Бывает ли что перпендикуляр к прямой косячит?

Точно получить его невозможно - недостаточно информации. Эта штука строится на допусках. В разных реализациях - разные допуски.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 10-08-2023 в 21:37:

Дядя Миша матчлиба в ксашмоде.


Отправлено Дядя Миша 10-08-2023 в 21:42:

А зачем тебе выводить сообщения непременно внутри самой матчлибы?

__________________
My Projects: download page

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

Цитата:

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


Отправлено SNMetamorph 11-08-2023 в 08:08:

Цитата:
Crystallize писал:
Как сделать printf в матчлибе? Там ниче не работает.

В смысле? А что мешает-то? Есть snprintf, есть fmt если хочется удобно.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord


Отправлено Дядя Миша 11-08-2023 в 11:53:

Цитата:
Crystallize писал:
Я знаю только что в 2010 году чтобы повысить качество на Ютубе, мы в адрес дописывали &fmt=18.

Ну наверное уже неактуально

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 11-08-2023 в 12:15:

Цитата:
SNMetamorph писал:
В смысле? А что мешает-то? Есть snprintf, есть fmt если хочется удобно.

Матчлиба не знает ничего такого и ругается на undeclared identifier.

Добавлено 11-08-2023 в 19:15:

Цитата:
Дядя Миша писал:
А зачем тебе выводить сообщения непременно внутри самой матчлибы?

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


Отправлено Дядя Миша 11-08-2023 в 12:43:

Цитата:
Crystallize писал:
Я пытаюсь переделать функцию с возвращающей вектор на войд, но ей почему-то не нравится число параметров

Покажи что ты там хочешь переделать и главное зачем.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 12-08-2023 в 00:20:

Разобрался, там оставалось магическое число 999 а сегмент рельсы был 1024


Отправлено Crystallize 16-08-2023 в 18:16:

code:
for ( int k = 1; k<gpGlobals->maxEntities; k++, pStartEdict++ ) { if ( pStartEdict->free ) // Not in use continue; if ( !FStrEq ( STRING(pStartEdict->v.classname), "path_track" ) ) // if not match continue; // maps won't be super large, spam segments if 999 units is not long enough if ( (pStartEdict->v.origin - pev->origin).Length() > 1024.0f ) continue; pEndTmp = UTIL_FindEntityByTargetname ( NULL, STRING ( pStartEdict->v.target ) ); if (!pEndTmp ) continue; // test plpos against infinite and finite cylinder TempPos = NearestOnLine ( pStartEdict->v.origin, pEndTmp->pev->origin, pev->origin ); if( !VectorCompareEpsilon( TempPos, g_vecZero, ON_EPSILON ) && ((TempPos - pev->origin ).Length() < 64) ) { NewNearest = TempPos; // good one idStart = ENTINDEX( pStartEdict ); idEnd = ENTINDEX( pEndTmp->edict() ); break; } }


Собственно вот где было число 999.

Кстати внимание вот на этот изврат к энт-индексами в конце. Мне вообще нужно просто найти в цикле пару энтитей. Проблема что когда старался работать сначала с эдиктами (чтобы пореже запускать FindEntityByTargetname), по ходу цикла эти эдикты терялись по какой-то загадочной причине. Понятия не имею в чём может быть дело, цикл это всё же не выход из функции. Разве что это какие-то особенности работы с эдиктами.


Отправлено Дядя Миша 16-08-2023 в 18:40:

1024 вижу, 64 вижу. 999 не вижу.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 16-08-2023 в 19:45:

Дядя Миша 999 было на месте 1024, там вон коммент есть.


Отправлено Crystallize 20-08-2023 в 11:23:

Цитата:
Дядя Миша писал:
1024 вижу, 64 вижу. 999 не вижу.

а эдикты?...

Как делать чтобы на сервере при открытой консоли или при паузе, в коде игрока не накапливалось ускорение у физики? pparams-то на сервере нету.


Отправлено Дядя Миша 20-08-2023 в 11:40:

Цитата:
Crystallize писал:
в коде игрока не накапливалось ускорение у физики?

а оно накапливается? И какая связь с pparams?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 20-08-2023 в 13:45:

Дядя Миша
Накапливается. В коде игрока (player.cpp) у меня каждый кадр что-то прибавляется к скорости. И если открыть консоль то видно что значение продолжает отбиваться и за пару секунд доходит до 2000, т.е. игра замерла но код игрока все ещё продолжает выполняться.
На клиенте это решали проверкой pparams->frametime потому что он обнуляется при паузе. Но на сервере оно не доступно, а gpGlobals->frametime на паузе не обнуляется.


Отправлено Дядя Миша 20-08-2023 в 13:46:

Но если консоль открыта, игрок же всё равно не двигается. А когда консоль закроется, это будет сброшено.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 20-08-2023 в 15:01:

Дядя Миша Любопытно какие механизмы могут существовать которые будут сбрасывать. Потому что на сервере вообще нет ничего связанного с паузами и консолями. Если я неправильно написал код мне бы понять как правильно, может быть надо его в playermove вместо этого пихать?

Добавлено 20-08-2023 в 22:01:

Цитата:
Дядя Миша писал:
Но если консоль открыта, игрок же всё равно не двигается.

GetAbsVelocity тем не менее не зануляется


Отправлено Дядя Миша 20-08-2023 в 17:45:

а pmove->frametime или чёт такое?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 21-08-2023 в 18:09:

Дядя Миша О, обнуляется, спасибо. Интересно почему у него точность только три знака, а потом идут нули.

Почему игрок на которого применили SetAbsVelocity при движении как-то покачивается по синусоиде вверх-вниз как на волнах? Как будто всего на несколько юнитов.


Отправлено Дядя Миша 21-08-2023 в 18:13:

Цитата:
Crystallize писал:
Интересно почему у него точность только три знака

Потому что он восстанавливается из usercmd.msec у которого весь лимит - 250 милисекунд, путём умножения на тысячу.

Цитата:
Crystallize писал:
Почему игрок на которого применили SetAbsVelocity при движении как-то покачивается по синусоиде вверх-вниз как на волнах?

от третьего лица?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 21-08-2023 в 18:27:

Цитата:
Дядя Миша писал:
от третьего лица?

да


Отправлено Дядя Миша 21-08-2023 в 20:54:

Может это какой-нибудь CalcBob чудит?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Aynekko 06-09-2023 в 10:36:

Никак не могу понять, как можно передать строчку текста на клиент. А точнее, прописать в keyvalue энтити текст и потом, зная индекс энтити, получить его на клиенте. Я хотел попробовать ALLOC_STRING и получить id строчки на клиенте, но у меня в клиенте нет такой функции.

__________________
Мой мод на Xash


Отправлено Дядя Миша 06-09-2023 в 18:48:

ALLOC_STRING только на сервере.
Только через MESSAGE_BEGIN и WRITE_STRING.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 07-09-2023 в 03:56:

Цитата:
Дядя Миша писал:
Может это какой-нибудь CalcBob чудит?

Кстати да, я боб отключил и это пропало.


Отправлено APAMk2 28-09-2023 в 06:36:

Вопросец, а можно-ли в MP при смене карты сохранить весь инвентарь игрока как это происходит в сингле? Бегло покопал форум и гуголь, ничего не нашёл, подозреваю просто где-то кусок из сингла в мультиплеер перенести, направьте по верному пути плз.


Отправлено Дядя Миша 28-09-2023 в 07:20:

В принципе можно, но халфа на такое не рассчитана, поэтому парой строк кода тут не отделаешься, придётся заморочиться. В том же квейке подобное было сделать куда как проще. Да оно там и работало - в кооперативе.

Вообщем надо выделить некоторое место и сохранить туда информацию о броне, здоровье, патронах и пушках для каждого игрока. А при заходе на новый уровень - дать всё это игроку. Какая-то глобальная структурка нужна где всё это держать во время смены уровня.

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 28-09-2023 в 11:08:

Цитата:
Дядя Миша писал:
Какая-то глобальная структурка

Вроде game.h подходящее место, только теперь не знаю где остальной код дописывать, multiplay_gamerules.cpp похоже для этого не подходит, либо я не туда дописываю код (пробовал в CHalfLifeMultiplay::ChangeLevel и CHalfLifeMultiplay::Think), т.к. он не исполняется(ни один ALERT не сработал).
Структура:
C++ Source Code:
1
//game.h
2
 
3
extern struct PlayerChangeLevelSave
4
{
5
  int health = 100;
6
  int hev_charge = 0;
7
  int ammo_count[15] = {15};
8
  int have_weapons[23];
9
};


Сохранение и загрузка данных:
C++ Source Code:
1
//multiplay_gamerules.cpp
2
 
3
#include ......
4
 
5
PlayerChangeLevelSave player1, player2;
6
std::vector<PlayerChangeLevelSave> players = {player1, player2};
7
 
8
...
9
 
10
void CHalfLifeMultiplay::Think()
11
 
12
...
13
 
14
for (int i = 0; i <= 1; i++)
15
{
16
  CBaseEntity* pPlayer = UTIL_PlayerByIndex(i);
17
  players[i].health = pPlayer->pev->health;
18
  ALERT(at_console, "1Health:%i", pPlayer->pev->health);
19
  players[i].hev_charge = pPlayer->pev->armorvalue;
20
  ALERT(at_console, "1HEV:%i", pPlayer->pev->armorvalue);
21
  players[i].ammo_count[1] = pPlayer->ammo_9mm;
22
}
23
 
24
ChangeLevel(); //intermission is over
25
 
26
...
27
 
28
void CHalfLifeMultiplay::ChangeLevel()
29
...
30
 
31
CHANGE_LEVEL(szNextMap, NULL);
32
 
33
for (int i = 0; i <= 1; i++)
34
{
35
  CBaseEntity* pPlayer = UTIL_PlayerByIndex(i);
36
  pPlayer->pev->health = players[i].health;
37
  ALERT(at_console, "Health: %i", players[i].health);
38
  pPlayer->pev->armorvalue = players[i].hev_charge;
39
  ALERT(at_console, "HEV: %i", players[i].hev_charge);
40
  pPlayer->ammo_9mm = players[i].ammo_count[1];
41
}


Отправлено Дядя Миша 28-09-2023 в 14:34:

Сохранять надо перед вызовом ChangeLevel, тут всё правильно.
А восстанавливать в PutClientInServer чёт такое вообщем.
Ну и завести ещё переменную, что игрока ожидает инвентарь с прошлого уровня, сделать проверку на мультиплеер.
Там кажется есть PlayerSpawn или подобная функция. Вот в ней попробуй.

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 28-09-2023 в 16:57:

Перенёс в PlayerSpawn загрузку параметров, ох и долго-же я себе голову ломал...
По какой-то причине игре немного насрать на тот ChangeLevel что в multiplay_gamerules.cpp, перенёс сохранение в trigger.cpp и всё заработало , спасибо за помощь, пошёл допиливать код в адекватное состояние.


Отправлено SNMetamorph 28-09-2023 в 18:58:

Цитата:
APAMk2 писал:
Вопросец, а можно-ли в MP при смене карты сохранить весь инвентарь игрока как это происходит в сингле? Бегло покопал форум и гуголь, ничего не нашёл, подозреваю просто где-то кусок из сингла в мультиплеер перенести, направьте по верному пути плз.

Ищи на гитхабе исходники gravgun мода, там это было реализовано как-то.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord


Отправлено Дядя Миша 28-09-2023 в 19:10:

Цитата:
APAMk2 писал:
немного насрать на тот ChangeLevel что в multiplay_gamerules.cpp, перенёс сохранение в trigger.cpp и всё заработало

Это очень просто. Тот чейнджлевел по задумке авторов должен был срабатывать после вызова функции NextLevel в triggers.cpp.
Однако эта функция не вызывается вообще ниоткуда

C++ Source Code:
1
/*
2
go to the next level for deathmatch
3
only called if a time or frag limit has expired
4
*/
5
void NextLevel( void )
6
{

Возможно это наследие из первокваки, которое забыли подключить. Что-то такое я там припоминаю.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 01-10-2023 в 18:43:

Цитата:
Crystallize писал:
Интересно почему у него точность только три знака, а потом идут нули

Цитата:
Дядя Миша писал:
Потому что он восстанавливается из usercmd.msec у которого весь лимит - 250 милисекунд, путём умножения на тысячу.

Это получается у игрока свой особый фреймтайм? Я в PreThink двигаю игрока через SetAbsVelocity, и двигаю рядом спрайт, в основном для отладки, и спрайт держится рядом только если использовать этот калечный pmove->frametime, иначе постепенно уползает вперед.


Отправлено Дядя Миша 01-10-2023 в 19:11:

Цитата:
Crystallize писал:
Это получается у игрока свой особый фреймтайм?

Именно так. И время для него идёт иначе.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 05-10-2023 в 08:20:

Как временно отключить гравитацию конкретно игроку? Чтобы он не дрейфовал вниз когда его передвигает SetAbsVelocity. Просто выставить мувтип fly не срабатывает.


Отправлено Дядя Миша 05-10-2023 в 12:10:

pev->gravity = 0.0f;

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 08-10-2023 в 12:51:

Решил ради тестов попробовать портануть модельку солдата из Q2 под ХЛ, столкнулся конечно-же с проблемой вертексной анимации и перегоне её в скелетную, чёт вспомнил о QR и QW, покопал их подфорум, ничё по этому поводу внятного не нашёл, ну неужели ничего внятного за все эти годы никто не придумал и нужно по классике ручками костылять модель в Т-позу и потом клеить на неё скелет из ХЛ или и того хуже - запиливать код вертексной анимации?


Отправлено Дядя Миша 08-10-2023 в 13:11:

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

Добавлено 08-10-2023 в 16:11:

Цитата:
APAMk2 писал:
или и того хуже - запиливать код вертексной анимации?

Старый ксаш умеет в вертексную анимацию. Новый, впрочем, тоже.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 08-10-2023 в 13:20:

Цитата:
Дядя Миша писал:
pev->gravity = 0.0f;

Неработает(( Он все равно падает, причем не с обычной скоростью а раз в десять медленнее.


Отправлено APAMk2 08-10-2023 в 13:41:

Цитата:
Дядя Миша писал:
Старый ксаш умеет в вертексную анимацию. Новый, впрочем, тоже.

Вот тут поподробнее, если можно, для этого нужны какие-то доп. телодвижения, ведь так? Просто сунуть модельку у меня не получилось, вылет с указанием на файл gl_context.c


Отправлено Дядя Миша 08-10-2023 в 14:38:

Цитата:
APAMk2 писал:
вылет с указанием на файл gl_context.c

В ксаше нет такого файла. Это наверное FWGS или другой форк. Все вопросы к ним.

Добавлено 08-10-2023 в 17:38:

Ну и разумеется он понимает модельки только от первой кваки.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 08-10-2023 в 18:20:

Цитата:
APAMk2 писал:
Вот тут поподробнее, если можно, для этого нужны какие-то доп. телодвижения, ведь так? Просто сунуть модельку у меня не получилось, вылет с указанием на файл gl_context.c

Env_sprite в ксашмоде загружает анимированные квейковские модели
https://xash3d.ru/doku.php?id=xashx...D0%B8:env_model


Отправлено Дядя Миша 08-10-2023 в 19:13:

Цитата:

env_model может отображать статичный кадр alias-модели формата Quake mdl. env_sprite полноценно загружает её с анимацией. Модель будет видна на стандартном рендере gl_renderer 0. Удивительно но даже сам автор XashXT забыл о наличии такой фичи в своём продукте.

Не забыл, а не счёл нужным упомянуть. Какая же это фича, если для нее приходится выключать рендерер? Это анти-фича.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 08-10-2023 в 19:28:

Цитата:
Crystallize писал:
Env_sprite в ксашмоде загружает анимированные квейковские модели


Помнится когда делал карты для DMC, использовал Env_sprite чтобы загружать халфовские модели, т.к. все остальные способы там выпилили


Отправлено APAMk2 10-10-2023 в 10:43:

В дикее был индикатор состояния перса (в т.ч. и на пк), типа прыгаешь, стоишь, сидишь, решил добавить его к себе, полез в исходники пк-порта и таки нашёл нужный файл ( https://github.com/hoaxer/Half-Life...l_dlls/mode.cpp ), перетащил весь связанный код к себе, запускаю и что вижу? Лишь фонарик, прикол в том что если убрать спрайты для него из hud.txt - появляется новый индикатор, фонарика естесна нет, что это такое и как быть не понимаю.

UPD. подкинул hud.txt из дикея - всё заработало, потом добавил строчки индикатора ровно туда где и в дикее - тоже заработало, максимально странная шняга.


Отправлено Ku2zoff 11-10-2023 в 14:02:

Цитата:
APAMk2 писал:
добавил строчки индикатора ровно туда где и в дикее - тоже заработало, максимально странная шняга

Да неважно где находятся строчки. Важны правильные координаты в них и правильное их количество, указанное числом в первой строке hud.txt


Отправлено APAMk2 12-10-2023 в 16:31:

Цитата:
Ku2zoff писал:
Да неважно где находятся строчки

Дело даже не в этом было, кое-кто кривыми ручёнками удалил один из UnpackRGB у фонарика и благополучно об этом забыл, восстановил - заработало всё, тут только одно фиксить - голову.


Но не будем о грустном, пытаюсь добавить акимбо-варианты для оружия, как определить что оружие есть у игрока на сервере и через какую функцию лучше всё провернуть? AddToPlayer похоже вызывается 1 раз при подборе и дальше вызывается AddDuplicate через который я не вкурил как получить указатель на игрока т.к. он принимает в аргументы лишь 1 CBasePlayerItem, а какой-нибудь удобный способ получить указатель на игрока я не нашёл.


Отправлено Ku2zoff 13-10-2023 в 13:18:

Цитата:
APAMk2 писал:
как определить что оружие есть у игрока на сервере и через какую функцию лучше всё провернуть? AddToPlayer похоже вызывается 1 раз при подборе и дальше вызывается AddDuplicate через который я не вкурил как получить указатель на игрока т.к. он принимает в аргументы лишь 1 CBasePlayerItem, а какой-нибудь удобный способ получить указатель на игрока я не нашёл.

Как определить, что оружие есть у игрока:
C++ Source Code:
if (игрок->pev->weapons & (1<<WEAPON_ОРУЖИЕ);

Через какую функцию всё провернуть? Тут либо при каждой необходимости проверять, есть ли это оружие, либо писать переменную о том, что оно уже есть в энтварсы игрока. Что ты хочешь накодить? Чтобы при наличии одной пушки (именно одной, подобранной один раз, при подбирании второй точно такой же делалось "акимбо")?


Отправлено APAMk2 13-10-2023 в 14:17:

Цитата:
Ku2zoff писал:
Чтобы при наличии одной пушки (именно одной, подобранной один раз, при подбирании второй точно такой же делалось "акимбо")?

Именно так.
Цитата:
Ku2zoff писал:
писать переменную о том, что оно уже есть в энтварсы игрока

Возможно ошибаюсь, но ведь можно сделать переменную в классе стандартной, не "акимбо" пушки (mp5 к примеру) и оно будет работать, разве нет?


Отправлено Ku2zoff 13-10-2023 в 23:16:

Цитата:
APAMk2 писал:
Возможно ошибаюсь, но ведь можно сделать переменную в классе стандартной, не "акимбо" пушки (mp5 к примеру) и оно будет работать, разве нет?

Верно. Заведи в классе пушки переменную, которая будет нулевой при первом поднятии игроком такой пушки. А вот если игрок поднимет вторую такую же пушку, в AddToPlayer присвой этой переменной единицу. В сейвдату пушки это надо сохранять, если мод сингловый. Ну а дальше, если переменная равна единичке, пушка становится акимбо. Класс у неё не меняется, у неё меняются свойства. Плясать нужно уже от этой переменной. Если она не нулевая, то вьюмодель оружия будет уже другая - с двумя пушками в двух руках. Ну и так далее.


Отправлено APAMk2 14-10-2023 в 13:08:

Смог реализовать, но чуть иначе, переменная где-то вообще оказалась не нужна, в класс обычной пушки добавляю AddDuplicate в котором через pOriginal->m_pPlayer получаю игрока и уже проворачиваю всё что мне нужно, только вот теперь единственно нужно вот это:

code:
if (игрок->pev->weapons & (1<WEAPON_ОРУЖИЕ);

но наоборот (проверить что ствола у игрока нет).


Отправлено Crystallize 15-10-2023 в 17:30:

Из флагов блокирующих гравитацию игрока, ONROPE и ONTRAIN бесполезны, а ONBARNACLE ломает код из SetAbsVelocity и SetAbsOrigin.

Гравитация почему-то пересиливается только юзанием обоих этих команд, иначе будет медленное сползание по нескольку юнитов за кадр. Раньше я думал что это гравитация просто применяется после SetAbsVelocity чтобы программисту не нужно было думать про неё лишний раз, но теперь я хз.


Отправлено Дядя Миша 15-10-2023 в 19:19:

Не пойму, почему у тебя pev->gravity = 0 не работает.
Она обязана работать, иначе бы игрок соскальжевал с лестниц.
Ну засунь в pmove сообщение, посмотри чему равен pmove>gravity.

Добавлено 15-10-2023 в 22:19:

Ты под халфой-то делаешь или под ксашем?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 15-10-2023 в 19:36:

Под ксашем
Я еще не пробовал делать ответвления в PM_ функции и там подменять.
Я сувал туда дебаг, он писал что вычитает 6.4 из pmove->velocity[2]
Гравитация была обычная 800, за один кадр 13, ну и там она по половинкам получается 6


Отправлено Дядя Миша 16-10-2023 в 05:14:

вообщем зануляй гравити у игрока и всё должно работать.
Прямо в классе игрока pev->gravity = 0.0f;

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 17-10-2023 в 10:26:

Обнаружил что в переиздании второй кваки (вот внезапно) все модельки пересадили на кости в формате md5, сгенерил одной утилитой из этой модели smd для компиляции, а вот как для неё написать qc не знаю, дайте какие-нибудь статьи о компиляции моделей для монстров, ничего похожего не нашёл.


Отправлено Дядя Миша 17-10-2023 в 11:09:

Тут статьей не обойтись. Тут целое дело. Я даже studiomdl дорабатывал, чтобы собрать эти модельки в формат халфы.

Может как-нибудь попозже напишу об этом. Но те модельки которые вы видели в сентябрьской демке - это тоже скелетка из ремастера, но уже первой кваки.

Цитата:
APAMk2 писал:
сгенерил одной утилитой из этой модели smd для компиляции

Не подскажешь название утилитки? Я Noesis юзаю, но он весьма неудобен.

Добавлено 17-10-2023 в 14:09:

ЗЫ. Модельки эти с развесовкой, поэтому нормально они будут выглядеть только под старым ксашем. И собирать их можно только моим компилятором моделей. Но да, это вполне реально. Я сам удивился.

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 17-10-2023 в 11:16:

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

Да, именно он, первым попался по запросу "md5 to mdl".
Пока попробую скомпилить хотя-бы чтобы под старым ксашем на карту в cycler ткнуть, хотя-бы пойму как это делается.


Отправлено Дядя Миша 17-10-2023 в 12:08:

На тебе примерчег QC.

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 17-10-2023 в 13:17:

Скомпилил модельку, пришлось немного с qc-шкой пошаманить (некоторых костей не было в том, что выплюнул Noesis), а также текстуру отзеркалить по вертикали т.к. uv-мапа не сходилась, моделька даже под FWGS завелась, единственно солдатик больно уж карликовый получился, но не страшно, со скейлом пошаманить и нормалёк.


Отправлено Дядя Миша 17-10-2023 в 13:56:

Цитата:
APAMk2 писал:
а также текстуру отзеркалить по вертикали т.к. uv-мапа не сходилась

Известная проблема. в настройках экспорта Noesis поставь галку Flip UV Maps или чёт такое.

Добавлено 17-10-2023 в 16:56:

А скейл можно прямо в QC задать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 17-10-2023 в 16:22:

Попробовал перенести супершотган, вышло неплохо и быстро (модель за 5 минут буквально перекомпилил), с монстрами беда т.к. попробовал налепить солдата на грунтов и они кроме как очень криво стрелять и дохнуть ничего не могут, даже ходить, а так хоть щас садись и делай Q2Remake.


Отправлено Дядя Миша 17-10-2023 в 18:46:

С ходьбой беда - эти анимации не содержат motion vector.

Добавлено 17-10-2023 в 21:46:

А для первой кваки нельзя даже задать линейный равноускоренный вектор, там монстры за каждый шаг преодолевают разное расстояние. Исключением является разве что прыгучий демон.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 19-10-2023 в 15:11:

Цитата:
Дядя Миша писал:
вообщем зануляй гравити у игрока и всё должно работать.
Прямо в классе игрока pev->gravity = 0.0f;

Нифига, PM_ живет своей жизнью.
Я думаю дело в этом:
code:
if (pmove->gravity) ent_gravity = pmove->gravity; else ent_gravity = 1.0;


Добавлено 19-10-2023 в 22:11:

Цитата:
Дядя Миша писал:
Тут статьей не обойтись. Тут целое дело. Я даже studiomdl дорабатывал, чтобы собрать эти модельки в формат халфы.

Может как-нибудь попозже напишу об этом. Но те модельки которые вы видели в сентябрьской демке - это тоже скелетка из ремастера, но уже первой кваки.

Лучше напиши о приключениях углов при передаче между движком клиентом и сервером, как вы с Квероксом дошли до умножения на ШЕСТЬ в попытках это понять, и т.д.


Отправлено Дядя Миша 19-10-2023 в 15:31:

Не на шесть, а на девять. Там не приключения. Есть вью-англес, они следуют за мышкой и есть просто англес, у которых питч поделён на 3, эти ориентируют тушку игрока. Пришло из кваки, понятное дело. В халфе это в принципе было уже не нужно, там тушку можно было ориентировать анимациями, но всё равно оставили. А вот в хл2 по идее этого уже нет.

Добавлено 19-10-2023 в 18:31:

Цитата:
Crystallize писал:
Я думаю дело в этом:

вот в pmove->gravity и приходит pev->gravity. Смотри что там.

__________________
My Projects: download page

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

Цитата:

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


Отправлено APAMk2 09-11-2023 в 15:00:

Делаю наклоны из за углов как в Сталкере, сделал прототип чисто наклоняющий взгляд на 30 градусов в input.cpp, как оказалось одного наклона камеры недостаточно, как можно сместить камеру? В view.cpp это сделано через изменение vieworg в pparams, может как-то можно его получить? Также думаю как можно интерполировать значение наклона камеры чтобы наклон был плавный.


Отправлено Crystallize 17-01-2024 в 18:19:

Цитата:
Crystallize писал:
Нифига, PM_ живет своей жизнью.
Я думаю дело в этом:

code:
if (pmove->gravity)
ent_gravity = pmove->gravity;
else
ent_gravity = 1.0;



Там получается два компонента у гравитации. Однако не в том смысле в котором она по половинкам применяется в PM_ функциях. Нельзя просто дать разрешение на нулевую гравитацию в пмуве как выше и прописать pev->gravity=0 где-то, это пол-дела. Там ещё остается какая-то гравитация которая приходит из vecAbsVelocity и действует даже если в PM_ функциях всё по нулям.


Отправлено Дядя Миша 17-01-2024 в 19:17:

Цитата:
Crystallize писал:
Там ещё остается какая-то гравитация которая приходит из vecAbsVelocity

Не гравитация, а просто вектор недообнуляется, наверное. Такое вполне может быть. Он же обнуляется не просто с течением времени, а по наступлению некоторого события, например если игрок нащупал дно.

Добавлено 17-01-2024 в 22:17:

Да я же вам рассказывал про забавный баг в первом Квейке. На e1m3 в конце уровня есть такой лифт к выходу с уровня и там игрока подстерегают два демона. Если убить их так, что они останутся на этом подъемнике, то, когда подъемник начнёт опускаться, мёртвые демоны поедут куда-то влево-вправо, ну вообщем кто куда. Почему так происходит? Демоны обычно гибнут в полёте, когда их велосити не равен нулю и падают на землю с актуальным велосити. Но поскольку монстр при падении получает флаг FL_ONGROUND это уже не имеет значения. А вот когда подъемник начинает опускаться вместе с демонами, он им обнуляет флаг FL_ONGROUND и велосити вновь начинает применяться. Вот они и продолжают ехать в ту сторону, куда прыгали перед смертью. Но - строго в 2д плоскости

Добавлено 17-01-2024 в 22:17:

И таких приколов в кушной физике довольно много.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Sigurth 20-01-2024 в 04:16:

Прилипание игрока к полу

Подскажите, как можно убрать "прилипание" игрока к полу по время FlyMove и NoClipMove? Подобный эффект можно наблюдать в режиме спектатора, особенно в кс 1.6, когда в летите прямо, у вас под ногами наклонная поверхность, и вы в итоге летите не прямо, а "скользите" по поверхности вниз. Можете проверить на de_dust2. Но если на режим спектатора мне глубоко начихать, то вот после уменьшения скорости передвижения по лестницам, при малом PITCH игроку не хватает скорости, чтобы отлипнуть от пола и начать подниматься, что меня очень огорчает. Фиксил кто-нибудь такое?

__________________
Никогда не поздно сделать мод под хл1


Отправлено Crystallize 20-01-2024 в 07:25:

Sigurth я такое замечал на ксашмоде в начале 2020 когда игрался с переносом уровней из хл2, но Дядя Миша меня толи не понял, толи не поверил.


Отправлено Aynekko 20-01-2024 в 07:55:

Цитата:
Sigurth писал:
Подскажите, как можно убрать "прилипание" игрока к полу по время FlyMove и NoClipMove?

void PM_CatagorizePosition (void):
C++ Source Code:
1
if( pmove->movetype == MOVETYPE_NOCLIP || pmove->spectator )
2
  point[2] = pmove->origin[2]; // diffusion - no glueing with ground when noclipping or spectating
3
else
4
  point[2] = pmove->origin[2] - 2;

__________________
Мой мод на Xash


Отправлено Дядя Миша 20-01-2024 в 08:49:

Было:

C++ Source Code:
1
// Always try and unstick us unless we are in NOCLIP mode
2
if ( pmove->movetype != MOVETYPE_NOCLIP && pmove->movetype != MOVETYPE_NONE )
3
{
4
  if ( PM_CheckStuck() )
5
  {
6
    return;  // Can't move, we're stuck
7
  }
8
}
9
 
10
// Now that we are "unstuck", see where we are ( waterlevel and type, pmove->onground ).
11
PM_CatagorizePosition();

Стало:
C++ Source Code:
1
// Always try and unstick us unless we are in NOCLIP mode
2
if ( pmove->movetype != MOVETYPE_NOCLIP && pmove->movetype != MOVETYPE_NONE )
3
{
4
  if ( PM_CheckStuck() )
5
  {
6
    return;  // Can't move, we're stuck
7
  }
8
 
9
  // Now that we are "unstuck", see where we are ( waterlevel and type, pmove->onground ).
10
  PM_CatagorizePosition();
11
}

Так сложно догадаться, правда?

Добавлено 20-01-2024 в 11:49:

Собственно вот это говно, которое заставляет игрока "прилипать"
C++ Source Code:
1
// If we are on something...
2
if (pmove->onground != -1)
3
{
4
  // Then we are not in water jump sequence
5
  pmove->waterjumptime = 0;
6
  // If we could make the move, drop us down that 1 pixel
7
  if (pmove->waterlevel < 2 && !tr.startsolid && !tr.allsolid)
8
    VectorCopy (tr.endpos, pmove->origin);
9
}

Но вам вообще не нужен весь этот код в режиме полёта.

Цитата:
Crystallize писал:
но Дядя Миша меня толи не понял, толи не поверил.

Дядя Миша не отвечает на вопросы из разряда, кушоет ли он мёд.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 25-01-2024 в 14:49:

я хотел написать Vector c = array[ (byte)(a*b) ]
а написал Vector c = array[ (byte)a*b ]
И у вектора отдельно компонент x запортился. Не выдался неверный элемент, не запортился весь вектор, а только один компонент. Странно.


Отправлено nemyax 25-01-2024 в 23:38:

Цитата:
Crystallize писал:
я хотел написать Vector c = array[ (byte)(a*b) ]

Что оно должно было делать по твоей задумке?


Отправлено Crystallize 26-01-2024 в 01:28:

nemyax Массив с положительными и отрицательными ячейками, чтобы знать какие рельсины впереди а какие позади тебя. Не все, просто пара ближайших. Один множитель это индекс -2 -1 1 2, другой это направление 1 -1 по или против нумерации. Ну а байт это переполнение буфера чтобы -1 стало 255.


Отправлено Дядя Миша 26-01-2024 в 05:46:

Цитата:
Crystallize писал:
Массив с положительными и отрицательными ячейками, чтобы знать какие рельсины впереди а какие позади тебя


Позади тебя очевидно рельсы, которые ты уже проехал. Впереди тебя рельсы, которые ты собираешься проехать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 26-01-2024 в 06:00:

Цитата:
Дядя Миша писал:
if (pmove->onground != -1)


Интересно кстати, почему -1? Он же по идее вообще булевым должен быть.


Отправлено Crystallize 26-01-2024 в 06:37:

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

Позади тебя очевидно рельсы, которые ты уже проехал. Впереди тебя рельсы, которые ты собираешься проехать.

Да никто не знает что там позади тебя а что впереди. Особенно когда неизвестно с какой стороны ты прилетел и в какую сторону поехал. Есть только сегмент на котором ты сел, чей он таргет, кто его таргет, и переменная с направлением движения. Она и создаёт концепцию "позади тебя", "впереди тебя" и т.д.


Отправлено Дядя Миша 26-01-2024 в 07:05:

Цитата:
FiEctro писал:
Интересно кстати, почему -1? Он же по идее вообще булевым должен быть.

Не, там номер энтити хранится.

Цитата:
Crystallize писал:
Да никто не знает что там позади тебя а что впереди.

Так у тебя же там двусвязный список из патч-треков.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 26-01-2024 в 07:55:

Цитата:
Дядя Миша писал:
Не, там номер энтити хранится.


Там же написано on ground. Зачем в onground хранить номер энтитии? Да ещё и так хардкодить его ?


Отправлено Crystallize 26-01-2024 в 08:32:

Цитата:
Дядя Миша писал:
Так у тебя же там двусвязный список из патч-треков.

Так он субъективен для самой рельсы. Если ты на него посмотришь не с той стороны, то для тебя он инвертирован.

Добавлено 26-01-2024 в 15:32:

Цитата:
FiEctro писал:
Там же написано on ground. Зачем в onground хранить номер энтитии? Да ещё и так хардкодить его ?

Наверное потому что энтити бывают брашевыми и при этом солидными.


Отправлено nemyax 26-01-2024 в 09:43:

Цитата:
Crystallize писал:
Есть только сегмент на котором ты сел, чей он таргет, кто его таргет, и переменная с направлением движения.

Тогда зачем ещё и массив строить? Всё ж и так есть.


Отправлено Crystallize 26-01-2024 в 10:20:

Цитата:
nemyax писал:
Тогда зачем ещё и массив строить? Всё ж и так есть.

Там есть ещё и бегунки которые трейсят рельсу как ноги. И если игрок не сильно заехал на текущий сегмент то задний бегунок всё ещё едет на преведущем и для него все индексы рельсов и углов рельсов будут на один меньше (если игрок поехал в направлении нумерации рельсов) или на один больше (если он поехал против нумерации). И тут можно было бы нагромоздить двухуровневую систему условий-макросов, как оно одно время и было. Но чтобы наглядно отразить в коде, что статусы сегментов(leaving, this, coming, postcoming) сдвигаются именно все вместе и на единицу, я дал им индексы и их декрементировал.

Добавлено 26-01-2024 в 17:20:

Т.е. массов нужен чтобы это было бы как бы общее пространство и при сдвиге сразу попадать на новое корректное значение.


Отправлено Дядя Миша 27-01-2024 в 13:11:

Цитата:
FiEctro писал:
Зачем в onground хранить номер энтитии?

Значит понадобилось.

Цитата:
FiEctro писал:
Да ещё и так хардкодить его

В каком смысле?

Цитата:
Crystallize писал:
Если ты на него посмотришь не с той стороны, то для тебя он инвертирован.

А ты через дотпродукт найди сторону

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 27-01-2024 в 13:48:

Дядя Миша я ищу ее один раз когда игрок запрыгивает, сравниваю его вектор скорости с вектором данного сегмента.


Отправлено Дядя Миша 27-01-2024 в 19:13:

Цитата:
Crystallize писал:
сравниваю его вектор скорости с вектором данного сегмента.

И каков же вектор сегмента?

Добавлено 27-01-2024 в 22:13:

Цитата:
Crystallize писал:
сравниваю его вектор скорости

Ну представь что игрок запрыгнул вертикально вверх. Просто нажал прыжок.
И что тогда?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 27-01-2024 в 21:35:

Цитата:
Дядя Миша писал:
И каков же вектор сегмента?

Конец минус начало

Цитата:
Дядя Миша писал:
Ну представь что игрок запрыгнул вертикально вверх. Просто нажал прыжок.
И что тогда?

Я это учел, там усреднение между направлением движения и направлением взгляда. Поэтому он все же поедет потихоньку. Но если он смотрел строго перпендикулярно то не поедет Стрейфиться игрок не может.


Отправлено Дядя Миша 28-01-2024 в 07:38:

Цитата:
Crystallize писал:
Конец минус начало

У любого патч-трека два конца.

Цитата:
Crystallize писал:
Я это учел, там усреднение между направлением движения и направлением взгляда

Это не учёл, это хак.

__________________
My Projects: download page

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

Цитата:

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


Отправлено илья2 29-01-2024 в 15:45:

где можно найти нормальные исходники half-life 2 ? и какой программой их надо комплить ? пробовал сам найти исходники но они нормально не компилятся

__________________
илья


Отправлено FiEctro 29-01-2024 в 15:47:

Цитата:
илья2 писал:
где можно найти нормальные исходники half-life 2 ? и какой программой их надо комплить ? пробовал сам найти исходники но они нормально не компилятся



Гугли Source SDK.


Отправлено илья2 29-01-2024 в 15:54:

а какой программой компилить ?

__________________
илья


Отправлено FiEctro 29-01-2024 в 16:10:

Цитата:
илья2 писал:
а какой программой компилить ?



Visual Studio вроде как 2005, но может уже и под более старшие версии есть.


Отправлено илья2 29-01-2024 в 19:16:

в общем пишет ошибку hl fatal error LNK1106: invalid file or disk full: cannot seek to 0x697B.

version https://git-lfs.github.com/spec/v1
oid sha256:aaccecc6e45e3d25188411e664772b750bdd433fc9c33a96080a055f22382ae5
size 41450

как исправить ?

Добавлено 29-01-2024 в 21:52:

source-sdk-2004

Добавлено 29-01-2024 в 22:16:

еще постоянно жалуется на #include <windows.h> его просто нету. Мда в общем постоянные заморочки

__________________
илья


Отправлено Crystallize 30-01-2024 в 01:33:

илья2 держи сдк
https://mega.nz/file/UfRhyLRC#v5VUL...0AijoX86LqKKDY8


Отправлено илья2 30-01-2024 в 05:58:

Цитата:
Crystallize писал:
илья2 держи сдк
https://mega.nz/file/UfRhyLRC#v5VUL...0AijoX86LqKKDY8

а что толку компилит с одной единственной ошибкой invalid file or disk full а как эту ошибку исправить я не знаю.

Добавлено 30-01-2024 в 08:58:

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

__________________
илья


Отправлено Дядя Миша 30-01-2024 в 06:07:

илья2 так мож у тебя на диске места не хватает? Проверь сколько у тебя свободного места на диске С.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 30-01-2024 в 07:09:

Цитата:
илья2 писал:
а что толку компилит с одной единственной ошибкой invalid file or disk full а как эту ошибку исправить я не знаю.


Так он тебе англицким языком пишет что у тебя диск переполнен. Освободи место на диске.


Отправлено илья2 30-01-2024 в 07:54:

27,1 гб осталось это что разве переполнен ?

__________________
илья


Отправлено FiEctro 30-01-2024 в 07:58:

илья2
Попробуй от имени администратора запустить, возможно винда блокирует доступ к диску.

Вот твоя ошибка:
https://stackoverflow.com/questions...k-to-0x5a57bebc

Зайди в Project Settings->Librarian->Command Line->Additional options и добавь /expectedoutputsize:600000000 в линкер.


Отправлено илья2 30-01-2024 в 08:49:

и добавь /expectedoutputsize:600000000 в линкер:не работает

Добавлено 30-01-2024 в 11:49:

от имени администратора запустить:тоже не работает

__________________
илья


Отправлено Дядя Миша 30-01-2024 в 10:06:

Цитата:
илья2 писал:
и добавь /expectedoutputsize:600000000 в линкер:не работает

Покажи куда добавлял.

__________________
My Projects: download page

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

Цитата:

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


Отправлено илья2 30-01-2024 в 10:18:

вот:https://imgur.com/a/YawjhRF

Добавлено 30-01-2024 в 13:18:

и все таки я не понимаю как такой крутой мод как overcharged мог быть сделан ? если даже обычный пацан как я не может нормально исходники half-life 2 скомпилить и немного их переделать. Или у разработчика свои секреты есть

__________________
илья


Отправлено Дядя Миша 30-01-2024 в 10:43:

Попробуй в All Options прописать явно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 30-01-2024 в 10:54:

илья2
а какая у тебя версия студии?

И проверь чтобы у твоей папки с СДК не стояло атрибута "только чтение".


Отправлено илья2 30-01-2024 в 13:54:

Цитата:
FiEctro писал:
илья2
а какая у тебя версия студии?

Microsoft Visual Studio . NET 2003 Enterprise Architect версии 7.1

Добавлено 30-01-2024 в 16:29:

Цитата:
Дядя Миша писал:
Попробуй в All Options прописать явно.

так не получается не дает писать. Может где то есть файл где все эти скрипты прописаны ?

Добавлено 30-01-2024 в 16:47:

https://imgur.com/jsOaJl9

Добавлено 30-01-2024 в 16:51:

что интересно при нажатии на ошибку переносит на файл tier0.lib

Добавлено 30-01-2024 в 16:53:

где прописывается size-размер 41450
хеш код oid sha256:aaccecc6e45e3d25188411e664772b750bdd433fc9c33a96080a055f22382ae5
и ссылка на какой то сайт https://git-lfs.github.com/spec/v1

Добавлено 30-01-2024 в 16:54:

где требуется скачать какой то гид ларге файл стораге ?

__________________
илья


Отправлено Ku2zoff 31-01-2024 в 13:15:

Цитата:
илья2 писал:
Microsoft Visual Studio . NET 2003 Enterprise Architect версии 7.1

Как ты её вообще установил? 7.1 на десятку не ставится, какой-то из пререквизитов, кажись J# redist отказывается устанавливаться и всё, труба. Найди исходники Half-Life 2 посвежее, например под 2005 или 2010 студию. Бета вроде бы компилится ещё шестой студией, а вот самый первый сорс сдк, ЕМНИП, 7.1, она же 2003. Ищи сорс сдк для оранжбокс - будет самое то.

Добавлено 31-01-2024 в 20:15:

В наше время и сорцы, и студию найти не трудно: интернет есть. А я вот из-за сначала от безысходности, а после по привычке до 2013 года юзал эту самую 7.1.


Отправлено Crystallize 31-01-2024 в 14:52:

илья2 судя по всему утебя там промежуточные файлы в проекте друг друга перезаписывают потому что оно все в одной папке. Может просто перейди на Эп1 или орандж бокс.


Отправлено илья2 31-01-2024 в 15:26:

Цитата:
Ku2zoff писал:
В наше время и сорцы, и студию найти не трудно: интернет есть.

трудно не найти трудно скомпилировать

__________________
илья


Отправлено FiEctro 31-01-2024 в 15:39:

Цитата:
илья2 писал:
Microsoft Visual Studio . NET 2003 Enterprise Architect версии 7.1


Я бы всетаки порекомендовал обновиться
https://archive.org/details/en_visu...x86_dvd_6816332

https://developer.valvesoftware.com...g_Visual_Studio


Отправлено илья2 31-01-2024 в 16:02:

Build: 1 succeeded, 0 failed, 0 skipped

ООО наконец то как я долго этого ждал скомпилилось наконец скомпилилось ура

Добавлено 31-01-2024 в 18:48:

еее client и server скомпилились

Добавлено 31-01-2024 в 18:51:

осталось только проверить их в игре

Добавлено 31-01-2024 в 19:02:

мда не долго я радовался вылезает вот эта ошибка https://imgur.com/a/XAbNvGf

__________________
илья


Отправлено Дядя Миша 31-01-2024 в 20:28:

К хл2 наплодили кучу версий движка, там всё несовместимое.

__________________
My Projects: download page

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

Цитата:

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


Отправлено илья2 01-02-2024 в 08:22:

Цитата:
Дядя Миша писал:
там всё несовместимое.

и что делать все забыть про сорцы ?

__________________
илья


Отправлено Дядя Миша 01-02-2024 в 08:43:

Искать новый SDK или старую версию движка, под которой эта библиотека заведётся.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 01-02-2024 в 09:32:

Цитата:
илья2 писал:
и что делать все забыть про сорцы ?


Я тебе скинул что делать. Открой ссылку там всё написано.


Отправлено илья2 01-02-2024 в 09:43:

Цитата:
FiEctro писал:
Я тебе скинул что делать. Открой ссылку там всё написано.

я попробую

__________________
илья


Отправлено илья2 03-02-2024 в 12:56:

мдааа попробовал я твой способ после компила вот такая абра кадабра вылезает:https://imgur.com/a/r7j7o47 я даже не знаю что это такое может проблема что я стимовский half-life 2 запускаю или надо что то другое запускать ?

Добавлено 03-02-2024 в 15:38:

кажется я начинаю понимать это дебаггер он предупреждает об ошибке в директории game_controls/base игра работает запускается но худ в костюме работает неправильно все патроны здоровье энергия костюма куда то заноситься в угол.

Добавлено 03-02-2024 в 15:56:

только я не пойму а на какой объект ссылается дебаггер ? base.cpp такого файла нету.

__________________
илья


Отправлено FreeSlave 07-02-2024 в 11:40:

В каких случаях SetObjectCollisionBox должен отличаться от размера, выставляемого в UTIL_SetSize?

И ещё. Моё давнишнее наблюдение, в сути которого я, однако, не копался. Если у прожектайла ненулевой размер, то он не будет попадать в модельку за пределами размера, выставленного через UTIL_SetSize. Для корректной работы нужно увеличивать размер, дабы он покрывал всю модельку. Пример: гаргу в ХЛ выставляется размер такой же как у агрунта. Из-за этого прожектайлы с ненулевым размером пролетают сквозь модельку (если не стрелять по ногам). Прожектайлов с ненулевым размером в ХЛ вроде как нет, но могут быть с кастомным кодом. В опфоре таковыми являются снаряды шокроача. И в опфоре выставляемый размер у гарга действительно увеличен для соответствия геометрии модельки.
Собственно, как определяется столкновение? Какую роль играет размер монстра и хитбоксы его модели. И в чем особенность проверки столкновения у прожектайлов с нулевым размером? Чисто из наблюдений получается, что движок для энтить с ненулевым размером сначала проверяет столкновение по размерам и в случае успеха проверяет дополнительно хитбоксы, иначе - столкновения не происходит. А для энтить с нулевым размером трасса, должно быть, работает иначе, и сразу "попадает" в хитбокс.

__________________
I'm on github
I'm on opendesktop.org


Отправлено Дядя Миша 07-02-2024 в 13:23:

absmin и absmax - это размеры ббокса, с которыми объект линкуется в дерево. Они очевидно не должны быть меньше реального размера, заданного в SetSize. Но могут быть больше. Например для ротатаблей.
Ротатабля же неизвестно в какую сторону крутится - можно взять её общий радиус. Чтобы другой предмет гарантированно в ней не застрял.

Цитата:
FreeSlave писал:
И в чем особенность проверки столкновения у прожектайлов с нулевым размером?

Там задаётся ббокс +\15 юнитов, чёб ими легче попадать было.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FreeSlave 08-02-2024 в 14:40:

Цитата:
Дядя Миша писал:
Там задаётся ббокс +\15 юнитов, чёб ими легче попадать было.

Ракеты и арбалетные стрелы в ХЛ прекрасно бьют в макушку гарга, хотя расстояние между верхушкой заданной в SetSize и макушкой гарга явно больше 15 юнитов.
А вот Ббокс, выставляемый через SetObjectCollisionBox, у гарга да, увеличенный по сравнению с его SetSize и как раз примерно соответствует размерам модельки.
Я, кстати, вспомнил, что есть в ХЛ снаряды с ненулевым размером - это хорнеты мухобойки. Они в HL пролетают сквозь Гарга (если не стрелять по ногам, опять же).

Насчёт +15/-15 - это ты наверно про MOVETYPE_FLYMISSILE кстати. Но он в халфовском сдк не используется.

__________________
I'm on github
I'm on opendesktop.org


Отправлено Дядя Миша 08-02-2024 в 16:21:

Я уже не помню точно как это в халфе использовалось. Были какие-то отличия от кваки.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 12-02-2024 в 15:42:

Меня смущает эффект от команды r_drawentities 5. У игрока кубик ААББ и он вращается но при этом как будто коллидит без учета вращения. Я думал только в КС хулл игрока вращается?


Отправлено Дядя Миша 12-02-2024 в 15:52:

Не-не, это не колоизационный хулл.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 12-02-2024 в 15:55:

Цитата:
Crystallize писал:
Я думал только в КС хулл игрока вращается?

В КС хулл игрока вращается??

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


Отправлено a1batross 12-02-2024 в 17:28:

del

__________________
Xash3D FWGS форк


Отправлено Crystallize 13-02-2024 в 01:42:

XaeroX типа, поэтому якобы проходит в неаксиальные коридоры Уже чем 32.5*1.4142. Хотя наверное это просто учёт нормалей при надувании хулла.


Отправлено Дядя Миша 13-02-2024 в 07:47:

Это чисто визуальный эффект, он не имеет никакого отношения к коллизии.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 24-02-2024 в 20:29:

В фитцквейке нельзя обновить r.refdef.vieworg через VectorAdd. Вот Мастер бы развонялся...


Отправлено Дядя Миша 24-02-2024 в 20:40:

Цитата:
Crystallize писал:
В фитцквейке нельзя обновить r.refdef.vieworg через VectorAdd. Вот Мастер бы развонялся...

Скорее расскажи ему об этом

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 02-03-2024 в 14:57:

Цитата:
Дядя Миша писал:
Скорее расскажи ему об этом

А что его где-то можно найти сейчас?


Отправлено XaeroX 02-03-2024 в 15:03:

Crystallize
Мастера? Конечно можно. Он просто к нам на форум принципиально не ходит, наверное, мы его чем-то огорчили.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


Отправлено Crystallize 02-03-2024 в 17:04:

XaeroX он всё ещё дрочит свой XDM и маппак?!
я думал разочаровался во всём и потому ушёл. Но видимо разочаровался он только в нас.


Отправлено Crystallize 12-03-2024 в 02:07:

Что делать если шестерка зависает где-то на стадии проверки ошибок?


Отправлено Дядя Миша 12-03-2024 в 06:02:

Какая шестёрка? Студия? У компиляции нет фазы проверки ошибок.
Ты что-то путаешь.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 12-03-2024 в 06:59:

Дядя Миша В общем я жму F7, курсор песочные часы и студия перестает реагировать на клики. И нагрузка на проц даже не повышается.


Отправлено FiEctro 12-03-2024 в 07:03:

Цитата:
Crystallize писал:
Что делать если шестерка зависает где-то на стадии проверки ошибок?


Перестать мучать мамонта. Ну или пересаживаться на XP.


Отправлено Дядя Миша 12-03-2024 в 07:07:

Странно. Не приходилось с таким сталкиваться. Это любой проект так?

Добавлено 12-03-2024 в 10:07:

Цитата:
FiEctro писал:
Перестать мучать мамонта

Я вот перешёл на 2005-ю студию, так эта зараза через два дня работы просто перестала выполнять фазу Post Build. Ни от чего. Причём оно начало постепенно отваливаться. Сперва на одном проекте, потом на другом.
А я в толк взять не могу, почему изменений не видно. А оно оказывается свежскомпиленные файлы не копирует, так и лежит старье. Никаких ошибок не выдаётся, ничего. Просто не копирует и всё. И тут понял, почему народ в большинстве перешёл на какие-то автосборки и прочие системы автоматизации. Неудивительно, когда от студии такая подляна началась.
Так что нет уж. Сами это дерьмо юзайте.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 12-03-2024 в 07:14:

Цитата:
Дядя Миша писал:
Я вот перешёл на 2005-ю студию,


Так это тоже мамонт.


Отправлено Дядя Миша 12-03-2024 в 07:17:

Ну у более новых студий ещё какие-то приколы будут.
Мне работать надо, а не воевать с чужими глюками.

Добавлено 12-03-2024 в 10:17:

Потом всё это без проблем соберётся свежей студией, т.к. изначально пишется совместимо.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 12-03-2024 в 07:45:

Цитата:
Дядя Миша писал:
Странно. Не приходилось с таким сталкиваться. Это любой проект так?

Фитцквейк и ксашмод. На ксашмоде удавалось обходить, на фитцквейке три раза подряд вчера словил.

Добавлено 12-03-2024 в 14:45:

Цитата:
Дядя Миша писал:
Я вот перешёл на 2005-ю студию, так эта зараза через два дня работы просто перестала выполнять фазу Post Build.

Скорее всего непредусмотренный эффект от работы под 10-кой, ну или что у тебя сейчас стоит.


Отправлено Дядя Миша 12-03-2024 в 09:02:

Цитата:
Crystallize писал:
Скорее всего непредусмотренный эффект от работы под 10-кой, ну или что у тебя сейчас стоит.

На XP это началось. Какой непредусмотренный эффект?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 14-03-2024 в 10:41:

Цитата:
Дядя Миша писал:
Странно. Не приходилось с таким сталкиваться. Это любой проект так?

Там проблема конкретно с сохранением исходника. Он не может этого сделать видимо. При том что смарт wmic пишет что состояние диска ок.

Куда в квейке писать код чтобы он вызывался при спавне игрока в начале новой игры или при загрузке сейва?


Отправлено Дядя Миша 14-03-2024 в 11:26:

Я уже не помню что там в квейке. Сам ковыряет и меня спрашивает

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 15-03-2024 в 04:31:

Можно ли маппать под HL в каком-нибудь радианте? Чтобы вадники открывал и текстуры показывал? Volatile-Radiant тот же?

Мне просто нравится что в радианте не надо край браша мышкой ловить.
Вот это я нашел https://hlfx.ru/forum/showthread.php?s=&threadid=3717 но про текстуры там не сказано.


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

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