Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Форум » Моды для игр » Модостроение » ЧИТЕР - КЛУБ (Правим своими ручками))))
ЧИТЕР - КЛУБ
VaiteriaДата: Сб, 01.10.2011, 23:22 | Сообщение # 1
Отмеченная Зоной
Пользователи
Сообщений: 1641
Награды: 20
Репутация: [ 3044 ]

Эта тема для тех, кто хочет своими силами внести в игру свой собственный интерес.
Играя в модификации к Сталкеру многие из Вас привыкали к определённому типу оружия, и каково было удивление, когда установив дополнение Вы обнаруживаете что Ваш любимый автомат наносит урона меньше чем обычная двухстволка))
Или критически не хватает денег в начале игры, или Альфовцы не дают выйти со Скадовска, а у Вас в руках всего лишь АК-74.


Спрашивайте, задавайте вопросы, предлагайте свои варианты!

Не забывайте указывать платформу игры и версию установленного мода (если установлен). Если написали пост, но не указали версию - Отредактируйте свой пост (кнопочка "редактировать" под Вашим постом)


Настройки ГГ:
[cut=Рюкзак и деньги ГГ при старте новой игры]Способ работает для ЧН\ЗП
Рюкзак ГГ хранится в файле gamedata\configs\gameplay\character_desc_general.xml
Первыми строчками идёт описание ГГ:
Код
<specific_character id="actor" no_random = "1">
                  <name>st_actor_name</name>
                  <icon>ui_inGame2_Hero</icon>
                  <map_icon x="2" y="5"></map_icon>
                  <team>Actor</team>
                  <supplies>
                   [spawn] \n
                   device_torch \n
                   wpn_binoc \n
                   wpn_knife \n
                   helm_respirator \n
                   stalker_outfit \n
                   grenade_rgd5 = 2 \n
                   wpn_fort_actor \n
                   ammo_9x18_fmj = 3 \n
                   wpn_ak74u \n
                   ammo_5.45x39_fmj = 3 \n
                   bandage = 2 \n
                   antirad = 1 \n
                   medkit = 2 \n
                   bread = 1 \n
                   kolbasa = 1 \n
                   conserva = 2 \n
                   detector_simple \n
                   detector_battery_1 \n
                  </supplies>
                  <money min="2500" max="2500" infinitive="0"/>
                  <class>actor</class>
                  <community>actor</community>
                  <rank>0</rank>
                  <reputation>0</reputation>
                  <visual>actors\stalker_hero\stalker_hero_1</visual>
</specific_character>

В списке supplies, после строчки [spawn] \n перечислены все предметы, которые будут у ГГ в начале игры. И в этот список можно добавить любой предмет, например добавим ГГ 12 GPS-Проводников и один ремкомплект (добавляем после последней строчки - detector_battery_1 \n):
Код
guidebook_mono = 12 \n
repair_arms_box \n

В SGM поставлена чистка инструментов при начале новой игры и если вы добавите их в список - в рюкзаке они не появятся, т.к. их почистит скрипт. Чтобы отключить чистку инструментов (Внимание: Если вы удалите эту строчку, то инструменты заспавнятся в двойном экземпляре!) необходимо удалить (или заккоментировать знаками --) строчку release_items_by_section("toolkit") в файле scripts\sgm_utils.script (для SGM < v2.2: scripts\sgm_info.script).
Cписок предметов на добавление можно взять из файла gamedata\configs\(Список обьектов).txt
Также здесь можно поправить кол-во денег у ГГ на начало игры. За это отвечает строчка:
Код
<money min="2500" max="2500" infinitive="0"/>

min, max - Минимальное и максимальное кол-во денег соответсвенно (деньги выдаются случайно, в промежутке от min до max)
infinitive - Сделать деньги бесконечными, 1\0 - Да\Нет соответсвенно.[/cut]
[cut=Изменение имени ГГ]Найдем аттрибут st_actor_name в файле configs\text\rus\st_characters.xml:
Код
<string id="st_actor_name">
              <text>Александр Дегтярев</text>
</string>

