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

Внимание. На форуме проводятся технические работы с боковым меню.

_Val_ _Val_

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


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

Ну не нужен так не нужен просто лично мне былоб интересно если из 30 возможных ответов заносилось в список 3 случайно выбранных

 

И не совсем правильно поставлен вопрос

 

Люди такой вопрос решил сделать диалог с рандомными ответами.

Люди такой вопрос решил сделать диалог с возможными ответами

AKKK1

Насчёт вопроса,это я торопился.

---------

Всё работает сейчас проверил.

У меня диалог такой.

Сидорович как дела?

Варианты ответов:

1 Плохо.

2 Нормалёк браток.

------------------------

У меня Сидорович

Сначало говорил три раза плохо,потом 2 раза нормалёк, а потом опять плохо.

И всё время по разному.

---------

Могу даже выложить скриншот.

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

Я ДатчикХабара со stalker-portal

Как сделать в NLC чтобы можно было лечить всех NPC? Например всю братву лечить можно, а раненых военных нельзя

 

Строгое предупреждение от администратора _And_
В теме НЛС это писалось минимум два раза. Учитесь темы читать и "поиск" использовать.

malandrinus вот немного _g.script

if (jit == nil) then

profiler.setup_hook ()

end

 

schemes = {} -- соответствие схем модулям

stypes = {} -- типы схем

 

-- Загружает схему из файла на диске и активирует в мотиваторе.

-- Здесь:

-- filename - имя файла, в котором реализована схема, без расширения

-- scheme - имя схемы

function load_scheme(filename, scheme, stype)

schemes[scheme] = filename

stypes[scheme] = stype

end

 

----------------------------------------------------------------------

 

function printf(fmt,...)

log(string.format(fmt,...))

end

 

----------------------------------------------------------------------

if nil == time_global then

time_global = function () return device():time_global() end

end

 

function wait_game(time_to_wait)

verify_if_thread_is_running()

if (time_to_wait == nil) then

coroutine.yield()

else

local time_to_stop = game.time() + time_to_wait

while game.time() <= time_to_stop do

coroutine.yield()

end

end

end

 

function wait(time_to_wait)

verify_if_thread_is_running()

if (time_to_wait == nil) then

coroutine.yield()

else

local time_to_stop = time_global() + time_to_wait

while time_global() <= time_to_stop do

coroutine.yield()

end

end

end

 

function action(obj,...)

local arg = {...}

local act = entity_action()

local i = 1

while true do

if (arg ~= nil) then

act:set_action(arg)

else

break

end

i = i + 1

end

if (obj ~= nil) then

obj:command(act,false)

end

return entity_action(act)

end

 

function action_first(obj,...)

local arg = {...}

local act = entity_action()

local i = 1

while true do

if (arg ~= nil) then

act:set_action(arg)

else

break

end

i = i + 1

end

if (obj ~= nil) then

obj:command(act,true)

end

return entity_action(act)

end

 

function round (value)

local min = math.floor (value)

local max = min + 1

if value - min > max - value then return max end

return min

end

 

function debug_get_level_object(obj_name)

local res = level.debug_object(obj_name)

while res == nil do

 

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// !!!!! НЕ ЗАКОММЕНТАРИВАЙТЕ, ИНАЧЕ НЕ БУДЕТ ВИДНО ОШИБОК ПРИ РАССТАНОВКЕ ОБЪЕКТОВ !!!!!

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

printf("get_level_object() is waiting for object \"%s\"", obj_name)

 

res = level.object(obj_name)

wait ()

end

return res

end

 

 

Правельно пейсать "мадыратарчег", патамукаг проверочнойе слова "красафчег".

Подскажите какой файл отвечает за трансмутированные артефакты в NLC, а то я вес обычных артов поменял, теперь хочу мутированные изменить

 

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

И ещё такой вопрос. Как изменить цену на ремонт брони у долговязого, я раньше делал это но забыл как :(

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

foxbat21, все конфиги трансмутированых артефактов от АМК лежат в папке - amk_artefacts.

Конфиги артефактов от Сяка (изумрудная медуза и т.д. и т.п.) записаны в файле - artefacts.ltx.

 

--------------------------------------------------

 

Цена ремонта стволов и брони задаеться в файле escape_dialog.script.

Вот в этих строчках:

local weapon_profit_margin = 4
local armor_profit_margin = 4

Изменено пользователем Министр
Министр, Спасибо! Всё получилось. Изменено пользователем foxbat21
вот немного _g.script

в районе 20-й строки было бы достаточно. Вот этот фрагмент:

function printf(fmt,...)
    log(string.format(fmt,...)) -- это 20-я строка
end

Видим, что ошибка происходит в функции format. У неё должны быть дополнительные аргументы. Но сказать какие, можно только узнав строку fmt. Попробуй вставить туда дополнительную строчку:

function printf(fmt,...)
    get_console():execute(string.gsub(fmt, " ", "_"))
    log(string.format(fmt,...)) -- это 20-я строка
end

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

 

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

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

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

 

Помогите, пожалуйста, у меня вопрос:

Взял из биорадара код:

for id,obj in pairs(db.storage) do

local o = level.object_by_id(id)

local so = alife():object(id)

if o and so then

if o:section()==... then

...

end

end

end

Надо найти определенный предмет. У so нету параметра section(), а o - нечто непонятное. Даже не знаю, как объяснить. Вообщем, находятся объекты с именами

...

m_dog_e

space_restrictor

physic_object

space_restrictor

space_restrictor

physic_object

physic_object

stalker

rat_strong

space_restrictor

physic_object

inventory_box

stalker

aem_lamp

aem_lamp

physic_object

space_restrictor

space_restrictor

space_restrictor

m_dog_e

m_dog_e

m_dog_e

space_restrictor

space_restrictor

space_restrictor

physic_object

physic_object

stalker

aem_lamp

aem_lamp

lights_hanging_lamp

space_restrictor

lights_hanging_lamp

physic_destroyable_object

physic_destroyable_object

physic_destroyable_object

space_restrictor

lights_hanging_lamp

lights_hanging_lamp

physic_destroyable_object

stalker

physic_destroyable_object

physic_destroyable_object

lights_hanging_lamp

physic_destroyable_object

lights_hanging_lamp

lights_hanging_lamp

lights_hanging_lamp

space_restrictor

aem_lamp

inventory_box

inventory_box

inventory_box

inventory_box

inventory_box

physic_destroyable_object

inventory_box

physic_object

stalker_trader

stalker

stalker

...

 

 

Как мне найти объект с именем, к примеру, vodka?

 

И еще, очень важно, можно ли узнать, что итем находится снаружи (лежит на уровне)? и как узнать, если итем находится у непися в рюкзаке?

Изменено пользователем 4ufak
travka.giftravka.giftravka.giftravka.giftravka.gif

4ufak, если предмет на уровне то у него obj:parent():id() = 65535 кажется.

 

Что значит с именем водка?Имя только у сталкеров есть))

Изменено пользователем Monnoroch
Writer, посмотри что перед вылетом в логе, ты же делал по совету malandrinus.
Возможно всё, ну или почти всё.

Вот что выдает выше лога

 

motivator_binder:net_spawn():_self.object:name()='%s'
! Unknown command:  setup_gulag_and_logic_on_spawn_obj=%s,_strn_id=%s
! Unknown command:  [smart_terrain_%s]_gulag:_object_setup_online:_obj=%s_need_setup_logic=%s_need_setup_restrictors=%s
! Unknown command:  _bp:_enable_scripts:_object_'%s'_has_NO_external_configuration_file,_using_'%s'
! Unknown command:  DEBUG:_set_scheme:_scheme='%s'_section='%s'
! Unknown command:  DEBUG:_add_to_binder:_scheme='%s'
! Unknown command:  TRADE_INIT[%s]
! Unknown command:  DEBUG:_object_'%s':_activate_by_section:_looking_for_section_'%s'
! Unknown command:  _bp:_reset_generic_schemes_on_scheme_switch:_npc:name()='%s'
! Unknown command:  WOUNDED_SECTION_[%s][%s]
! Unknown command:  THRESHOLD_SECTION_[%s]
! Unknown command:  STALKER_SPOT_SECTION_[%s]
! Unknown command:  _bp:_calling_module('%s')
! Unknown command:  _bp:_path_parse_waypoints:_pathname='%s'
! Unknown command:  ERROR:_object_'esc_unik_npc':_path_walk_'sgm_venom'_has_1_waypoint,_but_has_no_flags
! Unknown command:  %s

 

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

Правельно пейсать "мадыратарчег", патамукаг проверочнойе слова "красафчег".

Writer, видать что то с неписью "esc_unik_npc", ты же вроде непися нового создаешь, проверь его еще раз, может что пропустил.
Возможно всё, ну или почти всё.
Вот что выдает выше лога

! Unknown command: %s

Это означает, что где-то стоит вызов:

printf("%s", <второй аргумент - строка>)

и этот второй аргумент либо равен nil либо просто отсутствует.

Вот где этот вызов стоит, там и надо копать. Выяснять, почему там не передаётся строка. Мест таких наверняка не одно, но это уже зацепка.

 

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

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

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

 

malandrinus и где это все искать?

8push5 да вроде все у меня с nps нормально...врядли в нем ошибка затаилась

Правельно пейсать "мадыратарчег", патамукаг проверочнойе слова "красафчег".

Writer, во всех скриптах, из чистой и из твоих, есть проги которые ищут текст в файлах.

да вроде все у меня с nps нормально

но ругань то идет на непися

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

2Monnoroch:

Валяется рядом с ГГ 100 бутылок водки. Надо просканировать уровень на все итемы в нем и если секция итема равна "vodka" - удалить бутылку из игры и добавить меченому соответственное количество похмелья.

 

Это я такой бред несу к примеру.

travka.giftravka.giftravka.giftravka.giftravka.gif

в treasure_manager.script

есть две секции за что они отвечают подскажите ...

local rare_list ?

local solid_list ?

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

4ufak, лучше коллбек на использование этой водки поставить.

А у бутылки водки и секция - vodka.

А определить что обьект - водка так:

 

for i = 1,65535 do
local obj = level.object by id(i)
if obj:section() == "vodka" then
...............
end
end

 

а если нужен обьект валяющийся на земле то у него obj:parent():id() = 65535

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

Заспавнил НПС в деревне новичков через ACDC. А он бежит к колючей провлке за пещерой Сидора. Как его остановить?

Правельно пейсать "мадыратарчег", патамукаг проверочнойе слова "красафчег".

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

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

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

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

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

Войти

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

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

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