Страница 1 из 11
Форум настоящего сталкера » Вселенная S.T.A.L.K.E.R. (серия игр) » Сталкер моды, помощь, разработка » Создание достижения в Сталкер Зов Припяти
Создание достижения в Сталкер Зов Припяти
Дата: Суббота (10.12.2011) | Время: 14:32 | Сообщение № 1
Ген. Директор



Сообщений: 2134
Награды: 115
Репутация:
Статус:


Группировка в ФРПГ:


«Создание нового достижения в ЗП»-Автор: WillsherT

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

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

Друг сталкеров

и

Совокупность новых данных позволила профессорам Герману и Озёрскому синтезировать в условиях Зоны экспериментальный анабиотик.

Следующее:

Ваш текст который будет высвечиваться в КПК при наведении мышки на иконку достижения.

Полное описание достижения.

Имя достижения

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

Открываем 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 и добавляем там:

Если рисовали собственную иконку то вписываем её координаты (по x и y осям), если решили взять уже имеющуюся то вписывайте её координаты (координаты определяются по левому верхнему углу иконки достижения) координаты можно посмотреть через WTV (Windows Texture Viewer) Удачной игры

Автор: WillsherT
Вопросы и ответы:
Вопрос:
координаты можно посмотреть через WTV
Как это?
Ответ:
Очень просто:
открываешь им текстуру и когда водишь по ней мышкой в верху окошка (там где кнопки: закрыть,свернуть ну и т.д.) будет такой параметр pos: это и есть координаты по x и y (соответственно первая цифра x, вторая y)
Вопрос:
Не знаешь где можно найти список этих команд и что они означают?
(В файле xr_statistic.script)
Ответ:
Собственно списка команд у нас нет(
Достаточно написать, что-нибудь логическое например: достижение не выдавалось.


Лишь мертвые дождались конца этой войны
| Страна: RU
Форум настоящего сталкера » Вселенная S.T.A.L.K.E.R. (серия игр) » Сталкер моды, помощь, разработка » Создание достижения в Сталкер Зов Припяти
Страница 1 из 11
Поиск: