Перейти к контенту

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


Halford

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

(изменено)

Ну, во-первых, в разделе соли внезапно есть соответствующая тема.

И если бы вопрос был задан там, то я бы сразу посоветовал посмотреть внимательно конфиги соли, прежде чем накатывать поверх них что-то левое.

 

Во-вторых, я не понимаю, как делался поиск, если вообще-то он должен был найти еще файлы торговли от amk и собственно ООП, а также, собственно config\weapons\w_toz34.ltx, ну и что еще намудрили в ОПП и что там еще добавлено.

 

 

P.S. Оставляю здесь весь диалог в помощь другим начинающим.

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

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


Ссылка на сообщение
(изменено)

Ружжо есть в оригинале, именно в униках. А вот в модах оно может быть оттуда перенесено в другие места.

Соответственно, при скрещивании модов будут эффекты.

 

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

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

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


Ссылка на сообщение
(изменено)

Бром, это который bar_bar_drunk_dolg ?

Ну так ищем путь bar_bar_visitor_dolg_look, там анимация bar_head

 

state_lib.script:

bar_head = { weapon = "strapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "stand",

animation = "bar_head" },

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

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


Ссылка на сообщение

Ищем в config\text и config\gameplay соответствующие фразы, и смотрим функции, которые вызываются.

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


Ссылка на сообщение

Не уверен, что здесь надо именно user.ltx

Он вообще не для мододелов, а для пользователей. (Мда, кстати, надо будет где-то найти сохраненные ссылки на наиболее годные описания, и в первый пост запихать).

 

А цвета задаются в основном в погодных конфигах: gamedata\config\weathers\*

sky_color и иже с ним. Ну и сама текстура...

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


Ссылка на сообщение

В ТЧ для "лежачих" выставляется именно лежачесть, если явно не разрешено другое. См. xr_wounded.sсript,

function Cwound_manager:update()

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


Ссылка на сообщение
(изменено)

Ага. То есть, кто-то жалуется на вылет, но воспроизвести не получается ?

Ну, тогда, действительно, пусть жалующийся начнет со своего компьютера.

 

Либо, если вылет не случаен - подробно описывает все шаги, которыми он достигается. Как-то так.

 

P.S. И не надо собирать "матрешки" из цитат. Если отвечаете на текст, расположенный непосредственно перед ответом, ну так просто пишем, и все. И даже и в других случаях, как правило, достаточно указать: кому отвечаем.

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

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


Ссылка на сообщение

ShoC 1.0006, smart_terrain.script:836:

self.duration_end = game.CTime()

 

Ну, если вы namespace game убить ухитряетесь...

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

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


Ссылка на сообщение

Я просто не представляю, как получить такой вылет, не трогая собственно скрипты. Это во-первых.

 

Во-вторых, логика, гм, весьма нетривиальна, мягко говоря.

Обычно прописывают работу с путем kamp, и путем walk с разными state для каждого сталкера.

 

В приведенных кусках gulag_*.script явно чего-то не хватает.

 

И вылет все равно странный.

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


Ссылка на сообщение

Час от часу...

Логика боя совершенно одинакова. Зашита в движке. Можно только перехватить скриптом, если его сначала написать - ну, как xr_camper.script: стоим на месте, водим стволом, стреляем, если враг близко - опять же срываемся в движковый бой.

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


Ссылка на сообщение
(изменено)

А с "мясорубками" на самом деле просто все. Сталкеры прицеплены к костру, бандюки/вояки стоят у них за спиной. Когда это все входит в онлайн - сталкеры продолжают спокойно сидеть, и их спокойно расстреливают.

 

Что делать: прописывать работы с другими путями, и в офлайне(!) проверять наличие посторонних в гулагах с одинаковми координатами. типа такого:

 

smart_terrain.script:

function get_population( name )
    local strn = name and alife():object( name )
    local g = strn and strn.gulag
    return ( g and g.population_comed ) or 0
end

gulag_escape.script:

local get_pop = smart_terrain.get_population

function esc_assault( gulag )
    if has_alife_info( "esc_kill_bandits_quest_have" )
      and not has_alife_info( "esc_assault_start" )
      and not has_alife_info( "esc_kill_bandits_quest_done" ) then return 1 end    -- сидят на холмике в позе "зю"

    if has_alife_info( "esc_assault_start" )
      and not has_alife_info( "esc_kill_bandits_quest_kill" ) then return 2 end    -- атакуют фабрику

    if has_alife_info( "esc_kill_bandits_quest_kill" )
          and (not has_alife_info( "esc_kill_bandits_quest_done" )
        or not has_alife_info( "esc_petruha_great" )) then return 3 end    -- ждут где попало второго разговора с Петрухой

    if has_alife_info( "esc_kill_bandits_quest_done" ) or has_alife_info( "esc_petruha_great" ) then
        if get_pop( "esc2_st_fabric" ) >= 1 or get_pop( "esc_fabrika_bandit" ) >= 1 then
            return 5
        else return 4    -- идут домой
        end
    end
    return 0 -- иначе сидят в оффлайне
end

state 5 здесь - пути как у state1, но с диалогами типа ("помоги, нас опять бандиты выгнали !")

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

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


Ссылка на сообщение

В смысле, сформировать произвольный путь, зная, например, координаты ?

Теоретически - можно, но проблематично. На практике их посылают руками по произвольным координатам (проверить на доступность).

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


Ссылка на сообщение

Карлан, да тут как раз все просто с пониманием. А вот сделать...

 

Тем более, что в общем-то эти самые пути в итоге все равно в абсолютном большинстве случаев скриптово разбираются на запчасти: ну вот хоть тот же xr_walker.script и посмотреть, например.

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


Ссылка на сообщение

На сколько я понял, до него не добраться.

 

Но с учетом того, что инвентарь и так люто, бешено, постоянно перебирается откуда попало - просто найти удобное место, и вставить подсчет.

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


Ссылка на сообщение
(изменено)

"но придется переменную подсчета массы сохранять."

 

Не нужно.

При загрузке отрабатывает actor_binder:on_item_take( item ).

 

Ну и смотри выше про 150000 переборов, и так зачем-то раскиданных где попало.

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

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


Ссылка на сообщение

Первая попавшаяся под руку:

 

[logic]
active = walker@one

[walker@one]
on_info = {+kordon_doctor_dialog_start} walker@two
path_walk = doktor1_walk_way
path_look = doktor1_way_look
meet = meet
danger = danger_ignore

[walker@two]
path_walk = doktor2_walk_way
path_look = doktor2_way_look
meet = meet
danger = danger_ignore

[danger_ignore]
ignore_distance = 0

[meet]
use = true
use_wpn = true
meet_talk_enabled = true
meet_state = 3|ward@doktor_hello|2|ward
meet_state_wpn = 3|ward@doktor_hello|3|ward

 

 

Если все, что здесь прописано, где-то есть, и без ошибок, то работает.

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


Ссылка на сообщение

а на walker@phase1 - переходит ?

заменить переход по сигналу на переход по инфо, дать инфо, и посмотреть, что будет.

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


Ссылка на сообщение

О, блин, слона-то я и не приметил. Пробелы лучше отовсюду убирать, от греха.

И, да, переход на одну секцию возможен только по одному условию. Остальные не срабатывают.

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

×
×
  • Создать...