[CS] Ковыряемся в файлах - Страница 24 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

[CS] Ковыряемся в файлах


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

KitkaT.Net

Спасибо за поздний, но ответ. В принципе я смог определить силу удара и жизни. Силу нормально отредактировал, но жизни у меня идут через... "окольными путями", так сказать. Я вместо кол-ва жизней поправил иммунитеты, то есть решил сделать в два раза живучее - уменьшил значения в immunites в два раза. Так, тестами, и достиг баланса кровососа, какого хотел. А вот регенерация пригодится. Я подумывал над тем параметром, но так и не врубился. Выходит, если я поставлю wound_incarnation_v = 1, то после заживления за одну секунду останется 100% раны, то есть он не излечится? А если наоборот меньше оригинального значения, то после одной секунды заживления останется меньший процент раны? Ещё интересно, процент раны это процент чего? То, сколько у него не хватает до максимума? То есть чем меньше жизней, тем быстрее регенерация? Или как?

если хочешь в начале игры еще иметь сам плащ в инвенторе, то в gamedata/configs/gameplay/character_desc_general.xml в профиле actor (он в самом начале) замени novice_outfit \n на название_костюма \n (в данном случае плаща).

А у меня такой ещё вопрос на эту-же тему - можно-ли как-то сделать, чтоб этот плащ (и вообще любой другой предмет) спавнился, при этом, в инвентарь повреждённым?

Изменено пользователем A.N.

| Athlon X2 7750 @ 3105MHz | 8Gb RAM | GeForce GTS 250 1024Mb | Win 7 Home Basic x64 rus

| S.T.A.L.K.E.R CS 1.5.10. + OGSM CS 1.6.1 + Rus-Ukr Zone

| S.T.A.L.K.E.R CoP 1.6.02. + TrickSR + SSR + weapons fix

Да, можно. В outfit.ltx прописываем

 

["бандитский_плащ_шрама"]:"бандитский_плащ"

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "outfit\bandit_outfit"

;$prefetch = 32

class = E_STLK

cform = skeleton

 

condition = "процент износа (от 0,01 до 1,00)"

 

Вроде как-то так, если я ни чего не попутал...

Stalkeroff, как-то оно странно работает - вне зависимости от того, сколько я поставил кондишн, от шкалы состояния всегда отъедается один и тот-же кусок - примерно 1/6. И ремонт, соответственно, всегда стоит одни и те-же 1140 рублей (или что-то около этого - но цифра одинаковая всегда - это точно). Для проверки пока просто в конфиг коричневого плаща эту строчку подставлял (у меня ОГСМ стоит, там Шрам и так в этот плащ одет в начале игры). Начинал с 0.1, потом ставил и 0.01 и 0.5 и 0.001 и даже просто 0 - результат один. Если плащ снять и ножиком в него потыкать - портится полностью "на ура" (и денег на ремонт потом 6000 просит).

Целиком секция плаща выглядит теперь так:

[bandit_veteran_outfit]:outfit_base
GroupControlSection                = spawn_group
discovery_dependency             = 
$spawn                             = "outfit\bandit_outfit"
class                            = E_STLK
cform                           = skeleton
ef_equipment_type                = 3

full_scale_icon                    = 0,6
full_icon_name                    = npc_icon_bandit_veteran_outfit
condition                        = 0.01
visual                          = dynamics\outfit\bandit_veteran_outfit
actor_visual                    = actors\stalker_hero\stalker_hero_bandit_brown.ogf
player_hud_section                = actor_hud_bandit_cloak_brown

inv_name                        = bandit_veteran_outfit_name
inv_name_short                    = bandit_veteran_outfit_name
description                        = bandit_veteran_outfit_description

inv_weight                        = 3.5

inv_grid_width                     = 2
inv_grid_height                    = 2
inv_grid_x                         = 13
inv_grid_y                         = 7

slot                            = 6

cost                            = 12000

immunities_sect                    = sect_bandit_veteran_outfit_immunities

burn_protection                 = 0.015
shock_protection                 = 0.010
radiation_protection             = 0.000
chemical_burn_protection         = 0.010
telepatic_protection             = 0.000

strike_protection                 = 0.1
explosion_protection             = 0.1
wound_protection                = 0.2

fire_wound_protection              = 0.2
physic_strike_wound_immunity     = 0.1
hit_fraction_actor                 = 0.3
control_inertion_factor         = 1.2

bones_koeff_protection             = actor_armor_suit

artefact_count                     = 0

upgrades                        = up_gr_ab_bandit_outfit, up_gr_cd_bandit_outfit, up_gr_ef_bandit_outfit, up_gr_g_bandit_outfit
installed_upgrades              =
upgrade_scheme                  = upgrade_scheme_u7

[sect_bandit_veteran_outfit_immunities]
burn_immunity                    = 0.04
strike_immunity                    = 0.01
shock_immunity                    = 0.04
wound_immunity                    = 0.025
radiation_immunity                = 0.00
telepatic_immunity                = 0.00
chemical_burn_immunity            = 0.04
explosion_immunity                = 0.04
fire_wound_immunity                = 0.015

 

Есть какие-нить мысли что-бы это могло быть? Кроме добавления строчки с кондишеном, больше ничего не менял. Весь конфиг кинул просто на всякий случай - вдруг, там чего-то такое написано, чего я не вижу?..

Изменено пользователем A.N.

| Athlon X2 7750 @ 3105MHz | 8Gb RAM | GeForce GTS 250 1024Mb | Win 7 Home Basic x64 rus

| S.T.A.L.K.E.R CS 1.5.10. + OGSM CS 1.6.1 + Rus-Ukr Zone

| S.T.A.L.K.E.R CoP 1.6.02. + TrickSR + SSR + weapons fix

A.N., даже не знаю и разбираться в чем дело, если честно не охота совсем. <_< Давным давно делал правку чтобы Суслов в начале игры выдавал Шраму его шмот (винторез, плащ). Так вот, чтобы вещи были изношенными я прописывал condition 0,2 и все работало.

Поисследовал немного этот вопрос, получается совсем весело:

 

Если прописать этот плащ в выдачу Суслову - кондишн получается такой, какой прописал - всё чётко,

Если в character_desc_general, при установленном ОГСМ - где-то 80% состояние получается сколько-б не прописал,

Если писать в character_desc_general, но добавить этот плащ в чистую игру (без ОГСМа) - вообще неиспорченный плащ получается (но Суслов его-же выдаёт порченным).

 

Нашёл! :good2:

Спавнить костюм надо нормальным, неиспорченным (соответственно и в конфиге ему кондишн занижать не надо).

В файле mar_intro_zone.ltx есть такой кусок:

[sr_idle@scene_2_spawn]
on_timer = 2500 | sr_idle@scene_2_sit %+mar_intro_scene_1_end =spawn_object(mar_intro_lebedev_2:mar_intro_scene_2_lebedev:0:270.0) =update_weather(true) =play_sound(mar_intro_getting_up)%

В ОГСМе там убран апдейт погоды и добавлен вызов функции повреждения костюма:

[sr_idle@scene_2_spawn]
on_timer = 2500 | sr_idle@scene_2_sit %+mar_intro_scene_1_end =spawn_object(mar_intro_lebedev_2:mar_intro_scene_2_lebedev:0:270.0) =damage_actor_outfit =play_sound(mar_intro_getting_up)%

Ну и в скриптах (в данном случае в xr_effects.script, но думаю, не сильно принципиально куда её засунуть) лежит сама функция повреждения:

function damage_actor_outfit(actor, npc)
    local actor = db.actor
    obj = actor:object("bandit_veteran_outfit")
    if obj ~= nil then
        obj:set_condition(0.81)
    end
end

Соответственно - вписываем нужный костюм, нужную степень повреждения - и порядок! :)

 

Ещё вопрос - можно-ли запретить какой-то предмет не только апгрейдить, но и чинить?

Пока нашёл, что для возможности апгрейда предмет должен быть в писан в inventory_upgrades.ltx и прописан конкретному механику в stalkers_upgrade_info.ltx Но это влияет только на возможность апгрейда - т.е. если предмет из списка механика убрать, то он перестаёт его апгрейдить, но чинить продолжает. А хочется как-то сделать чтоб и чинить можно было не всё у всех, а выборочно.

Изменено пользователем A.N.

| Athlon X2 7750 @ 3105MHz | 8Gb RAM | GeForce GTS 250 1024Mb | Win 7 Home Basic x64 rus

| S.T.A.L.K.E.R CS 1.5.10. + OGSM CS 1.6.1 + Rus-Ukr Zone

| S.T.A.L.K.E.R CoP 1.6.02. + TrickSR + SSR + weapons fix

где найти информацию о структуре нет-пакетов в чн?

 

Добавлено через 123 мин.:

как вычислить количество патронов в пачке?

IQDDD,

информацию о нетпакетах ищи в acdc. Количество патронов в пачке можно узнать нетпакетом. Был мод с перепаковкой пачек dunin_ammo, там была такая функция.

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

