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

OGSE: КБ разработчиков


Zander_driver

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

А как сделано отсутствие травы в машине? Движком или скриптом? Где посмотреть?

  • Согласен 1

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


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

@Yuri1957, я почему спросил по поводу движка.. В скрипте нашел вот такое:

-- что-то делаем по факту смены состояния внутри/снаружи
if car and not current_car then -- только что залезли в машину
SetDetailsMinRadius(2.0) -- убираем траву из под ног
Как видно, есть любопытная строчка - SetDetailsMinRadius(2.0), 2.0 я так понимаю метры, с какого расстояния от ГГ начинает отрисовываться трава, как говорит @abramcumner. Так же там в скрипте трава возвращается обратно при выходе с авто, и еще какие-то функции есть (вроде бы!) связанные с травой. По этому я и усомнился, сделано ли это только движком? Или еще юзаются скрипты. Скорее всего, тут ковырнули движок, а нужные строчки в скрипте вызывают нужные функции из движка.  :unknw: Если что, не пинать, в скриптах/движке вообще ноль, могу строить только догадки. Кстати, а не консольная ли это команда для регулирования прорисовки травы? Похожа, вроде.

 

По идее в xray-extensions такая правка должна быть.

Вроде бы нет, не нашел. Изменено пользователем HellRatz
  • Нравится 1

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


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

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

 

Вызывается изначально это (Пробовал оба типа таймера):

function door_closed_forever()
    ogse.g_start_timer("door_closed",0,48,0) -- Старт таймера
    --ogse.start_timer("door_closed",8) -- Старт таймера в реальном времени
    xr_effects.disable_ui() -- Отключаем интерфейс и действие клавиш
   level.add_pp_effector("blink.ppe", 1974, false) -- Добавляем постэффект
   soundtrack.door_closed() -- Звуковое сопровождение
end

Вот что я прописал в ogse.script, по аналогии с другими в local selector = { :

["door_closed"] = function(params_string)
test.door_stuchim() -- Вызов функции, которая активируется по истечению таймера и вернет нам интерфейс и возможность двигаться
end,

Вот что прописано в test.door_stuchim:

function door_stuchim()
   xr_effects.enable_ui() -- Вертаем интерфейс и нажатие клавиш
   ogse_screen_msg.show_message_trouble(game.translate_string("door_closed_vsegda")) -- Пишем текст на экране, что дверь закрыта
end

Но в итоге при отрабатывании функции я ловлю вылет:

E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
CScriptEngine::lua_error
LUA error: %s
d:\games\s.t.a.l.k.e.r\gamedata\scripts\ogse.script:563: attempt to index upvalue 'main_variable_tbl' (a nil value)
info-called from CPP

 

В чем может быть ошибка? Вроде код правильный, в ogse.script прописал правильно по аналогии с другими. Как правильно пользоваться этими таймерами? Не понимаю.

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

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


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

В ОГСЕ как-то изменили систему гулагов? Спавна?

Я почему-то на платформе ОГСЕ не могу загнать под логику новых мобов, даже под самую примитивную.

Лог пестрит подобным:

!!ERROR: XR_GULAG cannot find SOBJ [65535] for obj [l01_level_prefix_m_rat_e_0003]
!!ERROR: XR_GULAG cannot find SOBJ [65535] for obj [l01_level_prefix_dog_weak]

И так на всю новозаспавненную живность. Не понимаю в чем дело. В настройке кастом даты смарта и зверушек, логике косяков вроде нет, ибо это самая примитивная home (По типу кабанов у трупа бандита, что через дорогу от деревни новичков). Смотрю спавн ОГСЕ - там все как в оригинале, ничего не поменялось, не добавилось и не убавилось в секциях спавна. У меня же намертво отказывается работать по той же схеме.

Возможно в профиле моба что-то прописать надо, в скрипте.. не знаю. Голову всю уже сломал.

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

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


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

@HellRatz, зверушки-то в игре под схемой бегают?

Нет, они расходятся по локации. Не берутся в работу. Если я правильно понял вопрос.

 

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

 

Попробую тоже загнать в унив.гулаг своих, может заработает.

 

---

 

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

Значит что-то с логикой отдельной не хочет работать. Буду смотреть.

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

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


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

Товарищи разработчики. А что за скрипт ogse_integrity такой, что он делает? Я как-то не понял его назначения :) Проверка файлов перед запуском игры? И можно ли без него жить, как говорится.

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


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

