Pickleman 11 Опубликовано 23 февраля В 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 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Cromanjonez07 48 Опубликовано 23 февраля Ага, было такое. Валишь не разобравшись группу Ореха, которая прессует Юрика, а потом врагом народа становишся. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lapa1969 891 Опубликовано 23 февраля Насчёт репутации никогда не парился, кнопку даже не тискал! Это же ничего не даёт! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты