RayTwitty 492 Опубликовано 25 Июля 2023 Поделиться Опубликовано 25 Июля 2023 22 часа назад, 666Ian сказал: Правда, если пример получить невозможно с которого бы я все слизал, можно хоть подсказку какой биндер имеется ввиду Пример тут в двух словах не получится привести. Могу как вариант посоветовать посмотреть Shadows Addon, там есть биндер автомобилей (sa_cars.script) и сохранение/загрузка топлива (se_car.script). Но если у тебя кастомный движок типа OGSR, то нафиг это все надо - сделай себе форк и добавь необходимые параметры прямо в движок. 1 1 Ссылка на комментарий
Zander_driver 10 333 Опубликовано 26 Июля 2023 Поделиться Опубликовано 26 Июля 2023 2 часа назад, RayTwitty сказал: если у тебя кастомный движок типа OGSR, то нафиг это все надо - сделай себе форк и добавь необходимые параметры прямо в движок. Истинная правда, так оно и есть. Но людям бывает очень страшно к движку даже подойти, и в это наше C++ окунуться. Боятся, понимаешь... Скрытый текст Вспоминая себя, кстати... я пожалуй не боялся. Мне было лень. Когда исходники только появились, в движке столько багов и косяков было, так было лень все это разгребать, править... данунафиг. Да и знаний по С++ на тот момент не было. А в движке OGSR добрые люди уже без моего участия все (ну почти), косяки разгребли, исправили, причесали... Не движок - конфетка. Насколько это вообще можно сказать в отношении X-Ray. Такой движок грех не форкнуть под свои нужды. А если по теме. Люди, не надо бояться движка. Он не кусается. Уж тем более теперь, когда все доведено до ума. 1 1 1 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
666Ian 6 Опубликовано 26 Июля 2023 Поделиться Опубликовано 26 Июля 2023 14 часов назад, RayTwitty сказал: Пример тут в двух словах не получится привести. Могу как вариант посоветовать посмотреть Shadows Addon, там есть биндер автомобилей (sa_cars.script) и сохранение/загрузка топлива (se_car.script). Но если у тебя кастомный движок типа OGSR, то нафиг это все надо - сделай себе форк и добавь необходимые параметры прямо в движок. а есть что на эту тему? Попробуем форк.. Уточню, если понял неправильно. Форк движка, по сути просто правка движка, огср позволит мне сохранять свойства предмета также легко, как я сохраняю сейчас condition предмета? Т.е я сделаю аналог set_condition(number) для любого свойства, например, цены и смогу условно через set_cost(number) менять стоимость любого предмета? И сделать это не так уж и сложно, что даже у меня есть шансы)? Если хватит терпения у кого меня посвятить в это дело, то я готов пробовать. Вроде прикольная штука была бы и простая. Скриптами я наныл, еще не понял как, но понимать вроде начинаю и вижу там какие-то дебри 1 Ссылка на комментарий
Maks Velikoda 0 Опубликовано 26 Июля 2023 Поделиться Опубликовано 26 Июля 2023 (изменено) S.T.A.L.K.E.R. Anomaly - НПС говорит не все фразы. Столкнулся с проблемами. В "Charasters_desc" прописал НПСу путь к голосу персонажа(в моём случае это голос наёмника). По итогу НПС молчит, говорит фразы только во время ранения, и только если тычить в него стволом. Других фраз(фразы во время перестрелки, обычные рандомные фразы и т.д.) он вообще не говорит. К тому же, если взять его в напарники, то он не высылает в чат никаких СМС в адрес ГГ(СМС про локации, мутантов и т.д.). Из-за этих двух проблем мой непись будто неживой. Что делать? Изменено 26 Июля 2023 пользователем Murarius Добавлено Murarius, 26 Июля 2023 Перемещено. Ссылка на комментарий
gam 117 Опубликовано 27 Июля 2023 Поделиться Опубликовано 27 Июля 2023 13 часов назад, Maks Velikoda сказал: S.T.A.L.K.E.R. Anomaly Если Вы, что-то модифицируете, указывайте платформу. Как угадать, что это - Choc\ЧН\COP? 1 Ссылка на комментарий
Zander_driver 10 333 Опубликовано 27 Июля 2023 Поделиться Опубликовано 27 Июля 2023 (изменено) 47 минут назад, gam сказал: Как угадать, что это Ну например в гугл вбить... Указал он платформу. S.T.A.L.K.E.R. Anomaly вполне себе платформа, не знать о существовании которой - грех. Изменено 27 Июля 2023 пользователем Zander_driver 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
gam 117 Опубликовано 27 Июля 2023 Поделиться Опубликовано 27 Июля 2023 53 минуты назад, Zander_driver сказал: не знать о существовании которой - грех. Я неверно выразился - с моей виндой хр не на всякий сайт можно пробиться. А этот мод мне не знаком. Но тут оффтоп уже. Ссылка на комментарий
Dalarcsis 26 Опубликовано 30 Июля 2023 Поделиться Опубликовано 30 Июля 2023 (изменено) Ребята, подскажите пожалуйста, через какую функцию в скрипте можно удалить предмет у НПС в ТЧ? В интернете и на форуме искал, но не нашёл. Буду признателен, если поможете. Изменено 30 Июля 2023 пользователем Dalarcsis "нᴀᴄᴛ᧐ящиʍ ʍ᧐дʍᴇйᴋᴇᴩ᧐ʍ ʍ᧐жᴇᴛ ᴄᴛᴀᴛь ᴛ᧐ᴧьᴋ᧐ ᴨ᧐иᴄᴛинᴇ ɸᴀнᴀᴛ ᴧюбиʍ᧐й иᴦᴩы." © Ссылка на комментарий
666Ian 6 Опубликовано 30 Июля 2023 Поделиться Опубликовано 30 Июля 2023 @Dalarcsis по всякому можно. ты лучше опиши подробнее в какой момент удалить. если просто с ничего удалить, то можно перебрать всех нпс, выбрать нужных по имени профиля, перебрать их инвентари на наличие нужного предмета и удалить предмет, если он есть. Хотя можно по идее просто перебор всех объектов уже видит этот предмет и удалить его можно без перебора инвентарей нпс. Можно в диалогах удалить, в оригинале гск так делает, а в моддинге так делает большинство модеров(статистика из воздуха). Ну это мои варианты. я такой себе скриптер. просто мне пришло . уведомление - я откликнулся) Вариантов с диалогом у меня нет под рукой. Переборов много разных, попробуй так for a = 1, 65534, 1 do local sobj = alife():object( a ) if sobj and sobj:section()=="секция предмета" and sobj.parent_id == npc.id then -- если секция предмета и предмет находится у нпс какого-нибудь в собственности alife():release( sobj, true ) end end Меня тоже интересует кое-что. Как можно сохранить переменную и привязать её к определенному сейву? Вот чтобы у каждого сейва эта переменная была своя? Я сейчас смог так на костылях реализовать сохранение переменной через файловый менеджер, переименовывая определенный файл в значение переменной, а потом на нетспавне считывать это имя файла как переменную, типо сохранил... Ну понятное дело, что это все более-менее работает в рамках прохождения всей игры на одном и том же сохранении. Так бывает конечно, но такую реализацию я бы отложил на самый крайний случай. Я вижу там разрабы сохраняют уровни сложности, тайники что ли, логику. Пытался посмотреть. Пока ничего не понял особо, ну понял что нет-пакеты) все пока что. У меня ОГСР, поэтому я еще смотрю в сторону такого способа function save_number(number) local setting_ini = ini_file("important_number.ltx", true) setting_ini.readonly = false setting_ini:w_float("имя_сейва", "1", number) -- тут хотелось бы получать еще имя сейва... number то я могу получать end И вроде оно сохраняет, т.е точно сохраняет, но имя сейва получить при сохранении как не знаю. Я нашел случайно, но еще не пытался это в свои скрипты пихать такое в скрипте xr_effects из зп. -- Сюжетное сохранение в важных местах function scenario_autosave(actor, npc, p) local save_name = p[1] if save_name == nil then abort("You are trying to use scenario_autosave without save name") end if IsImportantSave() then local save_param = user_name().." - "..game.translate_string(save_name) get_console():execute("save "..save_param) end end Возможно как-то так я смогу получать имя сейва, записывать его вместе с намбер. Меня интересует, если я пытаюсь идти верной дорогой в своих хотелках, то как это всё дело загрузить потом? 1 Ссылка на комментарий
Dalarcsis 26 Опубликовано 30 Июля 2023 Поделиться Опубликовано 30 Июля 2023 @666Ian Мне бы конкретно удалить после определённой фразы, ГГ или НПС. Т.е да, в диалогах. Но так, спасибо, что откликнулся! "нᴀᴄᴛ᧐ящиʍ ʍ᧐дʍᴇйᴋᴇᴩ᧐ʍ ʍ᧐жᴇᴛ ᴄᴛᴀᴛь ᴛ᧐ᴧьᴋ᧐ ᴨ᧐иᴄᴛинᴇ ɸᴀнᴀᴛ ᴧюбиʍ᧐й иᴦᴩы." © Ссылка на комментарий
666Ian 6 Опубликовано 30 Июля 2023 Поделиться Опубликовано 30 Июля 2023 4 минуты назад, Dalarcsis сказал: @666Ian Мне бы конкретно удалить после определённой фразы, ГГ или НПС. Т.е да, в диалогах. Но так, спасибо, что откликнулся! там в переборе ошибка, если что. скопировал код, не глянул, но кстати даже так может выдать ошибку xD Так я и делаю сам моды. Методом тыка. 19 минут назад, 666Ian сказал: for a = 1, 65534, 1 do local sobj = alife():object( a ) if sobj and sobj:section()=="секция предмета" and sobj:parent()~=nil then alife():release( sobj, true ) end end А вот с диалогами. Блин возится буду с час, искать смотреть. да по сути на диалог можно тот же перебор повесить) Если он работает корректно. Ну вот я нашел функцию из зп по-быстрому. Вроде бы должна работать. function delete_item(first_speaker, second_speaker) local section = "секция" if second_speaker:object("секция") ~= nil then alife():release(alife():object(second_speaker:object(section):id()), true) end end Хотя к слову, зачем вообще возиться-то тебе с предметом? Если нпс умирает и все удаляет дез_менджер? 1 Ссылка на комментарий
Zander_driver 10 333 Опубликовано 30 Июля 2023 Поделиться Опубликовано 30 Июля 2023 30 минут назад, 666Ian сказал: Меня тоже интересует кое-что. Как можно сохранить переменную и привязать её к определенному сейву? Вот чтобы у каждого сейва эта переменная была своя? ... У меня ОГСР Опять 25. Ну у тебя же уже есть рабочий пример сохранения в xvars. (Я уж молчу о том что он и в OGSR-Wiki как был так и есть). Зачем опять эти костыли, да еще прости-господи, нет-пакеты? Сохрани свою переменную в xvars и не парься. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
666Ian 6 Опубликовано 30 Июля 2023 Поделиться Опубликовано 30 Июля 2023 (изменено) @Zander_driver точно, просто на любой предмет писать эту переменную? А потом её читать? Или как? А на что писать. На ту же броньку и не парится? Я просто отмучался там и забыл уже, а ты напомнил мне как я страдал ну на броник я бы точно не стал, о чем я боже... А как, а на что? На болт? Ладно пойду посплю. может завтра лучше подумается блин точно. на игрока и писать. надеюсь не опозорился хоть раз Изменено 30 Июля 2023 пользователем 666Ian 1 Ссылка на комментарий
Dalarcsis 26 Опубликовано 31 Июля 2023 Поделиться Опубликовано 31 Июля 2023 @666Ian Спасибо огромное, завтра утром проверю. А по поводу смерти НПС и очистки менеджером: он и не умирает, т.к. играет роль квестовика. Поэтому, хочу подзапариться. Можно, конечно, было убрать из профиля предмет, но я хотел сделать вариативность - забрать силой, или потолковать. Вот тут и понадобилось очистить инвентарь от предмета Спасибо ещё раз. "нᴀᴄᴛ᧐ящиʍ ʍ᧐дʍᴇйᴋᴇᴩ᧐ʍ ʍ᧐жᴇᴛ ᴄᴛᴀᴛь ᴛ᧐ᴧьᴋ᧐ ᴨ᧐иᴄᴛинᴇ ɸᴀнᴀᴛ ᴧюбиʍ᧐й иᴦᴩы." © Ссылка на комментарий
666Ian 6 Опубликовано 10 Августа 2023 Поделиться Опубликовано 10 Августа 2023 @Zander_driverа что такого? Неправильно понял в итоге я? Или ты с моих тупняков в шоке? Вообще поинтересуюсь, может знаешь, присел на xvars значит. Удобно. Классно. Но если я буду записывать сразу 100 переменных, там ничего не треснет? Не сломается? И ещё раз, я же правильно делаю, что на игрока пишу и с него читаю, или можно как-то по уму это делать, грамотно? У меня все работает, кстати, поэтому я доволен как бы в любом случае) хварс тема. 1 Ссылка на комментарий
Zander_driver 10 333 Опубликовано 13 Августа 2023 Поделиться Опубликовано 13 Августа 2023 10.08.2023 в 13:25, 666Ian сказал: Но если я буду записывать сразу 100 переменных, там ничего не треснет? Не сломается? Я у себя записываю около пары сотен тысяч переменных. И еще до 100 000 переменных сверху, под конец прохождения мода. Пока ничего не ломалось с этой стороны. 10.08.2023 в 13:25, 666Ian сказал: я же правильно делаю, что на игрока пишу и с него читаю, или можно как-то по уму это делать, грамотно? Скрытый текст Ты не правильно даже говоришь об этом. xvars не имеет никакого отношения ни к игроку, ни к каким-то там объектам... Ты пишешь не "на игрока". А именуешь переменные неким образом, отчего тебе почему-то кажется что "это записано на игрока" ... кажется тебе это. Неправильно. И в тот раз, мы не в объект писали. Просто в xvars, просто в имени переменной содержится id объекта... а оно может и не содержаться. К объектам никакого отношения нет, это просто переменная которую ты можешь обозвать как угодно. Вложив что-либо в название для того чтобы с чем-то другим не перепутать, и только. 1 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
phalcor 60 Опубликовано 23 Августа 2023 Поделиться Опубликовано 23 Августа 2023 (изменено) Приветствую! Непонятный затык какой-то... Заметил, что давно нет респавна убитым монстрам/сталкерам. По времени уже несколько раз должны были сработать респавны. Кордон почти пуст третьи сутки. И если ранее при ручном спавне тестового сталкера он тут же переходил под управление какого-нибудь гулага, то теперь сколько не спавню - они все ходят-бродят кругами, не будучи подхваченные гулагами. Понятно, что мутновато описал проблему, но вдруг кто-то стилкивался с подобным и знает решение? p.s. А где интересно сам механизм захвата заспавненного сталкера под гулаг - в скриптах или же в движке? UPD: такс, нашёл, гулаг объекту назначается в частности в скрипте se_respawn вызовом obj:brain():update(), и далее проверка - нет гулага, объект удаляется. Вот потому у мну и пустыня... Вопрос, что мешает этому brain():update() назначить сталкерам гулаг?!! По условиям тех же гулагов (capacity и т.д.) всё норм. Изменено 23 Августа 2023 пользователем phalcor update Ссылка на комментарий
Это популярное сообщение. phalcor 60 Опубликовано 24 Августа 2023 Это популярное сообщение. Поделиться Опубликовано 24 Августа 2023 (изменено) 17 часов назад, phalcor сказал: давно нет респавна убитым монстрам/сталкерам Нашёл-таки причину. Кому интересно: Скрытый текст Дело всё в том, что при поиске подходящего гулага в obj:brain():update() учитываются allspawnоские трупы, так как у них в ini есть секции [smart_terrains] esc_lager = true Из-за этого такие трупы занимают свободные места в smart_terrainах, уменьшая значения self.gulag.capacity_non_exclusive. Т.е. в методах fill_exclusives для сталков/монстров не проверяется их живость... Где-то это хорошо, а мне вот оказалось плохо - кучу времени потратил. Решение: ждать пропажи трупов или добавить таки проверку в fill_exclusives на alive. Изменено 24 Августа 2023 пользователем phalcor 2 3 Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 3 Сентября 2023 Поделиться Опубликовано 3 Сентября 2023 OGSE 0.6.9.3, переназначение клавиш и кнопок для обработки новых действий: Spoiler [ogse_rebind_key.script] local dik_key_to_name = { … --[256] = "MOUSE_1", -- похоже, враньё в lua_help --[512] = "MOUSE_2", -- аналогично --[1024] = "MOUSE_3", -- та же песня [337] = "MOUSE_1", [338] = "MOUSE_2", [339] = "MOUSE_3", В ТЧ 1.0006 событие "нажать / отпустить ЛКМ или ПКМ" успешно ловится (в скриптовом окне) при ссылке на таблицу DIK_keys с "неправильными" кодами кнопок мыши. Как понимать указанный выше комментарий в OGSE? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
I am Dead 912 Опубликовано 12 Сентября 2023 Поделиться Опубликовано 12 Сентября 2023 04.09.2023 в 04:49, Norman Eisenherz сказал: Как понимать указанный выше комментарий в OGSE? Вот так и понимай, выше неправильные коды, правильные - 0xED(=200) + num Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти