Перейти к содержанию
Авторизация  
Hardtmuth

[CoP] Создание новых достижений

Рекомендуемые сообщения

 

[CoP] Создание новых достижений

Автор: Zeka1996Korneev

Нам понадобятся файлы:

  • configs\gameplay\info_zaton.xml
  • configs\misc\achievements.ltx
  • configs\text\rus\st_achievement.xml
  • configs\ui\textures_descr\ui_actor_achivments.xml
  • scripts\xr_statistic.script
  • scripts\xr_conditions.script
  • textures\ui\ui_actor_achivments.dds

Чтобы их найти, нужен распаковщик ресурсов игры.

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 пишем координаты текстуры.

  • Лайк 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Не работает игра вылетает при вашем скрипте 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу