Страницы (2): « 1 [2] Показать все 3892 сообщений этой темы на одной странице |
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)
В чем отличие m_pCurrentEntity->curstate.angles от m_pCurrentEntity->angles (на клиенте)?
__________________
Мой мод на Xash
Ну очевидно тем, что первое это входные параметры, а второе - финальные, которые будет использовать рендерер для отрисовки. Первые менять бессмысленно, они каждый кадр обновляются движком, а вторые ты можешь сам задавать, как тебе потребно.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Aynekko в curstate всё что прилетело с сервера сейчас, в prevstate на кадр раньше. Как сказал Дядя Миша выше, менять их бессмысленно.
Просто angles например может вычисляться интерполируя углы из prev и cur. Для игроков там конечно всё сложнее, но в общем случае понять можно.
__________________
Xash3D FWGS форк
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
Я просто почему спросил, в голдсорсе в StudioSetUpTransform angles берутся из curstate, а в ксашмоде и движке из просто angles. Я у себя вращал модельку игрока и игрок-клиент отображался не так, как локальный игрок, до тех пор пока я не поменял на curstate. Вот не знаю почему.
__________________
Мой мод на Xash
Еще раз вопрос по клипнодам и солидности поверхностей. А то я запутался. Вот есть стандартный куб. Он генерирует клипноды. Получается, 6 клипнод?
А можно ли сделать чтобы была только 1 клипнода, то есть одна поверхность солидная, а остальные проходишь насквозь?
Не совсем понимаю, как это работает.
Хочется оптимизировать карту в плане клипнод, и на карте слишком много брашей с лишними стенками.
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
При каком условии освещение у модели берется от солнца вместо пола? Случайно обнаружил, что в замкнутой комнате если покрасить потолок null'ом, то освещение будет от солнца.
__________________
Мой мод на Xash
1. нужно наличие light_enviroment. Угол падения солнца пересылается на клиент и используется для трассировки полигонов над игроком, согласно этому углу. Поэтому, если, допустим игрок заходит в тень, то и свет от солнца пропадает кагбы. Очень реалистичный механизм для 98-го года.
2. Трасса должна упереться в полигон с флажком SURF_DRAWSKY, который в свою очередь берётся из текстуры с названием SKY.
3. Можно еще поставить для модели принудительно всегда брать свет от солнца, вы могли видеть этот флажок в моём модельвьювере. Используется для вертолётов и Нихиланса.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А почему модель может быть черной? Лайт_енв на карте нет, и я точно стою на освещенном браше. Буквально стоя на соседнем браше игрок освещен нормально. Значит освещение берется не с пола, а вообще непонятно откуда...
__________________
Мой мод на Xash
Так если light_environment на карте нету, то вектор направления на солнце нулевой, вот и получается чёрный цвет.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Одного тогда понять не могу, как так получается, если комната закрытая, ская там нет, потолок не null текстурой и не энтитя. Проходит насквозь получается. А где эта проверка находится, не подскажешь?
__________________
Мой мод на Xash
Отключи ксаш-модовский рендерер для теста. То что я описывал - справедливо для ванильного. Но в ксаш-моде наверное как-то иначе, уже не вспомню.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Да, то же самое. Пол нормально освещен, а стоя на нем, игрок и монстры черные.
__________________
Мой мод на Xash
Странности с сейвом
Создал я свою энтитю, лутбокс с патронами, но при сейве вылазит ошибка:"Can't find address: 10064860". По адресу 10064860 у меня 0001:00063860 ??_9@$BLE@AE 10064860 f i h_cycler.obj(лутбокс у меня находится в h_cycler)
И, что ещё не приятнее это то что не сейвится состояние использования
__________________
И главное, Артём, помни: не ешь желтый снег!
Забыл прописать EXPORT своим тчинкам или тачам.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
для чего предназначена функция DECLARE_CLASS и какую суть несет в себе?
__________________
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.
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша у лутбокса нет ни тчинка ни тача
Добавлено 06-08-2022 в 03:23:
Дядя Миша
1 | class CLootbox : public CBaseMonster |
2 | { |
3 | void Spawn(void); |
4 | void Use(CBaseEntity* pActivator, CBaseEntity* pCaller, USE_TYPE useType, float value); |
5 | virtual int ObjectCaps(void); |
6 | void KeyValue(KeyValueData* pkvd); |
7 | virtual BOOL IsAlive(void) { return FALSE; } |
8 | int Classify(void) { return CLASS_CYCLER; } |
9 | public: |
10 |
11 | virtual int Save(CSave& save); |
12 | virtual int Restore(CRestore& restore); |
13 | static TYPEDESCRIPTION m_SaveData[]; |
14 | int m_item; |
15 | int m_count; |
16 | }; |
__________________
И главное, Артём, помни: не ешь желтый снег!
Дядя Миша я понял в чем дело
в спавне я удалил строчку SetUse(Use); и все стало нормально
__________________
И главное, Артём, помни: не ешь желтый снег!
1 | virtual void Think( void ) { if (m_pfnThink) (this->*m_pfnThink)(); }; |
2 | virtual void Touch( CBaseEntity *pOther ) { if (m_pfnTouch) (this->*m_pfnTouch)( pOther ); }; |
3 | virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) |
4 | { |
5 | if (m_pfnUse) |
6 | (this->*m_pfnUse)( pActivator, pCaller, useType, value ); |
7 | } |
8 | virtual void Blocked( CBaseEntity *pOther ) { if (m_pfnBlocked) (this->*m_pfnBlocked)( pOther ); }; |
#define SetThink( a ) m_pfnThink = static_cast <void (CBaseEntity::*)(void)> (a) |
#define SetTouch( a ) m_pfnTouch = static_cast <void (CBaseEntity::*)(CBaseEntity *)> (a) |
#define SetUse( a ) m_pfnUse = static_cast <void (CBaseEntity::*)( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )> (a) |
#define SetBlocked( a ) m_pfnBlocked = static_cast <void (CBaseEntity::*)(CBaseEntity *)> (a) |
Ku2zoff я не знал, потому и вышла такая ошибка
Добавлено 06-08-2022 в 10:52:
Ku2zoff теперь всё прекрасно работает
https://youtu.be/QzwoF5j5LYg
__________________
И главное, Артём, помни: не ешь желтый снег!
__________________
Мой мод на Xash
Aynekko лол, проблема была всего лишь в скейле!? Удивительно.
__________________
И главное, Артём, помни: не ешь желтый снег!
Скейл текстуры или лайтмапы?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Текстуры. Была наложена на браш со скейлом 0.25.
__________________
Мой мод на Xash
Тогда может у лайтмапы наоборот уменьшить разрешение?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Через zhlt_texturestep?
__________________
Мой мод на Xash
Ну да. Во всяком случае стоит попробовать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Попробовал, фейс тупо черный, если значение step больше 16. Ставил 8, все норм, но модели все еще черные. Скейл текстуры на фейсе 0.25.
__________________
Мой мод на Xash
А какой размер текстуры? Вдруг это влияет.
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
В одной из тем заговорили за худ оружия и натолкнуло меня на то, что в хл слоты нельзя переключать скролом, но можно цифрами с помощью тутора от тв.Scrama. Так вот реально это объединить чтобы не просто слоты активировались и ты подтверждал выбор, а сразу сменялось как в КС:бегать
__________________
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.
Luciferchik в функциях CHudAmmo::UserCmd_NextWeapon и CHudAmmo::UserCmd_PrevWeapon в теле цикла for ( int loop = 0; loop <= 1; loop++ ) перед return вставь следующий код:
1 | if (CVAR_GET_FLOAT("hud_fastswitch") != 0) |
2 | { |
3 | ServerCmd(wsp->szName); // меняем пушку |
4 | g_weaponselect = wsp->iId; // сохраняем Id пушки в глобальную переменную для доступа из input.cpp, CL_CreateMove. Наверное это для пердиктинга |
5 | gpLastSel = gpActiveSel; // запоминаем последнюю пушку |
6 | gpActiveSel = NULL; // зануляем активную пушку, чтобы скрыть слоты |
7 | } |
Ku2zoff огромная благодарность, работает как часики ещё бы засвечивать худ на пару секунд и будет уже точно как в кс
__________________
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.
Luciferchik чтобы засвечивать слоты, надо занулять gpActiveSel через некоторое время, а не сразу. Но пока он не занулён - стрелять нельзя, первый клик подтверждает выбор оружия, скрывая слоты. Надо написать новое поведение для слотов при hud_fastswitch: чтобы при переключении они высвечивались, и постепенно угасали, и левый клик не перехватывался. Сейчас попробую. Обычно я таким не морочусь, но раз уж залез в эту тему, то надо привести fastswitch в нормальное состояние, каким он должен быть. Чтобы оружия переключались скроллом, а нажатие на клавишу слота циклично прокручивало оружия в этом слоте, а не выбирало только первую пушку.
__________________
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.
WEAPON *gpLastSel; // Last weapon menu selection |
WEAPON *gpCurWeapon; // код Скрамы |
1 | // if fast weapon switch is on, then weapons can be selected in a single keypress |
2 | // but only if there is only one item in the bucket |
3 | WEAPON *p2 = GetNextActivePos( p->iSlot, p->iSlotPos ); |
4 | if ( !p2 ) |
5 | { // only one active item in bucket, so change directly to weapon |
6 | ServerCmd( p->szName ); |
7 | g_weaponselect = p->iId; |
8 | return; |
9 | } |
10 | else // код Скрамы |
11 | { |
12 | if (gpCurWeapon->iSlot == iSlot) |
13 | { |
14 | p = GetNextActivePos(gpCurWeapon->iSlot, gpCurWeapon->iSlotPos); |
15 | if (!p) p = GetFirstPos(gpCurWeapon->iSlot); |
16 | ServerCmd(p->szName); |
17 | g_weaponselect = p->iId; |
18 | } |
19 | else |
20 | { |
21 | ServerCmd(p->szName); |
22 | g_weaponselect = p->iId; |
23 | } |
24 | return; |
25 | } |
if ( iState == 0 ) // we're not the current weapon, so update no more |
return 1; |
m_pWeapon = pWeapon; |
gpCurWeapon = pWeapon; // код Скрамы |
WEAPON *gpLastSel; // Last weapon menu selection |
WEAPON *gpCurWeapon; // код Скрамы |
float flFadeTime; // время видимости слотов |
1 | if (!gpActiveSel) |
2 | return; |
3 |
4 | // начало говнокода |
5 | if (CVAR_GET_FLOAT("hud_fastswitch")) |
6 | { |
7 | if (gpActiveSel) |
8 | { |
9 | if (gpActiveSel != (WEAPON*)1) |
10 | { |
11 | ServerCmd(gpActiveSel->szName); |
12 | g_weaponselect = gpActiveSel->iId; |
13 | } |
14 |
15 | if (flFadeTime <= gEngfuncs.GetClientTime()) |
16 | { |
17 | gpLastSel = gpActiveSel; |
18 | gpActiveSel = NULL; |
19 | } |
20 | } |
21 | return; |
22 | } |
23 | // конец говнокода |
24 |
25 | // has the player selected one? |
26 | if (gHUD.m_iKeyBits & IN_ATTACK) |
1 | else // код Скрамы |
2 | { |
3 | if (gpCurWeapon->iSlot == iSlot) |
4 | { |
5 | p = GetNextActivePos(gpCurWeapon->iSlot, gpCurWeapon->iSlotPos); |
6 | if (!p) p = GetFirstPos(gpCurWeapon->iSlot); |
7 | ServerCmd(p->szName); |
8 | g_weaponselect = p->iId; |
9 | } |
10 | else |
11 | { |
12 | ServerCmd(p->szName); |
13 | g_weaponselect = p->iId; |
14 | } |
15 | gpActiveSel = p; // говнокод |
16 | flFadeTime = gEngfuncs.GetClientTime() + 0.5; // снова говнокод |
17 | return; |
18 | } |
Ku2zoff По твоему примеру вроде как работает но нужно ещё допиливать. Комменты конечно позабавили мы ведь не профи в коде поэтому пишем как можем
__________________
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.
Мне Ku2zoff подсказал что можно под глянуть ограничение пушек в кс 1.6, я ограничение сделал, но как теперь сделать так что бы при юзе пушки которая лежит на полу она попадала в инвентарь, а та что занимала этот же слот легла на её же место
__________________
И главное, Артём, помни: не ешь желтый снег!
hgrunt_2020 у тебя команда Drop работает? Ну то есть, если выкинуть пушку, то подбирается другая? Поищи в player.cpp вот этот комментарий:
// if we land here with a valid pWeapon pointer, that's because we found the |
// item we want to drop and hit a BREAK; pWeapon is the item. |
1 | switch (pWeapon->m_iId) |
2 | { |
3 | case WEAPON_CROWBAR: |
4 | SET_MODEL(ENT(pWeaponBox->pev), "models/w_crowbar.mdl"); |
5 | break; |
6 | } |
pPlayer->DropPlayerItem("weapon_crowbar"); |
Ku2zoff она работает но криво, некоторые пушки не подбирает а подбирает только их патроны
__________________
И главное, Артём, помни: не ешь желтый снег!
У меня работает. Хоть и жуткий говнокод, написанный на коленке.
Ku2zoff вот дроп что у мен
1 | void CBasePlayer::DropPlayerItem ( char *pszItemName ) |
2 | { |
3 | if ( !strlen( pszItemName ) ) |
4 | { |
5 | // if this string has no length, the client didn't type a name! |
6 | // assume player wants to drop the active item. |
7 | // make the string null to make future operations in this function easier |
8 | pszItemName = NULL; |
9 | } |
10 |
11 | CBasePlayerItem *pWeapon; |
12 | int i; |
13 |
14 | for ( i = 0 ; i < MAX_ITEM_TYPES ; i++ ) |
15 | { |
16 | pWeapon = m_rgpPlayerItems[ i ]; |
17 |
18 | while ( pWeapon ) |
19 | { |
20 | if ( pszItemName ) |
21 | { |
22 | // try to match by name. |
23 | if ( !strcmp( pszItemName, STRING( pWeapon->pev->classname ) ) ) |
24 | { |
25 | // match! |
26 | break; |
27 | } |
28 | } |
29 | else |
30 | { |
31 | // trying to drop active item |
32 | if ( pWeapon == m_pActiveItem ) |
33 | { |
34 | // active item! |
35 | break; |
36 | } |
37 | } |
38 |
39 | pWeapon = pWeapon->m_pNext; |
40 | } |
41 |
42 |
43 | // if we land here with a valid pWeapon pointer, that's because we found the |
44 | // item we want to drop and hit a BREAK; pWeapon is the item. |
45 | if ( pWeapon ) |
46 | { |
47 | g_pGameRules->GetNextBestWeapon( this, pWeapon ); |
48 | if (pWeapon->iSlot() <= 2) |
49 | Slots[pWeapon->iSlot()] = false; |
50 |
51 | UTIL_MakeVectors ( pev->angles ); |
52 |
53 | pev->weapons &= ~(1 << pWeapon->m_iId);// take item off hud |
54 |
55 | CWeaponBox *pWeaponBox = (CWeaponBox *)CBaseEntity::Create( "weaponbox", pev->origin + gpGlobals->v_forward * 10, pev->angles, edict() ); |
56 | pWeaponBox->pev->angles.x = 0; |
57 | pWeaponBox->pev->angles.z = 0; |
58 | pWeaponBox-><img src="images/smilies/pp2.gif" border="0" alt="">ackWeapon( pWeapon ); |
59 | pWeaponBox->pev->velocity = gpGlobals->v_forward * 300 + gpGlobals->v_forward * 100; |
60 |
61 | // drop half of the ammo for this weapon. |
62 | int iAmmoIndex; |
63 |
64 | iAmmoIndex = GetAmmoIndex ( pWeapon->pszAmmo1() ); // ??? |
65 |
66 | if ( iAmmoIndex != -1 ) |
67 | { |
68 | // this weapon weapon uses ammo, so pack an appropriate amount. |
69 | if ( pWeapon->iFlags() & ITEM_FLAG_EXHAUSTIBLE ) |
70 | { |
71 | // pack up all the ammo, this weapon is its own ammo type |
72 | pWeaponBox-><img src="images/smilies/pp2.gif" border="0" alt="">ackAmmo( MAKE_STRING(pWeapon->pszAmmo1()), m_rgAmmo[ iAmmoIndex ] ); |
73 | m_rgAmmo[ iAmmoIndex ] = 0; |
74 |
75 | } |
76 | else |
77 | { |
78 | // pack half of the ammo |
79 | pWeaponBox-><img src="images/smilies/pp2.gif" border="0" alt="">ackAmmo( MAKE_STRING(pWeapon->pszAmmo1()), m_rgAmmo[ iAmmoIndex ] / 2 ); |
80 | m_rgAmmo[ iAmmoIndex ] /= 2; |
81 | } |
82 |
83 | } |
84 |
85 | return;// we're done, so stop searching with the FOR loop. |
86 | } |
87 | } |
88 | } |
if (pItem->iSlot() > 1 && pItem->iSlot() <= 4) |
if (pWeapon->iSlot() <= 2) |
__________________
И главное, Артём, помни: не ешь желтый снег!
Ku2zoff а что по поводу того что не отображаются иконки вентиля и сайги?
__________________
И главное, Артём, помни: не ешь желтый снег!
Ku2zoff Я наконец то починил ограничение и дроп)
https://youtu.be/3wHnsDy9W-g
__________________
И главное, Артём, помни: не ешь желтый снег!
Как правильно перемещать спрайты по экрану, чтобы при смене расширения они оставались на задуманном месте?
__________________
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.
Luciferchik перемещать их относительно screenheight и screenwidth, глянь расположение спрайтов в хл 1, именно их x и y в коде
__________________
И главное, Артём, помни: не ешь желтый снег!
Почему не на весь экран?
Почему текстура не отрисовывается на весь экран, при чем не важно спрайт это или тга(скрин https://yapx.ru/v/TUrMT ), вот код отрисовки
1 | void DrawNV() |
2 | { |
3 | if (g_iNvg == 0) return; |
4 | if (ScopeTex < 0) |
5 | ScopeTex = glLoadTgaFromPak("/gfx/ui_nv.tga"); |
6 | glColor4f(0.0f, 0.0f, 0.0f, 1.0f); |
7 | glBindTexture(GL_TEXTURE_2D, ScopeTex); |
8 | glEnable(GL_BLEND); |
9 | glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
10 | glBegin(GL_QUADS); |
11 | //top left |
12 | glTexCoord2f(0.0f, 1.0f); |
13 | glVertex3f(0, 0, 0); |
14 |
15 | //bottom left |
16 | glTexCoord2f(0.0f, 0.0f); |
17 | glVertex3f(0, ScreenHeight, 0); |
18 |
19 | //bottom right |
20 | glTexCoord2f(1.0f, 0.0f); |
21 | glVertex3f(ScreenWidth, ScreenHeight, 0); |
22 |
23 | //top right |
24 | glTexCoord2f(1.0f, 1.0f); |
25 | glVertex3f(ScreenWidth, 0, 0); |
26 |
27 |
28 | glEnd(); |
29 | } |
__________________
И главное, Артём, помни: не ешь желтый снег!
__________________
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.
А вы как определяете где говнокод, а где нет?
Вот как раз таинственный множитель на 1.5525 это и есть говнокод.
Как вы это число получили? Ни деление 16/9 ни 16/10 его не даёт.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Почему из-за большого браша func_water ксаш вылетает? Размер браша 6000х7500 юнитов, высота 300 юнитов. 6000х7000, как ни странно, работает. Скейл текстуры воды сверху - 14.0, остальные фейсы покрыты NULL. Что это за лимит опять, можно ли его расширить?
Создавать несколько func_water не предлагайте - видны швы
__________________
Мой мод на Xash
Потому что SubdividePolygon_r рекурсивная функция, а стек не бесконечен.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А что тогда можно сделать в этом случае? "Расширить лимиты" так сказать. Надо бы браш большого размера.
Добавлено 19-08-2022 в 11:16:
Поднял SUBDIVIDE_SIZE с 64 до 128, это помогло О.о
__________________
Мой мод на Xash
Ну естественно помогло, размер шага уменьшился, значит и рекурсия стала короче. Еще можно в настройках проекта увеличить размер стека, но то такое...
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Cделал я себе ограничение пушек в инвентаре, всё хорошо, до сейв рестора, после сейв рестора вновь можно подобрать пушку в слот, и в слоту уже не 1 пушка а 2, чего быть не должно.
Для ограничения я завёл себе
BOOL Slots[5]; |
1 | if (pItem->iSlot() > 1 && pItem->iSlot() <= 4) |
2 | { |
3 | if (Slots[pItem->iSlot()]) |
4 | return FALSE; |
5 | Slots[pItem->iSlot()] = true; |
6 | } |
if (pWeapon->iSlot() > 0 && pWeapon->iSlot() <= 4) |
Slots[pWeapon->iSlot()] = false; |
__________________
И главное, Артём, помни: не ешь желтый снег!
привет кто из кодеров может понять рендеры текстур
kRenderNormal, // src
kRenderTransColor, // c*a+dest*(1-a)
kRenderTransTexture, // src*a+dest*(1-a)
kRenderGlow, // src*a+dest -- No Z buffer checks
kRenderTransAlpha, // src*srca+dest*(1-srca)
kRenderTransAdd, // src*a+dest
особенно интересуют эти значения
// src
// c*a+dest*(1-a)
// src*a+dest*(1-a)
// src*a+dest -- No Z buffer checks
// src*srca+dest*(1-srca)
// src*a+dest
__________________
илья
илья2 https://twhl.info/wiki/page/Tutoria...nder_Properties
Значения тебе без надобности, формулы, вычисляющие итоговую прозрачность и цвет всё равно внутри движка.
Добавлено 23-08-2022 в 04:18:
Если совсем интересно, то src - исходная текстура, a - альфа, c - цвет, dest - скорее всего результат первого перемножения.
src - исходный цвет
dst - цвет экрана (то что уже успели нарисовать)
a - alpha (renderamt)
c - color (rendercolor)
srca - альфаканал текстуры
Добавлено 23-08-2022 в 08:44:
На десктопах есть большая проблема к сожалению. Там невозможно прочитать цвет экранного пикселя из шейдера - ошибка совмещённого доступа.
Но на мобилках другая архитектура и там можно.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
ясно полезная инфа пригодиться
__________________
илья
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
возможно ли поставить оружие на нулевой слот ? пробовал ставить вылет и все.
__________________
илья
ну раз вылет - значит нельзя
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
илья2 слотов можно сделать сколь угодно много, были бы клавиши. Просто подвинь всё оружие на один слот, чтобы первый выполнял функции нулевого.
я перепутал не слоты а на нулевое количество WEAPON_NONE сорян.
__________________
илья
илья2 ну вот нафига? pev->weapons передаёт битовую маску, а не десятичное число с номером оружия. WEAPON_NONE и так по-умолчанию имеется у игрока. Вылет происходит на этапе какой-то проверки на нулёвость, которых тонна на сервере и на клиенте. А зачем вообще занимать нулевой Id? Их же 29 или 30 штук доступно.
WEAPON_NONE - это 0. Сам подумай, можно ли на ноль что-то вешать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
Если оружие невозможно убрать - ему не нужен никакой идентификатор.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
илья2 номер Id не влияет на слот, занимаемый оружием. Вот так у монтировки:
p->iSlot = 0; |
p->iPosition = 0; |
p->iId = WEAPON_CROWBAR; // 1 |
__________________
илья
как убрать оружие с инвентаря игрока ? есть ли код для этого ?
__________________
илья
Энтитя player_weaponstrip. Только она убирает ВСЕ оружия и опционально костюм. Но можно дописать ей функционал выборочного убирания оружия.
__________________
илья
1 | int i; |
2 | CBasePlayerItem *pPendingItem; |
3 | for (i = 0; i < MAX_ITEM_TYPES; i++) |
4 | { |
5 | m_pActiveItem = m_rgpPlayerItems[i]; |
6 | while (m_pActiveItem) |
7 | { |
8 | pPendingItem = m_pActiveItem->m_pNext; |
9 | m_pActiveItem->Drop( ); |
10 | m_pActiveItem = pPendingItem; |
11 | } |
12 | m_rgpPlayerItems[i] = NULL; |
13 | } |
14 | m_pActiveItem = NULL; |
CBasePlayer *pPlayer; |
pPlayer->RemoveAllItems("weapon_crowbar"); |
Помнится для корректного выбрасывания пушки в P2 я довольно много кода дописывал. Там по нормальному не сделаешь.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша для выбрасывания да. А для удаления уже всё есть в RemovePlayerItem.
а если поставить несуществующую позицию и слот. оружие удалиться из худа ?
например так:
p->iSlot = -1;
p->iPosition = -1;
или так
p->iSlot = NULL;
p->iPosition = NULL;
Добавлено 06-09-2022 в 13:43:
проверил работает. Надо было самого начала так сделать не догадался малек.
Добавлено 06-09-2022 в 13:47:
все оказывается просто было и не надо было изобретать велосипед
Добавлено 06-09-2022 в 14:11:
вот так это в принципе и работает кулаки которые без костюма находятся на -1 слоте и позиции а когда достаем и одеваем костюм то кулаки уже в костюме ну в общем как в brutal half-life
https://youtu.be/yP448eB-0eY
__________________
илья
а зачем переключаться если лучше на ствол переключится без костюма а потом с костюмом кулаки будут
Добавлено 06-09-2022 в 15:01:
да и еще. Кулаки с костюмом они намного лучше чем без него. Там урон по мощнее. Эти кулаки они так чтобы хоть какое нибуть оружие при старте было это лучше чем ничего
__________________
илья
__________________
илья
Проблема - env_model не крутится через local avelocity. Либо я что-то не так делаю.
1 | if( pModel ) |
2 | { |
3 | pModel->SetLocalAvelocity( pModel->pev->movedir * Speed ); |
4 | Vector v = pModel->GetLocalAvelocity(); |
5 | ALERT( at_console, "%f %f %f\n", v.x, v.y, v.z ); |
6 | } |
__________________
Мой мод на Xash
Ну а как она будет крутиться, если по дефолту ей задан MOVETYPE_NONE?
1 | void SV_Physics_None( CBaseEntity *pEntity ) |
2 | { |
3 | if( !SV_RunThink( pEntity )) |
4 | return; |
5 |
6 | if( pEntity->m_hParent ) |
7 | pEntity->RelinkEntity( TRUE ); |
8 | } |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
В общем смена мувтайпа на ходу тоже не помогла. В итоге я поставил func_rotating с галкой start on (галка обязательна). И только тогда мой код нормально работает и я могу управлять скоростью вращения через SetLocalAvelocity.
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
как менять боди на оружии в реальном времени, например есть у меня моделька оружия с двумя видами рук, но руки меняются только по консольной команде и при смени оружия туда назад
__________________
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.
Luciferchik обычная халфа или ксашмод? В обычной халфе налету не сменишь ни боди, ни скин. Только при воспроизведении очередной анимации либо через SendWeaponAnim, либо через PLAYBACK_EVENT. Не знаю, как там в актуальном ксашмоде, по-моему в нём Xash Weapon System отсутствует, надо тащить из Spirit 1.9 две мессаги: на бодю и на скин. И в идеале отключать пердиктинг, чтобы не мешал.
Добавлено 24-09-2022 в 00:29:
Вообще, вот, применяй этот тутор.
Ku2zoff ксашмод, Xash Weapon System стащен из Spirit 1.9, значит на любую смену боди нужно делать анимацию, в идле анимации что не делай ничего не будет меняться
__________________
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.
__________________
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.
На что влияет предиктинг оружия в халфе? Это только визуальное отображение на клиенте (анимация без задержек) или же оказывается влияние на сервер (клиент сообщает о уже сделанном выстреле, попадании и т.д.)?
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Вот еще такой вопрос. На сервере мы можем делать тряску экрана
1 | MESSAGE_BEGIN( MSG_ONE, gmsgShake, NULL, pPlayer->edict() ); // use the magic #1 for "one client" |
2 |
3 | WRITE_SHORT( shake.amplitude ); // shake amount |
4 | WRITE_SHORT( shake.duration ); // shake lasts this long |
5 | WRITE_SHORT( shake.frequency ); // shake noise frequency |
6 |
7 | MESSAGE_END(); |
__________________
Мой мод на Xash
Aynekko дёрни клиентскую часть мессаги из движка в дллку и вызывай её сразу на клиенте. Сорцы ксаша открыты. pfnCalcShake, pfnApplyShake, и саму мессагу CL_ParseScreenShake. Делов минут на 10. Ну, точнее, вызывать надо не мессагу, а заполнять структурку screen_shake_t.
1 | void CL_ParseScreenShake( sizebuf_t *msg ) |
2 | { |
3 | clgame.shake.amplitude = (float)(word)MSG_ReadShort( msg ) * (1.0f / (float)(1<<12)); |
4 | clgame.shake.duration = (float)(word)MSG_ReadShort( msg ) * (1.0f / (float)(1<<12)); |
5 | clgame.shake.frequency = (float)(word)MSG_ReadShort( msg ) * (1.0f / (float)(1<<8)); |
6 | clgame.shake.time = cl.time + max( clgame.shake.duration, 0.01f ); |
7 | clgame.shake.next_shake = 0.0f; // apply immediately |
8 | } |
Понял, уже сделал
Добавлено 02-10-2022 в 21:50:
Столкнулся с такой штукой касаемо baseline. В общем создаю я спрайт на сервере через SpriteCreate. После его создания я задаю ему свойства, рендермод и прозрачность.
И вот незадача - на клиенте мне рапортует, что у него baseline.rendermode и baseline.renderamt равны нулю. И только после сейврестора уже показывает нужные числа.
Вот и собственно вопрос, а как мне обновить baseline после того, как я задал свойства?
__________________
Мой мод на Xash
Вазелин сохраняется только для объектов, которые спавнятся с уровня, для объектов, создаваемых во время игры он неактуален и не нужен.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Aynekko а зачем ты на клиенте берёшь свойства из вазелина? Надо брать из курстейта.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну я тестирую, экспериментирую. Конечно в случае чего переделаю. Я тестил на пинге 100 (фейковом), никаких проблем не обнаружил пока что.
__________________
Мой мод на Xash
1 | state->rendermode = ent->v.rendermode; |
2 | if (!FBitSet(ent->v.flags, FL_MYFLAG)) state->renderamt = ent->v.renderamt; |
3 | state->renderfx = ent->v.renderfx; |
4 | state->rendercolor.r = ent->v.rendercolor.x; |
5 | state->rendercolor.g = ent->v.rendercolor.y; |
6 | state->rendercolor.b = ent->v.rendercolor.z; |
1 | case kRenderFxFadeFast: |
2 | if( RP_NORMALPASS( )) |
3 | { |
4 | if( e->curstate.renderamt > 3 ) |
5 | e->curstate.renderamt -= 4; |
6 | else e->curstate.renderamt = 0; |
7 | } |
8 | blend = e->curstate.renderamt; |
9 | break; |
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Вернёмся к моему старому вопросу!
1 | extern int iWpnId; |
2 |
3 | void DLLEXPORT HUD_Frame( double time ) |
4 | { |
5 | ServersThink( time ); |
6 | if (iWpnId == WEAPON_TIHAR || iWpnId == WEAPON_GAUSS) |
7 | { |
8 | gEngfuncs.GetViewModel()->curstate.controller[0] = gHUD.m_iBone1; |
9 | } |
10 | GetClientVoiceMgr()->Frame(time); |
11 | } |
__________________
И главное, Артём, помни: не ешь желтый снег!
На вьюмодельках, я вообще не припоминаю, чтобы контроллеры костей использовались.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша ну я первый кто их использует)
__________________
И главное, Артём, помни: не ешь желтый снег!
всем привет: Spawned a NULL entity! к чему относиться данная ошибка ?
__________________
илья
Дословный перевод: Заспавнена Нуллевая энтитя
__________________
И главное, Артём, помни: не ешь желтый снег!
да вы представьте что я придумал->XVCORE97 или в другом названии СУПЕР ПРОТОТИП-что это ?--->:прототип синтезированной сверх новой колотронной дыры
закупоренном в особом контейнере высокого назначения опасность!!!:--->особо опасное супер сверх оружие !!!.
Да писателям фантастам такое бы понравилось
__________________
илья
илья2
1. Это надо было писать в фулде
2. Рекомендую немного поизучать русский язык и грамматику в целом
__________________
И главное, Артём, помни: не ешь желтый снег!
Это надо было писать в фулде:да точно надо было
Добавлено 24-10-2022 в 13:44:
кому интересно сейчас я создаю новое оружие XVL989
__________________
илья
Появился у меня жоский баг в игре. Не знаю, как его исправить. Баг таков, что когда мы берем оружие вместе с костюмом, то при выборе оружия есть другое оружие, которое мы не брали. У этого оружия пустая обойма. То есть это оружие красное. Во общем, будет более понятно, если выложу скриншот этой хрени.
https://imgur.com/a/OR6i8TQ
Добавлено 31-10-2022 в 16:21:
Может, есть способ изначально удалить это оружие ? с пустой обоймой ?
Добавлено 31-10-2022 в 20:08:
ну все я исправил баг
__________________
илья
__________________
И главное, Артём, помни: не ешь желтый снег!
Как правильно посчитать кол-во активных игроков на сервере?
Я взял код из multiplayer rules:
1 | int CountPlayers( void ) |
2 | { |
3 | int num = 0; |
4 |
5 | for ( int i = 1; i <= gpGlobals->maxClients; i++ ) |
6 | { |
7 | CBaseEntity *pEnt = UTIL_PlayerByIndex( i ); |
8 |
9 | if ( pEnt ) |
10 | num = num + 1; |
11 | } |
12 |
13 | return num; |
14 | } |
1 | int playercount = 0;// CountPlayers(); |
2 | for( int i = 1; i <= gpGlobals->maxClients; i++ ) |
3 | { |
4 | CBasePlayer *pPlayer = (CBasePlayer*)UTIL_PlayerByIndex( i ); |
5 |
6 | // skip invalid players |
7 | if( !pPlayer ) |
8 | continue; |
9 |
10 | const char *model = g_engfuncs.pfnInfoKeyValue( g_engfuncs.pfnGetInfoKeyBuffer( pPlayer->edict() ), "model" ); |
11 | if( model[0] <= 0 ) |
12 | continue; |
13 |
14 | playercount++; |
15 | } |
__________________
Мой мод на Xash
извините что поднимаю старую тему опять на теже грабли:а точно ли 512 лимит прекешей зарыт в движок не в карты ли ? я пробовал сломаные исходники на картах half-life там все нормально работает захожу в карты opossing force все глючит.
Добавлено 07-11-2022 в 09:30:
особенно меня удивляет вот эта ошибка Host_Error: PF_precache_model_I: Model 'models/houndeye.mdl' failed to precache because the item count is over the 512 limit.
houndeye этот объект был в картах халф лайфа захожу в карты opossing force пожалуйста ошибка прекеша
Добавлено 07-11-2022 в 09:32:
кажется это не оптимизированные карты или не совсем правильно скомпилированные где в half-life картах лимит превышен а в opossing force картах лимит занижен
Добавлено 07-11-2022 в 09:36:
плохо что это так значит мне придется в исходниках что то удалять чтобы лимит не жаловался по другому никак
Добавлено 07-11-2022 в 09:39:
а есть ли оптимизированные карты opossing force где лимит завышен ?
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Поэтому уровни действительно влияют на этот лимит:о все таки прав
Добавлено 08-11-2022 в 10:31:
но я до сих пор не знаю как этот лимит одолеть удаляю монстров оружия из исходников ничего не помогает как же так ?
Добавлено 08-11-2022 в 10:34:
оружие гильзы спрайты отдельными бодями в одну модель делать очень сложно
Добавлено 08-11-2022 в 10:35:
а прошлое мое исправление все таки не совсем помогло
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Так, а сам лимит увеличить никак нельзя?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
я в тупиковой ситуации что делать ?
Добавлено 08-11-2022 в 12:54:
лимит все портит
__________________
илья
На ксаш перейди и забудь о лимитах.
__________________
Мой мод на Xash
Все таки это все из за оружий ! Удалил я больше оружия с не охотой . Все заработало как надо. Мда. плохо, что в Half-life есть такая штука, как лимит.
Добавлено 08-11-2022 в 13:25:
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
да теперь понял это в player.cpp
Добавлено 08-11-2022 в 14:49:
можно попробовать
Добавлено 08-11-2022 в 14:51:
Попробовал я монстров По удалять. Не, не работает такой вариант. Только с оружий лимит убирается. Бред, конечно, но это так.
Добавлено 08-11-2022 в 14:52:
Это значит, что монстров можно делать сколько угодно, а вот оружия уже нет. Так не получиться.
Добавлено 08-11-2022 в 14:59:
impulse 101 а толку ну удалю там оружия все равно проблема прекеша
Добавлено 08-11-2022 в 15:01:
проблема то появляется с перехода с карты на карту а не при impulse 101
__________________
илья
Ну с модом-солянкой по любому рано или поздно придётся переезжать, или извращаться и как Гуль все запихивать в одну модель.
А вообще не пойму откуда вообще такие анальные лимиты, почему в Думе к примеру можно делать карты на тысячи монстров что даже современный комп тормозит дико от такого кол-ва, на ГЗДум полно всяких оружейных солянок где сотни оружий, или взять тот же Russian Overkill где того оружия мало того что кучи, так еще оно все дикое и убойное что с одного выстрела половину уровня выносит не тянет комп, будешь играть в пошаговую игру, а в Халве запили Flak Cannon из Анрила и какой-то дезматч на 32 игрока уже сломается от него.
А вообще не пойму откуда вообще такие анальные лимиты:да вот и мне хотелось бы понять это
Добавлено 08-11-2022 в 15:16:
ведь в халфу еще можно много всего добавлять почему тогда такие лимиты ставят ?
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
перешел я на ксаш да баг с прекешом исчез но есть другие баги со звуками с glowshell с shockrifle
Добавлено 08-11-2022 в 15:56:
мда это уже баги самого движка
Добавлено 08-11-2022 в 18:06:
А что нибудь кроме ксаш есть ? Что похоже на Халфу. Но снимет лимит, а то он весь мод мне сломал, Все придется переделывать.
__________________
илья
Да, ксаш хорошо выявляет баганый код. Исправляй теперь ошибки в своём коде.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
ксаш хорошо выявляет баганый код:но у меня в халфе все нормально работает значит он не баганый хотя вам виднее
Добавлено 08-11-2022 в 18:52:
Исправляй теперь ошибки в своём коде:да у меня просто выбора нету придется исправлять
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
вот этот https://www.moddb.com/engines/xash3...4-extras-stable
Добавлено 08-11-2022 в 19:10:
прбовал старые версии там еще хуже больше багов
Добавлено 08-11-2022 в 19:11:
__________________
илья
еще нож тоже повторяет
Добавлено 08-11-2022 в 20:24:
ну все я исправил баг в функции PrimaryAttack есть двойной повтор Swing
SetThink(&CFists2::SwingAgain); который перенаправляется на
void CFists2::SwingAgain(void)
{
Swing(0);<----вот здесь как раз и есть повтор
}
было
void CFists2::PrimaryAttack()
{
if (!Swing(1))
{
#ifndef CLIENT_DLL
SetThink(&CFists2::SwingAgain);
pev->nextthink = gpGlobals->time + 0.1;
switch (RANDOM_LONG(0, 1))
{
case 0:
m_pPlayer->pev->punchangle.x = -10; // pitch
m_pPlayer->pev->punchangle.y = -10; // yaw
m_pPlayer->pev->punchangle.z = 10; // roll
break;
case 1:
m_pPlayer->pev->punchangle.x = 10; // pitch
m_pPlayer->pev->punchangle.y = 10; // yaw
m_pPlayer->pev->punchangle.z = -10; // roll
break;
}
//UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle );
Vector vecSrc = m_pPlayer->GetGunPosition( );
Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_10DEGREES );
Vector vecDir;
float flZVel = m_pPlayer->pev->velocity.z;
m_pPlayer->pev->velocity = m_pPlayer->pev->velocity - gpGlobals->v_forward * -100;
m_pPlayer->pev->velocity.z = flZVel;
#endif
}
}
стало
void CFists2::PrimaryAttack()
{
if (!Swing(1))
{
#ifndef CLIENT_DLL
pev->nextthink = gpGlobals->time + 0.1;
switch (RANDOM_LONG(0, 1))
{
case 0:
m_pPlayer->pev->punchangle.x = -10; // pitch
m_pPlayer->pev->punchangle.y = -10; // yaw
m_pPlayer->pev->punchangle.z = 10; // roll
break;
case 1:
m_pPlayer->pev->punchangle.x = 10; // pitch
m_pPlayer->pev->punchangle.y = 10; // yaw
m_pPlayer->pev->punchangle.z = -10; // roll
break;
}
//UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle );
Vector vecSrc = m_pPlayer->GetGunPosition( );
Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_10DEGREES );
Vector vecDir;
float flZVel = m_pPlayer->pev->velocity.z;
m_pPlayer->pev->velocity = m_pPlayer->pev->velocity - gpGlobals->v_forward * -100;
m_pPlayer->pev->velocity.z = flZVel;
#endif
}
}
Добавлено 08-11-2022 в 20:24:
надо и в остальных исходниках это исправить
Добавлено 08-11-2022 в 20:40:
правда после таких махинаций идет двойное повторение декаля после удара о стену
Добавлено 08-11-2022 в 21:04:
все исправил if (!Swing(1))->if (Swing(1))
было
void CFists2::PrimaryAttack()
{
if (Swing(1))
{
#ifndef CLIENT_DLL
pev->nextthink = gpGlobals->time + 0.1;
switch (RANDOM_LONG(0, 1))
{
case 0:
m_pPlayer->pev->punchangle.x = -10; // pitch
m_pPlayer->pev->punchangle.y = -10; // yaw
m_pPlayer->pev->punchangle.z = 10; // roll
break;
case 1:
m_pPlayer->pev->punchangle.x = 10; // pitch
m_pPlayer->pev->punchangle.y = 10; // yaw
m_pPlayer->pev->punchangle.z = -10; // roll
break;
}
//UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle );
Vector vecSrc = m_pPlayer->GetGunPosition( );
Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_10DEGREES );
Vector vecDir;
float flZVel = m_pPlayer->pev->velocity.z;
m_pPlayer->pev->velocity = m_pPlayer->pev->velocity - gpGlobals->v_forward * -100;
m_pPlayer->pev->velocity.z = flZVel;
#endif
}
}
стало
void CFists2::PrimaryAttack()
{
switch (RANDOM_LONG(0, 1))
{
case 0:
m_pPlayer->pev->punchangle.x = -10; // pitch
m_pPlayer->pev->punchangle.y = -10; // yaw
m_pPlayer->pev->punchangle.z = 10; // roll
break;
case 1:
m_pPlayer->pev->punchangle.x = 10; // pitch
m_pPlayer->pev->punchangle.y = 10; // yaw
m_pPlayer->pev->punchangle.z = -10; // roll
break;
}
//UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle );
Vector vecSrc = m_pPlayer->GetGunPosition( );
Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_10DEGREES );
Vector vecDir;
float flZVel = m_pPlayer->pev->velocity.z;
m_pPlayer->pev->velocity = m_pPlayer->pev->velocity - gpGlobals->v_forward * -100;
m_pPlayer->pev->velocity.z = flZVel;
if (Swing(1))
{
pev->nextthink = gpGlobals->time + 0.1;
}
}
__________________
илья
Ты клиентские оружия делал или нет?
Добавлено 08-11-2022 в 21:20:
Я не могу твои архивы открыть, сохраняй в zip.
Добавлено 08-11-2022 в 21:21:
Не знаю, что ты там такое сделал, но cl_lw 0 должно было помочь в данном случае.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
Ок, тогда попробуй наоборот cl_lw 1
И кстати после установки этого значения, надо движок полностью перезапускать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
Ну что ж, продолжаем исправлять баги В этом коде я создаю молнию через пушку. Работала функция нормально. Теперь эта функция направляется на оригин карты, а не на позицию forward-а. как исправить?
void CShockrifle::CreateChargeEffect2( void )
{
#ifndef CLIENT_DLL
if( g_pGameRules->IsMultiplayer())
return;
int iBeam = 0;
for( int i = 2; i < 5; i++)
{
if( !m_pBeam[iBeam] )
m_pBeam[iBeam] = CBeam::BeamCreate("sprites/lgtning.spr", 1000);
m_pBeam[iBeam]-> PointEntInit( m_pPlayer->GetGunPosition() + gpGlobals->v_forward * 500, m_pPlayer->entindex() );
m_pBeam[iBeam]->SetStartAttachment(1);
m_pBeam[iBeam]->SetEndAttachment(i);
m_pBeam[iBeam]->SetNoise( 75 );
m_pBeam[iBeam]->pev->scale= 10;
m_pBeam[iBeam]->SetColor( 0, 253, 253 );
m_pBeam[iBeam]->SetScrollRate( 30 );
m_pBeam[iBeam]->SetBrightness( 190 );
iBeam++;
}
#endif
}
Добавлено 09-11-2022 в 12:43:
у меня появляется подозрение что он не считает функцию GetGunPosition
__________________
илья
Прежде, чем использовать forward вектор, нужно сначала сделать векторы через MakeVectors. Не вижу этого у тебя.
__________________
Мой мод на Xash
не не получилось прописывал это
Vector v_forward;
UTIL_MakeVectors( m_pPlayer->pev->v_angle + gpGlobals->v_forward );
__________________
илья
__________________
Мой мод на Xash
да все я другой код поставил даже лучше прежнего теперь моя пушка настоящими молниями бьет
Добавлено 09-11-2022 в 16:30:
поставил эвент от гауски и изменил под молнии
Добавлено 09-11-2022 в 16:32:
этот код он создаёт такие слабенькие молнии не массивные
Добавлено 09-11-2022 в 17:00:
Что ж, хотелось бы выдохнуть с облегчением, сказать, что я все баги в своем моде исправил. Но нет, еще один остался.
эти TE_SPRITETRAIL почему то разучились летать нормально как это исправить ?
__________________
илья
2 файл
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну в гауссе они же нормально летают?:не в гаусе в плазменной винтовке
Добавлено 09-11-2022 в 17:36:
в гауссе если ты про это балы то да норм летают но они в эвентах прописаны
Добавлено 09-11-2022 в 17:37:
как их из евентах вызывать я не совсем понимаю
Добавлено 09-11-2022 в 17:39:
хотя если покопаться подольше в гауссе может что то и нарою из этого
Добавлено 09-11-2022 в 18:16:
PLAYBACK_EVENT_FULL( FEV_NOTHOST, edict(), m_usPlasma, 0.0, (float *)&g_vecZero, (float *)&g_vecZero, 0, 0, 0, 0.0, 0, 0.0 );
как этот эвент заставить вызывать через оригин гранаты ? у меня он вызывается на оригин карты
Добавлено 09-11-2022 в 18:16:
гранаты то есть плазмы
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
не FEV_GLOBAL ставил не работает
Попробуй назад открутить тоже не работает
Добавлено 09-11-2022 в 18:52:
мда с TE_SPRITETRAIL здесь конкретные проблемы
Добавлено 09-11-2022 в 19:59:
ееее пошло дело пошло исправляю баг да
Добавлено 09-11-2022 в 20:04:
мда правда есть один минус в этом способе размер спрайтов маленький
Добавлено 09-11-2022 в 20:05:
хотя ладно пойдет что есть то есть
Добавлено 09-11-2022 в 20:28:
класс исправил работает как надо
Добавлено 09-11-2022 в 22:22:
мдаа не думал что столкнусь с такой проблемой звук не воспроизводиться !
EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/fatrongrenade/hl2ep1citadelexplosion.wav", 1, ATTN_NORM);
функция вроде нормальная точно такие же там стоят нормально воспроизводятся наверное проблема со звуком или нет ?
Добавлено 09-11-2022 в 22:32:
дядя миша а ты уверен что ксаш баги видит может он сам баганутый это как минимум странно такое видеть что все звуки норм воспроизводятся а этот нет
Добавлено 09-11-2022 в 22:40:
я конечно не знаю поможет ли это или нет но вот сам звук может там есть ошибка хотя вряд тли
https://disk.yandex.ru/d/UiDA_iCUOpLxyw
__________________
илья
Частота дискретизации - 48 килогерц. Переконвертируй в 44100 хотя бы.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
Ну вот, за полдня всё исправил, а говорил - сто тысяч миллионов багов.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
ну теперь то да все ксашовские баги я исправил
Добавлено 10-11-2022 в 00:39:
Но все таки давай признаемся, что он все таки глюканутый. У меня он иногда вылетает, ошибки выдает. Не постоянно конечно, иногда кнопки на клавиатуре не всегда работают. это уже баги. Ксаша. Не моего мода.
Добавлено 10-11-2022 в 01:08:
ксаш еще и проигрывает сам атаку выстрела без разрешения мыши ну и как это понять ?
__________________
илья
Ну значит не все баги ты исправил.
Можешь еще попробовать Xash FWGS, там предиктинг должен лучше работать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
в принципе эти баги в игре особо сильно не мешают можно и забыть про них
Добавлено 10-11-2022 в 12:22:
как сделать не убиваемого монстра ? ничего не получается ставил 100000 хп бестолку
Добавлено 10-11-2022 в 12:29:
а здоровье монстров обязательно надо через gSkillData делать ?
__________________
илья
Посмотри код Gman
да кое что есть в TakeDamage
Добавлено 10-11-2022 в 12:43:
найс сработало спасибо
Добавлено 10-11-2022 в 12:47:
да как хорошо что в халф лайф есть такой не убиваемый монстр под названием gman
__________________
илья
кто знает можно ли в исходниках ставить вот такие числа>1000000000000 ?
Добавлено 11-11-2022 в 01:10:
это у нас триллион
Добавлено 11-11-2022 в 01:21:
я вот знаю что в java кодинге можно ставить и трилион и квантилион квадриллион а здесь все таки к сожалению есть кое какие ограничения по цифрам миллиард и все а дальше компилятор выдает ошибку. Но можно ли это ограничение снять ?
__________________
илья
Я вот никогда не делал моды, но не понимаю, как можно делать моды, не зная основ с++
https://metanit.com/cpp/tutorial/2.3.php
Хотя бы эту ссылку открой и читай до просветления.
__________________
Углеродные звезды с древними спутниками, которые колонизируют разумные грибы...
Газовые гиганты, на которых обитает метеорологический разум...
Миры, растянутые на мембранах, где измерения пересекаются...
Это невозможно описать нашим ограниченным языком...
а вот так оказываться можно если хочется сильно
Добавлено 11-11-2022 в 16:34:
честно прочитал ничего не понял
Добавлено 11-11-2022 в 16:35:
есть про байты биты наверно надо сначала это понять
Добавлено 11-11-2022 в 16:38:
мдаа и как это понять ? https://ru.wikipedia.org/wiki/%D0%9...%BA%D0%BE%D0%B4
Добавлено 11-11-2022 в 16:38:
вообще не в тему
__________________
илья
илья2 а зачем тебе сто тысяч миллионов? Ты хочешь записать госдолг США?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
ну это да я по приколу такие большие цифры пишу
Добавлено 11-11-2022 в 16:48:
вооот смотрите какое больше число 1000000000000000000000000000
Добавлено 11-11-2022 в 16:49:
было бы прикольно такие цифры большие ставить
Добавлено 11-11-2022 в 16:52:
а компилятор мне ошибку выдает что такое число ставить нельзя вот и обидно стало
Добавлено 11-11-2022 в 17:22:
ага вот как прописывается long
long b = 1000000000;
b это уже само число
Добавлено 11-11-2022 в 17:22:
начинаю понимать немного
Добавлено 11-11-2022 в 17:26:
мда печально "длинный", за которым следует "длинный", является незаконным
Добавлено 11-11-2022 в 17:31:
error C2177: constant too big
Добавлено 11-11-2022 в 17:34:
даааааа сработало круто прописал вот эту функцию:
float num3 = 1000000000000000000000000000000.0f;
Добавлено 11-11-2022 в 17:43:
ай ладно забуду ничего у меня не получиться куча ошибок компилятор выдает
__________________
илья
__________________
__________________
илья
почему под TakeDamage нельзя делать radiusdamage ставлю radiusdamage монстр просто зависает и все
__________________
илья
Доброго времени суток!
Несколько вопросов:
1) Хочу доработать зомбаков - чтобы при смерти игрока они шли его жрать (технически проигрывая victory_dance ивент). По идее это сложно реализовать, ведь нужно определять радиус в котором все monster_zombie почуят хрючево и начнут сбегаться к игроку. Я пробовал стащить аналогичную тему у буллсквида, но ничего не вышло.
2) Как сделать у оружия анимацию "первого подбирания"? Ну то есть находит игрок новое оружие и проигрывается единожды анимация, как он его осматривает или там пафосно затвор взводит, итд.
3) Как реализовать смену сабмодели рук у оружия? Слишком ли это заморочное дело? Вроде в спирите такое есть но мне весь функционал этого мода не нужен
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 | } |
__________________
я Z
Подскажите где можно почитать тутор по вгуи, помню были на хл.ру, а сайт уже давно лёг на покой
__________________
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.
__________________
я Z
__________________
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.
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 | } |
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); |
__________________
я Z
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); |
Легко же ты сдался...
TRACE_TEXTURE в TEXTURETYPE_PlaySound возвращает нулевой указатель при ударе монтировкой по скайбоксу. Это нормально?
Хотел проверить на удар по скаю, но вот не вышло. Или возвращение нулевого указателя и есть сигнал о том, что попали в скай?
Ради интереса даже заглянул в код XDM и нашёл там коммент
code:
pTextureName = TRACE_TEXTURE(pEntity->edict(), vecSrc, vecEnd);// BUGBUG: at some strange angles this shit fails and returns "sky"!!
__________________
I'm on github
I'm on opendesktop.org
FreeSlave помнится, в стародавние времена, когда я пользовался 2003-й студией и SDK 2.3, компиляция и в дебаге, и в релизе давала такой результат, что TRACE_TEXTURE возвращала что-то такое, из-за чего тип материала не определялся. Будто бы текстура не прописана в materials.txt.
https://hlfx.ru/forum/showthread.ph...4491#post144491
Там сама система материалов немного бажная, вот и глючит.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Так материалы ни при чем. Вопрос о движковой функции pfnTraceTexture и определение ская.
__________________
I'm on github
I'm on opendesktop.org
как сделан основной crosshair из dmc ?
пробовал найти любые ресурсы по этому ничего не нашел
__________________
илья
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
а ну теперь понятно он вырисовываться как отдельный худ
Добавлено 06-02-2023 в 09:04:
все спасибо теперь этот код можно в свои исходники ставить
__________________
илья
Здарова всем, играл как-то с друзьями в л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.
точечные энтити, выполняющие роль брашей будут нагружать карту( по сравнению с обычными брашами)? и кста , есть источник света, чтоб его не надо было компилить(энтитя источника света, свет этот не компилится а накарте отображается)?
Какие то попытки создать вечный двигатель.
И чтоб ресурсы не ело, и чтоб мильён полигонов. Бесплатно.
Не, это так не работает.
Это вроде как плагинами делают, AmxMod и всякое такое.
Ну или ремейк карты с нуля делай. Либо по декомпилу, либо ищи исправленный декомпил, если карта популярная.
как скомпилировать исходники 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 ../
но безрезультатно выдает ошибки
__________________
илья
илья2 ветка Decay в hlsdk-portable недоделанная (и пока вообще заброшенная). Не пытайся её использовать.
Сорцы, выложенные самим разработчиком, содержат проект под старые версии Visual Studio. Мб в студии конвертация проекта сработает.
__________________
I'm on github
I'm on opendesktop.org
В последнее время я стал часто сталкиваться с некорректным воспроизведением анимации у вставленной на карту модели. Анимация воспроизводится рывками, кадры проскакивают. Но дело в том, что сама анимация зациклена и не имеет швов. Изменение значения framerate у cycler_sprite или fps в qc файле модели изменяет характер бага.
https://youtu.be/SSbUEfq-1ps
Опытным путем пришел к тому, что скорость воспроизведения анимации следует задавать в qc файле модели, а при размещении модели с анимацией на карте значение framerate должно быть равно количеству кадров анимации модели. В таком случае анимация воспроизводится практически корректно, но прыгающие кадры все еще имеют место.
Менее наглядное видео (таймкод)
https://youtu.be/5jD2j4DxZbs?t=92
Что можно предпринять, чтобы анимация всегда воспроизводилась корректно?
А 200 фепсов не многовато для голдовой модельки? Попробуй поднимать фреймрейт от 30 и смотреть, когда начинает проявляться. Как бы там от тикрейта сервера и клиентского фпс не было зависимости еще.
Пробовал множество значений framerate от 0.01 до нескольких тысяч. Также и с fps в qc. Больше всего тестов с framerate провел со значениями 1, 10, 30 и 60.
Количество кадров в самой анимации также менял. В основном 30, 60 240 кадров. Но на полное решение проблемы это не влияло.
А у тебя точно кейфрейм верно в анимации стоит? Частая ошибка такая, что последний кадр анимации равен первому, а от этого естественно получится как-будто анимация подергивается. Ну условно, у тебя шарик должен повернуться на 360 градусов за 360 секунд, стало быть за последнюю секунду шарик должен стремиться к начальному положению, но не достигать его.
Добавлено 19-04-2023 в 23:59:
Во вьюере-то оно как себя ведет?
В анимациях некоторых моделей передвигаю последний кадр за пределы таймлайна на один кадр. В этой модели я так не делал, мне было достаточно убрать интерполяцию между последним и первым кадром для плавной цикличности анимации. Во вьювере анимация отображается нормально, если значение фпс выставлено не мизерное(в противном случае вращения не будет). В Blender анимация отображается корректно.
Этот рывок происходит в 100% случаев? Если просто стоять и смотреть на модель.
__________________
Мой мод на Xash
Да, но он не слишком критичен, поскольку всего один за несколько минут.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну его не стоит ставить менее 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'
Если скорость воспроизведения выше общего фреймрейта, то кадры и будут перескакивать, естественно.
У одинарного вещественного точность не бесконечная, а в голдсорсе фреймрейт не квантизирован, в отличие, от сорса, например.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
кстати, что там с анимироваными текстурами? лимиты повышены или как голдсорсе? а можно туда вообще видева запихнуть?
erfty
Видева без звука - как водка без пива!
__________________
а если гифка??
Вопрос - как определить энтитю локального игрока так, чтобы быть уверенным, что это энтитя именно мы, а не кто-то другой?
Поясню: у меня есть боты на сервере. Есть визуальный эффект на экране, который зависит от значения gEngfuncs.GetLocalPlayer()->curstate.vuser1.z. Пока я в игре - все хорошо. Но если я зайду в спектаторы (становлюсь невидимым, несолидным и т.д.) я иногда вижу этот эффект на экране, когда у какого-то бота, по всей видимости, изменилось это значение (ведь он тоже игрок).
В моем понимании выходит, что GetLocalPlayer возвращает мне локального игрока, а т.к. я в спеках и как бы "не совсем игрок", он подсовывает данные бота, ведь он локальный.
__________________
Мой мод на Xash
Aynekko режим спектатора - это когда подключаешься к HLTV Proxy. Прокси, по сути, такой же клиент, подключенный к серверу. А вот подключенные к прокси - уже не клиенты, а зрители-спектаторы. А "зайти в спектаторы" - перейти в режим обсервера. Игрок остаётся таким же подключенным клиентом, так же занимает слот на сервере, и к нему применяются все те же правила, что и к другим клиентам. Единственное, работает фильтр по pev->iuser1, отсекая всё ненужное и добавляя нужное. Чтобы у тебя не вылезал эффект, когда ты обсервер, добавь проверку на g_iUser1. Можно пойти дальше, и рисовать чужой эффект при наблюдении от первого лица. Через g_iUser2 можно получить индекс наблюдаемого игрока, а после его vuser1.z.
Добавлено 27-04-2023 в 18:17:
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Можно ли в хлсдк прямо в коде создать обычный куб вместо использования модельки?Хитбокс то можно создать а я вот иемнно про визуальную часть.
erfty вопрос: зачем? Чисто теоретически можно, да, теоретически можно что угодно, а на практике чорт его знает.
__________________
И главное, Артём, помни: не ешь желтый снег!
erfty ну посмотри как рисовать командами типа GL_QUAD, GL_TRIANGLE (точно не помню) главное координаты вершин и ювишки текстур корректно задать.
Стало интересно могут ли кнопки в хл иметь две функции, то есть на примере перезарядки если просто нажать R то играет анимация перезарядки, а если зажать то отображается менюшка или что-то другое
erfty так д3д же автоматом транслирует, нет? Я не разбирался.
Добавлено 06-06-2023 в 07:48:
__________________
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.
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.
HUD
Как сделать "изогнутый" HUD, как в Crysis 2/Cyberpunk 2077/ULTRAKILL?
Deadlocked1337 Скорее всего он рендерится в отдельный буфер и искажается шейдером.
Он там наверное в 3D рендерится, но с отключённым тестом на глубину.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Visual Studio
Есть ли какая-то особая версия Visual Studio, которая умеет компилировать код Paranoia 2?
Шестерка Corporate c процессор-паком.
Всем привет! Сделал свою карту c расширением *.bsp в hammer, теперь появился вопрос - как в неё поиграть?
Nitrw ну допустим сделал ты карту в формате BSP. Теперь вопрос: для какого движка?
__________________
И главное, Артём, помни: не ешь желтый снег!
А почему при спрыгивании с каната игроку дают инерцию через AbsVelocity, а не через BaseVelocity?
Кто его знает. Может так в опфоре было.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
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 );
Хм, ну если вызвана функция Touch, значит игрок уже дотронулся до веровки.
В противном случае, как бы она вызвалась?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша Я посмотрел, по-моему её никто не вызывает. Ну то есть изначально, так-то она сама может вызвать себя.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша А можно как-то сделать чтоб такие вещи в поиске Студии показывались?
Разумеется нет. Про такие вещи даже компилятор не знает. Только в рантайме.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
У меня сразу несколько вопросов.
1. Как скомпилировать исходники п2? Компилятор упорно останавливается на 59%.
2. Как выдернуть код худа из п2? Думаю вместо него поставить худ из хл1.
__________________
Leaving this world isn't as scary as it sounds.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша, батник, что был в комплекте с кодом.
Прерывается на
__________________
Leaving this world isn't as scary as it sounds.
Я никакого батника в комплекте с кодом не прикладывал.
Это вопросы к тому, кто приложил.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Наконец-то раздуплил физический смысл брать текущий момент времени, прибавлять к нему и сравнивать. То есть мы как бы отмечаем момент в будущем, ок.
По какому принципу код игрока делится на пре-тчинк и пост-тчинк? Например почему канат именно в претчинке? У меня сложилось впечатление что в претчинке мы ставим какие-то флаги в основном, а в пост-тчинке по ним уже действуем.
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'
Дядя Миша ну а с точки зрения этой симуляции в чем разница перед или после что-то делать? Это сделано потому что одни процессы физичные, а другие - нет?
Ну допустим ты делаешь что-то такое и хочешь чтобы симулятор физики это учёл уже прямо на этом кадре. Значит надо делать в 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'
Здравствуйте. Хотелось бы получить информацию по следующему вопросу.
После уменьшения размера хулла игрока в 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 )
Можно ли решить это на стороне сервера?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Как сделать printf в матчлибе? Там ниче не работает.
Бывает ли что перпендикуляр к прямой косячит? У меня персонаж движется по прямой, и постоянно ищет перпендикуляр к ней. До точки пересечения с прямой разрешено некое расстояние, так что это как бы цилиндр. Скорость небольшая, что-то вроде 5-10 юнитов за кадр. И вот хотя по длине ему остается 20-25 юнитов, персонаж внезапно выпадает из этого объема.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша матчлиба в ксашмоде.
А зачем тебе выводить сообщения непременно внутри самой матчлибы?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Разобрался, там оставалось магическое число 999 а сегмент рельсы был 1024
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; } }
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'
Дядя Миша 999 было на месте 1024, там вон коммент есть.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
Накапливается. В коде игрока (player.cpp) у меня каждый кадр что-то прибавляется к скорости. И если открыть консоль то видно что значение продолжает отбиваться и за пару секунд доходит до 2000, т.е. игра замерла но код игрока все ещё продолжает выполняться.
На клиенте это решали проверкой pparams->frametime потому что он обнуляется при паузе. Но на сервере оно не доступно, а gpGlobals->frametime на паузе не обнуляется.
Но если консоль открыта, игрок же всё равно не двигается. А когда консоль закроется, это будет сброшено.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша Любопытно какие механизмы могут существовать которые будут сбрасывать. Потому что на сервере вообще нет ничего связанного с паузами и консолями. Если я неправильно написал код мне бы понять как правильно, может быть надо его в playermove вместо этого пихать?
Добавлено 20-08-2023 в 22:01:
а 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'
Дядя Миша О, обнуляется, спасибо. Интересно почему у него точность только три знака, а потом идут нули.
Почему игрок на которого применили SetAbsVelocity при движении как-то покачивается по синусоиде вверх-вниз как на волнах? Как будто всего на несколько юнитов.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Может это какой-нибудь CalcBob чудит?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Никак не могу понять, как можно передать строчку текста на клиент. А точнее, прописать в keyvalue энтити текст и потом, зная индекс энтити, получить его на клиенте. Я хотел попробовать ALLOC_STRING и получить id строчки на клиенте, но у меня в клиенте нет такой функции.
__________________
Мой мод на Xash
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'
Вопросец, а можно-ли в MP при смене карты сохранить весь инвентарь игрока как это происходит в сингле? Бегло покопал форум и гуголь, ничего не нашёл, подозреваю просто где-то кусок из сингла в мультиплеер перенести, направьте по верному пути плз.
В принципе можно, но халфа на такое не рассчитана, поэтому парой строк кода тут не отделаешься, придётся заморочиться. В том же квейке подобное было сделать куда как проще. Да оно там и работало - в кооперативе.
Вообщем надо выделить некоторое место и сохранить туда информацию о броне, здоровье, патронах и пушках для каждого игрока. А при заходе на новый уровень - дать всё это игроку. Какая-то глобальная структурка нужна где всё это держать во время смены уровня.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
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 | }; |
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 | } |
Сохранять надо перед вызовом 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'
Перенёс в PlayerSpawn загрузку параметров, ох и долго-же я себе голову ломал...
По какой-то причине игре немного насрать на тот ChangeLevel что в multiplay_gamerules.cpp, перенёс сохранение в trigger.cpp и всё заработало , спасибо за помощь, пошёл допиливать код в адекватное состояние.
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
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'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Как временно отключить гравитацию конкретно игроку? Чтобы он не дрейфовал вниз когда его передвигает SetAbsVelocity. Просто выставить мувтип fly не срабатывает.
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'
Решил ради тестов попробовать портануть модельку солдата из Q2 под ХЛ, столкнулся конечно-же с проблемой вертексной анимации и перегоне её в скелетную, чёт вспомнил о QR и QW, покопал их подфорум, ничё по этому поводу внятного не нашёл, ну неужели ничего внятного за все эти годы никто не придумал и нужно по классике ручками костылять модель в Т-позу и потом клеить на неё скелет из ХЛ или и того хуже - запиливать код вертексной анимации?
А что тут можно придумать внятного? Вертексная анимация получается путём запекания скелетной, т.е. это конвертация с потерями.
А то что утеряно уже никаким алгоритмом обратно не восстановишь, разве что нейросетью, которая лепит отсебятину, похожую на правду.
Добавлено 08-10-2023 в 16:11:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
В дикее был индикатор состояния перса (в т.ч. и на пк), типа прыгаешь, стоишь, сидишь, решил добавить его к себе, полез в исходники пк-порта и таки нашёл нужный файл ( https://github.com/hoaxer/Half-Life...l_dlls/mode.cpp ), перетащил весь связанный код к себе, запускаю и что вижу? Лишь фонарик, прикол в том что если убрать спрайты для него из hud.txt - появляется новый индикатор, фонарика естесна нет, что это такое и как быть не понимаю.
UPD. подкинул hud.txt из дикея - всё заработало, потом добавил строчки индикатора ровно туда где и в дикее - тоже заработало, максимально странная шняга.
if (игрок->pev->weapons & (1<<WEAPON_ОРУЖИЕ); |
Смог реализовать, но чуть иначе, переменная где-то вообще оказалась не нужна, в класс обычной пушки добавляю AddDuplicate в котором через pOriginal->m_pPlayer получаю игрока и уже проворачиваю всё что мне нужно, только вот теперь единственно нужно вот это:
code:
if (игрок->pev->weapons & (1<WEAPON_ОРУЖИЕ);
Из флагов блокирующих гравитацию игрока, ONROPE и ONTRAIN бесполезны, а ONBARNACLE ломает код из SetAbsVelocity и SetAbsOrigin.
Гравитация почему-то пересиливается только юзанием обоих этих команд, иначе будет медленное сползание по нескольку юнитов за кадр. Раньше я думал что это гравитация просто применяется после SetAbsVelocity чтобы программисту не нужно было думать про неё лишний раз, но теперь я хз.
Не пойму, почему у тебя 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'
Под ксашем
Я еще не пробовал делать ответвления в PM_ функции и там подменять.
Я сувал туда дебаг, он писал что вычитает 6.4 из pmove->velocity[2]
Гравитация была обычная 800, за один кадр 13, ну и там она по половинкам получается 6
вообщем зануляй гравити у игрока и всё должно работать.
Прямо в классе игрока 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'
Обнаружил что в переиздании второй кваки (вот внезапно) все модельки пересадили на кости в формате md5, сгенерил одной утилитой из этой модели smd для компиляции, а вот как для неё написать qc не знаю, дайте какие-нибудь статьи о компиляции моделей для монстров, ничего похожего не нашёл.
Тут статьей не обойтись. Тут целое дело. Я даже studiomdl дорабатывал, чтобы собрать эти модельки в формат халфы.
Может как-нибудь попозже напишу об этом. Но те модельки которые вы видели в сентябрьской демке - это тоже скелетка из ремастера, но уже первой кваки.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
На тебе примерчег QC.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Скомпилил модельку, пришлось немного с qc-шкой пошаманить (некоторых костей не было в том, что выплюнул Noesis), а также текстуру отзеркалить по вертикали т.к. uv-мапа не сходилась, моделька даже под FWGS завелась, единственно солдатик больно уж карликовый получился, но не страшно, со скейлом пошаманить и нормалёк.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Попробовал перенести супершотган, вышло неплохо и быстро (модель за 5 минут буквально перекомпилил), с монстрами беда т.к. попробовал налепить солдата на грунтов и они кроме как очень криво стрелять и дохнуть ничего не могут, даже ходить, а так хоть щас садись и делай Q2Remake.
С ходьбой беда - эти анимации не содержат 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'
code:
if (pmove->gravity) ent_gravity = pmove->gravity; else ent_gravity = 1.0;
Не на шесть, а на девять. Там не приключения. Есть вью-англес, они следуют за мышкой и есть просто англес, у которых питч поделён на 3, эти ориентируют тушку игрока. Пришло из кваки, понятное дело. В халфе это в принципе было уже не нужно, там тушку можно было ориентировать анимациями, но всё равно оставили. А вот в хл2 по идее этого уже нет.
Добавлено 19-10-2023 в 18:31:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Делаю наклоны из за углов как в Сталкере, сделал прототип чисто наклоняющий взгляд на 30 градусов в input.cpp, как оказалось одного наклона камеры недостаточно, как можно сместить камеру? В view.cpp это сделано через изменение vieworg в pparams, может как-то можно его получить? Также думаю как можно интерполировать значение наклона камеры чтобы наклон был плавный.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Прилипание игрока к полу
Подскажите, как можно убрать "прилипание" игрока к полу по время FlyMove и NoClipMove? Подобный эффект можно наблюдать в режиме спектатора, особенно в кс 1.6, когда в летите прямо, у вас под ногами наклонная поверхность, и вы в итоге летите не прямо, а "скользите" по поверхности вниз. Можете проверить на de_dust2. Но если на режим спектатора мне глубоко начихать, то вот после уменьшения скорости передвижения по лестницам, при малом PITCH игроку не хватает скорости, чтобы отлипнуть от пола и начать подниматься, что меня очень огорчает. Фиксил кто-нибудь такое?
__________________
Никогда не поздно сделать мод под хл1
Sigurth я такое замечал на ксашмоде в начале 2020 когда игрался с переносом уровней из хл2, но Дядя Миша меня толи не понял, толи не поверил.
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
Было:
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(); |
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 | } |
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 | } |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
я хотел написать Vector c = array[ (byte)(a*b) ]
а написал Vector c = array[ (byte)a*b ]
И у вектора отдельно компонент x запортился. Не выдался неверный элемент, не запортился весь вектор, а только один компонент. Странно.
nemyax Массив с положительными и отрицательными ячейками, чтобы знать какие рельсины впереди а какие позади тебя. Не все, просто пара ближайших. Один множитель это индекс -2 -1 1 2, другой это направление 1 -1 по или против нумерации. Ну а байт это переполнение буфера чтобы -1 стало 255.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша я ищу ее один раз когда игрок запрыгивает, сравниваю его вектор скорости с вектором данного сегмента.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
где можно найти нормальные исходники half-life 2 ? и какой программой их надо комплить ? пробовал сам найти исходники но они нормально не компилятся
__________________
илья
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
а какой программой компилить ?
__________________
илья
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
в общем пишет ошибку 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> его просто нету. Мда в общем постоянные заморочки
__________________
илья
илья2 держи сдк
https://mega.nz/file/UfRhyLRC#v5VUL...0AijoX86LqKKDY8
__________________
илья
илья2 так мож у тебя на диске места не хватает? Проверь сколько у тебя свободного места на диске С.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
27,1 гб осталось это что разве переполнен ?
__________________
илья
илья2
Попробуй от имени администратора запустить, возможно винда блокирует доступ к диску.
Вот твоя ошибка:
https://stackoverflow.com/questions...k-to-0x5a57bebc
Зайди в Project Settings->Librarian->Command Line->Additional options и добавь /expectedoutputsize:600000000 в линкер.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
и добавь /expectedoutputsize:600000000 в линкер:не работает
Добавлено 30-01-2024 в 11:49:
от имени администратора запустить:тоже не работает
__________________
илья
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
вот:https://imgur.com/a/YawjhRF
Добавлено 30-01-2024 в 13:18:
и все таки я не понимаю как такой крутой мод как overcharged мог быть сделан ? если даже обычный пацан как я не может нормально исходники half-life 2 скомпилить и немного их переделать. Или у разработчика свои секреты есть
__________________
илья
Попробуй в 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'
илья2
а какая у тебя версия студии?
И проверь чтобы у твоей папки с СДК не стояло атрибута "только чтение".
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
илья
илья2 судя по всему утебя там промежуточные файлы в проекте друг друга перезаписывают потому что оно все в одной папке. Может просто перейди на Эп1 или орандж бокс.
__________________
илья
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
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
__________________
илья
К хл2 наплодили кучу версий движка, там всё несовместимое.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
илья
Искать новый SDK или старую версию движка, под которой эта библиотека заведётся.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
илья
мдааа попробовал я твой способ после компила вот такая абра кадабра вылезает:https://imgur.com/a/r7j7o47 я даже не знаю что это такое может проблема что я стимовский half-life 2 запускаю или надо что то другое запускать ?
Добавлено 03-02-2024 в 15:38:
кажется я начинаю понимать это дебаггер он предупреждает об ошибке в директории game_controls/base игра работает запускается но худ в костюме работает неправильно все патроны здоровье энергия костюма куда то заноситься в угол.
Добавлено 03-02-2024 в 15:56:
только я не пойму а на какой объект ссылается дебаггер ? base.cpp такого файла нету.
__________________
илья
В каких случаях SetObjectCollisionBox должен отличаться от размера, выставляемого в UTIL_SetSize?
И ещё. Моё давнишнее наблюдение, в сути которого я, однако, не копался. Если у прожектайла ненулевой размер, то он не будет попадать в модельку за пределами размера, выставленного через UTIL_SetSize. Для корректной работы нужно увеличивать размер, дабы он покрывал всю модельку. Пример: гаргу в ХЛ выставляется размер такой же как у агрунта. Из-за этого прожектайлы с ненулевым размером пролетают сквозь модельку (если не стрелять по ногам). Прожектайлов с ненулевым размером в ХЛ вроде как нет, но могут быть с кастомным кодом. В опфоре таковыми являются снаряды шокроача. И в опфоре выставляемый размер у гарга действительно увеличен для соответствия геометрии модельки.
Собственно, как определяется столкновение? Какую роль играет размер монстра и хитбоксы его модели. И в чем особенность проверки столкновения у прожектайлов с нулевым размером? Чисто из наблюдений получается, что движок для энтить с ненулевым размером сначала проверяет столкновение по размерам и в случае успеха проверяет дополнительно хитбоксы, иначе - столкновения не происходит. А для энтить с нулевым размером трасса, должно быть, работает иначе, и сразу "попадает" в хитбокс.
__________________
I'm on github
I'm on opendesktop.org
absmin и absmax - это размеры ббокса, с которыми объект линкуется в дерево. Они очевидно не должны быть меньше реального размера, заданного в SetSize. Но могут быть больше. Например для ротатаблей.
Ротатабля же неизвестно в какую сторону крутится - можно взять её общий радиус. Чтобы другой предмет гарантированно в ней не застрял.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
I'm on github
I'm on opendesktop.org
Я уже не помню точно как это в халфе использовалось. Были какие-то отличия от кваки.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Меня смущает эффект от команды r_drawentities 5. У игрока кубик ААББ и он вращается но при этом как будто коллидит без учета вращения. Я думал только в КС хулл игрока вращается?
Не-не, это не колоизационный хулл.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
del
__________________
Xash3D FWGS форк
XaeroX типа, поэтому якобы проходит в неаксиальные коридоры Уже чем 32.5*1.4142. Хотя наверное это просто учёт нормалей при надувании хулла.
Это чисто визуальный эффект, он не имеет никакого отношения к коллизии.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
В фитцквейке нельзя обновить 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
Мастера? Конечно можно. Он просто к нам на форум принципиально не ходит, наверное, мы его чем-то огорчили.
__________________
XaeroX он всё ещё дрочит свой XDM и маппак?!
я думал разочаровался во всём и потому ушёл. Но видимо разочаровался он только в нас.
Что делать если шестерка зависает где-то на стадии проверки ошибок?
Какая шестёрка? Студия? У компиляции нет фазы проверки ошибок.
Ты что-то путаешь.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша В общем я жму F7, курсор песочные часы и студия перестает реагировать на клики. И нагрузка на проц даже не повышается.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Странно. Не приходилось с таким сталкиваться. Это любой проект так?
Добавлено 12-03-2024 в 10:07:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Ну у более новых студий ещё какие-то приколы будут.
Мне работать надо, а не воевать с чужими глюками.
Добавлено 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'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Я уже не помню что там в квейке. Сам ковыряет и меня спрашивает
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Можно ли маппать под HL в каком-нибудь радианте? Чтобы вадники открывал и текстуры показывал? Volatile-Radiant тот же?
Мне просто нравится что в радианте не надо край браша мышкой ловить.
Вот это я нашел https://hlfx.ru/forum/showthread.php?s=&threadid=3717 но про текстуры там не сказано.
VGUI и Кириллица
У вгуи на клиенте есть SchemeManager, который способен грузить шрифты из винды, что он собственно и делает, но при появлении в тексте кириллицы всё идёт к чертям, и такое ощущение что при загрузке шрифта кириллица просто не грузится.
__________________
И главное, Артём, помни: не ешь желтый снег!
Со шрифтами я разобрался и кириллица есть, но теперь другая проблема: буквы наезжают на буквы
__________________
И главное, Артём, помни: не ешь желтый снег!
hgrunt_2020 Прочитал "Продажа" как "Подска>ка"
hgrunt_2020 для русского языка кернинг нормально не работает.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша если он не работает, то что тогда делать?
__________________
И главное, Артём, помни: не ешь желтый снег!
Ничего там не сделаешь. Не юзать VGUI, например. Или поискать кастомную библиотеку VGUI, кажется ребята из FWGS такую делали.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 13:52. | Страницы (2): « 1 [2] Показать все 3892 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024