Shredder 49 Опубликовано 23 Марта 2013 ... эти сим отряды должны были идти на тот смарт (возле которого был вылет), а их то не-было...Спасибо, поржал. Когда сквад погибает, он уже не участвует в симуляции и не должен никуда идти. Скорее всего причина вылета не в этом, и ты ещё с ней столкнешься... 1 Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 23 Марта 2013 Возможно, когда-то этот код использовался, может быть даже в ТЧ или ЧН, но в ЗП это рудимент, т.к. у se_zone_anom метод update не вызывается. Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 24 Марта 2013 Возможно ли как-то зафиксировать онлайновый объект (конкретно артефакт), чтобы его невозможно было сдвинуть с места. Проблема в чём: сделал для ЗП динамические аномалии (на базе АМК), пытаюсь сделать детекторы аномалий. Для этого в каждую такую аномалию спавню артефакт, в настройках детектора ставлю af_vis_radius = 0. Всё клёво, но есть один момент. Проблема с аномалией "воронка". При срабатывании она выбрасывает этот артефакт. Как то можно решить эту проблему? Порыскав в теме "Справочник по функциям и классам" нашёл, что мне нужно. function af_anomaly_binder:update(delta) local ph_object = self.object:get_physics_shell():get_element_by_order(0) if not ph_object:is_fixed() then ph_object:fix() end end Всё прекрасно работает, воронка артефакт не выбрасывает Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 29 Марта 2013 Можно ли сделать так, чтобы ассортимент обновлялся не после перезагрузки сейва, а, к примеру, через определённый промежуток времени в игре?Это реализуемо Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 29 Марта 2013 (изменено) trade_manager.script Его можно доработать, чтобы время последнего обновления ассортимента у торговца где-то сохранялось. Можно добавить поле серверному объекту и читать/записывать его в se_stalker.script. Или же можно писать в custom_data. Используя модуль работы с нет-пакетами m_netpk.script, это просто реализовать. Изменено 29 Марта 2013 пользователем Shredder Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 31 Марта 2013 (изменено) Скопируй в папку scripts файл sak.script. От этого вылета избавит, но не исключены другие Изменено 31 Марта 2013 пользователем Shredder Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 6 Апреля 2013 Восстанавливаю кошек. Как бы там много ума не надо. Но есть один вопрос. Если подойти к кошке, когда он идёт в спокойном состоянии, то слышен очень громкий топот, как будто это не кошка, а слон. Какой параметр можно подкрутить, чтобы шаги стало не слышно? Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 14 Апреля 2013 converter -level cop:zaton -out zaton_decompiled -mode le -with_lods Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 21 Апреля 2013 0 (видимый), 1 (засекается Откликом и выше), 2 (Медведь и выше), 3 (Велес и Сварог)Не совсем так, 0 - видимый, больше 0 - невидимый, но видимость каждого артефакта задаётся в секции детектора. Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 22 Апреля 2013 (изменено) Для чего -1? Как уже было не раз сказано выше, чтобы все артефакты были видимыми как в ТЧ, достаточно им всем указать af_rank = 0 Вопрос был изначально про прямую видимость артефакта как в ТЧ, а не "засекаемость" детектором.Я прекрасно понял изначальный вопрос и лишь немного поправил не совсем верное толкование о видимости в зависимости от af_rank. Изменено 22 Апреля 2013 пользователем Shredder Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 26 Апреля 2013 И не забудь прописать свой инфопоршень в файле info_название_локации.xmlВ CoP инфопоршни прописывать не обязательно. Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 4 Мая 2013 Я распаковал all.spawn от ЗП В ЗП все нпс и мутанты спавнятся скриптами. Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 25 Мая 2013 А что за слот такой -1? 11 - слот артефакта, слот противогаза: 12. Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 9 Июня 2013 Через колбэки item_take, item_drop. Поскольку любое добавление/удаление предметов проходит через эти колбэки, можно кэшировать кол-во патронов и проверять только одну переменную, а не перебирать весь инвентарь. ammos = {} function take_item(item) if item:clsid() == clsid.wpn_ammo_s then local sect = item:section() if not ammos[sect] then ammos[sect] = 0 end ammos[sect] = ammos[sect] + get_ammo_size(item) end end function drop_item(item) if item:clsid() == clsid.wpn_ammo_s then ammos[item:section()] = ammos[item:section()] - get_ammo_size(item) end end function ammo_in_inv(sect) return ammos[sect] or 0 end function get_ammo_size(obj) local se_obj = alife():object(obj:id()) packet:w_begin(0) se_obj:STATE_Write(packet) packet:r_seek(packet:w_tell() - 2) return packet:r_s16() end Вызов item_take и item_drop добавишь в bind_stalker.script. Кол-во патронов проверяешь через ammo_in_inv Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 1 Августа 2013 @Clayman, чтобы новые аномалии обнаруживались детектором, их нужно прописать в конфиг соответствующего детектора:zone_class_35 = amk_zone_zharka_static_strongи в файле configs/ui/ui_detector_artefact.xml: <palette id="amk_zone_zharka_static_strong" width="0.004" height="0.004" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture> </palette> Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 9 Августа 2013 inventory_upgrades.script, функция: local function how_much_repair( item_name, item_condition ) local ltx = system_ini() local cost = ltx:r_u32(item_name, "cost") local class = ltx:r_string(item_name, "class") local cof = 0.6 return math.floor(cost*(1-item_condition)*cof * cur_price_percent) end Заменяешь на свой расчёт 2 1 Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 18 Августа 2013 Такая проблемка появилась. При установке метки на серверный объект (сталкера или мутанта) (map_add_object_spot_ser), она появляется только после того, как тот первый раз выйдет в онлайн. Когда он снова уходит оффлан - метка нормально отображается. Кто-нибудь сталкивался с этим? Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 21 Августа 2013 Идея не новая. Нанести хит по нпс, когда он находится в аномалии не сложно, способы есть разные, но гравитационные аномалии не просто наносят хит, они подбрасывают/разрывают зверушек, попавших в них. Так что это не совсем выход. Кроме того, для аномалий не срабатывает колбэк на вход/выход. Для рестрикторов он работает, но на сколько я помню, нет готовых функций, чтобы в логике написать условие типа "в меня зашёл любой НПС" Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 21 Августа 2013 Что ж, жаль что так. Выходит что способа кроме как в моде ARC и нет вовсе?В ARS моде идёт перебор аномалий для каждого сталкера в определённом радиусе. Потом для каждой, проверяется, а не попал ли он в неё, и если попал, наносится hit. Можно сделать через рестрикторы, у которых срабатывают колбэки на входи и выход. Т.е. для каждой аномалии по её же координатам спавнить спейс рестриктор, у которого в колбэке прописать хит по угодившему в него НПС. Так будет менее ресурсоёмко, т.к. просчётов и переборов никаких не будет. А вот есть ли возможность хитонуть НПС когда он компаньон главному герою? Это же не любой НПС уже а совершенно определенный.Написал бы конкретнее, что хочешь сделать. Поделиться этим сообщением Ссылка на сообщение
Shredder 49 Опубликовано 22 Августа 2013 karavan, в данном случае компаньоны ничем не отличаются от обычных НПС, просто работают по другой схеме. Поэтому, либо переноси хитирование аномалиями из ARS мода, либо можешь попробовать реализовать на спейс-рестрикторах, как я написал выше. Поделиться этим сообщением Ссылка на сообщение