И меняем имя на необходимое.
В диалогах к ГГ будут обращаться по старому имени (Александр Дегтярев), поэтому лучше пройтись поиском по файлам и поискать еще упоминания старого имени.
Нужна Новая Игра![/cut]
[cut=Терминатор в Зоне (бессмертие)]Открываем файл configs\creatures\actor.ltx и правим в нем следующие интересные строчки:
Код
[actor_condition]
satiety_v = 0.0    ; Скорость уменьшения сытости со временем
radiation_v = 100   ; Скорость уменьшения радиации
satiety_power_v = 100  ; Увеличение силы при уменьшении сытости
satiety_health_v = 0.0001    ; Увеличение здоровья при уменьшении сытости
satiety_critical = 0.0  ; Критическое значения сытости (в процентах от 0-1) когда здоровье начианает уменьшаться
radiation_health_v = 0.0    ; Уменьшение здоровья при воздействии радиации
morale_v = 100    ; Скорость восстановления морали
psy_health_v = 100   ; Скорость восстановления psy-здоровья
alcohol_v = -100   ; Скорость вывода алкоголя из организма
health_hit_part = 0.0  ; Процент хита, уходящий на отнимание здоровья
power_hit_part = 0.0  ; Процент хита, уходящий на отнимание силы
max_power_leak_speed = 0.0    ; Накопление усталости (макс граница, до которой восстанавливается сила) в секунду игрового времени
bleeding_v = 0.0   ; Потеря крови при номинальной ране в секунду
wound_incarnation_v = 100    ; Скорость заживления раны
min_wound_size = 0.0002  ; Минимальный размер раны, после которого она считается зажившей
[/cut]
[cut=Спавн предмета в рюкзак ГГ]Открываем файл scripts\ui_main_menu.script
Для SGM:
Ищем:
Код
elseif db.actor~=nil and dik==DIK_keys.DIK_F5 then
              self:mod_options()

Добавляем ниже:
Код
elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then
              give_object_to_actor("Предмет")


Для чистой игры (ТЧ\ЧН\ЗП) и модов на них (Универсальный способ):
Ищем:
Код
if dik == DIK_keys.DIK_Q then
              self:OnMessageQuitWin()

Добавляем ниже:
Код
elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then
              alife():create("Предмет",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())


Все. В игре жмем ESC=>F6=>ESC и у нас в рюкзаке будет лежать предмет.
PS: "Предмет" - секция предмета, берем из файла configs\(список объектов).txt[/cut]

Надстройки и заплатки на SGM:
[cut=Изменение численности Альфы]Отряды Альфы:
Отряды Альфы хранятся в файле configs\misc\squad_descr_extended.ltx
Почти весь файл посвящен Альфовцам. К Альфе относятся все секции содержащие в себе слова alfa (например: pri_alfa_squad_2_master, zat_alfa_squad_1_novice). В секциях нас интересует только одна строчка параметра npc:
Код
npc = alfa_novice_commander,alfa_novice_specnaz1,alfa_novice_specnaz2,alfa_novice_sniper1,alfa_novice_sniper2,alfa_novice_shotgunner

Как видно из значений, в этом (zat_alfa_squad_1_novice) отряде 6 NPC: Командир, 2 Штурмовика, 2 Снайпера и 1 Шотганнер. Вы можете удалить ненужных NPC и добавить новых, но запомните, главное чтобы остался хотя бы 1 NPC в отряде, иначе будет вылет.
Настройки спавна Альфы:
Отряды Альфы спавнятся и перемещаются посредством smart_terrain. Параметры smart_terrain хранятся в файлах configs\scripts\\smart\_sim_.ltx
За кол-во отрядов на smart_terrain отвечает параметр max_population. Чтобы понизить (или повысить) кол-во отрядов Альфы на локации, необходимо уменьшить (или увеличить) значение параметра max_population (max_population должен быть больше 0). Но в этих файлах могут храниться настройки не только Альфы, поэтому вначале поищите в файле строчки содержащие alfa, а потом уже правьте.
Также в этих файлах есть строчки вида:
Код
spawn_num = {+opt_activate_alfa_force =check_actor_rank(200:350)} 1, 0

Которая непосредственно и производит спавн бойцов. В фигурных скобках хранятся условия для произведения спавна: +opt_activate_alfa_force проверка на то, что у нас разршен спавн Альфы в настройках, а =check_actor_rank(200:350) проверяет наш ранг ГГ (200 < Наш Ранг < 350); При выполнении условий, будет произведен спавн 1 отряда, а при не выполнении - не будет (0 отрядов).[/cut]
[cut=Перевооружаем Альфу]Бойцы Альфы описаны в файле configs\gameplay\character_desc_extended.xml
Файл с комментариями, Все Альфовцы в самом конце, после большого комментария, который сложно не заметить:
Код
<!------------------------------------------=============------------------------------------------------->
<!------------------------------------------'Отряд Альфа'------------------------------------------------->
<!------------------------------------------=============------------------------------------------------->

Их вооружение описывается в теге supplies, подобно рюкзаку ГГ. Так что, как править его смотрите в первом спойлере темы smile
Для примера снабдим штурмовика alfa_novice_specnaz1 автоматом LR-300 с напяленными прицелом и глушителем:
Первоначальная секция:
Код
<supplies>
              [spawn] \n
              device_torch \n
              wpn_lr300_m1 \n
              ammo_5.56x45_ss190 = 1 \n
              wpn_hpsa \n
              ammo_9x19_fmj = 1 \n
              grenade_rgd5 = 1 \n
              wpn_binoc = 1 \n
              #include "gameplay\character_items_4.xml"
              #include "gameplay\character_food.xml"
              #include "gameplay\character_drugs_3.xml"
</supplies>

Измененная:
Код
<supplies>
              [spawn] \n
              device_torch \n
              wpn_lr300 = 1, scope, silencer \n
              ammo_5.56x45_ss190 = 1 \n
              wpn_hpsa \n
              ammo_9x19_fmj = 1 \n
              grenade_rgd5 = 1 \n
              wpn_binoc = 1 \n
              #include "gameplay\character_items_4.xml"
              #include "gameplay\character_food.xml"
              #include "gameplay\character_drugs_3.xml"
</supplies>
[/cut]
[cut=Где изменить порог починки стволов и брони]У техников:
Параметр bad_cond (введен в мод дополнением от Енота) в файле configs\misc\engineer\stalkers_upgrade_info.ltx
В ремкомплектах:
В файле scripts\ui_mod_elements.script нужно поправить строчки вида:
Код
pistol_in_slot:condition()<0.7
rifle_in_slot:condition()<0.7
outfit_in_slot:condition()<0.7
helm_in_slot:condition()<0.7
[/cut]
[cut=Достижение на показ SGM тайников]В SGM есть достижение, которое отмечает новые SGM-тайники на миникарте, но 60 тайников "слишком много" для нашего счастья. Давайте исправим это недоразумение на 15.
Откроем файл scripts/ui_mod_pda.script и находим функцию achievements_pathfinder_update:
Код
function achievements_pathfinder_update()
                 local pre=read_mod_param("stat_taynikov")
                 if pre~=nil and pre>=60 and dont_has_alife_info("sgm_achievements_pathfinder") then
                  give_info("sgm_achievements_pathfinder")
                  inc_mod_param("stat_dostigeniy",1)
                  news_manager.send_tip(db.actor,"st_achievement_pathfinder_text",0,"sgm_achievement_pathfinder",10000,nil,"st_achievement_ti p _ t it l e " )           
                 end
end

В этой функции нам нужна только 1 строчка:
if pre~=nil and pre>=60 and dont_has_alife_info("sgm_achievements_pathfinder") then
Меняем 60 на 15 и сохраняем файл.
Для полноты картины следует поправить и описание, открываем файл configs\text\rus\SGM_personal_pda.xml и ищем в нем аттрибут st_achievements_need_pathfinder:
Код
<string id="st_achievements_need_pathfinder">
                 <text>Найденых SGM тайников - 60.</text>
</string>

Тут также правим 60 на 15 и сохраняемся.
Все, достижение отредактировано.
PS: Остальные SGM-достижения редактируются в этих-же файлах.[/cut]
[cut=Как прописать предметы в личный хабар?]Поднимаем флешку (например Назара), но не активируем ее, а сохраняемся и выходим из игры.
Находим секцию флешки в файле configs\misc\items\sgm_deserves.ltx
Код
[dv_rasvet_nazar_case]:deserve_flash,identity_immunities
$spawn    = "devices\rasvet_nazar_case"
inv_name   = st_rasvet_nazar_case_title
inv_name_short  = st_rasvet_nazar_case_title
description   = st_rasvet_nazar_case_descr
create_deserve_x    = 406.352
create_deserve_y    = 5.948
create_deserve_z    = -118.637
create_deserve_lv    = 1357309
create_deserve_gv    = 531
deserve_title  = st_rasvet_nazar_unpack_title
deserve_descr  = st_rasvet_nazar_unpack_descr
deserve_items  = wpn_sig550,ammo_dumdum,20,af_night_star,drug_engine,money_meshochek_1000_5000

И в последнюю строчку (deserve_items) добавляем то, что хотим. Писать в одну строчку, через запятую (в конце запятая не ставится).
Сохраняемся, заходим в игру и используем флешку.[/cut]
[cut=Бесконечные патроны]Открываем файл scripts\sgm_modules.script и дописываем в самый конец, после копирайта:
Код
function get_ammo_for_reload() -- Обработчик для xr_motivator.script
              if not db.actor then return nil end
              if db.actor <img src="/.s/sm/2/surprised.gif" border="0" align="absmiddle" alt="surprised" /> bject("ammo_5.45x39_fmj") == nil then
               create_ammo("ammo_5.45x39_fmj",db.actor <img src="/.s/sm/2/tongue.gif" border="0" align="absmiddle" alt="tongue" /> osition(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id(),30)
              end
end

Открываем файл scripts\xr_motivator.script и ищем в нем функцию motivator_binder:update, а уже в ней правим блок:
Код
if time_global() - self.last_update > 1000 then
sr_light.check_light(object)
sgm_modules.get_ammo_for_reload() -- Бесконечные патроны 5.45*39
self.last_update = time_global()
end

Мы добавили в этот блок строчку sgm_modules.get_ammo_for_reload(), которая и будет проверять наличие (точнее отсутствие) патронов 5.35*39 в нашем рюкзаке, и если она их не найдет - она их нам даст smile [/cut]
[cut=Если пропал НПС с квестовой взрывчаткой в Припяти]В файле scripts\ui_main_menu.script ищем:
Код
elseif db.actor~=nil and dik==DIK_keys.DIK_F5 then
              self:mod_options()

Добавляем ниже:
Код
elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then
              give_info("pri_a19_lab_x8_investigated")
              give_info("pri_a22_scene_done")
              give_object_to_actor("pri_a25_explosive_charge_item")

В игре жмем Esc-F6-Esc и в рюкзаке взрывчатка и метка квеста на двери.[/cut]
[cut=Если Нужно выдать одну или несколько инфопорций]В файле scripts\ui_main_menu.script ищем:
Код
elseif db.actor~=nil and dik==DIK_keys.DIK_F5 then
              self:mod_options()

Добавляем ниже:
Код
elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then
              give_info("Имя первой инфопорции")
        give_info("Имя второй инфопорции")...

В игре жмем Esc-F6-Esc.[/cut]
[cut=Настройки Мода (через файл mod_params.ltx)]Мод можно дополнительно настроить в файле configs\mod_parameters\mod_params.ltx
Хотя многих описанных ниже параметров в v2.2 не осталось, они все же используются модом, так что, вникаем

Цена за утилизованные предметы:
utilizator_cash_multiplier = 5 ; Множитель на стоимость переработанных утилизатором предметов. Чем больше значение, тем больше денег за переработку получит ГГ

Состояние брони снятой с трупа:
marauder_outfit_cond_from = 99 ; Минимальное состояние брони (99 wacko
marauder_outfit_cond_before = 100 ; Максимальное состояние брони (100 wacko . marauder_outfit_cond_before > marauder_outfit_cond_from

Грабёж ГГ во фриплее:
freeplay_robbery_actor = false ; (true (да) или false (нет)) - Грабить ли ГГ по наступлению фриплея

Респаун баз:
respawn_bases_permition = true ; (true (да) или false (нет)) - Производить ли респаун баз(вносимых модом),после их частичного разгрома

Детали для работы с механиками:
need_mechanic_details = true ; (true (да) или false (нет)) - Нужны ли детали для работы с механиками.

Отключаем принудиловку сна:
max_no_dream_time = 0 ; (Используется если параметр need_actor_dream равен true) - Через каждые max_no_dream_time часов, ГГ будет принудительно засыпать
need_actor_dream = false ; (true (да) или false (нет)) - Нужно ли ГГ спать как минимум раз в max_no_dream_time часов

Ранг ГГ:
headshot_rank_on_display = true ; (true (да) или false (нет)) - Отображать ли рядом со счетчиком ранга ГГ, счетчик хедшотов. Работает со включенной опцией мода "Вывести на HUD инф. о ранге"

Аномалии:
create_anomaly_permition = false ; (true (да) или false (нет)) - Спаунить ли новые аномалии, после начала новой игры. (Если изменить на false, аномалии мода исчезнут, даже если вы уже прошли половину игры). очень жрёт ресурсы, лучше отключить для слабых машин.

Мины:
create_mines_permition = true ; (true (да) или false (нет)) - Спаунить ли новые мины, после начала новой игры. (Изменять только до начала новой игры) очень жрёт ресурсы, лучше отключить для слабых машин.
mine_traps_radius = 2 ; - Дистанция между ГГ и миной, сокращая которую мина детонирует, можно уменьшить расстояние детонации мины до 2 метров.

Это на ваше усмотрение:
can_release_base_members = false ; (true (да) или false (нет)) - Убирать ли торговцев и телохранителей с базы, после её разгрома.

100% Выпадение частей мутантов:
Код
[booty_params]
boar_prob   = 1.0 ; Шанс выпадения части тела кабана.
bloodsucker_prob    = 1.0 ; Шанс выпадения части тела кровососа.
dog_prob   = 1.0 ; Шанс выпадения части тела слепого пса.
pseudodog_prob  = 1.0 ; Шанс выпадения части тела псевдо-собаки.
flesh_prob   = 1.0 ; Шанс выпадения части тела плоти.
chimera_prob  = 1.0 ; Шанс выпадения части тела химеры.
pseudo_gigant_prob    = 1.0 ; Шанс выпадения части тела псевдо-гиганта.
burer_prob   = 1.0 ; Шанс выпадения части тела бюрера.
controller_prob  = 1.0 ; Шанс выпадения части тела контроллера.
snork_prob   = 1.0 ; Шанс выпадения части тела снорка.
[/cut]

Мелочи:
[cut=Правки по оружию]Характеристики оружия хранятся в ltx-файлах папки \configs\weapons\
Наиболее интересные параметры:
visual - Внешний вид
cost - Цена (торговцы умножают её на некоторый коэффициент)
inv_weight - Вес
sprint_allowed - Возможность бега с этим оружием
ammo_mag_size - Размер магазина
ammo_class - Типы используемых патронов, перечисляем через запятую
grenade_launcher_status - Подствольный гранатомет (0 - нет; 1 - есть, несъемный; 2 - есть возможность установить)
grenade_class - Тип используемых подствольных гранат, перечисляем через запятую
silencer_status - Съемный глушитель (0 - нет; 1 - есть, несъемный; 2 - есть возможность установить)
scope_status - Съемный прицел (0 - нет; 1 - есть, несъемный; 2 - есть возможность установить)
zoom_enabled - Зум (приближение)
scope_zoom_factor - Величина зума
scope_texture - Текстура прицельной сетки
hit_power - Сила выстрела (менять все четыре значения, чем больше значение - тем больше убойность. Максимальная убойность у гаусса 4.0, можно и больше, но оно вам нужно biggrin )
silencer_hit_power - Убойность с глушителем
fire_distance - Максимальная дистанция для выстрела в метрах
cam_relax_speed - Скорость возврата в исходное положение после выстрела (чем меньше, тем быстрее можно прицелится после выстрела)
misfire_condition_k - Порог, после которого оружие может заклинивать (от 0 до 1, чем меньше, тем надежнее ствол)
condition_shot_dec - Увеличение износа при каждом выстреле (от 0 до 1, чем меньше, тем меньше изнашивается ствол)
fire_modes - Режимы стрельбы (-1 - очередью, 1 - одиночный, 2 - с отсечкой по 2 патрона)[/cut]
[cut=Установка детектора целей на интегрированный прицел на примере "Монгола"]Если вписать scope_alive_detector = scope_detector в конфиг оружия то этот параметр будет успешно проигнорирован. Выход в добавлении этой строки в любую секцию апгрейда (например [up_sect_firsta_l85]) и добавление этого апгрейда в ствол по умолчанию (installed_upgrades = up_firsta_l85)[/cut]

[cut=История обновления шапки][table][tr][td]
Дата
[/td][td]
Описание изменений
[/td][td]
Автор
[/td][/tr][tr][td]31.05.12[/td][td]Спойлеры отсортированы по категориям. Статьи подредактированы и приведены к стандарту по оформлению[/td][td]ХОВАН[/td][/tr][tr][td]19.11.12[/td][td]Добавлено описание выдачи инфопорции.[/td][td]denis2000[/td][/tr][/table][/cut]



Здесь обсуждаются вопросы, которые напрямую связаны с читерством в игре. Посты, не связанные напрямую с читерством, будут считаться оффтопом и будут предприняты действия согласно Правилам сайта (п. 4.12). Ответы на "плохие вопросы" также являются оффтопом; под каждым постом есть кнопочка "Доложить" - лучше нажимайте на нее.
 
ВалерийДата: Пт, 29.03.2013, 16:13 | Сообщение # 331
Хранитель спокойствия
Администраторы
Сообщений: 61385
Награды: 47
Репутация: [ 32767 ]

Цитата (destiny1974)
но я вроде бы четко обрисовал проблему

Я читал суть вашей проблемы, я предложил этот вариант из-за новой игры biggrin
 
destiny1974Дата: Пт, 29.03.2013, 16:27 | Сообщение # 332
Гражданский
Пользователи
Сообщений: 19
Награды: 0
Репутация: [ 41 ]

Мне не лень начать новую игру,каждые два года я меняю комп,приходят и уходят много разных игр,но четыре игры всегда на моем компе,сталкер,ром тотал вар,маунт анд блэйд и корсары,а всякие кризисы и скайримы,так разок другой ворваться и забыть.

Ну так что? это реально сделать или это лишь мои мечты?


Сообщение отредактировал destiny1974 - Пт, 29.03.2013, 16:28
 
sergej5500Дата: Пт, 29.03.2013, 16:37 | Сообщение # 333
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

destiny1974,
В файлах логики персонажей нужно прописать параметр invulnerable равным true:
invulnerable = true.
У таких персонажей обычно несколько секций логики и править параметр нужно везде.
В моде файлов логики этих НПС нет и потребуется распаковка игры.
Посмотрите этот пост (Распаковка игры и Поиск НПС в файлах игры) и этот пост (Материалы по логике НПС).
После правки логики обычно нужна переигровка с момента спавна НПС. Так как Ковальский и его ребята спавнятся на старте НИ, то нужна новая игра. Не ставьте бессмертие сержанту Морозову. Он должен погибнуть по сюжету.
 
destiny1974Дата: Пт, 29.03.2013, 16:46 | Сообщение # 334
Гражданский
Пользователи
Сообщений: 19
Награды: 0
Репутация: [ 41 ]

Очень прошу прощения,я жуткий чайник,вы мне веслом махните,распаковывать игру я умею,не проблема,а вот в какие конкретно файлы и в каких папках править именно по моей проблеме???

Нашел что править но как? на примере тарасова там уже стоит invulnerable = true
[cut]
[logic@pri_a16_tarasov]
suitable = {-pri_b305_fifth_cam_end =check_npc_name(pri_a17_military_captain_tarasov)} true
prior = 200
active = walker@home_1

[walker@home_1]
def_state_standing = wait_na
def_state_moving = walk_noweap
path_walk = taras_base_stay
path_look = taras_base_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@recon_squad_ambush_dialog_1
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
on_info = {+pri_a17_military_recon_squad_ambush_actor_instruct !npc_talking} walker@home_2
on_info2 = {-pri_a17_actor_taras_hello =dist_to_actor_le(3)} remark@salut %+pri_a17_actor_taras_hello%
use_camp = false

[remark@salut]
target = story | actor
anim = salut_free
on_game_timer = 5 | walker@home_1
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
meet = no_meet
use_camp = false

[walker@home_2]
def_state_standing = wait_na
def_state_moving = walk_noweap
path_walk = taras_base_stay
path_look = taras_base_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@recon_squad_ambush_dialog_2
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false

[meet@recon_squad_ambush_dialog_1]
close_snd_hello = nil
close_snd_bye = nil
meet_dialog = pri_a17_military_recon_squad_ambush_dialog
close_anim = nil
far_anim = nil
close_victim = actor
trade_enable = false
allow_break = false
use = {=actor_enemy} false, true

[meet@recon_squad_ambush_dialog_2]
close_snd_hello = nil
close_snd_bye = nil
meet_dialog = pri_a17_military_recon_squad_ambush_dialog_second
close_anim = nil
far_anim = nil
close_victim = actor
trade_enable = false
allow_break = false
use = {=actor_enemy} false, true[/cut]

Оверквотинг и длинные простыни кодов без спойлеров наказуемы! denis2000


Сообщение отредактировал destiny1974 - Пт, 29.03.2013, 17:00
 
sergej5500Дата: Пт, 29.03.2013, 17:18 | Сообщение # 335
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

destiny1974,
Папка gamedata\configs\scripts\pripyat
Файлы для квеста на захват гаусса:
pri_a17_military_captain_tarasov.ltx
pri_a17_military_lieutenant_podorojniy.ltx
pri_a17_military_prapor_valentyr.ltx

Файлы для эвакуации:
pri_a28_kirillov.ltx
pri_a28_kovalskiy.ltx
pri_a28_medic.ltx
pri_a28_military_podorojniy.ltx
pri_a28_military_sokolov.ltx
pri_a28_military_tarasov.ltx
pri_a28_military_valentyr.ltx
pri_a28_strelok.ltx
.

Типовая секция логики имеет примерно такой вид.
[cut=Секция логики][animpoint@a28_def]
cover_name = pri_a16_kovalski_1st_floor
reach_movement = walk_noweap
avail_animations = ward_noweap
out_restr = pri_a16_sr_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@pri_a28
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[/cut]
Если в секции логики нет строки invulnerable = true, то добавьте её туда. Если есть строка invulnerable = false, то замените её на invulnerable = true.
 
makdmДата: Пт, 29.03.2013, 21:42 | Сообщение # 336
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

sergej5500, я бы попробовал сделать по-другому.

Открываем файл gamedata\scripts\stalker_generic.script

В функции function update_invulnerability(npc) сразу бы дописал

local level_name=level.name()
local character_community = npc:character_community()
if level_name=="pripyat" and string.find(character_community, "army") then
npc:invulnerable(true)
return
end

Сам не проверял, но должно работать. И никакой новой игры не надо.


Терпение......
И все получится!
 
sergej5500Дата: Пт, 29.03.2013, 22:47 | Сообщение # 337
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

makdm,
Спасибо за ценную идею. Просто одного военного монолитовцы должны убить в обязательном порядке по сюжету.
Монолитовец с гауссом свой первый выстрел делает в сержанта Морозова. На инфопоршень гибели Морозова завязана логика квеста. Если Морозов бессмертен, то квест зависнет.
 
makdmДата: Пт, 29.03.2013, 23:10 | Сообщение # 338
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

sergej5500, ну дак ведь можно добавить в скрипт проверку. Это ведь лучше, чем начинать новую игру.

local level_name=level.name()
local character_community = npc:character_community()
local name = npc:name()
if string.find( name, "morozov") == nil and level_name=="pripyat" and string.find(character_community, "army") then
npc:invulnerable(true)
return
end


Терпение......
И все получится!
 
JohnnyDДата: Пт, 29.03.2013, 23:35 | Сообщение # 339
Бывалый
Пользователи
Сообщений: 136
Награды: 1
Репутация: [ 11 ]

makdm, а по моей проблеме не подскажете?

Когда Дегтяреву становилось грустно и одолевала меланхолия, он под покровом ночи и дождя пробирался на Станцию переработки отходов и через дыру в трубе слушал ЧИЖа. Наемники, наученные горьким опытом, предпочитали Дегтярева, устроившегося в трубе над их головами, не замечать... Они то знали, что слова из песни "... как крутой..." к нему не относятся.
 
FantomICWДата: Сб, 30.03.2013, 00:10 | Сообщение # 340
Лидер «Свободы»
Свобода
Сообщений: 4438
Награды: 44
Репутация: [ 1340 ]

JohnnyD, я думаю, что в outfit.ltx в строках actor_visual (визуал ГГ в костюме) надо изменить.
Например, в секции [stalker_outfit] ("заря") у нас следующее:
Код
actor_visual    = actors\stalker_hero\stalker_hero_stalker_1.ogf

В папке meshes/actors/stalker_hero лежат модели, в которых ГГ в костюмах, но без шлема. Следует изменить отсылку на модель сталкера-нейтрала в "заре".
Для этого прописываем:
Код
actor_visual    = actors\stalker_neutral\stalker_neutral_2.ogf


[off]P.S.
А на будущее - не флудь пожалуйста! Жди пока ответят. Или пиши нужному человеку в ЛС.[/off]





Сообщение отредактировал FantomICW - Сб, 30.03.2013, 00:10
 
destiny1974Дата: Сб, 30.03.2013, 11:47 | Сообщение # 341
Гражданский
Пользователи
Сообщений: 19
Награды: 0
Репутация: [ 41 ]

На это действие
Цитата (makdm)
ocal level_name=level.name()
local character_community = npc:character_community()
local name = npc:name()
if string.find( name, "morozov") == nil and level_name=="pripyat" and string.find(character_community, "army") then
npc:invulnerable(true)
return
end


К сожалению xray engine выдало такую ошибку

xrEngine.exe caused BREAKPOINT in module "G:\Games\GSC World Publishing\S.T.A.L.K.E.R. CoP\bin\xrCore.dll" at 0023:0024E12E, xrDebug::backend()+174 byte(s)

EAX=3AA0D8F0 EBX=00000003 ECX=3AA0D8F8 EDX=3AA0DA34
ESI=002788C8 EDI=04FD1190 FLG=00000212
EBP=00183660 ESP=00182658 EIP=0024E12E
CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B


Сообщение отредактировал destiny1974 - Сб, 30.03.2013, 11:51
 
makdmДата: Сб, 30.03.2013, 12:33 | Сообщение # 342
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

destiny1974, сейчас проверил. Никаких вылетов нет. Все НПС военнные стали бессмертными.
Вставлять нужно правильно. У вас функция в файле gamedata\scripts\stalker_generic.script должна выглядеть так:

[cut=Функция]function update_invulnerability(npc)
local level_name=level.name()
local character_community = npc:character_community()
local name = npc:name()
if string.find( name, "morozov") == nil and level_name=="pripyat" and string.find(character_community, "army") then
npc:invulnerable(true)
return
end
local invulnerability = is_need_invulnerability(npc)
if npc:invulnerable() ~= invulnerability then
printf("UPDATE INVULNERABILITY. npc[%s] = [%s]", npc:name(), tostring(invulnerability))
npc:invulnerable(invulnerability)
end
end[/cut]


Терпение......
И все получится!


Сообщение отредактировал makdm - Сб, 30.03.2013, 13:12
 
GeserДата: Сб, 30.03.2013, 15:41 | Сообщение # 343
Удаленные



Приветствую! Други не поможете еще советом, как отдалить камеру, чтобы были видны руки ГГ и оружие. А то как-то близковато мне

Сообщение отредактировал Geser - Сб, 30.03.2013, 16:34
 
makdmДата: Сб, 30.03.2013, 16:24 | Сообщение # 344
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

Geser, установите FOV Switcher 1.7
Только не перебарщивайте, а то будут разрывы между руками и краем экрана.


Терпение......
И все получится!
 
GeserДата: Сб, 30.03.2013, 17:21 | Сообщение # 345
Удаленные



Цитата (makdm)
установите FOV Switcher 1.7

Что-то на версии ЗП 1.6.0.2 SGM 2.2+Albor Addon+Fantom Pack не работает. Народ плмогите как камеру отдалить. Вроде все по инструкции делаю.
 
Форум » Моды для игр » Модостроение » ЧИТЕР - КЛУБ (Правим своими ручками))))
Поиск: