Автор статьи: Zeka1996Korneev
Нам понадобятся файлы:
Чтобы их найти, нужен распаковщик ресурсов игры.
1. Открываем файл achievements.ltx и добавляем в конец секцию нашего ачивмента:
Код
[sucker]
icon = ui_inGame2_lopuh
hint = st_sp_achievement_22_hint
name = st_sp_achievement_22_name
desc = st_sp_achievement_22_descr
functor = xr_statistic.sucker_functor
Подробно:
[sucker] <----- В рамке любое название
icon = ui_inGame2_lopuh <------ Иконка
hint = st_sp_achievement_22_hint <------ Описание в ПДА при наведении на ачивку.
name = st_sp_achievement_22_name <---- Название
desc = st_sp_achievement_22_descr <----- Описание
functor = xr_statistic.sucker_functor <----- Функция получения
2. Открываем st_achievement.xml и пишем:
Код
<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>
3. Открываем xr_statistic.script и пишем рядом с функциями других ачивментов:
Код
function sucker_functor() <--- Название
if not has_alife_info("sucker_achievement_gained") then <--- Проверка, получили ли вы уже этот ачивмент ранее.
if has_alife_info("zat_b14_give_item_stalker") <---- Инфопоршень получения ачивмента
then
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"stalker", 200}) <----- Прибавление репутации по отношению сталкеров к ГГ. Если написать -200 то репа будет отрицательной.
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"freedom", 200}) <---- Прибавление репутации по отношению свободы к ГГ.
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"dolg", 200}) <--- Прибавление репутации по отношению долга к ГГ.
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"bandit", 200}) <---- Прибавление репутации по отношению бандосов к ГГ.
news_manager.send_tip(db.actor, "st_ach_diplomat", nil, "diplomat", nil, nil) <--- Сообщить о получении ачивмента на ПДА
db.actor:give_info_portion("sucker_achievement_gained") <--- Выдать ачивмент
end
end
return has_alife_info("sucker_achievement_gained")
end
4. Открываем xr_conditions.script и ищем:
Код
sucker_functor = xr_statistic.sucker_functor
добавляем ниже:
Код
friend_of_stalkers_functor = xr_statistic.friend_of_stalkers_functor
5. В ui_actor_achivments.dds рисуем нашу иконку.
6. В ui_actor_achivments.xml пишем координаты текстуры.