Случайная подборка модов
CoP’s Level Pack [beta]
4.1
We Are Not Alone
4.0
Зачистка
4.0
Хроники Кайдана. Вторая серия
4.0
Время перемен v1.0
3.8
Возвращение Шрама
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 1
  • 1
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » [SoC] Новый ранг - Легенда
[SoC] Новый ранг - Легенда
  Nikitos817
Пятница, 27.05.2011, 18:35 | Сообщение # 1
Статус:
:
Сообщений:
Регистрация:

Для начала зайдем в 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
  Злобная реклама
Пятница, 27.05.2011, 18:35
Статус:
Сообщений: 666
Регистрация:
Российская Федерация  Arhangel
Пятница, 27.05.2011, 18:58 | Сообщение # 2
Статус:
Бывалый:
Сообщений: 666
Награды: 1
Регистрация: 01.06.2010

работает. Спасибо за статейку
  Злобная реклама
Пятница, 27.05.2011, 18:58
Статус:
Сообщений: 666
Регистрация: 01.06.2010
Российская Федерация  Исполнитель
Суббота, 02.07.2011, 17:23 | Сообщение # 3
Статус:
Неопытный:
Сообщений: 557
Награды: 4
Регистрация: 06.09.2010

Классно получилась smile вот только надо на ЧН там надо вставить мне иконку ранга это где ?
  Злобная реклама
Суббота, 02.07.2011, 17:23
Статус:
Сообщений: 666
Регистрация: 06.09.2010
Российская Федерация  DarkFace
Среда, 28.03.2012, 14:22 | Сообщение # 4
Let it be
Статус:
Бывалый:
Сообщений: 1169
Награды: 2
Регистрация: 26.03.2012

спасибо, все работает happy
  Злобная реклама
Среда, 28.03.2012, 14:22
Статус:
Сообщений: 666
Регистрация: 26.03.2012
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » [SoC] Новый ранг - Легенда
  • Страница 1 из 1
  • 1
Поиск: