Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
CiberZold 142 Опубликовано 29 Января Поделиться Опубликовано 29 Января 2 часа назад, boneset-hq сказал: Или придётся мучиться с all.spawn'ом? а что там мучиться, если у тебя оригинал ТЧ стоит, берёшь распаковщик и разбираешь спавн ACDC, поправил и запаковал снова, с распаковкой спавна некоторых модов там где классы менялись да могут возникнуть проблемы, но ручками подправить файлы самого распаковщика надо будет, кстати там же в аллспавне и файлы вей-поинтов ,которые тебе тоже нужны будут, чтоб направить непися туда куда нужно path_walk и path_look, мучиться это если пересобирать и править кучу секций в спавне, а тебе пару строк поправить) Ссылка на комментарий
Stalkeruga_238 2 Опубликовано 29 Января Поделиться Опубликовано 29 Января (изменено) Вечер добрый, знает кто-нибудь как реализована визуальная отдача у оружия в моде AA 2.1? (тряска камеры с блюром) Изменено 29 Января пользователем Stalkeruga_238 Ссылка на комментарий
Stalkersof 127 Опубликовано 29 Января Поделиться Опубликовано 29 Января 50 минут назад, Stalkeruga_238 сказал: Вечер добрый, знает кто-нибудь как реализована визуальная отдача у оружия в моде AA 2.1? (тряска камеры с блюром) Смотри скрипт rx_shoot_enable.script Добавлено Купер, 30 Января Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/ 1 Freeplay Graphic Mod(FGM) Ссылка на комментарий
Balavnik 108 Опубликовано 30 Января Поделиться Опубликовано 30 Января По какой-то неизвестной причине значение, аргумент npc некоторой функции kill1(npc) является nil, даже если я туда подаю second_speaker, зная, что он не равен nil. В чём может быть ошибка? Проблемы притягиваю со страшной силой... Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 30 Января Поделиться Опубликовано 30 Января 3 часа назад, Balavnik сказал: По какой-то неизвестной причине значение, аргумент npc некоторой функции kill1(npc) является nil А можно увидеть текст вылета? Что-то мне подсказывает, что причина его (вылета) немного в другом. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Balavnik 108 Опубликовано 31 Января Поделиться Опубликовано 31 Января @Zander_driver Вот Скрытый текст function kill1(npc) --local npc = db.actor local a = vector() local pos = npc:position() local text local ab = 1 text = "load ~"..a.pos printm(text) npc:kill() end P.s. уже разобрался, что a.pos возвращает nil. Исправил. Однако появился новый вопрос - почему npc:kill() не убивает персонажа(Напр. Фаната) P.s.s. Извиняюсь за глупые вопросы, для меня эта тема особенно сложная. Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
mole venomous 3 331 Опубликовано 31 Января Поделиться Опубликовано 31 Января @Balavnik , потому что это не работает. 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 31 Января Поделиться Опубликовано 31 Января @Balavnik Ну давай разбираться. Скрытый текст function kill1(npc) --local npc = db.actor local a = vector() -- Ты же в курсе, что это просто пустой вектор, без значения? Ему ничего не присвоено. local pos = npc:position() -- Ок, тут у нас позиция нпс, ЕСЛИ npc - это клиентский объект (Такой метод емнип только там есть) local text -- Объявил переменную, ок. local ab = 1 -- Что это, зачем? Нигде не используется. text = "load ~"..a.pos --В векторе нет поля pos, поэтому естественно здесь будет nil. (А вылета concatenate string with nil тут не возникло? странно. Должно было вылететь здесь) --В векторах как правило есть поля x, y, z. НО, при условии что вектор имеет значение. Вектор a никакого значения не имеет, и пытаться его читать бессмысленно. printm(text) -- это своя обертка для вывода в лог? Ладно, ОК. Только выводится text который не содержит никакой полезной информации. npc:kill() -- А здесь у объекта npc вызывается метод kill. -- И здесь внимание. Результат зависит от того, ЧТО за объект ты передал в функцию. Вызываем-то у него. -- Если передал клиентский объект. То у него нет такого метода, и будет вылет attempt to call 'kill' a nil value. Или как-то так. -- Если же передается не клиентский объект, то у него не будет метода position и аналогичный вылет будет несколькими строками раньше. -- Подводя итог - определись, ты хочешь Фаната грохнуть в онлайне или в оффлайне. В зависимости от этого и выстраивать свои действия, с каким объектом работать. ЕМНИП, серверный метод kill не на всех версиях движков работает, мб дело в этом. end Полезно будет разобраться в различиях между клиентским и серверным объектом, разном ассортименте методов и возможностей у них. 2 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Norman Eisenherz 303 Опубликовано 31 Января Поделиться Опубликовано 31 Января Метод "убить" для онлайн-объектов требует записи жертва:kill(убийца), в противном случае не срабатывает. Если не хочется портить отношения с группировками, надо оформлять убийство NPC как суицид. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
I am Dead 911 Опубликовано 2 Февраля Поделиться Опубликовано 2 Февраля 31.01.2024 в 19:12, Zander_driver сказал: Ну давай разбираться. И не лень расписывать это все?) Вопросы очевидные, тут документацию только читать, читать и еще раз читать. 1 1 Ссылка на комментарий
CiberZold 142 Опубликовано 2 Февраля Поделиться Опубликовано 2 Февраля @Balavnik у тебя неправильная функция, чтоб убить например Фаната, тебе надо найти его уникальный номер объекта SID, который прописывается в алл-спавне и можно найти или там или в оригинальном файле game_story_ids.ltx для ТЧ там все основные персы прописаны, тогда ты можешь удалить именно этот объект, а не просто какой-то объект с секцией Фаната, которых ты можешь наспавнить спавнеров хоть сто штук а тебе нужен один единственный,который спавнится в начале игры через алл-спавн, и для этого нужны эти SIDы чтоб обратиться конкретно к этому уникальному объекту : local npc = level_object_by_sid(тут пишешь ID Фаната) if npc then npc:kill( npc ) ---- типа самоубийство 1 Ссылка на комментарий
Colder 12 Опубликовано 2 Февраля Поделиться Опубликовано 2 Февраля Подскажите как убрать ракеты у вертолета? Ссылка на комментарий
Купер 2 803 Опубликовано 2 Февраля Поделиться Опубликовано 2 Февраля @Colder , попробуй в нужной секции логики вертолёта ключ combat_use_rocket 1 1 Ссылка на комментарий
Colder 12 Опубликовано 3 Февраля Поделиться Опубликовано 3 Февраля Еще вопрос, где можно подсмотреть разжигание костров? Движок огср. Ссылка на комментарий
I am Dead 911 Опубликовано 3 Февраля Поделиться Опубликовано 3 Февраля 8 часов назад, Colder сказал: разжигание костров? В DSHhttps://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/ogse/ogse_campfire.script или в огср гаhttps://github.com/OGSR/OGSR_GA_Resources/blob/main/gamedata/scripts/ogse_campfire.script 1 1 Ссылка на комментарий
Balavnik 108 Опубликовано 3 Февраля Поделиться Опубликовано 3 Февраля (изменено) @CiberZold А можно как-то выудить этот айдишник без открытия сторонних файлов? Например npc:id() прокатит? Или это метод клиента и не прокатит? P.S. Никак не могу разобраться с этим, и так крутил, и эдак... Результат один - attempt to nil value. Даже при использовании амк-функций, работающих везде, кроме моего скрипта. Изменено 3 Февраля пользователем Balavnik Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Norman Eisenherz 303 Опубликовано 3 Февраля Поделиться Опубликовано 3 Февраля Можно получить ссылку на онлайн-объект NPC через диалог с ним: motivator_binder:use_callback + проверка obj:alive(). После этого как раз можно читать obj:id(). 1 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
CiberZold 142 Опубликовано 4 Февраля Поделиться Опубликовано 4 Февраля (изменено) Ранее спрашивал такой вопрос про то ,что странно в моде на ОГСР НПС продавали всё своё оружие, думал что в движке поменяли торговлю, но на днях другой мод перевёл на ОГСР и там НПС оружием основным не торговали, стал ковыряться в оригинальных файлах торговли и выяснил причину: в оригинале ТЧ оказывается всё работает также, но там ПЫСы заморочились и почти все предметы в игре прописали как неторгуемые в trade_generic.ltx ( это главный файл конфига торговли для всех НПС у которых в логике не задан отдельный файл торговли) не важно квестовый непись или симуляционный, если у него нет файла торговли, то торговать он будет через trade_generic.ltx, а там всё что он не покупает и не продаёт должно быть указано, если чего-то не указать он этим торгует с ценами по себестоимости , наряду с теми вещами, что прописаны с конкретными значениями после знака =, так вот в первом моде ничего не было прописано кроме квестовых предметов, потому неписи торговали всем своим оружием, а втором моде - неписям разрешено было торговать только ПМ и обрезами, а остальным оружием - нет, а в оригинале получается НПС, которые не имели своего торгового файла по дефолту в trade_generic вообще никаким оружием не торгуют, потому создавалось впечатление, что не торгуют оружием которое в данный момент в слоте. 11 часов назад, Balavnik сказал: А можно как-то выудить этот айдишник без открытия сторонних файлов? это стори ид его задаёт сам создатель игры/мода для удобства, ПЫСы например не стеснялись чуть ли не каждой собаке и дверной ручке давать свой SID, так и ты когда делаешь мод, сам задаёшь эти айдишники в аллспавне под будущие квесты или сценки, или что-то надо заспавнить по ай-дишнику в определённый момент объект из алл-спавне по скрипту, Фанат спавнится в оригинале по инфопоршню в аллспавне перед походом в X18 но у него тоже есть свой sid, если в скриптах например в его квесте надо будет у нему обратиться, например что его убить и т.п. вообще удобная вещь, например есть объект с sid=203 - чтоб получить клиентский объект пользуем level_object_by_sid (203) как выше писал. чтоб получить серверный объект - alife():story_object(203), чтоб например вообще удалить объект из игры. чтоб заспавнить объект из аллспавна - alife():spawn_id(203), но если он уже есть то игра вылетит, это подходит если объект сначала был удалён из игры, а потом его надо вернуть. Изменено 4 Февраля пользователем CiberZold 1 Ссылка на комментарий
Balavnik 108 Опубликовано 4 Февраля Поделиться Опубликовано 4 Февраля (изменено) Ну вот, как-то поломал глобальное пространство имён... От ошибок кругом голова Вылет при попытке создания объекта через xyz Скрытый текст Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...of chernobyl\gamedata\scripts\balavnik_script.script:71: attempt to call global 'xyz' (a nil value) Скрытый текст pos_only = vector() function xyz(x,y,z) return pos_only:set(x,y,z) end Произошло это после редактирования одного из созданных мной файлов скриптов с целью опробовать убийство нпс. Вылет при попытке создания объекта методом alife:create() Вылет с логом LUA error: scripts\_g.script:1331: attempt to index global 'alife' (a function value) Изменено 4 Февраля пользователем Balavnik 1 Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Prophet13 1 061 Опубликовано 4 Февраля Поделиться Опубликовано 4 Февраля 1 час назад, Balavnik сказал: attempt to call global 'xyz' (a nil value) Покажи код, где ты используешь эту функцию. 1 час назад, Balavnik сказал: alife:create() Правильно будет alife():create() 1 2 OP OGSR Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти