Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Akros 7 Опубликовано 1 Июля 2022 Поделиться Опубликовано 1 Июля 2022 @андрей дронав а в каком направлении копать? Т. е. хотя бы примерно как их ставить, что менять и пр.? Ссылка на комментарий
андрей дронав 17 Опубликовано 1 Июля 2022 Поделиться Опубликовано 1 Июля 2022 (изменено) @Akros В ОП стоит античит, любое ковыряние файлов, и твои сейвы будут меченными красным ( возможно ошибаюсь). Распаковать файлы sounds.xdb В папке sound/actors найти не нужные реплики, заменить их, и закинуть в папку с ОП. Я в ОП не гоняю, не факт что все что я написал сработает. Загляни в тему ковыряние ОП 2.2 Изменено 1 Июля 2022 пользователем андрей дронав 1 Ссылка на комментарий
Купер 2 925 Опубликовано 1 Июля 2022 Поделиться Опубликовано 1 Июля 2022 @h0N0r , ни разу не специалист, но там же вроде булев (true/false) ключ добавлен: function generic_object_binder:__init(obj) super(obj) ... self.used = false end function generic_object_binder:save(packet) ... packet:w_bool(self.used) end function generic_object_binder:load(reader) ... self.used = reader:r_bool() end А в самом теле функции уже проверка на предмет "первого раза": generic_object_binder:use_callback(obj, who): ... if self.object:alive() or self.used then return end + выше там же ещё одна "отсечка". 1 Ссылка на комментарий
андрей дронав 17 Опубликовано 2 Июля 2022 Поделиться Опубликовано 2 Июля 2022 (изменено) Народ, я снова по теме срезания запчастей с мутантов. Что здесь нужно изменить, чтобы открывался инвентарь, только когда нож в руках Скрытый текст -- Срезание трофеев с монстров / Идея: мод "Мясник" (CoP) от Singapur22 function generic_object_binder:use_callback(obj, who) if self.use_flag == nil and self.object:section()~="m_trader" then self.object:set_nonscript_usable(false) --если (true) инвентарь работает self.use_flag = true end if self.object:alive() or self.used then return end local knife = who:item_in_slot(0) if who:id() ~= db.actor:id() or (knife~=nil and who:active_slot() == 0) then self.used = true else if knife then news_manager.send_tip(db.actor,"Чтобы cрезать трофей, нужно достать нож.") end return end self.item = read_if_exist("s",nil,self.object:section(),"Spawn_Inventory_Item_Section",nil) if self.item then self.item_count = read_if_exist("f",nil,self.object:section(),"Spawn_Inventory_Item_Amount",1) else return end for i=1, self.item_count do alife():create(self.item, who:position(), who:level_vertex_id(), who:game_vertex_id(), who:id()) end self.object:set_tip_text("") local h = hit() h.draftsman = self.object h.type = hit.fire_wound h.direction = vector():set(0,1,0) h:bone(read_if_exist("s",nil,self.object:section(),"bone_impuls_abscission","bip01_spine")) h.power = 1 h.impulse = (read_if_exist("f",nil,self.object:section(),"impuls_abscission",150)) self.object:hit(h) local sound_use = sound_object("material\\dead-body\\collide\\hithard0"..tostring(math.random(1, 6)).."hl") sound_use:play_at_pos(self.object, self.object:position(), sound_object.s3d) end Звуки не воспроизводятся, не нахожу нужного калбэка Изменено 2 Июля 2022 пользователем андрей дронав Ссылка на комментарий
Купер 2 925 Опубликовано 2 Июля 2022 Поделиться Опубликовано 2 Июля 2022 Забавно, а ведь оно действительно в таком виде не желает работать. По крайней мере, на "классике". Интересно, почему? Ссылка на комментарий
Ali_Babai_45 19 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 Доброго времени суток Всем! Какой файл отвечает за вывод номера патча в главном меню (навеяно одним вопросом на Ответах mail.ru). Я прошерстил папки scripts, ui и text, но не нашел ничего. Ссылка на комментарий
Купер 2 925 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 (изменено) @Ali_Babai_45 , для оригинала: ui_main_menu.script-> function main_menu:InitControls() ... local _ver = xml:InitStatic ("static_version",self) local mm = _G.main_menu.get_main_menu() _ver:SetText ("ver. " .. mm:GetGSVer()) end Тут более подробно. Изменено 3 Июля 2022 пользователем Купер 1 1 Ссылка на комментарий
Ali_Babai_45 19 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 @Купер А сам текст где? (страница по ссылке недоступна ) Добавлено Опричник, 3 Июля 2022 Доступна. Используйте прокси. Ссылка на комментарий
Купер 2 925 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 (изменено) @Ali_Babai_45 , а пламенный привет борцунам за всё хорошее против всего плохого. Они весь домен gameru.net в РФ грохнули. Тут есть копипаста. Боюсь ошибиться, вот это вот GetGSVer() движком вычитывается по-моему. Сам формат текста здесь: ui_mm_main.xml (gamedata\config\ui) -> <static_version>...</static_version> Т.е., что-то наподобие такого можно соорудить: ver:TextControl():SetText ("ver. "..mm:GetGSVer().." + здесь название и версия"). То, что в "..." можно менять/мучить, а mm:GetGSVer() вряд ли изменить получится. Изменено 3 Июля 2022 пользователем Купер 1 1 1 Ссылка на комментарий
андрей дронав 17 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 10 часов назад, Купер сказал: Оно действительно в таком виде не желает работать. По крайней мере, на "классике". Интересно, почему? Разберусь с этим когда получу вывих мозга. Но это не точно. 2 Ссылка на комментарий
Купер 2 925 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 @андрей дронав , Скрытый текст да обойти несложно, конечно, хотелось бы понять почему в такой конфигурации не работает? Ссылка на комментарий
андрей дронав 17 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 (изменено) 1 час назад, Купер сказал: @андрей дронав , off topic (Скрыть) хотелось бы понять почему в такой конфигурации не работает? Дружище, я никогда не учил язык программирования, для меня этот код "Абракадабра". Я умею пользоваться "WinMerge", и на этом мой навык мододела кончился. Буду пробовать ковырять ссылаясь на прошлые темы, а вдруг узнаю, ПАЧИМУ НЕ РАБОТАЕТ Может быть так? Скрытый текст self.object:set_callback(callback.use_object, self.use_object, self) ... end function actor_binder:use_object(obj) sound_obj_left = sound_object([[material\\dead-body\\collide\\hithard0]]) sound_obj_left:play_at_pos(db.actor, vector():set(1, 0, 1), 0, sound_object.s2d) end Изменено 3 Июля 2022 пользователем андрей дронав 1 Ссылка на комментарий
macron 1 884 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 (изменено) 6 часов назад, Купер сказал: ui_main_menu.script-> function main_menu:InitControls() ... local _ver = xml:InitStatic ("static_version",self) local mm = _G.main_menu.get_main_menu() _ver:SetText ("ver. " .. mm:GetGSVer()) end function main_menu:InitControls() ... local _ver = xml:InitStatic ("static_version",self) local mm = _G.main_menu.get_main_menu() _ver:SetText ("ver. " .. mm:GetGSVer()) end Еще можно так: _ver:SetText ("Ж.О.П.А.") Изменено 3 Июля 2022 пользователем macron 1 3 Ссылка на комментарий
андрей дронав 17 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 30.06.2022 в 17:56, Zander_driver сказал: Вот просто интересно, каких ответов люди хотят на подобные вопросы... Ты же понимаешь что ответить тебе по существу, невозможно. . Пытался адаптировать этот скрипт Скрытый текст -- Отрезание запчастей монстров ножом и озвучка. Для отрезания достаточно, чтобы нож был в рюкзаке. local monster = nil local snd = nil function get_monster() return monster end -- Ножи и прочее ХО, которым можно отрезать запчасть local knives = { ["wpn_knife"]=true } function right_knife(knife) return (knives[knife:section()] and knife:condition()>0.1) or false end function on_part_take(obj) if not monster then return end local item_part=ini_reader.iniReader():readBool(obj:section(),"monster_part",false) local monster_part=ini_reader.iniReader():readString(monster:section(),"Spawn_Inventory_Item_Section","") if not item_part or monster_part~=obj:section() then return end if actor_has_knife() then level.start_stop_menu(level.main_input_receiver(), true) if snd and snd:playing() then snd:stop() end snd = voice("zwuk\\inv_mutant_loot_"..math.random(1,16)) snd:play_at_pos(db.actor, vector(), 0, sound_object.s2d) archievements.acv_count_event("acv_gvdr", 500, "acv_gvdr") local knife=db.actor:item_in_slot(0) local cond_dec=ini_reader.iniReader():readString(knife:section(),"condition_shot_dec",0) if cond_dec~=0 then knife:set_condition(knife:condition()-cond_dec) end return end sms("on_part_take_0", nil, "nano", 5000) db.actor:transfer_item(obj, monster) end function actor_has_knife() local item_in_slot=db.actor:item_in_slot(0) if item_in_slot and item_in_slot:condition()>0.1 then return knives[item_in_slot:section()] or false end return false end function on_monster_use(victim, who) monster = victim end function on_monster_stop_use() monster = nil end function move_on() snp.move_on() end Ссылка на комментарий
Купер 2 925 Опубликовано 3 Июля 2022 Поделиться Опубликовано 3 Июля 2022 10 часов назад, phalcor сказал: Бьюсь уже долго со схемой добивания раненых в попытке её отключить полностью, но безуспешно. (Платформа ОП, rx_kill_wounded.script). Какой из? Их же уже столько, а в каждом по своему! По идее, достаточно в rx_ai.script просто откомментировать загрузку и включение ненужной схемы: function load_schemes() function enable_schemes(ini,npc) В оригинале модулей AI, кстати, достаточно просто удалить/переместить нужный/ненужный файл с соответствующим модулем. 1 Ссылка на комментарий
dsh 3 824 Опубликовано 4 Июля 2022 Поделиться Опубликовано 4 Июля 2022 @Купер не все так просто может оказаться. Например,если отключить движковую схему добивания раненных, то ничего хорошего не выйдет. В движке эта схема сильно связана с боевкой. Т.е. раненный остаётся в списке врагов и пока есть в памяти хоть один не раненный, то бой идёт с ним(и). Если в памяти остались только раненные враги, то активизируется схема добивания раненных. А если она отключена, будет упс, т.к. движок на такое не рассчитан и не знает, что делать. Враг как бы есть, а что делать - не понятно. Т.ч. насчёт "по идее" отключить, все может оказаться не так просто. 1 1 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
aromatizer 4 460 Опубликовано 4 Июля 2022 Поделиться Опубликовано 4 Июля 2022 1 час назад, dsh сказал: Если в памяти остались только раненные враги, то активизируется схема добивания раненных. В принципе, добивать раненых не есть хорошо... Было бы хорошо, если бы нпс "добивали" раненых аптечкой, т.е. вербовали в свою группировку, как это делает ГГ. Опционально, для драматизма ситуации: лечить только бойцов с легкими ранениями, тяжелых - в расход. Отношения между людьми- главная ценность в человеческом обществе.Любая полученная информация- это только повод для размышлений, а не побуждение к действию.Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAEНакопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt Ссылка на комментарий
Купер 2 925 Опубликовано 5 Июля 2022 Поделиться Опубликовано 5 Июля 2022 А где-то можно почитать предметно относительно недоработок оригинальной движковой GSC схемы добивания подранков? В смысле: " подводные камни", что сделано через пень колоду, etc. Ссылка на комментарий
dsh 3 824 Опубликовано 5 Июля 2022 Поделиться Опубликовано 5 Июля 2022 @Купер в исходниках движка? Мои данные основаны именно на этом. Это узнано в процессе переделки, что бы добиванием занимался тот, кто ближе, а не шли всей толпой. @Купер кстати, это не то, чтобы недоработка. Нужно понимать, что движок сталкера - это движок созданный для одной игры, а не просто игровой движок. Т.е. моды по сути пытаются натянуть сову на глобус и использовать этот движок для того, для чего он не предназначен. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Купер 2 925 Опубликовано 6 Июля 2022 Поделиться Опубликовано 6 Июля 2022 5 часов назад, EGER.OVERKILL WF сказал: У меня там следующая билеберда: (брал из этого же файла, с другого рестриктора) Настройки шейпа (Скрыть) ; cse_shape properties shapes = 1 shape_0:type = sphere shape_0:offset = 0,0,0 shape_0:radius = 4.5480751991272 @EGER.OVERKILL WF, давай-ка полную выкладку, как оно сейчас выглядит? ; cse_shape propertiesshapes = shape0 <- ??? - кол-во шейпов shape0:type = sphere - тип (сфера/параллелепипед) shape0:offset = 0,0,0 - смещение shape0:radius = 5 - радиус (для типа "сфера") ; cse_alife_space_restrictor properties restrictor_type = 0 В логике я бы лично подстраховался (хотя, в принципе, и лишнее, наверное): [logic] active = sr_idle [sr_idle] on_actor_inside = {-kura} nil %+kura% {...} - условия для выполнения %...% - действия Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти