Sidebar

[HL] Выпадающие Магазины

  • Рекомендуется задавать вопросы только относительно темы с уроком. Для остальных вопросов существует раздел [url=/forums/pomosch.12/]«Помощь»[/url].

    Темы с просьбами помощи будут удаляться без предупреждения и без объяснения причины.

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

PoD-Stas

Lolwhat? 0.o
VIP
29.04.2007
3 497
33
Ну да все правильно, я просто забыл удалить анчало int. Скоро напишу более подробно по-поводу озвучки, надеюсь)
 

PoD-Stas

Lolwhat? 0.o
VIP
29.04.2007
3 497
33
ZhekA сказал(а):
Если еще обратить внимание на Мафию, то в ней, если после перезарядке оружия в обойме были патроны, то пропадали. =) Как это сделать в хл1 ? =)
По просьбам трудящих, написал дополнение. Не правда ли, довольно глупо смотрится, когда в самый разгар боя игрок перезаряжает магазин, и патроны которые в нем оставались, внезапно появляются в общем комплекте патронов)
Избавиться от этого довольно просто:

Находим в weapons.cpp функцию void CBasePlayerWeapon::ItemPostFrame( void ) и заменяем в ней строчку
Код:
m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= j;
на
Код:
m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= iMaxClip();
Все! Компилируем, наслаждаемся)
 
Последнее редактирование:

Lev

Member
09.12.2011
109
31
А как сделать, чтоб если магазин пустой - то падала одна модель - пустого магазина, а если при перезарядки в нём оставались патроны, то другая - с патронами?
 

PoD-Stas

Lolwhat? 0.o
VIP
29.04.2007
3 497
33
Ух, еще кто-то пользуется этим =)

Смотри, что б весь код не переписывать, можно глобальную переменную добавить, а далее, уже в функции SpawnClip вместо строчки
Код:
m_iClip9mm = PRECACHE_MODEL ("models/w_9mmclip.mdl");// ставим модель магазина.
написать условие по типу:
Код:
if (iТвояГлобальнаяПеременная_Говорящяя_О_том_Что_Магазин_Пуст)
	m_iClip9mm = PRECACHE_MODEL ("models/Модель без патронов.mdl");
else
	m_iClip9mm = PRECACHE_MODEL ("models/w_9mmclip.mdl");
 

SuhariGG

КМС по КСМ
28.02.2010
1 371
33
6
38
Ага, а еще сделать модели на случаи разного количества патронов...
 

Lev

Member
09.12.2011
109
31
Извини, но я абсолютный нуб в кодинге - как добавить эту глобальную переменную? И как она должна выглядеть?
 

Kolder

New member
06.08.2019
11
0
1
У меня ошибку выдает
1>c:\users\user\downloads\hl_code_vc_2008\src_dll\dlls\wpn_shared\hl_wpn_glock.cpp(189) : error C3867: 'CGlock::SpawnClip': function call missing argument list; use '&CGlock::SpawnClip' to create a pointer to member
 

Ku2zoff

Member
12.08.2010
322
34
21
18
У меня ошибку выдает
1>c:\users\user\downloads\hl_code_vc_2008\src_dll\dlls\wpn_shared\hl_wpn_glock.cpp(189) : error C3867: 'CGlock::SpawnClip': function call missing argument list; use '&CGlock::SpawnClip' to create a pointer to member
Тебе компилятор чистым аглицким языком пишет, что у вызова функции отсутствует список аргументов. Происходит это потому, что старые версии студии (до VS 2005) такие неявные вызовы переваривали без проблем. Но затем, майкрософт ВНЕЗАПНО решили придерживаться стандартов. Короче говоря, надо делать вызов с указателем на конкретный класс. Потому что у разных классов аргументы функций могут отличаться, и не только по логике компилятора.

Было:
Код:
SetThink( SpawnClip );
Стало:
Код:
SetThink( &CGlock::SpawnClip );
Такие мелкие неприятности в своё время были для многих новичков головной болью при попытке собрать HLSDK 2.3 версиями студии, новее VS .NET 2003. Ксер даже выкладывал исправленную версию. Сейчас уже не актуально, конечно, т.к. версия HLSDK с гитхаба лишена этой болячки. И компилится VS 6.0. То есть обратная совместимость есть.
 
Последнее редактирование:

gabataka

New member
01.02.2018
11
0
1
Неужели никто не сталкивался с тем что игра вылетает когда переходишь на другую карту, пока обоймы лежат?
 
Последнее редактирование:

*azabetfen*

Well-known member
02.03.2010
2 785
33
210
63
ugu
  • Серебряная медаль RC
  • Золотая медаль 115
  • Золотая медаль 145
Не, не вылетало!
Подумав, добавил:

Неужели никто не сталкивался с тем что игра вылетает кога переходишь на другую карту, пока обоймы лежат?
Можешь видео показать? :unsure:
 
Последнее редактирование:

gabataka

New member
01.02.2018
11
0
1
Не, не вылетало!
Подумав, добавил:


Можешь видео показать? :unsure:
щас код верну назад
и запишу. А, наверно стоит упомянуть что исходник 2.4
Подумав, добавил:

Не, не вылетало!
Подумав, добавил:


Можешь видео показать? :unsure:
GeForce Experience у меня сломался. Не записывает. Бандикам из-за вылета игры крашает видос. Поэтому только так.
 
Последнее редактирование:

*azabetfen*

Well-known member
02.03.2010
2 785
33
210
63
ugu
  • Серебряная медаль RC
  • Золотая медаль 115
  • Золотая медаль 145
щас код верну назад
и запишу. А, наверно стоит упомянуть что исходник 2.4
Подумав, добавил:



GeForce Experience у меня сломался. Не записывает. Бандикам из-за вылета игры крашает видос. Поэтому только так.
Посмотреть вложение 133298
А что в лог файле пишет, что не смогло прочитать.
Подумав, добавил:

А если засейвить и загрузить тоже вылит?
 
Последнее редактирование:

gabataka

New member
01.02.2018
11
0
1
А что в лог файле пишет, что не смогло прочитать.
Подумав, добавил:

А если засейвить и загрузить тоже вылит?

уже починил мне товарищ. цитата причины:
"Think метод этот включается.Он как раз не работает циклически.
Он тупа один раз пускается и больше ничего не происходит по итогу он всю think систему держит в рамках игрока и поэтому движок при переходе уровня начинает обрабатывать метод PostThink и там начинается ItemPostFrame и там крашится т.к. указатель игрока ещё не получен
"

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

Vaqtincha

Member
25.09.2014
103
20
18
Вообще не понятно зачем автор запихнул его на класс оружие (еще и середину). А что не проще новый энтити создать? (если не нужна задержка то можно и без неё. просто отправить мессендж моделки и все)
 

*azabetfen*

Well-known member
02.03.2010
2 785
33
210
63
ugu
  • Серебряная медаль RC
  • Золотая медаль 115
  • Золотая медаль 145
Вообще не понятно зачем автор запихнул его на класс оружие (еще и середину). А что не проще новый энтити создать? (если не нужна задержка то можно и без неё. просто отправить мессендж моделки и все)
Здесь много туторов кривых. Они работают но криво, тот же инвентарь тоже кривой.
 

Game Server

Доноры Красавчики

Пользователи онлайн

Нет пользователей онлайн.