Сповіщення
Очистити все

SOC. Новий ранг


Ранг:
Майстер
Роль:
Гість
Записи:
750
Приєднався:
2 роки тому
 

Для початку зайдемо в 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 . ( 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_ru_rank = { 
		novice = {	 " 
					 encyclopedy_zone_artifact_af-medusa" , 
					 "encyclopedy_zone_artifact_af-cristall-flower" , 
					 "encyclopedy_zone_artifact_af-vyvert " , "encyclopedy_zone_artifact_af , 
					 " 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_anoyes , " encyclopedy_zone_locations_garbage
					 "
					 , " encyclopedy_mutant_crow_general
					 " ,
					 " encyclopedy_mutant_rat_general" ,
					 "encyclopedy_mutant_flesh_general" ,
					 "encyclopedy_mutant_blind_general" ,
					 "encycloped ,
					 "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-vyvert" ,
					 "encyclopedy_zone_artifact_af-medusa" _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" ,
					 "encycloped _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_pseudodog_general" mutant_burer_general "
					 ,
					 " encyclopedy_mutant_snork_general " ,
					 " encyclopedy_mutant_flesh_general" ,
					 "encyclopedy_mutant_blind_general" ,
					 "encyclopedy_mutant_boar_general" ,
					 "encyclopedy_social_stalom" ,
					 "encyclopedy_social_stalker-clans_monolith" ,
					 "encyclopedy_social_stalker-clans_killers" ,
					 "encyclopedy_social_stalker-clans_zomstalkers" ,
					 " encyclopedy_social_scientists_mobile-labs" ,
					 " encyclopedy
					 _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-clo 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 -
					 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_fuzzy " y_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" ,
					 "encycloped _poltergeist_general" ,
					 " encyclopedy_mutant_controller_general
					 " , "encyclopedy_mutant_bloodsucker_general" ,
					 "
					 encyclopedy_mutant_burer_general" ,
					 " encyclopedy_mutant_snork_general " ,
					 "encyclopedy_ns ,
					 "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_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 -
					 crus 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_zone-story_story-raid" 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_poltantgeist_general " ,
					 "encyclopedy_mutant_polantgeist_general" _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 -
					 crus 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_zone-story_story-raid" 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_poltantgeist_general " ,
					 "encyclopedy_mutant_polantgeist_general" _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 fact_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" _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 " " _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 >
 

Заходимо у гру та перевіряємо. І так! У ГГ тепер ранг Легенда!



   
Цитата