Ребята, может кто подсказать как работать с ОГСЕ-таймерами (они же АМК)? Вроде создаю все по аналогии, а при срабатывании (Запуске, старте его работы) таймера - вылет.
Создаю такую функцию, она вызывается по определенному условию, и из этой функции вызывается собственно таймер:

 

function test_func()  
ogse.start_timer("test_funcc",math.random(2,4)) -- старт таймера с рандомным диапазоном срабатывания действия по окончанию
end

 


В ogse.script заношу по аналогии этот код, который должен отработать по завершению времени таймера:

 

["test_funcc"] = function(params_string)
actor_hit.test_funcc() -- запуск функции, которая должна запуститься по окончанию времени таймера
end,

 


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

 

E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
CScriptEngine::lua_error
LUA error: %s
d:\games\s.t.a.l.k.e.r\gamedata\scripts\ogse.script:533: attempt to index upvalue 'main_variable_tbl' (a nil value)

 


И вот.. Бьюсь. Не знаю что делать и что ему не нравится. Вроде делаю все как у разработчиков (Создание таймера, имею ввиду), а все же вылетает. Сразу скажу, что пробовал не только "start_timer", но и остальные типы таймеров, а так же задавал не только рандомное время, но и фиксированное. Толку нет. К слову квик-таймеры я нормально создаю, все работает. Не понимаю.

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

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


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

Как правильно спавнить НПС без гулага в ОГСЕ? Пробовал и через СДК, и скриптом, в итоге игра присылает сообщение, что "произошел сбой инициализации логики.. Отправьте лог Камикадзе". Смотрел откуда идет это сообщение - из скрипта xr_gulag, значит он пытается забрать моего НПС на работу? Логика простейшая - волкер с одним путем. smart_terrain = none на всякий случай тоже вписал в логику. Для теста. В итоге НПС стоит с руками по швам и все. Смотрел как заспавнен тот же бандит Кульгавого, убивший одного из братьев на Кордоне, он заспавнен скриптом, все сделано как у меня (Только функция спавна иная), но почему-то в ОГСЕ он работает как надо, а мой непись сразу "ломает" игру. Что не так я мог сделать, есть ли подводные камни?

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

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


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

Интересно, а отображение задания по нажатию на TAB вырезано из движка? Не поулчается вернуть.

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


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

Товарищи разработчики, такой вопрос: что изменено в процессе взаимодействия ГГ <--> НПС? Объясняю. Пытался реорганизовать платформу для работы на основе ОГСЕ, добавил движок, шейдеры и _g.script , ибо без него игра при старте будет ругаться на коллбеки. Все ок, но вот при попытке поговорить игра вылетает без лога. Думал дело в xr_use.script, но его добавление не помогло. Я перетащил уже уйму скриптов, а игра все так же вылетает при попытке поговорить с НПС. Я так понимаю, что-то в _g внесено? Или движок не может что-то найти в скриптах? Где собака зарыта? 

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

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


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

Не стоило его переносить

Хм, ну с чистым движком ругается на "start game callback" при загрузке (Или что-то в этом роде), возможно я что-то криво поставил, попробую еще раз. Но разве в этот скрипт не внесены все вспомогательные функции, нужные для работы других скриптов? Я так понял, вроде, оттуда вызывается та же песочница, например, а без нее никак.

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

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


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

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