Создание нового достижения в сталкер ЗП / Информационно-развлекательный портал постапокалиптической тематики

Мини-профиль
Приветствуем, гость!
-Приветствую тебя, гость!
Если ты здесь впервой, то зарегистрируйся. А если уже бывал здесь, то входи, не стесняйся!

Связь

Онлайн
Онлайн всего: 5
Заглянувших: 5
Сталкеров: 0

Посетители | Подробно..

Создание нового достижения в сталкер ЗП

Главная » Статьи » Моддинг » Конфиги


Создание нового достижения в сталкер ЗП

Для начала нужно распаковать игру анпакером. 

После распаковки идём в следующие директории и ищем следующие файлы: 

Code
info_x.xml ---> configs\gameplay\ (где "x" название локации на которой хотим получить достижение например jupiter) этот файл нужен для просмотра списка квестов на локации, зачем нам это узнаете позже. 
achievements.ltx ---> configs\misc\ 
st_achievement.xml ---> configs\text\rus\ 
ui_actor_achivments.xml ---> configs\ui\textures_descr\ 
xr_statistic.script ---> scripts\ 
ui_actor_achivments.dds ---> textures\ui\ 
xr_conditions.script ---> scripts\

И так, приступаем к работе. 

Откроем файл achievements.ltx и ищем такую вот запись: 

Code
[achievements] 
pioneer 
mutant_hunter 
detective 
one_of_the_lads 
kingpin 
herald_of_justice 
seeker 
battle_systems_master 
high_tech_master 
skilled_s talker 
leader 
diplomat 
research_man 
friend_of_duty 
friend_of_freedom 
balance_advocate 
wealthy 
keeper_of_secrets 
marked_by_zone 
inf ormation_dealer 
friend_of_stalkers

добавим в конце название_достижения_на_английском. Пример: 

Code
[achievements] 
pioneer 
mutant_hunter 
detective 
one_of_the_lads 
kingpin 
herald_of_justice 
seeker 
battle_systems_master 
high_tech_master 
skilled_s talker 
leader 
diplomat 
research_man 
friend_of_duty 
friend_of_freedom 
balance_advocate 
wealthy 
keeper_of_secrets 
marked_by_zone 
inf ormation_dealer 
friend_of_stalkers 
all_stalkers_your_friend

Идём в конец файла и добавляем следующее: 

Code
["Название_достижения_на_английском_без_кавычек"] 
icon = ui_inGame2_имя_иконки_на_английском 
hint = st_sp_achievement_22_hint <--- То, что будет выводиться в КПК при наведении на иконку достижения (надо оставлять так же меняя только числа, чтоб они шли по порядку) 
name = st_sp_achievement_22_name <--- Имя достижения 
desc = st_sp_achievement_22_descr <--- Описание достижения 
functor = xr_statistic.название_достижения_на_английском_functor <--- функция для получения нашего достижения 

закрываем сохраняя изменения в файле 

Далее откроем файл st_achievement.xml и добавим между: 

Code
<string id="st_sp_achievement_21_name"> 
<text>Друг сталкеров</text> 
</string>

и 

Code
<string id="st_sp_achievement_1_hint"> 
<text>Совокупность новых данных позволила профессорам Герману и Озёрскому синтезировать в условиях Зоны экспериментальный анабиотик.</text> 
</string>

Следующее: 

Code
<string id="st_sp_achievement_22_hint"> 
<text>Ваш текст который будет высвечиваться в КПК при наведении мышки на иконку достижения.</text> 
</string> 
<string id="st_sp_achievement_22_descr"> 
<text>Полное описание достижения.</text> 
</string> 
<string id="st_sp_achievement_22_name"> 
<text>Имя достижения</text> 
</string>

Закрываем с подтверждением на сохранение изменений 

Открываем xr_statistic.script идём в самый конец и добавляем следующее: 

Code
function название_вашей_функции() 
if not has_alife_info("пишем_что_хотим_на_английсокм") then <--- проверка на раннее получение этого достижения 
if has_alife_info("название_квеста_или_действия") <--- квест или действие после которого будет получено достижение 
and has_alife_info("название_квеста_или_действия") <--- эта функция если квестов несколько 
db.actor:give_info_portion("пишем_что_писали_в_проверке_на_получение_ранее_достижения") 
news_manager.send_tip(db.actor, "st_ach_название_вашего_достижения_на_английском", nil, "название_вашего_достижения_на_английском", nil, nil) 
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"stalker", 100}) <--- прибавление репутации сталкеров при получении данного достижения (если - то убавление), можно вписать любую другую группировку (использовать несколько команд если хотите прибавить или убавить репутацию у нескольких группировок) 
end 
end 
return has_alife_info("пишем_что_писали_в_проверке_на_получение_ранее_достижения") 
end

Закрываем с подтверждением на сохранение изменений. 

Откроем xr_conditions.script найдём: 

Code
friend_of_stalkers_functor = xr_statistic.friend_of_stalkers_functor

и после пишем: 

Code
название_вашей_функции = xr_statistic.название_вашей_функции

Закрываем с подтверждением на сохранение изменений. 

Рисуем в ui_actor_achivments.dds иконку для нашего достижения (можно взять и старую). 

Открываем файл ui_actor_achivments.xml и добавляем там: 

Code
<texture id="ui_inGame2_название_вашей_иконки" x="0" y="0" width="121" height="121" />

Если рисовали собственную иконку то вписываем её координаты (по x и y осям), если решили взять уже имеющуюся то вписывайте её координаты (координаты определяются по левому верхнему углу иконки достижения) координаты можно посмотреть через WTV (Windows Texture Viewer) Удачной игры 
Категория: Конфиги | Добавил: Alive (15.01.2011)
Просмотров: 4127 | Комментарии: 1 | Рейтинг: 4.0/5
Всего комментариев: 1
1 Николас_Раш   (23.09.2012 07:11)
СПС funny

Имя *:
Email:
Код *:

Я зашел в подземелье и увидел мертвого искателя приключений.
Перед самой смертью он успел нацарапать на стене что-то непонятное и зловещее: «рес плз».

Все материалы из игры, использованные для сайта принадлежат Blizzard Entertainment.
Stalker: Shadow of Chernobyl · Stalker: Clear Sky · Stalker: Call of Pripyat · Stalker 2 · Hearthstone · Fallout 3/NV · Fallout 4
2010-2017 | Хостинг от uCoz | Powered by Math_Thunderpick and Alive


Яндекс.Метрика Тиц и pr сайта
Хостинг от uCoz