karavan 36 Опубликовано 21 Августа 2013 Поделиться Опубликовано 21 Августа 2013 Что ж, жаль что так. Выходит что способа кроме как в моде ARC и нет вовсе? ------------ А вот есть ли возможность хитонуть НПС когда он компаньон главному герою? Это же не любой НПС уже а совершенно определенный. Ссылка на комментарий
Shredder 49 Опубликовано 21 Августа 2013 Поделиться Опубликовано 21 Августа 2013 Что ж, жаль что так. Выходит что способа кроме как в моде ARC и нет вовсе?В ARS моде идёт перебор аномалий для каждого сталкера в определённом радиусе. Потом для каждой, проверяется, а не попал ли он в неё, и если попал, наносится hit. Можно сделать через рестрикторы, у которых срабатывают колбэки на входи и выход. Т.е. для каждой аномалии по её же координатам спавнить спейс рестриктор, у которого в колбэке прописать хит по угодившему в него НПС. Так будет менее ресурсоёмко, т.к. просчётов и переборов никаких не будет. А вот есть ли возможность хитонуть НПС когда он компаньон главному герою? Это же не любой НПС уже а совершенно определенный.Написал бы конкретнее, что хочешь сделать. Ссылка на комментарий
karavan 36 Опубликовано 21 Августа 2013 Поделиться Опубликовано 21 Августа 2013 Пока всё просто:Есть смарт: [smart_terrain] squad_id = 81 max_population = 5 respawn_only_smart = true [exclusive] stalker_companion1 = test\exclusive\stalker_companion.ltx stalker_companion2 = test\exclusive\stalker_companion.ltx stalker_companion3 = test\exclusive\stalker_companion.ltx stalker_companion4 = test\exclusive\stalker_companion.ltx stalker_companion5 = test\exclusive\stalker_companion.ltx И логика для эксклюзива: [logic@stalker_companion3] active = companion@go prior = 22 suitable = {=check_npc_name(stalker_green_neutral)} [companion@go] meet = meet in_restr = asd_03 wounded = wounded use_camp = false combat_ignore_cond = {!actor_enemy} true, false dist_stop = 3 danger = danger_condition@go [wounded] hp_state = 0|wounded_heavy@help_heavy hp_state_see = 0|wounded_heavy@help_heavy hp_victim = 0|nil hp_fight = 0|false hp_cover = 0|false ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [danger_condition@go] ignore_distance = 0 ignore_distance_grenade = 0 ignore_distance_corpse = 0 ignore_distance_hit = 0 ignore_distance_sound = 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [meet] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false И выходит когда эти самые компаньоны бегут за ГГ, то не могут попасть не в одну аномалию. Получается не очень хорошо. Хотелось бы сделать условие, при котором эти товарищи погибали бы в аномалии. Возможно нужно добавить условие при смерти и кастом дату в базовую аномалию, но вот что и как я пока не разобрался. Спойлер. Неуж трудно запихать в него самому, чтобы не приходилось исправлять и писать тебе эту строчку красным цветом? Cyclone Cyclone Вы правы, это моя не доработка. Поторопился. Кстати сравнивал, секции аномалий из ЧН и ЗП. Аномалии только дополняются, а вот хотя бы понять какой параметр урезан, не получается. Жаль что я не умею ковырять движок. Ссылка на комментарий
Shredder 49 Опубликовано 22 Августа 2013 Поделиться Опубликовано 22 Августа 2013 karavan, в данном случае компаньоны ничем не отличаются от обычных НПС, просто работают по другой схеме. Поэтому, либо переноси хитирование аномалиями из ARS мода, либо можешь попробовать реализовать на спейс-рестрикторах, как я написал выше. Ссылка на комментарий
karavan 36 Опубликовано 22 Августа 2013 Поделиться Опубликовано 22 Августа 2013 Shredder К сожалению как корректно перенести скрипы из ARS мода я пока не могу понять. Видать плохой из меня скриптер. Поэтому прошу помощи у более опытных товарищей. Пробовал просто перенести свою тестовую локацию в ARS мод, но запускаться мод отзывается ругаясь на фаил logic.script Поэтому кто может сделайте доброе дело, помогите пожалуйста вырезать "нормальную работу аномалий" из ARC!!! Ссылка на комментарий
_zero_cool_ 5 Опубликовано 22 Августа 2013 Поделиться Опубликовано 22 Августа 2013 karavanгде то год назад в этой теме подробно расписывали спавн аномалий скриптом как в арс...ищи 1 Ссылка на комментарий
karavan 36 Опубликовано 24 Августа 2013 Поделиться Опубликовано 24 Августа 2013 Кто может объяснить как правильно задать параметры при использовании телепорта сквада (teleport_squad)? Не могу понять, можно ли переместить сквад в другой смарт в аним_поинт или только на путь? Ссылка на комментарий
S.K.Y.M.I.X.X.E.R.S 4 Опубликовано 24 Августа 2013 Поделиться Опубликовано 24 Августа 2013 karavan используй в логике %=teleport_squad(имя_сквада:точка)% можно переместить в другой смарт в аним_поинт, но надо чтобы был он свободен 1 Ссылка на комментарий
Shredder 49 Опубликовано 25 Августа 2013 Поделиться Опубликовано 25 Августа 2013 karavan, %=teleport_squad(story_id:путь:индекс_точки_на_пути)%, последний параметр не обязательный, будет ставить в начало пути. Переместить можно только на путь. Ссылка на комментарий
buck81 1 Опубликовано 29 Августа 2013 Поделиться Опубликовано 29 Августа 2013 Народ, залейте у кого есть скрипт для Сидоровича от nuklia, а то уже по удаляли везде. Ссылка на комментарий
Сталкер Лом 356 Опубликовано 29 Августа 2013 Поделиться Опубликовано 29 Августа 2013 (изменено) Buck81, он? Если да, то не отвечай: не флуди . ----------------------------------------------------------------------------------- -- Sidor etc binding ----------------------------------------------------------------------------------- function bind(obj) local new_binder = trader_object_binder(obj) obj:bind_object(new_binder) end ------------------------------------------------------------------------------------ class "trader_object_binder" (object_binder) function trader_object_binder:__init(obj) super(obj) self.loaded = false end function trader_object_binder:reload(section) object_binder.reload(self, section) end function trader_object_binder:reinit() object_binder.reinit(self) db.storage[self.object:id()] = { } self.st = db.storage[self.object:id()] end function trader_object_binder:update(delta) object_binder.update(self, delta) -- Апдейт торговли if self.object:clsid() == clsid.script_trader then trade_manager.update(self.object) end local st = db.storage[self.object:id()] if st ~= nil and st.active_scheme ~= nil then xr_logic.try_switch_to_another_section(self.object, st[st.active_scheme], db.actor) end if self.st.active_section ~= nil then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "update", delta) end end function trader_object_binder:net_spawn(sobject) if not object_binder.net_spawn(self, sobject) then return false end local on_offline_condlist = db.storage[self.object:id()] and db.storage[self.object:id()].overrides and db.storage[self.object:id()].overrides.on_offline_condlist if on_offline_condlist ~= nil then xr_logic.pick_section_from_condlist(db.actor, self.object, on_offline_condlist) end if not self.object:alive() then return true end if alife():object(self.object:id()) == nil then return false end db.add_obj(self.object) if self.object:clsid() == clsid.script_trader then self.object:set_trader_global_anim("idle_spinka") smart_terrain.setup_gulag_and_logic_on_spawn( self.object, self.st, sobject, modules.stype_trader, self.loaded) end return true end function trader_object_binder:net_destroy() xr_sound.stop_sounds_by_id(self.object:id()) local st = db.storage[self.object:id()] if st and st.active_scheme then xr_logic.issue_event(self.object, st[st.active_scheme], "net_destroy") end if db.offline_objects[self.object:id()] then db.offline_objects[self.object:id()].level_vertex_id = self.object:level_vertex_id() db.offline_objects[self.object:id()].active_section = db.storage[self.object:id()].active_section end db.del_obj(self.object) db.storage[self.object:id()] = nil object_binder.net_destroy(self) end function trader_object_binder:net_save_relevant() return true end function trader_object_binder:save(packet) set_save_marker(packet, "save", false, "trader_object_binder") object_binder.save(self, packet) xr_logic.save_obj(self.object, packet) if self.object:clsid() == clsid.script_trader then trade_manager.save(self.object, packet) end set_save_marker(packet, "save", true, "trader_object_binder") end function trader_object_binder:load(reader) self.loaded = true set_save_marker(reader, "load", false, "trader_object_binder") object_binder.load(self, reader) xr_logic.load_obj(self.object, reader) if self.object:clsid() == clsid.script_trader then trade_manager.load(self.object, reader) end set_save_marker(reader, "load", true, "trader_object_binder") end Изменено 29 Августа 2013 пользователем Сталкер Лом Работы на Artstation - https://www.artstation.com/artist/stalker_lom Ссылка на комментарий
karavan 36 Опубликовано 29 Августа 2013 Поделиться Опубликовано 29 Августа 2013 Сталкер Лом А куда этот код прописывать? Куда биндить или что там с ним нужно делать? Ссылка на комментарий
buck81 1 Опубликовано 29 Августа 2013 Поделиться Опубликовано 29 Августа 2013 нет, вроде не этот. В общем я хочу Сидоровича на кордоне заспавнить, ничего не выходит, кто бы помог. Вижу какой то пак nukila сделал, там почти всё готово, но ссылки все устарели. Ссылка на комментарий
Akella-96 aka SvD 35 Опубликовано 29 Августа 2013 Поделиться Опубликовано 29 Августа 2013 @buck81, держи http://rghost.ru/48460240 1 AWRP : Re - Load 0.2 © Ссылка на комментарий
buck81 1 Опубликовано 30 Августа 2013 Поделиться Опубликовано 30 Августа 2013 Ребята, подскажите, чего это Сидоровича так сплющило? Ссылка на комментарий
White Rabbit 0 Опубликовано 31 Августа 2013 Поделиться Опубликовано 31 Августа 2013 Подскажите пожалуйста где, в каких файлах искать настройки показа метки ГГ на миникарте? Перерыл весь Нет ничего найти не могу. Ссылка на комментарий
STALKER_Dragon 3 Опубликовано 31 Августа 2013 Поделиться Опубликовано 31 Августа 2013 Здравствуйте, уважаемые форумчане! Недавно появилась такая проблема -- сталкер вылетает совершенно в случайных местах (в том числе в главном меню и во время проигрывания intro-заставок). Лог таков: stack trace: 0023:60007904 d3d11.dll 0023:6000753C d3d11.dll 0023:5FFB3E5A d3d11.dll 0023:07DDB8FA xrRender_R3.dll [error][ 18] : Больше файлов не осталось. На другом форуме мне сказали, что проблема с обновлением для Windows 7 (его номер не сказали, не знают), мол, оно глючное, его надо удалить. Может, вы знаете, что за обновление? Заранее спасибо. ЗЫ. Прошу прощения за возможный оффтоп, не знаю, куда еще обратиться Ссылка на комментарий
karavan 36 Опубликовано 1 Сентября 2013 Поделиться Опубликовано 1 Сентября 2013 Есть ли метод с помощью скрипта вывода дополнительного предмета на визуал ГГ от третьего лица? Поясню, есть класс TORCH_S, с помощью которого цепляется фонарик на голову ГГ. Так вот есть ли способ (может кто сталкивался) вывести на голову ГГ два таких класса-фонарика, один будет по модели фонарик, другой например прибор ночного виденья или противогаз. Ссылка на комментарий
AndroIDDQD 20 Опубликовано 1 Сентября 2013 Поделиться Опубликовано 1 Сентября 2013 Столкнулся с проблемой: изменяю описания в файлах st_items_equipment.xml и st_items_weapons.xml, но в игре изменения не отображаются, причём отображается, то что было до изменения (не из resources и не из patches). Может что-то где кешируется ? Пробовал начинать новую игру - эффект тот же. "Сюжет в игре — как сюжет в порнофильме. Он должен быть, но он не так важен." © Ссылка на комментарий
Shredder 49 Опубликовано 1 Сентября 2013 Поделиться Опубликовано 1 Сентября 2013 в mods ничего нет? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти