Pickleman 8 Опубликовано 5 часов назад В NLC 7 существует скриптовая система, благодаря которой, атакуя нейтральных (и вроде даже не атакующих враждебных) сталкеров, игрок в дальнейшем получит серьезные проблемы. Первое, что приходит игроку - уведомления на КПК. Сообщения имеют такой посыл: "Видел, как один сталкер с харей покорёженной, парня завалил." и тд. Спойлер Эти сообщения находятся в gamedata\scripts\sak\sak_dialog.script в функции all_repa_no_good(). В функции сначала игроку сбрасывает 50 очков репутации, затем запускается таймер с вызовом up_repa(-250), которая сделает понижение репутации ещё на 250 очков со сопутствующими ругательными сообщениями. Спойлер function all_repa_no_good() db.actor:change_character_reputation(-50) local name,sname = amk_names_lists.get_strings() sak.send_tip("Видел, как один сталкер с харей покорёженной, парня завалил. От такого всё, что хочешь ждать можно.",name.." "..sname,0,15,"uniq","news","gray") local name2,sname2 = amk_names_lists.get_strings() sak.send_tip("Это кто такой? Знал я одного. Морда ужас! Копчёный или не... На мы букву... В общем понятно всё с таким.",name2.." "..sname2,15,15,"uniq","news","gray") timers.start_timer("hell_repa",0,5,11,"sak_dialog.up_repa(-250)") end Влияние текущей репутации на отношения группировок описывается в файле gamedata\config\creatures\game_relations.ltx в секции [reputation_relations]. Из которой видно, что при плохой репутации у игрока, НПС с (как минимум) нейтральной (и выше) будут негативно относиться к Меченному (-600, -400 и тд). Спойлер [reputation_relations] ; terrible, very_bad, bad, neutral, good, very_good, excellent -это репутация актора ;============================================================================================ terrible = 50, 25, 10, 0, 0, 0, 0 very_bad = 100, 50, 25, 0, 0, 0, 0 bad = 200, 100, 50, 0, 0, 0, 0 neutral = -600, -300, -150, 0, 150, 200, 450 good = -400, -200, -100, 10, 200, 300, 500 very_good = -250, -150, -50, 20, 250, 350, 550 excellent = -100, -50, 0, 20, 25, 30, 50 На сколько я понял (из game_relations.ltx), если отношение становится меньше -150, то группировка становится враждебной. Спойлер ;пороговые значения для отношения персонажей attitude_neutal_threshold = -150 ;когда attitude меньше значения, то выставляется ALife::eRelationEnemy attitude_friend_threshold = 500 ;когда attitude меньше значения, то выставляется ALife::eRelationNeutral, иначе ALife::eRelationFriend Как вариант, можно в sak_dialog.script подправить сами значения (при передаче в db.actor:change_character_reputation и sak_dialog.up_repa). То есть, сообщения будут приходить, но репутация падать не будет. Но!... Давайте посмотрим откуда вызывается all_repa_no_good()? Вызов происходит из hellcar_repa_no_good() по таймеру. И hellcar_repa_no_good() вызывается из scripts\xr\xr_motivator.script функции motivator_binder:death_callback(victim, who). Опять же, другой вариант закомментировать сам вызов sak_dialog.hellcar_repa_no_good(). Спойлер if who:id()==db.actor:id() then xr_statistic.addKillCount(self.object) if amk.get_npc_relation(victim,who)~="enemy" then if self.object:character_community()~="bandit" then sak_dialog.hellcar_repa_no_good() end local gulag = xr_gulag.get_npc_gulag(victim) if gulag and gulag.name and not gulags_bad[gulag.name] then xr_gulag.setGulagEnemy(gulag.name, db.actor) end end end Из интересного (на сколько я понял), если игрок убивает не враждебных и не бандитов, то будет происходить падение репутации. Не до конца понятно, конкретно тут, кто является enemy? Тот, кто просто имеет в поле "отношение" - враг? Или тот, кто именно атакует ГГ? Потому что, я помню был случай, что после замеров на Радаре вернулся в бар и меня стали атаковать долговцы с сообщениями, что "Меченный козел". Возможно, я на Радаре кого-то из монолитовцев вальнул, точно уже не помню. Последнее, про что не нужно забывать - при убийстве нейтральных/дружественных сталков в любом случае падает отношение. Это определяется всё в том же game_relations.ltx в секции communities_sympathy. Спойлер ;коэффициенты "сочувствия" группировок ;после воздействия на одного из членов группировки ;goodwill его распространится на остальных членов группировки ;с определенным коэффициентом [communities_sympathy] actor = 0.0 actor_dolg = 0.0 actor_freedom = 0.0 stalker = 0.05 monolith = 0.0 military = 0.0 killer = 0.0 ecolog = 0.4 dolg = 0.2 freedom = 0.2 bandit = 0.0 zombied = 0.0 trader = 0.2 stranger = 0.0 arena_enemy = 0.0 sniper = 0.0 green = 0.2 Всё это ковырялось в открытой NLC 7 3.8.2. В других версиях, возможно, что-то может быть по-другому. Но не думаю, что кто-то это менял на протяжении многих обновлений. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Cromanjonez07 48 Опубликовано 5 часов назад Ага, было такое. Валишь не разобравшись группу Ореха, которая прессует Юрика, а потом врагом народа становишся. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lapa1969 819 Опубликовано 4 часа назад Насчёт репутации никогда не парился, кнопку даже не тискал! Это же ничего не даёт! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты