alen_fantom 653 Опубликовано 13 Ноября 2014 Возможный вариант лечения зависшей логики объектов. Для примера использовал проблему magamed на Агро. по вертухам... Решил переспавнить. Использовал готовый код(2.05 ф2 и выше): bind_stalker.script if level.name() == "l05_bar" then all_spawn_fix.release_allspawn_object("bar_barman") alife():create(alife():spawn_id(500)) end Слепил свой скрипт(как назовёте - неважно) из того что есть( потому как не умею), и в нём: local zaglushka = false function perespawn() if level.name() == "l03_agroprom" then all_spawn_fix.release_allspawn_object("agro_final_vert1") -- имя(name) в all.spawn alife():create(alife():spawn_id(4421)) -- секция в all.spawn end if level.name() == "l03_agroprom" then all_spawn_fix.release_allspawn_object("agro_final_vert2") alife():create(alife():spawn_id(4422)) end if level.name() == "l03_agroprom" then all_spawn_fix.release_allspawn_object("agr_nii_heli") alife():create(alife():spawn_id(4662)) end if level.name() == "l03_agroprom" then all_spawn_fix.release_allspawn_object("agr_helicopter1") alife():create(alife():spawn_id(4727)) end if level.name() == "l03_agroprom" then all_spawn_fix.release_allspawn_object("agr_helicopter2") alife():create(alife():spawn_id(4731)) end if level.name() == "l03_agroprom" then all_spawn_fix.release_allspawn_object("agr_helicopter3") alife():create(alife():spawn_id(4733)) end if level.name() == "l03_agroprom" then all_spawn_fix.release_allspawn_object("agr_helicopter4") alife():create(alife():spawn_id(4732)) zaglushka = true end end добавил в bind_stalker.script в function actor_binder:update(delta) -- принудительное переодевание квестовиков xrs_armor.redress() название скрипта.perespawn() -- ЭТО ДОБАВИЛ использовал сейв до перехода на Агро.сохранение на уровне до правки: сохранение там же после правки З.Ы. Крайне не рекомендуется использовать вариант с вызовом из update bind_stalker.script по причине перегруза этого update(возможен: ! Cannot find saved game ~~~ watchdog 188.reason actor_binder:update * Log file has been saved successfully!) Лучше вызов повесить на клавишу(ui_main_menu.script), например: if dik == DIK_keys.DIK_1 then -- клавиша self:mi() end и function main_menu:mi() название вашего скрипта.perespawn() end и убрать в скрипте заглушки(local zaglushka = false; zaglushka = true)...З.Ы. Не кошерно но работает... 2 2 3 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 15 Ноября 2014 (изменено) если проделать эти манипуляции в игре, как ты описал, я правильно понимаю - Ахтунги исчезнут.Ахтунги исчезнут, потому как вновь заспавненные объекты окажутся на положенных местах, согласно отработанной логики(наверное)...С поправкой на: Традиционно это делается в netspawn(),там где --[[local bad_object_names...Можно удаление даже готовое оставить, и по аналогии слепить создание.на тех же вертухах: - сделать сейв перед Агро. - в bind_stalker.script в код по удалению глючных объектов вписываем имена(name) и сразу рас комментировать само условие, т.е.: local bad_object_names = {"agro_final_vert1", "agro_final_vert2", "agr_nii_heli", "agr_helicopter1", "agr_helicopter2", "agr_helicopter3", "agr_helicopter4" } local i, se_name, se_obj for i, se_name in ipairs(bad_object_names) do se_obj = alife():object(se_name) if se_obj then news_manager.send_tip(db.actor,"Удалили глючный объект:"..se_name,nil,nil,1000) alife():release(se_obj, true) end end где сработает удаление перечисленных объектов при загр. сейва до Агро.- в вашем скрипте: function perespawn() local zaglushka = false if level.name() == "l03_agroprom" then -- условие на каком уровне сработает, в данном случае Агропром, можно и без него, тогда спавн сработает при загр. сейва до Агро. и нужно убрать последнее end... alife():create(4421) -- сам спавн объектов alife():create(4422) alife():create(4662) alife():create(4727) alife():create(4731) alife():create(4733) alife():create(4732) zaglushka = true end end end - по аналогии с пред. постом: добавляем в bind_stalker.script, в function actor_binder:update(delta)(можно сразу под ним) название вашего скрипта.perespawn() Загружаете послед. сейв - переход на Агро. - делаете сейв( только не сразу, 2 мин достаточно) - ахтунгов нет..?Выходим из игры и проделываем манипуляции в bind_stalker.script по каментированию запущенных условий... Изменено 15 Ноября 2014 пользователем alen_fantom 1 1 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 15 Ноября 2014 (изменено) Как будто, после сдачи кейса С Агро.(по ориг. сюжету), эти ("agr_nii_heli", "agr_helicopter1", "agr_helicopter2", "agr_helicopter3", "agr_helicopter4") не нужны..? Изменено 6 Мая 2015 пользователем alen_fantom Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 15 Ноября 2014 (изменено) Dennis_Chikin, это опять же к последнему абзацу из предыдущего твоего поста...В ситуации с magamed, с его ахтунгами на Агро., если не переспавнить кодами выше "agro_final_vert1", "agro_final_vert2" - а это "Сходка авторитетов...", то потом нужно спавнить как минимум из диалогов..? И кто ему это сделает..? Изменено 6 Мая 2015 пользователем alen_fantom Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 3 Декабря 2014 Подскажите, если это не секрет - как можно убрать радиацию из автотранспорта в ОП-2 и вообще в Солянке? У Шадовса ведь получилось это сделать в ДМХ... https://yadi.sk/d/W1-iBItNd8YzC Выдрал из ДМХ. В архиве под соль 03.09.10 и Оп-2(патч 2.06\фикс 1). З.Ы. Скорее всего в кодах не всё путём, но работает... 2 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 8 Декабря 2014 (изменено) MaxSE, благо что в ОП-2 только добавляются объекты, без изменения spawn_id и story_id. В противном случае играли бы только тестеры... Как уже писал Dennis_Chikin, если в секции объ. что-то менялось( section_name -- кстати о бесмертии, логика, пути и т.д.), то чтобы изменения вступили в силу необходима НИ, но (здесь можно отметить разрабов ОП-2) можно и переспавнить объект(!), где вновь созданный на основе правленой секции. За что и отвечает all_spawn_fix.script, что и дало возможность продолжать игру без НИ, независимо от патчей... Про заевшее вас бесмертие: даю на виртуальное отсечение виртуальную голову, если начать НИ на чистом ОП-2(без патче\фиксов) с правленым all.spawn на "кащейство", сделать сейв, вернуть оригинал all.spawn, и продолжать игру накатывая по выходу патчи\фиксы до 2-06-1, ваши "кащеи" так и останутся "кащеями"(если не попали под переспавн в 2-06-1)...Про глюки и вылеты по этому поводу: не встречал, наверное от сюда и моё мнение... Он вообще распаковывается на данный момент общедоступными средствами? С лёту...Если всё делаешь по инструкции и знаешь "волшебную" строчку О волшебстве: когда соберёшь ВСЮ папку конфигов, в конфиге w_val: class = WP_AK74 -- меняешь на должный: WP_VAL Меня заел переход на неправленную актуальную версию без начала новой игры. Переспавн!!! И не нужно в all_spawn_fix.script - там через поршни. При след патче, если добавлен переспавн, придётся подгонять...Как переспавнить, здесь было, поищи... ----------------------- Вру! Можно и через all_spawn_fix.script: добавить в таблицу(по аналогии) всех "кощеев". Только придётся откатываться на сейв до "официального" переспавна... --------------------- А ещё можно всех пострелять, а потом "оживить". Пришлось, на днях, выправлять чужой затык таким методом... Изменено 8 Января 2015 пользователем Dennis_Chikin 1 3 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 14 Декабря 2014 (изменено) Ещё был телепортатор с отметками на карте, может кто вспомнит?Не понимаю зачем Вам тот раритет, когда предложенный romale "Mobile Manager" весьма прекрасно работает на ОП-2(в плане телепортации). Так ли нужны отметки на карте локаций..? Изменено 14 Декабря 2014 пользователем alen_fantom Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 14 Декабря 2014 (изменено) Arguments : Can't open section 'identity_immunities'[mobile]:identity_immunities - зашит в gamedata.dbmm - в папку с игрой устанавливали? Адаптация весьма не сложная... Хочется не сохранять координаты точки в сейве или в имени файла, а определять их у некоего объекта, кторый лежит в нужной точке на нужной локе, выбирать эти объекты по карте, получать таким образом координаты и передавать их в создаваемый левел ченджер.Сложно и баговано. Что будет с точкой перехода если объект по каким то причинам исчезнет..? Думаю, что умы делавшие эти телепортаторы, и о таком варианте задумывались, но не реализовали в силу чего-то... =================== Проверяй: "system.ltx" добавить: #include "mobile\mobile.ltx" "localization.ltx" в список xml файлов, добавить: ui_st_mobile, "ui/ui_custom_msgs.xml" в теле основного тэга <header>, втавить: #include "ui\mobile\_ui_msgs.xml" "ui/map_spots.xml" в список инклудов, добавить: #include "ui\mobile\map_spots_mobile.xml" Изменено 14 Декабря 2014 пользователем alen_fantom Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 18 Декабря 2014 (изменено) Ссори за офтоп. sv reject. id_parent [46902][wpn_svd:wpn_svd46902] id_entity [46902][wpn_svd:wpn_svd46902] [37255] ~ ERROR: can't detach independant object. entity[wpn_svd46902:46902], parent[wpn_svd46902:46902], section[wpn_svd] sv ownership id_parent [12936][stalker_sakharov:bar_dolg_petrenko] id_entity [46902][wpn_svd:wpn_svd46902] [37255] Просто интересно, как относятся НПС к изменению слота для ствола..?У неписей НЕТ инвентаря. Поэтому ко всему, что касается этого самого инвентаря, они относятся НИ КАК. dc Изменено 18 Декабря 2014 пользователем Dennis_Chikin 1 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 22 Декабря 2014 (изменено) проблема с ножом т.е не могу изьять из слота или поменять на другой ...при снятии с монстров запчастей катастрофически растет переносимый весНельзя ставить amk.script поздней версии фикса(2.06-ф2). Если установлено 2.06-ф3\ф4, то вытаскивать и править оный...кстати по последнему пробовал убирать правки, переустанавливал игру, начинал заново эффект один и тот же.Сомнительно...Собственно, на кой комментировать всё подряд в function on_part_take(obj)(monster_parts.script) если не вырубать вызовы в других скриптах..? В той функции достаточно изменить: if actor_has_knife() or not actor_has_knife() then -- есть или нет холодного; local difficulty = level.get_game_difficulty() if difficulty > 3 then -- и на реализме не будет работать всё что ниже; ====================Наверное в bind_stalker даже можно без последствий вырубить эти все проверки на ножи?Можно..,там же: --monster_parts.on_part_take(obj) Изменено 22 Декабря 2014 пользователем alen_fantom 2 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 26 Декабря 2014 но на практике у меня ни разу не выпадала аптечка или артефактС такими значениями (в death_items_by_communities.ltx): af_medusa = 0.02 af_cristall_flower = 0.01 af_night_star = 0.01 ... и т.д. точно не увидите...меня достали небольшие периодические фризы. Есть подозрение, что это как то связано с перегруженным инвертаремЧем меньше барахла в игре - тем лучше... 2 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 30 Декабря 2014 (изменено) Юзал инет так ни чего и не понял Э-э-х... При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами. 1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал) 2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку: <menu_sound random="0" > и заменить на: <menu_sound random="1" > 3. В этом же файле найти строку: <menu_music>music\wasteland2</menu_music> и ниже нее выставить следующую строку: <menu_music>music\my_music</menu_music> 4. Сохранить файл. 5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество. Изменено 30 Декабря 2014 пользователем alen_fantom 2 1 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 5 Января 2015 А что, до сегодняшнего дня ни кто не замечал,... убрали проверку опций... ?Проверка как бы вырублена изначально. У xxxDJxxx скорее всего, по игре, работает: db.actor:has_info("haker_soft_pda") несколько сюжетных моментов, где "глушится" lootmoney. А так работает нормально. archievements.acv_count_event("acv_mar", 50000, "Мародёр", deadmoney)Одна из многочисленных "очивок"(блин, словарём не проверишь) - достижение. 2 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 2 Февраля 2015 (изменено) Arguments : LUA error: ...a\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:72: attempt to index global 'fly' (a nil value)Ошибка при редактировании скрипта. По сему: выкладываете код(где, что и как правили). Собственно: в том же скрипте function actor_is_in_danger() ... if difficulty < 2 then -- не реагирует на "разминке и экстрим"? выставить 3(оставить для реалистов)... return false else return danger.actor_in_danger(danger_text, danger_text, difficulty == 2) -- тоже самое... end endАналогично с телепортацией - meceniy_intellectual.script, spawn_level_changer.script... Изменено 2 Февраля 2015 пользователем alen_fantom Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 7 Февраля 2015 (изменено) Ссори за офтоп. Про mobile: оригинал плюшки(Mobile Manager v1.1.004.04a) прекрасно удаляется, сохраняется, и грузиться после. Возможно(не уверен), что-то не то в адаптации под ОП-2, и да, перед удалением необходимо почистить всё, что создавалось вне актора... ЗЫ: данная плюшка как и чит-спавнер, для юзеров со стажем+голова... ============================ Изменено 23 Апреля 2015 пользователем Eugen81 Выделил. 1 3 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 8 Февраля 2015 mafic, мне особо не когда, как вижу и многим...Сейв не скидываю, всё просто: можно ориентироваться по координатам , опция "контролёр" - в первой закладке выбрать "зоны" и смотрим level_changer(их несколько, я с ориентировался по координатам. Можно поочерёдно ставить метки, чтобы найти нужный, но не забывать удалять не нужный, как и необходимый , , 2 1 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 10 Февраля 2015 (изменено) Dennis_Chikin, да всё там нормально, если с оф. ссылок. Нет никакой доп.защиты.Dennis_Chikin, для актора - да. А проверка по холодному появилась ещё в 2.06\3 - function get_item_params(sobj)function set_item_params(t,sobj)Тут у многих косяк, с накатыванием правок, а не редактированием из соответствующего... Изменено 6 Мая 2015 пользователем alen_fantom Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 11 Февраля 2015 (изменено) но таймер на ЧАЭС показывает 0:30:00. Может что то еще надо править? В виду: function switch_timer_stancia() for a=2000,2100,1 do local obj=alife():object(a) if (obj and obj.name and obj:name() == "aes_space_restrictor_timer") then local params=get_restrictor_data(obj) --dbglog("Entered: "..obj:name().." id-"..a.." sid-"..obj.m_story_id) --id~2031 params.custom="[logic]\ncfg = scripts\\aes\\aes_space_timer.ltx" set_restrictor_data(params,obj) end end end можно править не ковыряя all. Только действия логики никто не отменял: [sr_idle] on_info = {+aes_actor_road} sr_timer1 on_info2 = {+strelok_pda_have} nil ... т.е. изменения вступят в силу, если ещё не было этой инфы...Как вариант: скриптово удалить инфу(aes_actor_road), сохранить игру, переспавнить рестриктор, выдать инфу и проверять... Таймер ЧАЭС Изменено 6 Мая 2015 пользователем alen_fantom 1 1 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 17 Февраля 2015 (изменено) Если и делать, то место этому в net_spawn(data), например: function actor_binder:net_spawn(data) ... ... spawn_level_changer.remove_old_teleport() sak.add_new_bar_to_atp() -- переход "Бар - АТП" Будет и метка и переход... Изменено 6 Мая 2015 пользователем alen_fantom 1 1 1 Поделиться этим сообщением Ссылка на сообщение
alen_fantom 653 Опубликовано 18 Февраля 2015 (изменено) mafic, в bind_stalker.script: function actor_binder:update(delta) ... amk.oau_watchdog=188 ... all_spawn_fix.respawn_allspawn() ...Ахтунги, на верняка, потому что:Там всего то стоят бессмертные НПС под 2.07Просто сравните all_spawn_fix.script из патча и 3-й фикс к нему.Разница ощутима, в добавленных объектах. И скрипт пытается переспавнить добавленные объ., которых по причине правки, нет в all.spawn... Нельзя так просто накатывать. Только править из установленного! Изменено 18 Февраля 2015 пользователем alen_fantom 3 2 Поделиться этим сообщением Ссылка на сообщение