S.T.A.L.K.E.R. 2: Новый трейлер <<<>>> S.T.A.L.K.E.R.: Global War <<<>>> Инструмент - теперь и для ТЧ!
-
Число публикаций
663 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
13,017 [Подарить AMKoin]
Сообщения опубликованы Space.Marine
-
-
перенеси вызов dinamic_hud.update() повыше
Спасибо, помогло. Признателен за помощь !@Bak,
Приветствую ! Платформа ТЧ. Обновил АИ до свежей версии и пошли вылеты сохранений (после начала новой игры):Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: c:\stalkersoc\gamedata\scripts\dialog_manager.script:393: attempt to compare number with nilВерсии везде правильные (7) и >=0. Дело в том, что установлен ещё и Динамический Худ. Проблема, мне кажется, в разных xr_utils. Можно попросить подружить Ваши два творения.
-
Ну, раз пошла такая пляска... По поводу эффектов стрельбы из Динамического Худа... Попробовав раз, больше не могу играть без него вообще. Очень атмосферная весчь. К сожалению никак не смог адаптировать к моду "Call of Chernobyl". Эффект от выстрела появляется только спустя пару секунд после выстрела. Если кто поможет с адаптацией, то размеры моей благодарности не будут иметь границ.
-
- Это популярное сообщение.
- Это популярное сообщение.
Так что же со всем этим делать?4. Не париться.
- 5
Скриптование
в Скрипты / конфиги / движок
Опубликовано
Автор: Моддер
Как лечить раненных НПС-врагов
Сложность: оч. легко
Совместимость с модами: легко совместимо
Многие люди в своих модификациях хотят добавить возможность лечить раненных врагов, как, например, в Солянке. Я тоже однажды заинтересовался этим вопросом и, не найдя на него ответа в интернете, занялся решением проблемы сам. В итоге мне это удалось и теперь выкладываю плоды своих стараний на просторы интернета .
Скрыть Инструкции
Запрет диалога с раненными противниками находится в файле xr_wounded.script, и выглядит так (я снабдил его комментариями, если вы не сильно шарите в скриптах):
if self.object:relation(db.actor) == game_object.enemy then --если отношение НПС к ГГ = отношению к врагум
self.object:disable_talk() --блокировать диалоги
else --иначе
self.object:enable_talk() --разрешить диалог
end --конец условия (if)
Дабы позволить ГГ говорить с врагами (только раненными) достаточно удалить лишнее и оставить всего одну строку:
self.object:enable_talk()
Но! Если ГГ попробует обратиться к раненным представителям бандитов, монолитовцев, наёмников, зомби (возможно), военных или противников на Арене - скорее всего произойдёт Фатал Еррор с логом на отсутствие подходящей фразы для диалога (в оригинальной игре с вероятностью 99%). Так вот, лично для себя я нашёл простое решение, которое подходило и по концепции моего мода - запретить диалог с данными группировками. Вот таким макаром:
local comm = self.object:character_community() --переменной обозначил "понятие" группировки обьекта (НПС)
if comm == "zombied" or --если НПС - зомби, или
comm == "bandit" or --НПС - бандит, или
comm == "monolith" or --НПС - монолитовец, или
comm == "arena_enemy" or --НПС - боец арены, или
comm == "killer" or --НПС - наёмник, или
comm == "military" then --НПС - вояка, тогда
self.object:disable_talk() --запретить диалог
else -- иначе
self.object:enable_talk() --разрешить диалог
end -- The End!
просто заменить изначальные строки этими и теперь ГГ сможет лечить врагов одиночек, долговцев, свободовцев и учёных.
Но есть ещё один момент. При лечении врагов, если всё сделать как было написано будет ещё одна проблемка - они так и останутся врагами после лечения и будут дальше атаковать ГГ.
Разумно было бы сделать НПС если не другом, то по крайней мере нейтралом. Для этого необходимо в файле dialogs.script кусок скрипта
if second_speaker:relation(first_speaker) ~= game_object.enemy then
second_speaker:set_relation(game_object.friend, first_speaker)
end
first_speaker:change_character_reputation(10);
end
заменить на
if second_speaker:relation(first_speaker) == game_object.enemy then
second_speaker:set_relation(game_object.friend, first_speaker)
first_speaker:set_relation(game_object.friend, second_speaker)
end
first_speaker:change_character_reputation(10);
end
Всё!