Пятница, 12.07.2013, 11:11:31
Ранг: Мастер
Сообщений: 599
Награды:
19
Репутация:
508
Регистрация: 25.06.2012
Город:
Елизово
Может каму пригадится.
Для начала зайдем в gamedata/config/creatures/game_releations.ltx и там изменим: ;реальное разделение на группы репутаций на шкалы rating = novice, 300, experienced, 600, veteran, 900, master, 1200, legend и затем строчку с наименованием рангов: ;шкалы для вывода названий вместо чисел ;рейтингов, репутаций и благосклонности в интерфейсе rating_names = novice, 300, experienced, 600, veteran, 900, master, 1200, legend Затем там же ищем эту строчку и изменяем ее: [rank_relations] ; novice, experienced, veteran, master, legend ;=================================================================== novice = 0, 0, 0, 0, 0 experienced = 0, 0, 0, 0, 0 veteran = 0, 0, 0, 0, 0 master = 0, 0, 0, 0, 0 legend = 0, 0, 0, 0, 0 Затем там же изменяем одну строчку. Не уверен в ее работоспособности, но лучше не рисковать: ;очки рейтинга, получаемые за убийство персонажа ;с определенным статусом [rank_kill_points] novice = 0 experienced = 0 veteran = 0 master = 0 legend = 0 С конфигами вроде разобрались. Лезем в скрипты. gamedata/scripts/_g.script: function set_actor_rank(rank) if rank == "novice" then db.actor:set_character_rank(0) elseif rank == "stalker" then db.actor:set_character_rank(300) elseif rank == "veteran" then db.actor:set_character_rank(600) elseif rank == "master" then db.actor:set_character_rank(900) elseif rank == "legend" then db.actor:set_character_rank(1200) end end Вместо 1200 можете поставить любое свое значение. Этот скрипт отвечает либо за то, когда ранг получается у actor`a, либо, если меняешь через скрипт ранг у последнего, то очки его ранга ровны тому, что мы только что подставили (то бишь 1200)... Затем меняем gamedata/scripts/xr_info.script: local info_by_rank = { novice = { "encyclopedy_zone_artifact_af-medusa", "encyclopedy_zone_artifact_af-cristall-flower", "encyclopedy_zone_artifact_af-vyvert", "encyclopedy_zone_artifact_af-gravi", "encyclopedy_zone_artifact_af-blood", "encyclopedy_zone_artifact_af-soul", "encyclopedy_zone_zone-story_story-2006", "encyclopedy_zone_anomalies_bald", "encyclopedy_zone_anomalies_gravi", "encyclopedy_zone_anomalies_meat", "encyclopedy_zone_anomalies_electra", "encyclopedy_zone_anomalies_radioactive", "encyclopedy_zone_locations_escape", "encyclopedy_zone_locations_garbage", "encyclopedy_mutant_crow_general", "encyclopedy_mutant_rat_general", "encyclopedy_mutant_flesh_general", "encyclopedy_mutant_blind_general", "encyclopedy_mutant_boar_general", "encyclopedy_social_military_army", "encyclopedy_social_stalker-clans_duty", "encyclopedy_social_stalker-clans_bandits" }, stalker = { "encyclopedy_zone_artifact_af-medusa", "encyclopedy_zone_artifact_af-cristall-flower", "encyclopedy_zone_artifact_af-night-star", "encyclopedy_zone_artifact_af-vyvert", "encyclopedy_zone_artifact_af-gravi", "encyclopedy_zone_artifact_af-gold-fish", "encyclopedy_zone_artifact_af-blood", "encyclopedy_zone_artifact_af-mincer-meat", "encyclopedy_zone_artifact_af-soul", "encyclopedy_zone_zone-story_story-2008", "encyclopedy_zone_anomalies_fuzz", "encyclopedy_zone_anomalies_radioactive", "encyclopedy_zone_anomalies_electra", "encyclopedy_zone_anomalies_ameba", "encyclopedy_zone_locations_escape", "encyclopedy_zone_locations_garbage", "encyclopedy_zone_locations_agroprom", "encyclopedy_zone_locations_darkdolina", "encyclopedy_zone_locations_bar", "encyclopedy_zone_locations_rostok", "encyclopedy_mutant_tushkano", "encyclopedy_mutant_pseudodog_general", "encyclopedy_mutant_bloodsucker_general", "encyclopedy_mutant_burer_general", "encyclopedy_mutant_snork_general", "encyclopedy_mutant_flesh_general", "encyclopedy_mutant_blind_general", "encyclopedy_mutant_boar_general", "encyclopedy_social_stalker-clans_freedom", "encyclopedy_social_stalker-clans_monolith", "encyclopedy_social_stalker-clans_killers", "encyclopedy_social_stalker-clans_zomstalkers", "encyclopedy_social_scientists_mobile-labs", "encyclopedy_social_military_army", "encyclopedy_social_stalker-clans_duty", "encyclopedy_social_stalker-clans_bandits", "stalker_story_2", "stalker_story_3", "stalker_story_7", "stalker_story_11", "stalker_story_12", "stalker_story_16", "stalker_story_17", "stalker_story_18", "stalker_story_19", "stalker_story_20" }, veteran = { "encyclopedy_zone_artifact_af-electra-sparkler", "encyclopedy_zone_artifact_af-electra-flash", "encyclopedy_zone_artifact_af-rusty-thorn", "encyclopedy_zone_artifact_af-rusty-kristall", "encyclopedy_zone_artifact_af-gravi", "encyclopedy_zone_artifact_af-gold-fish", "encyclopedy_zone_artifact_af-blood", "encyclopedy_zone_artifact_af-mincer-meat", "encyclopedy_zone_artifact_af-soul", "encyclopedy_zone_artifact_af-electra-sparkler", "encyclopedy_zone_artifact_af-electra-flash", "encyclopedy_zone_artifact_af-electra-moonlight", "encyclopedy_zone_artifact_af-ameba-slime", "encyclopedy_zone_artifact_af-ameba-slug", "encyclopedy_zone_zone-story_story-2010", "encyclopedy_zone_zone-story_story-raid", "encyclopedy_zone_anomalies_fuzz", "encyclopedy_zone_anomalies_radioactive", "encyclopedy_zone_anomalies_electra", "encyclopedy_zone_anomalies_ameba", "encyclopedy_zone_locations_agroprom", "encyclopedy_zone_locations_darkdolina", "encyclopedy_zone_locations_bar", "encyclopedy_zone_locations_rostok", "encyclopedy_zone_locations_military-loc", "encyclopedy_zone_locations_yantar", "encyclopedy_zone_locations_radar", "encyclopedy_mutant_pseudogiant_general", "encyclopedy_mutant_poltergeist_general", "encyclopedy_mutant_controller_general", "encyclopedy_mutant_bloodsucker_general", "encyclopedy_mutant_burer_general", "encyclopedy_mutant_snork_general", "encyclopedy_social_stalker-clans_loners", "encyclopedy_social_military_milstalkers", "encyclopedy_social_stalker-clans_freedom", "encyclopedy_social_stalker-clans_monolith", "encyclopedy_social_stalker-clans_killers", "encyclopedy_social_stalker-clans_zomstalkers", "encyclopedy_social_scientists_mobile-labs", "stalker_story_2", "stalker_story_3", "stalker_story_7", "stalker_story_10", "stalker_story_11", "stalker_story_12", "stalker_story_13", "stalker_story_14", "stalker_story_16", "stalker_story_17", "stalker_story_18", "stalker_story_19", "stalker_story_20" }, master = { "encyclopedy_zone_artifact_af-electra-sparkler", "encyclopedy_zone_artifact_af-electra-flash", "encyclopedy_zone_artifact_af-electra-moonlight", "encyclopedy_zone_artifact_af-rusty-thorn", "encyclopedy_zone_artifact_af-rusty-kristall", "encyclopedy_zone_artifact_af-rusty-sea-urchin", "encyclopedy_zone_artifact_af-drops", "encyclopedy_zone_artifact_af-fireball", "encyclopedy_zone_artifact_af-cristall", "encyclopedy_zone_zone-story_story-raid", "encyclopedy_zone_anomalies_fuzz", "encyclopedy_zone_anomalies_radioactive", "encyclopedy_zone_anomalies_electra", "encyclopedy_zone_anomalies_ameba", "encyclopedy_zone_locations_yantar", "encyclopedy_zone_locations_radar", "encyclopedy_zone_locations_pripiat", "encyclopedy_zone_locations_stancia", "encyclopedy_mutant_pseudogiant_general", "encyclopedy_mutant_poltergeist_general", "encyclopedy_mutant_controller_general", "encyclopedy_social_stalker-clans_loners", "encyclopedy_social_military_milstalkers", "stalker_story_6", "stalker_story_9", "stalker_story_10", "stalker_story_13", "stalker_story_14", "stalker_story_16", "stalker_story_17", "stalker_story_18", "stalker_story_19", "stalker_story_20" }, legend = { "encyclopedy_zone_artifact_af-electra-sparkler", "encyclopedy_zone_artifact_af-electra-flash", "encyclopedy_zone_artifact_af-electra-moonlight", "encyclopedy_zone_artifact_af-rusty-thorn", "encyclopedy_zone_artifact_af-rusty-kristall", "encyclopedy_zone_artifact_af-rusty-sea-urchin", "encyclopedy_zone_artifact_af-drops", "encyclopedy_zone_artifact_af-fireball", "encyclopedy_zone_artifact_af-cristall", "encyclopedy_zone_zone-story_story-raid", "encyclopedy_zone_anomalies_fuzz", "encyclopedy_zone_anomalies_radioactive", "encyclopedy_zone_anomalies_electra", "encyclopedy_zone_anomalies_ameba", "encyclopedy_zone_locations_yantar", "encyclopedy_zone_locations_radar", "encyclopedy_zone_locations_pripiat", "encyclopedy_zone_locations_stancia", "encyclopedy_mutant_pseudogiant_general", "encyclopedy_mutant_poltergeist_general", "encyclopedy_mutant_controller_general", "encyclopedy_social_stalker-clans_loners", "encyclopedy_social_military_milstalkers", "stalker_story_6", "stalker_story_9", "stalker_story_10", "stalker_story_13", "stalker_story_14", "stalker_story_16", "stalker_story_17", "stalker_story_18", "stalker_story_19", "stalker_story_20" } } Этот скрипт отвечает за истории, услышанные от сталкеров (которые остаются в дневнике). Я в скриптах не силен, но можно попробовать объединить информацию у мастера и легенды в 1 строчку, добавив в скрипт оператор or. То бишь должно выглядеть так (не проверено!): master or legend = { "encyclopedy_zone_artifact_af-electra-sparkler", "encyclopedy_zone_artifact_af-electra-flash", "encyclopedy_zone_artifact_af-electra-moonlight", "encyclopedy_zone_artifact_af-rusty-thorn", "encyclopedy_zone_artifact_af-rusty-kristall", "encyclopedy_zone_artifact_af-rusty-sea-urchin", "encyclopedy_zone_artifact_af-drops", "encyclopedy_zone_artifact_af-fireball", "encyclopedy_zone_artifact_af-cristall", "encyclopedy_zone_zone-story_story-raid", "encyclopedy_zone_anomalies_fuzz", "encyclopedy_zone_anomalies_radioactive", "encyclopedy_zone_anomalies_electra", "encyclopedy_zone_anomalies_ameba", "encyclopedy_zone_locations_yantar", "encyclopedy_zone_locations_radar", "encyclopedy_zone_locations_pripiat", "encyclopedy_zone_locations_stancia", "encyclopedy_mutant_pseudogiant_general", "encyclopedy_mutant_poltergeist_general", "encyclopedy_mutant_controller_general", "encyclopedy_social_stalker-clans_loners", "encyclopedy_social_military_milstalkers", "stalker_story_6", "stalker_story_9", "stalker_story_10", "stalker_story_13", "stalker_story_14", "stalker_story_16", "stalker_story_17", "stalker_story_18", "stalker_story_19", "stalker_story_20" } Затем лезем в gamedata/scripts/xr_statistic.script: local killCountProps = { neutral_novice = 1, neutral_experienced = 2, neutral_veteran = 3, neutral_master = 4, neutral_legend = 5, monolith_novice = 1, monolith_experienced = 2, monolith_veteran = 3, monolith_master = 4, monolith_legend = 5, military_novice = 1, military_experienced = 2, military_veteran = 3, military_master = 4, military_legend = 5, killer_novice = 1, killer_experienced = 2, killer_veteran = 3, killer_master = 4, killer_legend = 5, ecolog_novice = 1, ecolog_experienced = 2, ecolog_veteran = 3, ecolog_master = 4, ecolog_legend = 5, dolg_novice = 1, dolg_experienced = 2, dolg_veteran = 3, dolg_master = 4, dolg_legend = 5, freedom_novice = 1, freedom_experienced = 2, freedom_veteran = 3, freedom_master = 4, freedom_legend = 5, bandit_novice = 1, bandit_experienced = 2, bandit_veteran = 3, bandit_master = 4, bandit_legend = 5, zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4, zombied_legend = 5, Вместо 5 можно подставить любое число. Это сколько капает в ранг очков когда убиваешь людей с рангом легенда... Лезем далее в gamedata/scripts/se_respawn.script: -- Таблица ограничений на спаун: всего в симуляции не должно быть больше, чем указано. local simMaxCount = { stalker_novice = 43, stalker_regular = 48, stalker_veteran = 43, stalker_master = 20, stalker_legend = 5, monolith_novice = 0, monolith_regular = 30, monolith_veteran = 35, monolith_master = 30, monolith_legend = 10, military_novice = 0, military_regular = 32, military_veteran = 22, military_master = 5, military_legend = 2, killer_novice = 0, killer_regular = 18, killer_veteran = 17, killer_master = 10, killer_legend = 2, ecolog_novice = 1, ecolog_regular = 1, ecolog_veteran = 1, ecolog_master = 1, ecolog_legend = 0, dolg_novice = 0, dolg_regular = 33, dolg_veteran = 36, dolg_master = 17, dolg_legend = 13, freedom_novice = 50, freedom_regular = 20, freedom_veteran = 26, freedom_master = 21, freedom_legend = 13, bandit_novice = 40, bandit_regular = 50, bandit_veteran = 18, bandit_master = 10, bandit_legend = 2, zombied_novice = 20, zombied_regular = 15, zombied_veteran = 10, zombied_master = 10, zombied_legend = 10, Ну, тут, я думаю, понятно. Остался последний штрих, отображение ранга в текстовом значении. То бишь залезаем в config\text\rus и открываем любой файл, например ui_st_mm.xml и добавляем туда: <string id="legend"> <text>Легенда</text> </string> Чтобы протестировать, лезем в config\gameplay\character_desc_general.xml и меняем ранг у актора. Поставим, например, 1201: <specific_character id="actor" no_random = "1"> <name>actor_name</name> <icon>ui_npc_u_actor</icon> <map_icon x="2" y="5"></map_icon> <team>Actor</team> <supplies> [spawn]\n device_torch \n </supplies> <class>actor</class> <community>actor</community> <rank>1201</rank> <reputation>0</reputation> <visual>actors\hero\stalker_novice</visual> </specific_character>
Материал из S.T.A.L.K.E.R. Inside Wiki.
Последний «неуд» ставит пуля© Полковник войск спецназа С.В. Бреславский