да я понимаю, что пакетами. у меня есть функция, благополучно работающая в тенях, и не работающая в чистом небе. короче указанный выше скачаю мод потом.

в чистом небе какая-то проблема с копированием нет пакета из серверного объекта в переменную. игра почему-то это иногда делает это один раз, а потом НАГЛУХО игнорируется скрипт, вызвавший копирование пакета. иногда удается прочитать несколько раз. иногда довольно много(300-400). иногда не удается прочитать вообще!

и опять же, все дальнейшие чанки ИГНОРИРУЮТСЯ! Дибилизм какой-то! приведите кто-нибудь любой пример чтения пакетов в чистом небе.

 

Изменено пользователем IQDDD

IQDDD, насколько я помню функции чтения нет пакетов из ТЧ не совсем подходят для ЧН, их нужно немного поправить, можешь поправить самостоятельно используя данные из ACDC, или скачай мод в котором они уже поправлены.

 

Возможно всё, ну или почти всё.

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

 

Добавлено через 17 мин.:

только решил одну проблему, появилась другая. в тенях чернобыля последний байт в пакете ствола был числом-идентификатором типа патронов в стволе. допустим, если у ствола было два типа патронов, то возвращалось либо 0, либо 1. в чистом небе там постоянно 0.

как определить тип патронов в стволе в чн?

Вот сегодня решил поковырять файл amk_anoms.script и как я понял вот эти цифры которые стоят после аномалий это кол-во штук их

l01_escape={100,170,1000,{electra=12, zavesa=2, smallrain=1, fountain=1, gravi=5, mincer=10, buzz=10, sakbuzz=6, mosquito_bald=10, sphere=4}}

, а вот это коефициент на который умножается кол-во аномалий указаных выше :

- коефициент количества аномалий в зависимости от сложности игры

local anoms_difficulty_koef = {

[0] = 0.75,

[1] = 1.0,

[2] = 1.25,

[3] = 1.5

 

,теперь сам вопрос, если изменить коефициент и не начать новую игру, а загрузиться с сейва, и дождаться выброса чтобы изменения втупили в силу. Или надо ОБЯЗАТЕЛЬНО начать новую игру?

Изменено пользователем FANAT

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

IQDDD,

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

И долго ты эту проблему решал? Полгода назад об этом в справочнике написал.

Тема на пять страниц, и то никто не читает =(

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

malandrinus,

1. В тенях и так работало.

2. Нужно использовать оба. Даже только при чтении (запись не использовал) нужно использовать оба: r_seek, и w_begin: смещаем позицию, записываем в пакет данные, перемещаем позицию, читаем.

 

Да и тему читал, но только пост про net_packet. А вышеуказанный тобой (дополнение) не читал: нет пока времени нормально тему изучить.

 

И если я не читаю тему, то это не значит,что её никто не читает. :)

 

Добавлено через 8 мин.:

FANAT, всё, что скриптовое, требует только перезагрузки.

 

Добавлено через 5 мин.:

На stalkerin'е ссылка на ACDC CS 1.5.10 нерабочая. Скиньте в лс.

Изменено пользователем IQDDD

IQDDD слушай, а я правильно думаю что если коефициент уменьшить и дождаца выброса то количество аномалий уменьшица?

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

 

Добавлено через 2 мин.:

Вроде сквадов везде заспавнилось до кучи, а идти не хотят. Следовательно, это не от того, что мало отрядов. Тогда в чём дело?

IQDDD, смарты, через которые сквады идти должны, случайно, не заняты отрядами других дружественных/нейтральных группировок? Если да, то и не пойдут. Пойти всех вынести и занять смарт таблица отношений не позволяет, а просто пройти - отсутствие места в смарте.

Как вариант - попробовать увеличить ёмкость смарт-террейнов.

| Athlon X2 7750 @ 3105MHz | 8Gb RAM | GeForce GTS 250 1024Mb | Win 7 Home Basic x64 rus

| S.T.A.L.K.E.R CS 1.5.10. + OGSM CS 1.6.1 + Rus-Ukr Zone

| S.T.A.L.K.E.R CoP 1.6.02. + TrickSR + SSR + weapons fix

но все смарты заняты дружественными отрядами, но по одному скваду(а вместимость-два). по идее на смарт должен заваливаться ещё один сквад, чего не происходит, поэтому и не атакуют.

тем не менее я решил проблему ручным спавном отрядов на переходных точках для общего случая. при этом если смарт в оффлайне спавниться Редко, чтобы игрок не пропустил самое интересное. потом выложу скрипт.

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...