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

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


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

Цитата

function sleep_mod_func2()
if level.get_time_hours() >= 23 and level.get_time_hours() < 4 then
sleep_manager.main (10)
else
sleep_manager.main (2)
end
level.enable_input()
amk.g_start_timer("sleep2_timer",0,0,10)
end

 

Функция всегда возвращает второе значение, вне зависимости от текущего игрового времени. Вызывается просто - через рестриктор или диалог. Что тут не так?

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

Всем привет народ , тема такая

есть фриплей мод , на его основе собираюсь сделать свой

В бинд_сталкере у меня подключается файл и из него вызывается функция спавна монстров , и моего нпс

Вопрос такой - у меня при перезагрузке , появляется еще один (такой же ) нпс. Как решить данную ситуацию и единожды его спавнить?

 

 

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

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

Egor4ikModMaker.gif

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

@Egor4ikModMaker, ну к примеру так:

   ----------------------------Спавн--------------------------------------------------------------------------------
    if xr_logic.pstor_retrieve(db.actor, "first_run", 0)==0 then
            my_spawn.spawn_my()
       xr_logic.pstor_store(db.actor, "first_run", 1)
    end
----------------------------Спавн--------------------------------------------------------------------------------

 

Ссылка на комментарий
46 минут назад, alex5773 сказал:

ну к примеру так:

@alex5773 , Ловлю вылет:

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ....r - Èñòèííûé ïóòü\gamedata\scripts\rx_addons.script:149: attempt to index field 'actor' (a nil value)

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

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

Egor4ikModMaker.gif

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

@Egor4ikModMakerсправочник вылетов

У меня лично ничего не вылетает, и в фриплейных(типа FreeplayStart_v1_21), и в оригинальной игре.

Изменено пользователем alex5773
Ссылка на комментарий
25 минут назад, alex5773 сказал:

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

Там сказано следущее :

 

 


 

Expression    : fatal error Function    : CScriptEngine::lua_error File        : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line        : 73 Description    : Arguments    : LUA error: ...\gamedata\scripts\<имя файла>.script:<номер строки>: unfinished capture

 

 

 



Причина:

Единственной причиной данного вылета которую я нашёл, это попытка использовать для функции string.find в качестве шаблона "волшебный символ" открывающуюся круглую скобку, т.е. попытка найти скобку таким образом:

local p = string.find(str, "(")

Лечение:

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

local p = string.find(str, "(", 1, true)

 

 

Я не знаю как подобное лечить.  upd: По мимо этого , мне каким-то чудным-образом удалось запустить твой скрипт (запихнув его в другу часть бинд_сталка) но я поймал следущее - аптечки перестали хилить, у гг вместо "до встречи" , тупо отсутствует реплика, а баг с перезагрузкой работает по прежнему. (т.е после перезагрузки 2 нпс и при дальнейшем их только больше.)

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

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

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

Egor4ikModMaker.gif

Ссылка на комментарий
50 минут назад, Egor4ikModMaker сказал:

чудным-образом удалось запустить твой скрипт (запихнув его в другу часть бинд_сталка)

 

50 минут назад, Egor4ikModMaker сказал:

баг с перезагрузкой работает по прежнему. (т.е после перезагрузки 2 нпс и при дальнейшем их только больше.)

Ну во-первых, скрипт не мой, а твой) А во-вторых, надо не запихивать лишь бы запихнуть, а именно надо прописать в функцию

function actor_binder:net_spawn(data) после death_manager.init_drop_settings()

И вообще, что у тебя там за фриплей мод, фиг его знает.

И я не знаю что ты там помимо этого ещё химичишь.

И вылет у тебя был именно attempt to index field 'actor' (a nil value)

Скрытый текст

Допустим раньше я спавнил через скрипт-дополнение

 

 

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

сейчас сделаю

upd: да отлично, работает , спасибо!

 

пардон , чушь написал.

слепой прост
 

 

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

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

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

Egor4ikModMaker.gif

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

Всем привет народ , подскажите как лечить вылет подобного типа?



ТЧ.1.0004

Вылет при обыске трупа (при забирании вещей кнопкой или в ручную)

Expression    : assertion failed
Function      : CSafeFixedRotationState::create
File          : e:\stalker\patch_1_0004\xr_3da\xrgame\phvalidevalues.h
Line          : 81
Description   : dBodyStateValide(b)

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

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

Egor4ikModMaker.gif

Ссылка на комментарий
11 минут назад, Egor4ikModMaker сказал:

как лечить вылет подобного типа?

Так я же тебе выше давал ссылку на справочник вылетов.
Expression    : assertion failed
Function    : CSafeFixedRotationState::create
File        : e:\stalker\sources\trunk\xr_3da\xrgame\phvalidevalues.h
Line        : 81
Description    : dBodyStateValide(b)

Причина:

Как правило - при попытке зомбировании неписей контролером, но не только. Также может появиться при неправильной настройки костей модели. Ещё может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался.

Лечение:

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

В 27.06.2018 в 06:42, Egor4ikModMaker сказал:

Line          : 81
Description   : dBodyStateValide(b)

-Собственно стоит мод на поднятие брони с трупов , происходит после взятия брони с трупа.

Так что же тебе ещё то надо? 

Ссылка на комментарий
Только что, alex5773 сказал:

Так что же тебе ещё то надо? 

Понять как это лечить.

В сдк перегонять без вариантов нет. 

 Модели оригинальные. Откуда взялся вылет?

До этого подобного не было. 

  • Не нравится 1

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

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

Egor4ikModMaker.gif

Ссылка на комментарий
16 минут назад, Egor4ikModMaker сказал:

В сдк перегонять без вариантов

 

18 минут назад, alex5773 сказал:

Ещё может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался.

 

18 минут назад, alex5773 сказал:

В случае скриптом - найти и избавиться от ошибки.

Ну а если это тоже без вариантов. То вариант один остаётся, удалить причину вылета.

Самый лучший вариант:grin2:

Изменено пользователем alex5773
Ссылка на комментарий
1 час назад, alex5773 сказал:

В случае скриптом - найти и избавиться от ошибки.

 

1 час назад, alex5773 сказал:

Ещё может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался.

 

Скорее всего наверное нет-пакет барахлит , а как это проверить

или со скриптом?

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

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

Egor4ikModMaker.gif

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

Существует ли GUI утилита для настройки инвентаря?

 

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

 

Пока представляю это как: Меняю значение в .xml файле инвентаря -> Запускаю игру -> Смотрю что изменилось.

 

Неужели все этим так занимались все 11 лет моддинга?

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

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

@aka_sektor, Сделай скриншот в игре, а потом открой его в редакторе и там уже смотри координаты. Если делаешь под широкоформатные, то преобразуй скрин в 1024х768 и потом снимай координаты .

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

@TIGER_VLAD, не совсем понимаю, как ты это представляешь. Элементы инвентаря не привязаны вроде ко всему экрану, они могут быть привязаны к другим элементам инвентаря.

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

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

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

@aka_sektor, у @Charsi есть вот такой калькулятор. https://yadi.sk/d/BhF4gSfz3YdPnu

Я правда никогда им не пользовался, в основном как ты и пишешь "записал-запустил-посмотрел". Но может тебе поможет.

 

Попутно задам и свой вопрос. Поддается ли лечению подобный вылет:

Скрытый текст

FATAL ERROR
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: not enough memory
stack trace:
Scheduler tried to update object sor_bar_visitor_2

 

Ссылка на комментарий
1 час назад, varan сказал:

есть вот такой калькулятор

Да, уже дали наводку: https://xray-engine.org/index.php?title=Калькулятор_HUD'ов

 

Однако эт кажется сложным, надо вникать.

 

1 час назад, varan сказал:

LUA error: not enough memory

Оч. странно вылет похоже частый, да и мне знаком. Но конкретной инфы по нему чет не нашел пока. Будем смотреть.

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

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

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

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

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

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

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

Войти

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

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

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