Перейти к контенту

ColR_iT

Жители
  • Число публикаций

    678
  • Регистрация

  • Последнее посещение

  • Дней в топе

    9
  • AMKoin

    75 [Подарить AMKoin]

Весь контент пользователя ColR_iT

  1. Хек, в файле state_mgr.script закомментируй строки с 370 по 375, в них должен находится следующий код:
  2. Driv3r, думаю не ошибусь, если скажу, что от куда именно скрипт - никому не интересно. К тому же 483 строка указывает на совершенно другой код, как в моде ZENOBIAN v0.0115, так и в том коде, что привёл ты. Предположение твоё глупое, поскольку нормально вызванная функция treasure_manager.get_treasure_manager():give_treasure("treasure_name") в любом случае выдаст тайник. Ты же вызываешь эту функцию не пойми как. Повторюсь: тег <action> не предназначен для вызова функции с параметрами. Я привёл 100% рабочий пример выдачи тайника через диалог. Если тебе принципиально делать так, как делаешь ты - пожалуйста, но сразу тебя огорчу, делаешь ты не правильно.
  3. Driv3r, ну начнём с того, что в чистом ТЧ 1.0006 в файле treasure_manager.script всего то 241 строка, так что ну невероятно сложно понять, что же там понаписано в дополнительных 200 строках. Но в любом случае, тег <action>, скажем так, не предназначен для вызова функции с параметрами, единственно возможное решение это: <action>file_name.function_name</action> И только, без каких либо скобок и тем более параметров. Если тебе нужно, чтобы ГГ во время диалога получил тайник, то сделать это можно по аналогии с Лисом в чистой игре, где после его спасения от собак, в конце диалога ГГ получает тайник дальше по дороге. Происходит это благодаря вот такой записи: <action>escape_dialog.fox_pay_money</action> Если открыть саму функцию, то можно увидеть, собственно то, что тебе нужно:
  4. ColR_iT

    SWTC mod

    Петька Анальгин, так то оно так, но вот изначально ты вёл речь о погодном моде, подчеркну - погодном, а в итоге что получается? А получается то, что погоду, которую многие хотели бы видеть у себя, в своей сборке, увидят только в Shadows Addon (ничего против аддона не имею), таким вот образом процесс адаптации уж очень сильно осложнится. Посему, с твоей стороны твой ход как минимум не справедлив по отношению к "друзьям", как ты сам пишешь. ИМХО. Добавлено спустя некоторое время... Ну так вот с этого и нужно было начинать, а то ты так сразу, категорично: В таком случае - удачи! Ждем с нетерпением!
  5. Artos, как же так получается? Сначала: а затем: не кажется ли это противоречием? У меня всё же остался один вопрос: почему ты считаешь, что использование схемы kamp без... "привязки", если можно так сказать, к гулагу является ошибочным?
  6. 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, а не какое либо другое.
  7. Artos, ты сейчас противоречишь действительности. Возьми и попробуй сам, не взирая на увиденные тобою строки кода, воспроизведи следующее:
  8. Artos, ты сейчас про схему kamp, откровенно глупость сказал... Что значит "не работает без указания гулага"? Ну привёл ты вырезку из кода, ну равен параметр gulag_name nil и что? С такими утверждениями выходит и схема wolker не должна работать "без указания гулага", ведь в ней для точки пути тоже нужно указывать гулаг: st.path_walk = utils.cfg_get_string(ini, section, "path_walk", npc, true, gulag_name) Так что ли выходит? В общем не знаю как у тебя, но лично у меня на 6 патче ТЧ, эта схема прекрасно справляется самостоятельно, будучи прописана лишь в custom_data НПС.
  9. ***~GiVcHiK~***, скажу проще... Если не ошибаюсь, то в моде ТТ2 схемы напарников нет, поэтому не НПС идёт за актором, а актор за ним. Т.е. реализовано это действо аналогично поведению Круглова (Семёнова) на Янтаре в оригинальной игре, посредством обычных точек пути и схемы walker. Если же требуется, чтобы НПС шёл за ГГ, то здесь действительно стандартными усилиями не реализуемо. Вот здесь есть похожая схема, можешь полюбопытствовать: Схема "Компаньоны".
  10. ColR_iT

    Скриптование

    Боягуз, задание "Убить Стрелка" выдаётся через инфопорцию storyline_actor_start, которую актор получает в начале игры. Допиши к выдачи задания и вызов функции при помощи тегов <action></action>. P.S. Вопрос уже уходит от смысла темы, думаю будет уместным переместится в "ковырялку". [spoiler=To Whisper]Твой вопрос был перемещён в "ковырялку", где ему место.
  11. 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, возвращает группировку и ранг НПС, в общем ничего сложного. Загляни, думаю, тебе станет всё понятно.
  12. ColR_iT

    Скриптование

    Боягуз, а что мешает сделать аналогично? Впиши весь спавн в одину функцию, а затем в начале игры вызови её. Умный_колобок После фразы, вызываешь функцию, которая будет спавнить бутылку водки актору и он тут же её будет выпивать. Спавн делаешь функцией: alife():create ("vodka", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) "Употребить" водку можно функцией: db.actor:eat("vodka") Условия составляешь сам, как тебе нужно.
  13. Struck, схема meet используется, чтобы задать реакцию ГГ на НПС, по "русски" она так и называется "схема приветствия". И задать её в качестве активной схемы нельзя! По сути - это движковая схема, используемая НПС автоматически, но разработчики предоставили нам возможность задавать её параметры по нашему усмотрению, что есть очень удобно. Например, можно сделать, что НПС в одной схеме будет с нами разговаривать, в другой нет, просто изменив параметр use с true на false. Вот здесь достаточно подробно описано как пользоваться данной схемой: Meet_manager.
  14. Artos, а при чём здесь функция cannot_talk_by_weapon? Загляни в метод process_use, самого класса Cmeet_manager. P.S. Так, а ты точно тот кусочек нашёл? Потому как строчка: elseif t == "self" then в файле встречается единожды...
  15. Artos, привёл двумя постами выше, вместе с оговоркой. И обрати внимание на вот эту проверку в указанном тобою файле: elseif t == "self" then if not is_talking then db.actor:run_talk_dialog(self.npc) end end А с твоей стороны я не ожидал увидеть в качестве "парирования" по сути колбек на юзание именно игроком НПС, а не сам метод process_use, который определяет параметры use и use_wpn. Я в замешательстве .
  16. Struck, если тебе нужно смоделировать ситуацию, где НПС должен начать разговор, то можно воспользоваться значением self, для параметра use, но только очень осторожно! Последствия тебе уже известны, стоишь на месте и можешь только крутиться. Так вот... Я использовал для теста, вот такую логику:
  17. Artos, а кто сказал, что для параметра use, в схеме meet, допустимы только два параметра!? self прекрасно работает, при всём при этом действительно "принуждает" НПС открыть окно диалога с актором, без помощи игрока. Используется этот случай в чистом ТЧ лишь единожды, а именно в логике объекта mon_stalker (m_osoznanie). Правда лично я бы всё же не стал им злоупотреблять, поскольку при его использовании, в случае, когда актор находится от НПС на дистанции большей нежели возможен диалог, то управление для ГГ попросту отключается, не всё конечно, но сдвинуться с места не представляется возможным (функция level.enable_input() в данном случае, не поможет).
  18. ColR_iT

    Уроки по модостроению

    Переключаем музыку в работающем радио.
  19. Salohmir, для объектов класса game_object, есть метод get_current_outfit_protection(number), который возвращает текущую защиту от хита, передаваемым параметром number, тип хита можно увидеть в классе hit, собственно вот они:
  20. Wookie, выше уже готовый пример нанесения хита. Подставляй нужные значения и вызывай в нужный момент. Тип хита можешь взглянуть в lua_help.script, а именно в классе hit, в качестве obj передавай актора и хит будет наносится ГГ.
  21. 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. Да, и вопрос больше в тему скриптования, нежели сюда...
  22. ColR_iT

    Скриптование

    Artos, извиняюсь за 5 копеек, но боюсь, что Вы оба думаете о разных вещах. Осмелюсь предположить, что AndreySol, хочет именно вкл/выкл фонарик и именно скриптами. Я приблизительно догадываюсь для чего это вообще нужно - батарейки для фонаря, так ведь, AndreySol? Если не ошибаюсь, то фонарик принадлежит классу CTorch, если это так, то набор методов для него скудный и метода вкл/выкл я там не наблюдаю...
  23. ColR_iT

    SWTC mod

    Петька Анальгин, не стоит воспринимать мой вопрос с туманом как за идею. В некоторых местах он выглядит неплохо и то с некоторыми оговорками, а например на Военных Складах выглядит это отвратно:
  24. ColR_iT

    SWTC mod

    Петька Анальгин, jetAudio в помощь - очень удобен. P.S. Не затягивай с выходом, а то слова "Выложу на днях" висят уже вторую неделю. И я тут ещё со своими шейдерами, и k01jan со звуками, так дело будет затягиваться... Может уже в последствии в качестве дополнений?
×
×
  • Создать...