| 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | : |  |   
 | Сообщений: |  |   
 | Регистрация: |  |  | Для начала зайдем в 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",
 "encyclop edy_zone_artifact_af-gravi",
 "encyclopedy_zone_artifact_af-blood",
 "encyclopedy_zone_artifact_af-soul",
 "encyclopedy_zone_zone-story_stor y-2006",
 "encyclopedy_zone_anomalies_bald",
 " encyclopedy_zone_anomalies_gravi",
 "encyclopedy_zone_anomalies_meat",
 "encyclopedy_zone_anomalies_electra",
 "encyclopedy_z one_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",
 "encycloped y_social_stalker-clans_bandits"
 },
 
 stalker = {	"encyclopedy_zone_artifact_af-medusa",
 "encyclopedy_zone_artifact_af-cristall-flower",
 "encyclopedy_zone_artifact_af-night-sta r",
 "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",
 "enc yclopedy_zone_anomalies_electra",
 "encyclopedy_zone_anomalies_ameba",
 "encyclopedy_zone_locations_escape",
 "encyclopedy_zo ne_locations_garbage",
 "encyclopedy_zone_locations_agroprom",
 "encyclopedy_zone_locations_darkdolina",
 "encyclopedy_zone_l ocations_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_soc ial_stalker-clans_freedom",
 "encyclopedy_social_stalker-clans_monolith",
 "encyclopedy_social_stalker-clans_killers",
 "ency clopedy_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_sto ry_18",
 "stalker_story_19",
 "stalker_story_20"
 },
 
 veteran = {	"encyclopedy_zone_artifact_af-electra-sparkler",
 "encyclopedy_zone_artifact_af-electra-flash",
 "encyclopedy_zone_artifact_af-r usty-thorn",
 "encyclopedy_zone_artifact_af-rusty-kristall",
 "encyclopedy_zone_artifact_af-gravi",
 "encyclopedy_zone_artifa ct_af-gold-fish",
 "encyclopedy_zone_artifact_af-blood",
 "encyclopedy_zone_artifact_af-mincer-meat",
 "encyclopedy_zone_arti fact_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",
 "enc yclopedy_zone_anomalies_radioactive",
 "encyclopedy_zone_anomalies_electra",
 "encyclopedy_zone_anomalies_ameba",
 "encyclope dy_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_locat ions_radar",
 "encyclopedy_mutant_pseudogiant_general",
 "encyclopedy_mutant_poltergeist_general",
 "encyclopedy_mutant_contr oller_general",
 "encyclopedy_mutant_bloodsucker_general",
 "encyclopedy_mutant_burer_general",
 "encyclopedy_mutant_snork_ge neral",
 "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_soci al_stalker-clans_zomstalkers",
 "encyclopedy_social_scientists_mobile-labs",
 "stalker_story_2",
 "stalker_story_3",
 "s talker_story_7",
 "stalker_story_10",
 "stalker_story_11",
 "stalker_story_12",
 "stalker_story_13",
 "stalker_stor y_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-e lectra-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",
 "encyc lopedy_zone_artifact_af-cristall",
 "encyclopedy_zone_zone-story_story-raid",
 "encyclopedy_zone_anomalies_fuzz",
 "encyclope dy_zone_anomalies_radioactive",
 "encyclopedy_zone_anomalies_electra",
 "encyclopedy_zone_anomalies_ameba",
 "encyclopedy_zon e_locations_yantar",
 "encyclopedy_zone_locations_radar",
 "encyclopedy_zone_locations_pripiat",
 "encyclopedy_zone_locations _stancia",
 "encyclopedy_mutant_pseudogiant_general",
 "encyclopedy_mutant_poltergeist_general",
 "encyclopedy_mutant_control ler_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_sto ry_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-e lectra-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",
 "encyc lopedy_zone_artifact_af-cristall",
 "encyclopedy_zone_zone-story_story-raid",
 "encyclopedy_zone_anomalies_fuzz",
 "encyclope dy_zone_anomalies_radioactive",
 "encyclopedy_zone_anomalies_electra",
 "encyclopedy_zone_anomalies_ameba",
 "encyclopedy_zon e_locations_yantar",
 "encyclopedy_zone_locations_radar",
 "encyclopedy_zone_locations_pripiat",
 "encyclopedy_zone_locations _stancia",
 "encyclopedy_mutant_pseudogiant_general",
 "encyclopedy_mutant_poltergeist_general",
 "encyclopedy_mutant_control ler_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_sto ry_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>
 
 Заходим в игру и проверяем. И да! У ГГ теперь ранг Легенда!
 
 Автор статьи: Fireman3000.
 Сообщение отредактировал Nikitos817 - Пятница, 27.05.2011, 19:21 |