Новые сообщения Участники Правила Поиск
  • Страница 95 из 95
  • «
  • 1
  • 2
  • 93
  • 94
  • 95
Модератор форума: freeknik, SLAwww, thecre, RealCrazyMan  
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
Помощь по SDK для Serious Sam 1.05/1.07
Jack_Stone Пятница, 05.01.2024, 13:55 | Сообщение # 2821


Сообщений: 140
Награды: 1
Замечания: 0%
 
Всех с наступившим Новым Годом :) :)
Heming_Hitrowski, из твоего совета пока понятно всё кроме того, как добавить новую переменную (настройку) в Расширенные возможности. Подскажи, пожалуйста, как это сделать. Возможно, кто-то еще знает. Заранее Спасибо! :D


Heming_Hitrowski Пятница, 05.01.2024, 20:02 | Сообщение # 2822


Double Jumper
Сообщений: 883
Награды: 32
Замечания: 0%
 
Jack_Stone, надо добавить файлы .cfg и .des по пути Scripts/CustomOptions. Посмотри как сделано в моде HUD 3D от art-serious

Jack_Stone Вторник, 09.01.2024, 15:34 | Сообщение # 2823


Сообщений: 140
Награды: 1
Замечания: 0%
 
Heming_Hitrowski, в общем получилось, спасибо :) Но есть проблема: не меняется модель WeaponItem, когда запускаешь уровень в игре; если открывать уровень в редакторе, то всё ок, модель выставляется в соответствии с выбранным набором в расширенных настройках. Видимо при запуске уровня через игру игра обращается не к настройкам, а к инфе, заложенной в файле уровня, а при открытии в редакторе - наоборот. X_X

Heming_Hitrowski Вторник, 09.01.2024, 18:55 | Сообщение # 2824


Double Jumper
Сообщений: 883
Награды: 32
Замечания: 0%
 
Jack_Stone, трудно сказать из-за чего конкретно проблема, надо разбираться. Я бы проставил CPrintF'ы по всему циклу, чтобы понять что не отрабатывает.

ST27 Вторник, 09.01.2024, 19:47 | Сообщение # 2825


Сообщений: 457
Награды: 6
Замечания: 0%
 
Jack_Stone, если нужно перезагрузить все предметы после начала игры, то проще всего это делается таким образом:

1. Создаёшь новое свойство в CItem:
Код
50 BOOL m_bReloaded = FALSE,

2. Заходишь в процедуру ItemLoop этого класса и делаешь реинициализацию предмета после autowait(0.1f) строки:
Код
if (!m_bReloaded) {
  m_bReloaded = TRUE;
  Reinitialize();
  return;
}

Это пересоздаст все предметы на месте после начала симуляции с новыми моделями и прочим.

Если не нужно это делать для каждого предмета, а только, например, для CWeaponItem, то можно перенести свойство непосредственно в этот класс (но необязательно), а реинициализацию проводить в функции AdjustDifficulty() (если её ещё нет в CWeaponItem, то нужно её добавить по аналогии с CAmmoItem):
Код
void AdjustDifficulty(void) {
  if (!m_bReloaded) {
    m_bReloaded = TRUE;
    Reinitialize();
  }
};


Так же, при желании, можно изменить тип оружия по загрузке уровня, изменив его тип перед вызовом Reinitialize(), например:
Код
m_EwitType = WIT_SNIPER; // Only sniper rifles

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


- My Personal Site -
Jack_Stone Среда, 10.01.2024, 14:36 | Сообщение # 2826


Сообщений: 140
Награды: 1
Замечания: 0%
 
ST27, большое спасибо :) :) Я просто добавил Reinitialize(); после autowait(0.1f) в ItemLoop, и сработало :) :) :)

ST27 Четверг, 11.01.2024, 01:40 | Сообщение # 2827


Сообщений: 457
Награды: 6
Замечания: 0%
 
Если делаешь это без проверки на флажок m_bReloaded, то предмет будет реинициализироваться и тратить на это ресурсы без надобности каждые 0.1 секунды. По крайней мере мне кажется, что так будет, я точно не знаю.

Можно проверить, вызывая CPrintF() перед реинициализацией и посмотреть, будет ли вывод в консоль производиться переодически вместо единого раза.
Сообщение отредактировал ST27 - Четверг, 11.01.2024, 10:03


- My Personal Site -
Jack_Stone Четверг, 11.01.2024, 17:25 | Сообщение # 2828


Сообщений: 140
Награды: 1
Замечания: 0%
 
ST27, я так понял, ты имел в виду, что сообщение в консоли должно появляться вновь и вновь. Я попробовал, оно появляется только один раз при старте уровня.

ST27 Четверг, 11.01.2024, 18:14 | Сообщение # 2829


Сообщений: 457
Награды: 6
Замечания: 0%
 
Значит правильно всё. Только одно сообщение на предмет должно быть.

- My Personal Site -
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
  • Страница 95 из 95
  • «
  • 1
  • 2
  • 93
  • 94
  • 95
Поиск:

Статистика