-
Число публикаций
678 -
Регистрация
-
Последнее посещение
-
Дней в топе
9 -
AMKoin
75 [Подарить AMKoin]
Весь контент пользователя ColR_iT
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Хек, в файле state_mgr.script закомментируй строки с 370 по 375, в них должен находится следующий код: -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Driv3r, думаю не ошибусь, если скажу, что от куда именно скрипт - никому не интересно. К тому же 483 строка указывает на совершенно другой код, как в моде ZENOBIAN v0.0115, так и в том коде, что привёл ты. Предположение твоё глупое, поскольку нормально вызванная функция treasure_manager.get_treasure_manager():give_treasure("treasure_name") в любом случае выдаст тайник. Ты же вызываешь эту функцию не пойми как. Повторюсь: тег <action> не предназначен для вызова функции с параметрами. Я привёл 100% рабочий пример выдачи тайника через диалог. Если тебе принципиально делать так, как делаешь ты - пожалуйста, но сразу тебя огорчу, делаешь ты не правильно. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Driv3r, ну начнём с того, что в чистом ТЧ 1.0006 в файле treasure_manager.script всего то 241 строка, так что ну невероятно сложно понять, что же там понаписано в дополнительных 200 строках. Но в любом случае, тег <action>, скажем так, не предназначен для вызова функции с параметрами, единственно возможное решение это: <action>file_name.function_name</action> И только, без каких либо скобок и тем более параметров. Если тебе нужно, чтобы ГГ во время диалога получил тайник, то сделать это можно по аналогии с Лисом в чистой игре, где после его спасения от собак, в конце диалога ГГ получает тайник дальше по дороге. Происходит это благодаря вот такой записи: <action>escape_dialog.fox_pay_money</action> Если открыть саму функцию, то можно увидеть, собственно то, что тебе нужно: -
olaf1
-
Петька Анальгин, так то оно так, но вот изначально ты вёл речь о погодном моде, подчеркну - погодном, а в итоге что получается? А получается то, что погоду, которую многие хотели бы видеть у себя, в своей сборке, увидят только в Shadows Addon (ничего против аддона не имею), таким вот образом процесс адаптации уж очень сильно осложнится. Посему, с твоей стороны твой ход как минимум не справедлив по отношению к "друзьям", как ты сам пишешь. ИМХО. Добавлено спустя некоторое время... Ну так вот с этого и нужно было начинать, а то ты так сразу, категорично: В таком случае - удачи! Ждем с нетерпением!
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, как же так получается? Сначала: а затем: не кажется ли это противоречием? У меня всё же остался один вопрос: почему ты считаешь, что использование схемы kamp без... "привязки", если можно так сказать, к гулагу является ошибочным? -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, а при чём здесь "недокументированные" особенности? Речь шла о твоих словах, которые противоречат действительности: А что касается "штатных параметров", то в случае описанном мной выше, где Волк всё же был под схемой kamp, и вписанными строками:local console = get_console() if not console then console = get_console() end console:execute("load ~~~ gulag_name is: >"..gulag_name.."<") в самое начало функции cfg_get_string, как ни странно в консоле получаю вот это: ! Cannot find saved game ~~~ gulag_name is: >< Т.е. как видно в функцию, в качестве параметра gulag_name передаётся пустая строка, как следствие сама функция возвращает строки: return char_ini:r_string(section, field) по мере апдейта они выглядят так: scripts\wolf_experimental.ltx kamp@wolf test_kamp_poin_no_gulag Так что никакое это не "нештатное использование", а возможность использовать схемы в самостоятельном виде. P.S. В ответ также прошу доказательства твоих слов. Приводить 736 строку из файла xr_kamp.script не стоит. Думаю уместным и достаточным будет доказать, что в фукнцию cfg_get_string в качестве параметра gulag_name передаётся значение nil, а не какое либо другое. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, ты сейчас противоречишь действительности. Возьми и попробуй сам, не взирая на увиденные тобою строки кода, воспроизведи следующее: -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, ты сейчас про схему kamp, откровенно глупость сказал... Что значит "не работает без указания гулага"? Ну привёл ты вырезку из кода, ну равен параметр gulag_name nil и что? С такими утверждениями выходит и схема wolker не должна работать "без указания гулага", ведь в ней для точки пути тоже нужно указывать гулаг: st.path_walk = utils.cfg_get_string(ini, section, "path_walk", npc, true, gulag_name) Так что ли выходит? В общем не знаю как у тебя, но лично у меня на 6 патче ТЧ, эта схема прекрасно справляется самостоятельно, будучи прописана лишь в custom_data НПС. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
***~GiVcHiK~***, скажу проще... Если не ошибаюсь, то в моде ТТ2 схемы напарников нет, поэтому не НПС идёт за актором, а актор за ним. Т.е. реализовано это действо аналогично поведению Круглова (Семёнова) на Янтаре в оригинальной игре, посредством обычных точек пути и схемы walker. Если же требуется, чтобы НПС шёл за ГГ, то здесь действительно стандартными усилиями не реализуемо. Вот здесь есть похожая схема, можешь полюбопытствовать: Схема "Компаньоны". -
Боягуз, задание "Убить Стрелка" выдаётся через инфопорцию storyline_actor_start, которую актор получает в начале игры. Допиши к выдачи задания и вызов функции при помощи тегов <action></action>. P.S. Вопрос уже уходит от смысла темы, думаю будет уместным переместится в "ковырялку". [spoiler=To Whisper]Твой вопрос был перемещён в "ковырялку", где ему место.
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, этот файл не отвечает за отображение отметок НПС на карте в ПДА, лишь за видимость на миникарте. Возможно ты не до понял.... FANAT, за отображение меток на миникарте отвечает движок. Но! Можно повесить метки на всех НПС разом и метки эти будут видны на карте в ПДА. Есть такая-себе мод-утилита EyeOfChernobyl, за авторством XiaNi. Там отображаются всё население, аномалии, зоны, респавнеры. А сделано всё очень просто: в файле se_stalker.script, в методе on_register, в конце есть вот такие строки: local community, rank = sim_statistic.getNpcType(self) level.map_add_object_spot_ser(self.id, "alife_presentation_"..community, self:name().." "..community) Функция getNpcType из файла sim_statistic, возвращает группировку и ранг НПС, в общем ничего сложного. Загляни, думаю, тебе станет всё понятно. -
Боягуз, а что мешает сделать аналогично? Впиши весь спавн в одину функцию, а затем в начале игры вызови её. Умный_колобок После фразы, вызываешь функцию, которая будет спавнить бутылку водки актору и он тут же её будет выпивать. Спавн делаешь функцией: alife():create ("vodka", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) "Употребить" водку можно функцией: db.actor:eat("vodka") Условия составляешь сам, как тебе нужно.
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Struck, схема meet используется, чтобы задать реакцию ГГ на НПС, по "русски" она так и называется "схема приветствия". И задать её в качестве активной схемы нельзя! По сути - это движковая схема, используемая НПС автоматически, но разработчики предоставили нам возможность задавать её параметры по нашему усмотрению, что есть очень удобно. Например, можно сделать, что НПС в одной схеме будет с нами разговаривать, в другой нет, просто изменив параметр use с true на false. Вот здесь достаточно подробно описано как пользоваться данной схемой: Meet_manager. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, а при чём здесь функция cannot_talk_by_weapon? Загляни в метод process_use, самого класса Cmeet_manager. P.S. Так, а ты точно тот кусочек нашёл? Потому как строчка: elseif t == "self" then в файле встречается единожды... -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, привёл двумя постами выше, вместе с оговоркой. И обрати внимание на вот эту проверку в указанном тобою файле: elseif t == "self" then if not is_talking then db.actor:run_talk_dialog(self.npc) end end А с твоей стороны я не ожидал увидеть в качестве "парирования" по сути колбек на юзание именно игроком НПС, а не сам метод process_use, который определяет параметры use и use_wpn. Я в замешательстве . -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Struck, если тебе нужно смоделировать ситуацию, где НПС должен начать разговор, то можно воспользоваться значением self, для параметра use, но только очень осторожно! Последствия тебе уже известны, стоишь на месте и можешь только крутиться. Так вот... Я использовал для теста, вот такую логику: -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Artos, а кто сказал, что для параметра use, в схеме meet, допустимы только два параметра!? self прекрасно работает, при всём при этом действительно "принуждает" НПС открыть окно диалога с актором, без помощи игрока. Используется этот случай в чистом ТЧ лишь единожды, а именно в логике объекта mon_stalker (m_osoznanie). Правда лично я бы всё же не стал им злоупотреблять, поскольку при его использовании, в случае, когда актор находится от НПС на дистанции большей нежели возможен диалог, то управление для ГГ попросту отключается, не всё конечно, но сдвинуться с места не представляется возможным (функция level.enable_input() в данном случае, не поможет). -
Переключаем музыку в работающем радио.
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Salohmir, для объектов класса game_object, есть метод get_current_outfit_protection(number), который возвращает текущую защиту от хита, передаваемым параметром number, тип хита можно увидеть в классе hit, собственно вот они: -
[CoP] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Wookie, выше уже готовый пример нанесения хита. Подставляй нужные значения и вызывай в нужный момент. Тип хита можешь взглянуть в lua_help.script, а именно в классе hit, в качестве obj передавай актора и хит будет наносится ГГ. -
[CoP] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Wookie, а что ты вообще делаешь и каким образом написанное тобою относится к xr_detector.script? Ты для переменных со значениями nil, поскольку они не определены явно, изменяешь их свойства... Свойства можно изменить у объектов класса, если таковые имеются. Вот на примере для объекта класса hit: hit = hit() -- создание объекта класса hit -- далее изменяем свойства класса для этого объекта hit.direction = vector():set(1,0,0) -- направление hit.draftsman = db.actor -- кто нанёс урон hit.impulse = 600 -- импульс hit.power = 1.45 -- хит hit.type = 2 -- тип урона - выстрел hit:bone("bip01_head") -- удар приходится на голову obj:hit(hit) -- наносим объекту obj хит с заданными параметрами Ты же делаешь что-то несуразное, уж просите. P.S. Да, и вопрос больше в тему скриптования, нежели сюда... -
Artos, извиняюсь за 5 копеек, но боюсь, что Вы оба думаете о разных вещах. Осмелюсь предположить, что AndreySol, хочет именно вкл/выкл фонарик и именно скриптами. Я приблизительно догадываюсь для чего это вообще нужно - батарейки для фонаря, так ведь, AndreySol? Если не ошибаюсь, то фонарик принадлежит классу CTorch, если это так, то набор методов для него скудный и метода вкл/выкл я там не наблюдаю...
-
Петька Анальгин, не стоит воспринимать мой вопрос с туманом как за идею. В некоторых местах он выглядит неплохо и то с некоторыми оговорками, а например на Военных Складах выглядит это отвратно:
-
Петька Анальгин, jetAudio в помощь - очень удобен. P.S. Не затягивай с выходом, а то слова "Выложу на днях" висят уже вторую неделю. И я тут ещё со своими шейдерами, и k01jan со звуками, так дело будет затягиваться... Может уже в последствии в качестве дополнений?
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды