Ваша любимая группировка
Всего ответов: 308
Главная » Статьи » Сталкер Зов Припяти » Уроки по модостроению

Создание достижения

Автор:WillsherT 
«Создание нового достижения в ЗП»-Автор: 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) 
Ответ: 
Собственно списка команд у нас нет( 
Достаточно написать, что-нибудь логическое например: достижение не выдавалось.


Категория: Уроки по модостроению | Добавил: Блэк☭ (03.12.2015)
Просмотров: 442 | Теги: сталкер, уроки по модостроению, зов Припяти, STALKER, call of Pripyat, Создание достижения | Рейтинг: 5.0/1
Всего комментариев: 0
Внимание! Прочтите для ознакомления!
Правила написания коментария: В комментариях запрещено - Писать сообщение прописными буквами (Caps Lock). Рекламировать какие-либо сайты. Использовать более двух смайлов в одном комментарии. Оскорблять пользователей сайта. Выражаться некультурными словами. Комментарии, в которых содержатся предложения по обмену баннерами, лишние вопросы, или просто не несущие никакого смысла будут незамедлительно удаляться, а пользователи, написавшие их, будут строго наказаны.

avatar
Приветствую, Гость!

-Ну что,Бродяга?
Мне тебе мозги парить,как я со всеми новичками делаю,или с тобой как с опытным сталкером обращатся?


-Давай как с новичком..

-Давай как с опытным!!!
Рейтинг@Mail.ru
Онлайн всего: 2
Бродяг: 1
Сталкеров: 1
Блэк☭

[ Сегодняшние посетители ]