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

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


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

возможно кто знает для чего нужны эти параметры в конфигах машин:

[disable]
linear_factor            = 0.5
angular_factor            = 0.5

[air_resistance]
linear_factor           = 500.f    ;
angular_factor          = 500.f

;

очень надо знать

 

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий

В чем может быть причина вылетов?Спавню бармена как m_barman вылетает без лога.Меняю m_barman на stalker, все работает, но прописанная ему секция торговца(родная, я ничего не менял) не работает.Ассортимента нет.

Ссылка на комментарий

7.9

Теперь понятна причина твоей потери pstor'а ящика.

Ты упустил одну немаловажную особенность игры: клиентские объекты ящиков появляются в игре (переходят в он-лайн) по мере их попадания в радиус алайфа (switch_distance) и соответственно их биндер считывает их 'pstor' по-мере попадания ящиков в этот радиус.

 

Т.о. начав игру и заспавнив ящик в радиусе алайфа относительно актора, ты можешь читать/писать в 'pstor' этого объекта.

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

Делая 'ручной' сэйв - ты это делаешь в пределах радиуча алайфа, и соответственно при загрузке этого сэйва ящик тут же оказывается в радиусе алайфа и считывается его 'pstor'.

 

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos.

Все действия совершались в радиусе 10 метров от ящика, в том числе и уход-заход на локацию - всё в этом радиусе. Домик на выходе с Кордона: там точка ухода, точка прихода, и сам ящик, около стола. Но поисследовать влияние переходов онлайн-офлайн надо.

всё легко

Ссылка на комментарий

7.9

Вынужден признать свою неправоту при измышлениях о тождественности авто-сэйва и сэйва для объектов 'инвентарные ящик'.

При загрузке авто-сэйва (т.е. при переходе на локацию) метод 'load' в биндере не вызывается для ящиков, в отличии от иных физ.оъектов. Т.о. данные из записанного ранее pstor'а - теряются.

