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):
Если делаешь это без проверки на флажок m_bReloaded, то предмет будет реинициализироваться и тратить на это ресурсы без надобности каждые 0.1 секунды. По крайней мере мне кажется, что так будет, я точно не знаю.
Можно проверить, вызывая CPrintF() перед реинициализацией и посмотреть, будет ли вывод в консоль производиться переодически вместо единого раза.
Сообщение отредактировалST27 - Четверг, 11.01.2024, 10:03
ST27, я так понял, ты имел в виду, что сообщение в консоли должно появляться вновь и вновь. Я попробовал, оно появляется только один раз при старте уровня.
Мне просто интересно, как Хэмминг менял количество патронов? Единственную переменную которую я увидел в AmmoItem это m_fValue = значение в float, но количество меняет только когда патроны спавнятся, а те патроны что на карте уже лежат, имеют значения обычные, а не измененные, под схожим названием я не нашел подобного.
Еще что, это почему при смене на револьверы, количество патронов остаются 6, хотя менял значение в ColtBullets на 12? P.S Это уже решил, забыл изменить в других строках.
Подскажите парню, который в пайтоне весь.
Сообщение отредактировалK1rayA - Четверг, 27.02.2025, 11:36
ВСЕМ ПРИВЕТ Подскажите, пожалуйста, можно ли как-то сделать, чтобы направление Сэма было параллельно плоскости, но при этом чтобы гравитация действовала на него, чтобы по потолку не ходить?
Сообщение отредактировалJack_Stone - Пятница, 08.08.2025, 15:56
Kliptexx, наверное он хочет чтобы ориентация Сэма в пространстве не была привязана к гравитации, чтобы Сэм например ощущал себя стоящим на плоскости, но его гравитация тянула в одну сторону Ну это можно и без сдк сделать, если я конечно правильно понял его вопрос, лол
AzuNeko, это с GravityMarker ты имеешь в виду? Если да, то это не совсем то. Я делаю транспорт, сделал лодку худо-бедно, сейчас хочу машину сделать. Смысл такой, что, когда Сэм в тачке, он перпендикулярен плоскости (отключен флаг ORIENTATEDBYGRAVITY), и при повороте (при изменении X, то есть хеддинга) всегда остаётся перпендикулярен ей, но с этим проблема. Я нашёл функцию UpVectorToAngles, она даёт координаты по Y и Z, при которых Сэм перпендикулярен плоскости, но значения эти только при X равным НУЛЮ. Прикручивание физических движков типа ODE я не рассматриваю, потому что ума точно не хватит на это. Вот и ищу костыльные способы. Может быть есть у кого-то соображения? Буду благодарен!
Jack_Stone, сложно... Может напишешь в дисорде? Там выше шансы что заметят твою неоднозначную задачу, а то сюда полтора землекопа раз в век заглядывают Ну и я бы на твоём месте приложил видос или скриншоты, хотя может и без них поймут Ну и тегни группу SDK, авось на бет-сигнал соберутся
Сообщение отредактировалAzuNeko - Вторник, 26.08.2025, 10:34
AzuNeko, попробую в дискорд тогда) Еще найти, куда писать, меня как-то добавляли, но я что-то особо им не пользовался. Вот были времена, когда тут оживленные беседы были В году так 2016, 2017 ... А сейчас, да, тухловато как-то