Dennis_Chikin 3 661 Опубликовано 28 Июня 2017 Так Вы б хоть уточнили, какой мод имеете в виду, для начала. А тема - вот: http://www.amk-team.ru/forum/topic/12730-spravochnik-vyletov/ Суть вылета - попытка произвести какую-либо операцию с УЖЕ не существующим объектом. Например, с патронами непися после его смерти. Именно это, кстати, поправлено в ОГСЕ: патроны непися не удаляются самим движком. Но остаются, например, гранаты, с которыми пытаюстя что-то сделать как минимум четры "аддона" только известных мне, и какео-то число неизвестных. Или с аптечками. Далее, например, может быть такое забавное действие, как превод в офлайн тайника в то время, как актор пытается взять из него предметы. Предметы, соотвественно, при этом удаляются прямо в момент премещения, с описанным вылетом. И так далее - куча таких ситуаций возможна. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 28 Июня 2017 Ну вот это уже что-то... А что там делает "уборщик трупов" ? Ну и самое простое, что здесь можно сделать, раз вылет вполне стабильный - попробовать все по-отдельности. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 28 Июня 2017 Ну, "уборщик трупов" в подобной ситуации точно не нужен. Наоборот, надо избавиться от всего лишнего. item and item:id() and alife():object(item:id()) - это хорошая проверка, но в одном месте ее мало. Это надо делать перед любыми операциями, если собираем несколько разных изделий разных авторов, которые что-то удаляют. Плюс к тому, она же в таком случае не помешает и там, где используется transfer_item() или drop_item() И. да, сама проверка делается так: item and alife():object( item:id() ) - проверять просто наличие результата item:id() - бесполезно, так как при проблемах все умрет раньше. А начинать, все-же, подключая дополнения по одному - менше таких вот проверок в разные места придется вписывать. Вылет с attempt to index field 'actor' - говорит или об опечатке в том, что было до .actor (например вместо db.actor - bd.actor), либо что пространство, к которому обращаемся, разрушено какими-то предыдушими действиями (например, пытались сделать db[npc_id] = ..., а npc_id не получили, или, опять же, опечатка.) Ну, в общем-то, это все должно быть в той теме по ссылке. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 6 Июля 2017 combat_ignore_cond =..... Там есть ключ - fighting_actor означает, что непись не будет переходить в бой при виде актора. На сколько я ничего не понимаю, враг получается npc1:set_relation( game_object.enemy, npc2 ) и наоборот. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 7 Июля 2017 10 часов назад, HellRatz сказал: Сделал скриптовой функцией, да. Ты удивишься, но все, прописанное в виде черточек, скобочек и плюсиков-минусиков делается в итоге скриптовой функцией. У меня вообще подозрение, что все эти загогулины - это по замыслу - прокладка для роботов, генерируемая роботами же, и вся "логика" по уму (быстро, качественно и внятно) сводится к "[mysect1]on_info = {=mufunc1} mysect2" Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 9 Июля 2017 Оторвать к чертям сохранения/загрузки диалогов, которые все равно не работают, и не будут. task_manager/dialog_manager. ПРОСТО оторвать, и не нужны ни какие дальнейшие преобразования строк в числа и обратно. 1 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 16 Июля 2017 Метки, да. Неизвестно, на ком их показывать. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 19 Июля 2017 "более подробно" - это просто повторить ну не все посты этой темы, но 1/10 точно. Зачем их дублировать, если они и так есть ? Если коротко, квесты оригинала - в task_manager.ltx (если что-то меняем там, и не меняем больше ни где - Новая Игра). Население лагерей, как и сами лагеря - в allspawn, но может уточняться в файлах, перечисленных в начале xr_gulag.script и в smart_terrain_presets.ltx Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 19 Июля 2017 Как бы +1: ни разу ни где не видел этой самой отмены, по-этому слегка непонятно: что правилось-то ? 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 17 Августа 2017 Это из оперы про модельки. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 17 Августа 2017 Типа, для статики. Свет от анимки не одинаково работает. 30 минут назад, UnLoaded сказал: Подробнее можно ? С костями ерунда какая-то. Подробно не копал, но, типа, какая-то уникальная. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 18 Августа 2017 idle_light = on idle_light_range = 5 idle_light_range_delta = 0.325 idle_light_anim = koster_00 idle_light_height = 0.60 Воткнуть костру "без лампочки", сравнить на статике и на динамике... По моделям - то-ли у обреза, то-ли у сталкера прописана эта самая кость, к которой цепляется обрез. У других - не хватает. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 20 Августа 2017 Все-таки: local set_current_time_t, set_current_time_f function set_current_time_wait() if game.get_game_time() < set_current_time_t then return false end level.set_time_factor( set_current_time_f ) set_current_time_f = false return true end function set_current_time( hour, min, sec ) -- починено, работает. game_time_time = game.get_game_time() -- полное игровое время local new_time = game.CTime() -- нужно выставить new_time:setHMS( hour, min, sec ) local hh, mm, ss _, _, _, hh, mm, ss = game_time_time:get() -- текущее время local c_time = game.CTime() c_time:setHMS( hh, mm, ss ) if new_time == c_time then return -- ничего не делаем elseif new_time < c_time then -- следующие сутки new_time:setHMS( hour + 24, min, sec ) end new_time:setHMS( 0, 0, new_time:diffSec( c_time ) ) set_current_time_t = game_time_time + new_time if not set_current_time_f then set_current_time_f = level.get_time_factor() end level.set_time_factor( 10000 ) level.add_call( set_current_time_wait, dummy_action ) end чем именно не нравится такая перемотка ? Да, при смене локации и вообще s/l таймфактор надо заново читать из конфига и выставлять. Или останаввливать перемотку из on_save() хотя-бы, к примеру, актора. Текущий сохраняется непосредственно в сэйве. По-другому - ни как. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 20 Августа 2017 3 часа назад, UnLoaded сказал: Нет. _g.script же... Другое дело, она там не рабочая была: обращалась к отсутствующей функции движка. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 1 Сентября 2017 6 часов назад, naxac сказал: флаги в object_flags, запрещающие переходить в оффлайн. Тогда рюкзак вместе с хабаром будет грузится сразу, при загрузке сохранения. Но это плохое, негодное решение. Вместо лага получаем загрузку по полчаса и пачку глюков от всяких "фиксов здоровья/радиации/видов от 3-его лица/античитов" Смотрите стрим Петренки с нс2016 и тайником на Кордоне. Хорошее, годное решение - проверить текстуры/звуки/модели и т.д., являющиеся источниками лага при входе в онлайн конкретного предмета. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 2 Сентября 2017 Ну так классика жанра же: текстуры типа 537x9135... По моделькам - не спец, но спецы, к примеру, способны создать вот такое: https://www.dropbox.com/s/sct4psukal6gcjh/item_bezoar.ogf?dl=0 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 2 Сентября 2017 Ну как бы это не единственный случай, когда что-либо просто не сохраняется. Псевдокод того, чего нет, привести затруднительно. ;) Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 13 Ноября 2017 Ну так разобрались же... Конкретно по тому вопросу - это такой "античит", прикрученный к "жажде". Дает хит актору, после чего, естественно, актор все роняет. Есть еще вариант с нетаскаемыми моделями - задается в system.ltx и в самих моделях. Плюс еще коллизии - выставляются границы объекта таскания и границы самого актора, чтобы взаимно отталкивались. В каждом конкретном случае надо смотреть, что именно мешает. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 15 Ноября 2017 Всегда говорил, что спавн через СДК - зло. Только что в очередной раз убедился. То есть, там, конечно, не через СДК сделано, но с СДК по-другому вообще в принципе невозможно. 2 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 661 Опубликовано 16 Ноября 2017 Именно рестриктором - нет. Можно только отслеживать, что что-то выброшено, и проверять координаты.выброшенного. В частности для Мухи - function life_heart2( item ) local obj = sim:object( item:id() ) local obj1 = sim:object( "hospital_muha_trup" ) if obj and obj1 and obj1.position:distance_to_sqr( actor:position() ) < 9 then Для живого сердца - function life_heart1( item ) local obj = sim:object( item:id() ) if obj and level.vertex_position( 1379 ):distance_to_sqr( actor:position() ) < 5 then подробности см. в xl_story_hospital.script Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение