Купер 2 992 Опубликовано 18 Января 2022 (изменено) @андрей дронав , а что мешает или не работает в таком варианте? function actor_binder:net_destroy() ... self.object:set_callback(callback.use_object, nil) ... end function actor_binder:reinit() ... self.object:set_callback(callback.use_object, self.use_object, self) ... end function actor_binder:use_object(obj) sound_for_eat.use_snd(obj) --* озвучка еды teleportator.use_tele(obj) --* 'полетушка' end Вместо: function actor_binder:reinit() ... self.object:set_callback(callback.use_object, self.use_object, self) --* 2 одинаковых self.object:set_callback(callback.use_object, self.on_use_object, self) --* вызова одного коллбека ... end function actor_binder:use_object(obj) sound_for_eat.use_snd(obj) end function actor_binder:on_use_object(obj, who) teleportator.use_tele(obj) end А, вообще, прицепить использование телепорта к верхней функции. Изменено 18 Января 2022 пользователем Купер 1 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 19 Января 2022 @AndrewMor , прошу пардону, вышесказанное больше к @андрей дронав относится. Скрытый текст Как видишь, даже после всего, что накропали, у камрада определённые вопросы всё-таки остались. А по поводу "...использовать один синтаксис колбека, а уже в обработчике обрабатывать ситуации по-разному"(c). Вот перевели бы вы всё это на хотя бы русский алгоритмический. Терминология - она такая . Тут вон за один только метод вызова коллбека целая дискуссия разгорелась. Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 31 Января 2022 Вводные: task_manager, циклические задания типа "найти объект" (арт, конечность etc). При выкладывании/выбрасывании квестового предмета информация о стадии задания не изменяется (pda, ньюсы) Что-то нашкодил или действительно имеет место быть? Если всё-таки второе, где-то можно посмотреть культурное исправление этого безобразия? Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 31 Января 2022 @naxac , т.е. никто это правил? Т.е., уточню, что хотелось-бы: 1. Взяли цикличку. 2. Получили предмет. Статус задания обновился (в pda + ньюс о стадии задания) 3. На сдавая задания - предмет "потеряли" <- (в pda + ньюс о стадии задания) ? 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 31 Января 2022 @ted.80 , разговор про "циклички": А найди-ка мне Медузу, хвост псевдособаки. Квестовые предметы? @Rod_K , ключевой момент: искомый ящик находится онлайн ( в пределах алайфа) или нет? Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 1 Февраля 2022 (изменено) @aromatizer , потому что. То, что заявлено отключаемым, должно отключаться. Изменено 1 Февраля 2022 пользователем Купер 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 2 Февраля 2022 @aromatizer , БАЛАбол и БАЛАгур! Отключить-то, блин, как?!! Примечательно, что, как минимум, 2 OGSR-ца объявились и многозначительно так промолчали. @mmindwork , из разряда "угадаек": allow_inertion в худовых секциях? 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 2 Февраля 2022 Скрытый текст Да я то чё, я, вообще, со Светочем нашим всеведущим пикировался. Главным образом. @mmindwork , попробуй это: Скрытый текст allow_zoom_inertion = true ;Разрешает применять инерцию худ модели оружия в режиме прицеливания. ; inertion_origin_offset = -0.05 ;отклонение модели от "курса" из за инерции во время движения ; inertion_tendto_speed = 5 ;скорость возврата худ модели в нужное положение inertion_zoom_origin_offset = -0.03 ;отклонение модели от "курса" из за инерции во время движения с прицеливанием inertion_zoom_tendto_speed = 10 ;скорость возврата худ модели в нужное положение во время прицеливания allow_scope_zoom_inertion = true ;позволяет выключить инерцию при прицеливании через сквозную оптику и оставить её только при прицеливании без оптики. По умолчанию принимает значение `allow_zoom_inertion`. По конфигам поискать. Где - . У меня, так например, фантазия богатая. 1 1 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 5 Мая 2022 (изменено) @killersan6 , Скрытый текст float CWeapon::GetConditionMisfireProbability() const { if( GetCondition()>0.95f ) return 0.0f; float mis = misfireProbability+powf(1.f-GetCondition(), 3.f)*misfireConditionK; clamp(mis,0.0f,0.99f); return mis; } Не оно? Weapon.cpp И дальше выборка рандом: Скрытый текст BOOL CWeapon::CheckForMisfire () { if (OnClient()) return FALSE; float rnd = ::Random.randF(0.f,1.f); float mp = GetConditionMisfireProbability(); if(rnd < mp) { FireEnd(); bMisfire = true; SwitchState(eMisfire); return TRUE; } else { return FALSE; } } Изменено 5 Мая 2022 пользователем Купер Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 11 Мая 2022 @андрей дронав Скрытый текст Вообще, по хорошему, если уж делать, то лучше сразу нормально. 1 1 2 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 11 Мая 2022 @андрей дронав , ну чудес не бывает. Даже с СТАЛКЕРе по большей части (кроме как иногда) конфиги: Скрытый текст all.spawn (ACDC): Скрытый текст Что-то где-то... 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 13 Мая 2022 20 минут назад, mole venomous сказал: И ещё, пора бы юзать огср движок, там с этим много меньше проблем. @mole venomous , @андрей дронав , теор. часть (c российских IP - прокся, VPN) . Возможно, чем-то поможет. Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 13 Мая 2022 @mole venomous , ну... справедливости ради, оно и на "классике" в ~ 80% случаев вылетало не совсем из-за кривизны движка, уж будем откровенны. Часть застарелых проблем решили, новых при этом добавили. Причём специфических и "нестандартных", обусловленных нюансами конкретной работы именно этого движка. Хотя, соглашусь, работа проделана титаническая, конечно. Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 14 Мая 2022 @mole venomous , именно "рамки" именно у бинокля? Похоже?, что всё-таки да. А вообще, начиная с XRE добавлена функция отлова объекта: game_object*<obj> get_target_obj() - возвращает игровой объект (если он имеет шейпы), на который в данный момент направлена камера. Можно так попробовать. Отладчики, сделанные на её основе: тынц тынц + емнип, ещё даже в АМК есть что-то подобное на "классическом" движке. 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 22 Мая 2022 @Domestoz , врут вдохновенно сочиняют! В том смысле,что: Скрытый текст Т.е., как минимум XRE c какой-то вариацией этого. Используется ли функционал "расширителя" именно в файлах апгрейда - тут уже по месту смотреть. Ну, естественно, необходимая скриптовая "обвязка". Альтернативный вариант есть в Shadows Addon у @RayTwitty. Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 28 Мая 2022 (изменено) Не хватает сала в черепе. В task_manager.script добавлена множественность целей. Т.е. по аналогии с существующими параметрами добавлено количество необходимых для выполнения объектов, условно: if self.task_ini:line_exist(id, "target_count") then curr_task_info.target_count = self.task_ini:r_u32(id, "target_count") end Как добавить считывание параметра в диалоги и описание задания? Скрытый текст Где бы подсмотреть? Изменено 28 Мая 2022 пользователем Купер Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 29 Мая 2022 (изменено) @Domestoz , там база - старый, добрый XRE c минимальными изменениями в движке на самом деле, собирается одним батником после настройки и очень просто настраивается. Не факт, что для модуля апгрейда используется что-то из его функционала. Главное, аккуратно перетащить добавленную скриптовую "обвязку". Вылетает GetUpgrade? -- вот эта функция что использует? function GetUpgrade(sSection) return cfg_read(system_ini(), "str", sSection, "upg", "nil") end -> lwc_utils.script: -- Функция чтения из конфига значений(string, float, boolean) _G.cfg_read = function(ini, mode, section, line, val) ini = ini or system_ini() if is_sect_exist(section, ini) and is_line_exist(section, line, ini) then if mode == "str" then return tostring(ini:r_string(section, line) ) elseif mode == "num" then return tonumber(ini:r_float(section, line) ) elseif mode == "bool" then return ini:r_bool(section, line) end end return val end Добавленная очередная оптимизация "потому что мы сделаем так". И т.д., весело насвистывая Изменено 29 Мая 2022 пользователем Купер Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 17 Июня 2022 (изменено) @Stalkersof , alife.ltx: [alife] ... autosave_interval = ... Не оно? Изменено 17 Июня 2022 пользователем Купер 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 17 Июня 2022 (изменено) @mole venomous , да, откровенно говоря, не помню . Быстрее ingame попробовать, имхо, чем в исходниках лазить. Поставить меньший интервал и посмотреть. Время, по-моему, реальное. --- Как ни странно , но да. По крайней мере, на "оригинальных" движках. Изменено 17 Июня 2022 пользователем Купер Поделиться этим сообщением Ссылка на сообщение
Купер 2 992 Опубликовано 18 Июня 2022 @mole venomous , в оригинале оно, по идее, здесь: autosave_manager.cpp. В OGSR вполне могли "оторвать" за ненадобностью. Т.е. оно даже банально поиском по файлам в сырцах не ищется. Но лучше, конечно, у разработчиков уточнить. Поделиться этим сообщением Ссылка на сообщение