Суббота, 25.01.2025, 02:19
| RSS
F.O.R.U.M.
Главная | Как написать свой ачивмент - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Как написать свой ачивмент
frontДата: Вторник, 13.10.2009, 16:23 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 152
Репутация: 229
Статус: Оффлайн
Нам понадобятся файлы:
info_zaton.xml . . . . .. . . . \configs\gameplay\
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\
Чтобы их найти - нужен распаковщик ресурсов игры.

Открываем файл "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 <----- Функция получения

Открываем "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>

Открываем 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

В ui_actor_achivments.dds рисуем нашу иконку.

В ui_actor_achivments.xml пишем координаты текстуры.
Статью допишу позже, когда будет время.


 
  • Страница 1 из 1
  • 1
Поиск:

Для добавления необходима авторизация

Copyright Front Сайт оптимизирован под браузер Opera © 2025