|  
|  |   
|  
 
 
 Среда, 07.09.2011, 20:04 | Сообщение # 1 vladKiler  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Зевака: |  |   
 | Сообщений: | 19 |   
 | Награды: | 0 |   
 | Регистрация: | 07.09.2011 |  | Для начала нужно распаковать игру анпакером. 
 После распаковки идём в следующие директории и ищем следующие файлы:
 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 и добавим между:
 
 <string id="st_sp_achievement_21_name">
 <text>Друг сталкеров</text>
 </string>
 
 и
 
 <string id="st_sp_achievement_1_hint">
 <text>Совокупность новых данных позволила профессорам Герману и Озёрскому синтезировать в условиях Зоны экспериментальный анабиотик.</text>
 </string>
 
 Следующее:
 <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 название_вашей_функции()
 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 и добавляем там:
 
 <texture id="ui_inGame2_название_вашей_иконки" x="0" y="0" width="121" height="121" />
 
 Если рисовали собственную иконку то вписываем её координаты (по x и y осям), если решили взять уже имеющуюся то вписывайте её координаты (координаты определяются по левому верхнему углу иконки достижения) координаты можно посмотреть через WTV (Windows Texture Viewer) Удачной игры
 Сообщение отредактировал vladKiler - Среда, 07.09.2011, 20:09 |  
    |  Среда, 07.09.2011, 20:04   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 07.09.2011 |  |  |  |  | 
|  
|  |   
|  
 
 
 Понедельник, 19.09.2011, 15:17 | Сообщение # 2 supei-sa |  Понедельник, 19.09.2011, 15:17   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 25.10.2010 |  |  |  |  |