На вскидку пока не имею вариантов обхода этого нюанса. :-( Бум думать ...

 

P.S. Пока приходит на ум только вариант хранения строки в самой кастом-дате (например, аналогично зомбированым неписям из АМК-мода), но это требует уже работы с нет-пакетами.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

panzyuza, решение проблемы банально - почитать статьи на википедиях на тему спавна НПС.

 

Маленькая подсказка: НПС - не предмет, для его спавна, помимо наличия самой секции, требуется и связка с его профилем и пр. обязательными параметрами (см. аналогичное в 'spawn_sections.ltx').

То, что сделано в all.spawn'e - сделать одной функцией спавна не доступно, для этого и создаются спавн-секции.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Я не через скрипт спавнил.Просто как заходишь на Бар, вылетает секунд через десять.Искал проблему, но не нашел.И чисто случайно поменял секцию m_barman на stalker.И вылеты прекратились.Вот только торговли у него нету,точнее ассортимента.Я Бармена вообще не трогал.Он стандартный.

Изменено пользователем panzyuza
Ссылка на комментарий

Возник вопрос, надеюсь кто нить поможет.

Тч 1.004 + амк141 патч 2

 

Ферма в ТД и лохотрон. Зачистил ферму по заданию, денег не отдал :P

Однако теперь на нее набиваются сталкеры-одиночки и скрипт около фермы идет заново. Все реплики/диалоги/действия нпс повторяются с каждой новой группой осевшей там. Иногда достаточно просто подойти к ферме молча и скрип пойдет заново.

 

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

Ссылка на комментарий

торговлю не трогал.Она из старого мода все есть в продаже.

 

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

а вот еще проблемка.Как наступает необходимость во сне,приходит сообщение о необходимости сна.Ложишься спать, и когда проснулься, все равно двоиться в глазах.Всем известная функция стоит на апдейте актера в net_spawn.Я так понял, проблема в ней.Может кто подсказать, в чем дело?

function test_sleep_pp()

local tmp=ogsm_funcs.load_variable("slp",0)

if tmp>360 then

sleep_manager.main(5+ogsm_funcs.load_variable("nrg",0))

end

if tmp>300 then

level.add_pp_effector("yantar_underground_psi.ppe", 999, true)

level.set_pp_effector_factor(999, 5.0)

if not has_alife_info("encyclopedy_tutorial_sleep") then

db.actor:give_info_portion("encyclopedy_tutorial_sleep")

game.start_tutorial("part_17_sleep")

end

end

if tmp<=300 then

level.remove_pp_effector(999)

end

end

 

 

 

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

Вот примерно решил проблему.Вот так

Просто в скрипте,когда надо спать,и начинается двоение идет вызов функции принудительного засыпания ГГ.Данной функции не было и функция удаления эффекта не вызывалась.По идее должно было вылететь, но не вылетало.Там была строка

if tmp>360 then

sleep_manager.main(5+ogsm_funcs.load_variable("nrg",0))

end

Вот и вызов несуществующей функции,надо было просто исправить на

if tmp>360 then

sleep_manager.start_sleep(5+ogsm_funcs.load_variable("nrg",0))

end

И все!А я на постэффекты грешил.

 

 

Просто у меня сон из ЗП(такой мод на тч),и при совмещении со спальным мешком не обращал внимание.Подскажите, правильно ли я сделал?

Ссылка на комментарий

Здравствуйте моддеры!Решил перевести мод русский на италианский язык.подскажите как делать пожалуйста :dash2:

т.к. я живу в италии и мои ПК италианский незнаю даже с чего начать(все фаилы LTX немогу даже читать т.к всё написано по русски и мой Adobe Reader италианский)

Изменено пользователем sergi1901
Ссылка на комментарий
sergi1901, gamedata\config\text\rus либо в рус переводи либо скопируй и назови Ital скажем, сделай тексты там и в localization смени language = rus на свой, скажем language = ital
777T15074.png
Ссылка на комментарий

Если есть имя скрипта и функции в виде строки, например такие:

local script_name = "scriptname"
local function_name = "functionname"

Как проверить существуют такие скрипт и функция или нет?

 

 

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

sergi1901, добавь в систему русский язык.

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

всё легко

Ссылка на комментарий

7.9

Вариант проверки наличия файла скрипта и функции в нем :

 

local FileScript = _G["scriptname"] --/ файл (указатель на таблицу/неймспейс)

if FileScript and FileScript["functionname"] then --/ имеется ли файл и функция (точнее искомая переменная) в нем

...

 

или иначе с доп.проверкой, что именно функция, а не некая переменная/таблица/... :

 

if _G["scriptname"] and type( _G["scriptname"]["functionname"] ) == "function" then

...

 

комбинируй под свои задачи.

 

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

Если и это интересует - то проверять наличие файла через методы класса FS.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Здравствуй, Народ!

Подскажите, кто знает, hud_fov и fov в АМК 1.4.1. или в чистой игре?

Например, знаю, что в народной соли hud_fov равен 0.675, но это значение отлично от оригинала(вроде :huh: )

Канал возобновляет работу.
Ссылка на комментарий

strchi,

У меня не соль, у меня билд 2215 для соли, в нём легко прицеливание правится, но после правки, в самой игре прицеливание не совпадает(не туда целится). Вот думаю виноваты эти два параметра, т.к. слышал, что в соли fov отлично от оригинального значения.

Канал возобновляет работу.
Ссылка на комментарий

http://www.amk-team.ru/forum/index.php?sho...st&p=620621

 

Как я понял, есть 3 способа проверить скрипт и функцию в Сталкере:

 

1. pcall() --присоветовали в ЛС

2. проверка глобальной таблицы _G -- предложил Артос

3. loadstring() -- пока ждал ответов - сам поэкспериментировал.

 

Сама задача такая:

 

Есть некие предметы, по имени их секции надо проверять: "нет-ли к предмету скрипта", если есть - выполнять, если нет - ничего не делать. Имена секций непредсказуемы, но имя скрипта имеет правило - соответствует имени секции. Какой способ предпочтительней для реалий Сталкера, под такую задачу? Проверять скрипт и функцию на ошибки - это по возможности.

 

"Способ loadstring-a":

if loadstring("return scriptname")() and loadstring("return scriptname.functionname")() then
    return  loadstring("return scriptname.functionname()")()
end

** return-ы в проверкеобязательны.

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

всё легко

Ссылка на комментарий

7.9

Мой ник: Artos и попрошу НЕ коверкать его.

Форум вполне адекватно отображает все латинские символы и нет причины (кроме лени) в транслитерации его.

 

7.9: если нет - ничего не делать
Разумное и правильное условие.

Но что же ты сам предлагаешь (или тот же 'pcall')? Наступать на грабли, чтобы удостовериться что это грабли! :dash3:

 

Хм, каждый выбирает вариант по-себе ... :grin2:

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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