Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Карлан 1 049 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 А вот с новым патроном, правда, не у меня самого, а у другогго мододела, был вылет. И пока он патрон в _г.скрипт не прописал, вылет не исчез. Возможно, это связано с перепаковщиком патронов (dunin_ammo.script). Я на что-то такое напарывался сто лет назад. Имеет место быть. По-моему, если не ошибаюсь, проблемы были с боеприпасами на которых строился балласт в контейнерах артефактов. @Vadyanchikus, ну так тут давно перестали обсуждать только оригинал, почему-бы и нет? Ссылка на комментарий
Overfirst 630 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 Хочу локацию выдрать из одного мода, но проблемка возникла. Не умею я граф распаковывать/запаковывать, на сталкерине нашел какой-то ggtool, но не допёр, как им пользоваться, может, поможет кто? Ранее был известен под ником BoBaH_671. Ссылка на комментарий
BFG 7 582 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 (изменено) @BoBaH_671, http://rghost.ru/8s2BVq2xK- прога GGRC. Распаковка и слияние графов. Батник для распаковки внутри. Просто кидай свой game.graph в папку с утилитой и жми батник. Не забудь скачать свежий Perl. Слияние чуть сложнее, читай ридми. Надо собрать все локации, старый и новый граф и запустить батник для слияния. ============================ Вопрос по оллспавну. Добавил 10 секций новых. Но есть засада небольшая. У меня файл с последним № секции это - alife_limansk.ltx Туда и добавил десяток своих новых секций в самый конец файла. Номера секций выставил от последнего бОльшего номера. Но в этих новых секция изменения на ЧАЭС. Я читал что компилятор сам как надо соберёт по локациям мою добавку и согласно lv добавить мои секции именно в ЧАЭС. Но существует ещё файл с расширением *локация.section* 1. Имеет ли принципиальное значение порядок следования имён секций в этом файле ? Т.е. если например в файле "alife_loka.ltx" первая секция идёт с именем name=12345restriktor, то я и в файле "loka.section" должен первым указать именно это имя. 2. Если я внёс 10 новых секций в файл alife_limansk.ltx, то мне надо их описание уже вносить в chaes.section или всё таки в limansk.section ? Запутался чо то мну немного. Изменено 22 Августа 2015 пользователем BFG 1 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
antihumanist 0 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 Всем привет, нужна помощь ! Когда игрок смотрит на предмет появляется надписи типа:" открыть ящик", "поднять предмет" и т.п., как скриптами определить этот момент, когда игрок смотрит на какой-то предмет и определить что это(мне нужен объект ящика когда игрок смотрит на него) Ссылка на комментарий
alen_fantom 653 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 (изменено) Если я внёс 10 новых секций в файл alife_limansk.ltx, то мне надо их описание уже вносить в chaes.section или всё таки в limansk.section ?В хххх.section ничего вносить не нужно. (мне нужен объект ящика когда игрок смотрит на негоИщи его в распакованном all.spawn. В помощь: найти и скачать Mobile Manager v1.1.004.04a. Изменено 22 Августа 2015 пользователем alen_fantom 1 1 Ссылка на комментарий
antihumanist 0 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 (изменено) Ищи его в распакованном all.spawn. В помощь: найти и скачать Mobile Manager v1.1.004.04a. И что толку мне распаковывать спавн - это мне не нужно ! Мне нужно скриптами как-то (я не знаю как ! калбека такого нет, но где-то все равно это должно быть, а все скрипты мне не осилить ! я не знаю как это найти) понять когда игроку рисуется на экране надпись о том что он смотрит на какой либо юзебельный объект(оружие. труп, ящик ...) вот мне нужно в этот момент проверять СКРИПТАМИ(своими) что за объект перед ним, если это ящик то я хочу сделать кнопку что-бы в него положить все из инвентаря ГГ Изменено 22 Августа 2015 пользователем antihumanist Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 @antihumanist, как вариант, можно сканировать объекты в радиусе юзабельности от актора выбрать объекты подходящего класса, выяснять направление на объект, сравнить с направлением камеры актора, И если все проверки прошли то вот оно искомое событие. Костыль конечно, но работать будет. А по хорошему вот на это например событие можно было бы когда-то в далеком и светлом будущем добавить колбек в движке. Но пока его просто нету. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
antihumanist 0 Опубликовано 22 Августа 2015 Поделиться Опубликовано 22 Августа 2015 Хм. я думал что где-то зарыты такие функции ... ну или хотя-бы узнать скриптом что появилась надпись, а уже потом делать все эти проверки. Дело в том что есть игровое меню описанное в файлах "%gamefolder%\gamedata\config\ui\carbody_new_16.xml" и "%gamefolder%\gamedata\config\ui\carbody_new.xml" Но при попытке добавить туда свою кнопку ничего не происходит, она не отрисовывается :-( Потому-что ее нужно регистрировать, а походу это происходит в движке игры :-( А добавить в уже созданный объект этого окна регистрацию новой кнопки ведь не получится, да и кроме того ей понадобится тогда функция обработчик. Так-же есть калбек на момент когда актор забирает что либо из ящика, но нет калбека на момент когда он туда что либо кладет :-( Насколько я понял единственный способ добавить кнопку сброса всего инвентаря в ящик - это либо создавать свой ящик по активации с клавиатуры ,либо наполнять ящик тогда когда актор еще его не открыл, а только лишь смотрит на него(что в общем то костыль) Ссылка на комментарий
Zander_driver 10 333 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 Ну можно еще соорудить скриптовый колбек вышеописанным способом, и по его срабатыванию делать что требуется. Выстрел подобным же методом ловят, и ничего. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Shredder 49 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 @antihumanist, используй xray extensions, если нет возможности самому в движке добавить, что тебе нужно. Там есть методы: db.actor:get_target_obj() - возвращает объект, на который смотрит ГГ level.get_target_dist() - расстояние до него Ссылка на комментарий
UnLoaded 313 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 понять когда игроку рисуется на экране надпись о том что он смотрит на какой либо юзебельный объект Вот тебе ButcherMod_SoC, в нем есть практически все, что тебе надобно. Сделай по аналогии и будет тебе счастье... Ссылка на комментарий
Overfirst 630 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 (изменено) Прописал в логике непися такую штуку: on_actor_dist_ge_nvis = 200| {!pda_ruksak} %=kill% Если ГГ отойдет на 200 метров от непися и выполнено условие pda_in_ruksak, то непись умирает. (Должен умирать, читаем дальше.) xr_conditions.script, функция: function pda_ruksak() return vovan.box_is_full("vovan_rukzak",leha_gps) end function box_is_full(box_section,items) local box = object_by_section_offline(box_section) if not box then return false end local item local result = true for id=1,65534 do item = alife():object(id) if item and item.parent_id == box.id then for i=1,#items do if item:section_name() == items[i].section then items[i].have = items[i].have+1 break end end end end for i=1,#items do if items[i].have < items[i].need then result = false end items[i].have = 0 end return result end function object_by_section_offline(section) local obj for i=1,65534 do obj = alife():object(i) if obj and obj:section_name() == section then return obj end end return nil end function spawn_inv_box_gps() alife():create("vovan_rukzak",vector():set(-175.233718, -1.182823, 179.458587),47716,343) end local leha_gps = { {section = "leha_gps_band", need = 1, have = 0} } Если в рюкзаке vovan_rukzak лежит один итем с секцией leha_gps_band, то, по идее, условие pda_ruksak выполнено и непись должен умереть, но не умирает. Что я не так делаю? Если вставить такой прекондишен в диалог, то все работает, он появляется. Изменено 23 Августа 2015 пользователем BoBaH_671 Ранее был известен под ником BoBaH_671. Ссылка на комментарий
antihumanist 0 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 Вот тебе ButcherMod_SoC, в нем есть практически все, что тебе надобно. Сделай по аналогии и будет тебе счастье... там вообще не нашел расчета направления взгляда и т.п. насколько понял там по хиту определяется и расчет этот не требуется Ссылка на комментарий
Charsi 440 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 @BoBaH_671, может на 200 метрах нпс в оффлайн уходит и потому его логика уже не просчитывается? В диалоге-то он заведомо в онлайне. 1 Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
Overfirst 630 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 @Charsi, а вот об этом как-то и не подумал, спасибо, пошел тестить. Ранее был известен под ником BoBaH_671. Ссылка на комментарий
UnLoaded 313 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 может на 200 метрах нпс в оффлайн уходит и потому его логика уже не просчитывается? В диалоге-то он заведомо в онлайне. Похоже на то. Вот строка из alife.ltx: switch_distance = 150 там вообще не нашел расчета направления взгляда и т.п. А на кой тебе вообще направление взгляда ? У тебя задача, как я понял из твоих пояснений: если это ящик то я хочу сделать кнопку что-бы в него положить все из инвентаря ГГ Ящик в который можно что-то положить - это инвентарный ящик. Для него имеется стандартный UI-интерфейс, чем он тебе не гож ? Или ты хочешь что-то ложить в НЕ инвентарные ящики ? Если да, то вобщем это можно скостылить, но как тогда из НЕ инвентарных ящиков брать что-то, туда положеное ? Ведь нужен UI-интерфейс, а он будет только у инвентарного ящика. Ссылка на комментарий
DemonTools 12 Опубликовано 23 Августа 2015 Поделиться Опубликовано 23 Августа 2015 Но и ходить(бегать) медленно тоже не в кайф. Ну скажем так, это меня не пугает, иначе не шел бы на это, да и потом, уже после первого ответа я подогнал скорость ГГ под рядовых сталкеров методом проб и ошибок @DemonTools, Вообще, чтобы не стукаться головой о движковые поправки получить точно именно то значение которое нужно, я бы в данном случае предпочел скриптом замерить фактическую скорость какого-нибудь нпс, посадив его на логику валкера и играясь с его спринтом. Дело в том, что я не пишу мод и даже не программист и то что ты расписал, для меня китайская грамота, в модостроении я разбираюсь... хм... как собака и пловец в воде, так вот я та собака =). Насколько я понимаю - тебе надоело натыкаться на кого-нить во время сопровождения и т.д. Товарищ попал прямо в точку, я просто хотел подогнать игру под себя Ссылка на комментарий
BFG 7 582 Опубликовано 24 Августа 2015 Поделиться Опубликовано 24 Августа 2015 (изменено) Подскажите пожалуйста такую вещь : - есть рестриктор, заходя в который (наш ГГ ) на экран отправляется СМС, а потом через некоторое время ещё одно СМС. Вот логика: [logic] active = sr_idle [sr_idle] on_actor_inside = {+ataka_start} sr_idle@time %=arhara_dialog.ataka_sms% [sr_idle@time] on_timer = 6000 | sr_idle@nil %+ataka2_start =arhara_dialog.ataka2_sms% [sr_idle@nil] END На Вики читал статью, но ничего не понял, понял только что куда то надо поставить nil. Правильно ли он здесь поставлен ? У меня почему то СМС выдаются 2 раза. Как сделать так, чтобы срабатывал он только один раз ? Спасибо. Изменено 24 Августа 2015 пользователем BFG "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
abramcumner 1 141 Опубликовано 24 Августа 2015 Поделиться Опубликовано 24 Августа 2015 (изменено) @BFG, думаю, имелось ввиду просто nil. Вот так: on_timer = 6000 | nil %+ataka2_start =arhara_dialog.ataka2_sms%Типа специальный идентификатор, после которого отключается обработка логики. Изменено 24 Августа 2015 пользователем abramcumner 1 Ссылка на комментарий
BFG 7 582 Опубликовано 24 Августа 2015 Поделиться Опубликовано 24 Августа 2015 (изменено) @abramcumner, Тогда ОБА смс не будет выдаваться повторно ? И забыл 2 вопрос : - если я поменяю как у тебя на примере, запакую оллспавн, то нужна ли будет НИ ? Или достаточно будет переиграть до получения поршня ataka_start ? Изменено 24 Августа 2015 пользователем BFG "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти