Случайная подборка модов
Вектор Отчуждения
4.2
Sky anomaly
4.0
Pain of The Past
2.8
S.T.A.L.K.E.R. Complete 2009
4.0
Судьба Зоны 0.5
3.9
Call of Pripyat Complete
3.7
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 1
  • 1
Архив - только для чтения
Cоздание достижения в Зове Припяти
Вы разбираетесь в модинге?
1. Да, я создал кучу модов. [ 15 ] [32.61%]
2. Так, кое что правил. [ 25 ] [54.35%]
3. Нет, не разбираюсь. [ 6 ] [13.04%]
4. Что такое модинг? [ 0 ] [0.00%]
Всего ответов: 46
Российская Федерация  vladKiler
Среда, 07.09.2011, 20:04 | Сообщение # 1
Статус:
Зевака:
Сообщений: 19
Награды: 0
Регистрация: 07.09.2011

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

После распаковки идём в следующие директории и ищем следующие файлы:
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 и ищем такую вот запись:

[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

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

[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

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

["Название_достижения_на_английском_без_кавычек"]
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 и добавим между:

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

и

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

Следующее:
<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 идём в самый конец и добавляем следующее:
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 найдём:

friend_of_stalkers_functor = xr_statistic.friend_of_stalkers_functor

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

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

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

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

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

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

Если рисовали собственную иконку то вписываем её координаты (по x и y осям), если решили взять уже имеющуюся то вписывайте её координаты (координаты определяются по левому верхнему углу иконки достижения) координаты можно посмотреть через WTV (Windows Texture Viewer) Удачной игры
Сообщение отредактировал vladKiler - Среда, 07.09.2011, 20:09
  Злобная реклама
Среда, 07.09.2011, 20:04
Статус:
Сообщений: 666
Регистрация: 07.09.2011
Российская Федерация  supei-sa
Понедельник, 19.09.2011, 15:17 | Сообщение # 2
Статус:
Ветеран:
Сообщений: 4356
Награды: 6
Регистрация: 25.10.2010

Копипасты рулят! sad
  Злобная реклама
Понедельник, 19.09.2011, 15:17
Статус:
Сообщений: 666
Регистрация: 25.10.2010
  • Страница 1 из 1
  • 1
Поиск: