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

Winsor

Опытные
  • Число публикаций

    255
  • Регистрация

  • Последнее посещение

  • Дней в топе

    2
  • AMKoin

    150 [Подарить AMKoin]

Весь контент пользователя Winsor

  1. - у тебя только два варианта1) медленный - откатывать свои правки по одной , собирать движок, запускать. так ты сможешь найти - что убивает с такой ошибкой движок 2) более быстрый - собрать debug версию движка, и запустить его, например, из под visula studio - так ты сможешь увидеть и стек вызовов при ошибке, и состояние переменных.
  2. В том то и дело - пробовал process_file(module, true) - не перегружается. А зачем в движок - как всегда воспаленный разум подсказал идею постоянно запущенной игры как некого эмулятора жизни, на который можно влиять, поменяв в одном скрипте одну строчку, не перегружая игру. т.е. движок читает один и тот же файл, с набором инструкций, меняя его в онлайне - я управляю процессом.конечный игрок не имеет влияния на мир, только как наблюдатель. я понимаю - бред. но... - это Prosectors Project? Желаю Вам выпуститься , и не только для того чтобы выковырять а просто потому что годные вещи должны увидеть свет.
  3. пытаюсь придумать некую стандартную функцию для обновления скрипта с диска. делаю в движке - чтобы не зависеть от скриптовой реализации. например - я могу иметь два скрипта, в test2.script делать G._test=nil и иметь test.script с постоянно "свежим" содержимым.на лицо - избыточность, как по мне. вот вопрос о такой функции именно движковой. если в скрипте я понимаю что делать что надо , то со стороны движка - даже не представляю. А почему код не корректный? я таким образом отправляю на выполнение кусок кода.
  4. Уважаемые, каким образом заставить движок перечитать некий скрипт с диска? Передается на выполнение таким образом: ai().script_engine().script_process(ScriptEngine::eScriptProcessorLevel)->add_script("test.testfunc()",true,true); единственное, что заставило перечитать содержимое test.script - это вызов из скриптов _G.test=nil. Но это уж как то через левое плечо. Как именно с движка сделать аналог _G.test=nil? Благодарю!
  5. Если не секрет - а что именно изменялось в движке?
  6. Даже заинтриговало - защита на геймдате, свой движок, отсутствие исходников движка в свободном доступе? Хотя, лично я бы как минимум наработками с графикой поделился бы. к сожалению, не у всех есть талант в этом разбираться.
  7. у меня такое у торговцев в инвентаре... навряд ли они первые
  8. Уважаемые, подскажите пожалуйста, если движком спавниться объект с именем, состоящим только из названия секции - это что означает?
  9. Winsor

    Скриптование

    Ну... я в курсе что наполнение может изменяться. Пример: cse_alife_inventory_item - 99% процентов этих итемов , которые лежат в инвентори у ГГ - имеют num_items=0. т.е. полей ph_position, ph_rotation и иже с ними не имеют. но у 1-го процента итемов из инвентори случайным образом num_items==255, , и при попытке прочитать log("before "..prop.name.." "..prop.type) ret.upd[prop.name] = this["_r_"..prop.type](pk, prop.ver) log("after "..prop.name.." "..prop.type.." "..ret.upd[prop.name]) получаем такой лог:
  10. Winsor

    Скриптование

    Уважаемые знающие, столкнулся с такой проблемой при использовании m_netpk. При чтении нетпакета, например, для cse_alife_inventory_item поле num_items иногда становиться равным 255, что влечет за собой чтение далее битых данных. при этом r_eof()==false, т.е. данные в пакете еще есть, но m_netpk пытается вычитать их больше, чем они там есть. сталкивался ли кто с таким? Благодарю за информацию.
  11. Winsor

    Скриптование

    Уважаемые, есть ли аналоги для m_netpk (может свои разработки), пригодные для использования? p.s. - на вопрос - чем тебе m_netpk не подходит - у него неправильно парситься пакет для оружия с подствольником. хочу увидеть альтернативу. Буду благодарен за Ваши варианты.
  12. возьми на stalkerin.gameru.net для 2008, отконвертируй для 2015, внеси правки в исходный код для поддержки 2015 - и у тебя будет своя версия для vs2015... какие именно изменения в коде - базовые со статьи на сталкерине, а дальше - как не странно , если установлен reshaper - он подскажет...
  13. - pragma once позволяет решить циклические ссылки при компиляции. а при линковке как можно обойти данную проблему?lib1 exports func1 lib2 exports struct2 lib2 uses func1 lib3 uses func1 , struct2 in func3 lib3 exports func3 lib1 uses func3 и усе насколько я понимаю - придется скопировать код struct2 и/или func1 в lib3 , дабы разорвать циклическую компиляцию и линковку...
  14. Здравствуйте уважаемые. Вопрос как бы и по движку, но и как бы в Курилку. Но очень интересно, кто и как боролся с такой весчью, как циклические references непосредственно в xray. например: моя длл импортирует функции из xrLua, функции из моей длл будут импортированы в xrCore. Добавить в VS2012 references из xrCore на мою dll уже нельзя, ибо студия считает что это будет циклическая ссылка, так как xrLua имеет references на xrCore. я решал данную проблемы прямым добавлением my_dll.lib в inputs к линкеру xrCore. Но данный метод, как по мне - кривоват, и часто путает меня самого. А какое правильное решение? p.s. Хочется иметь единую dll с моим кодом для всего solution XR_3DA. в ogse.dll, если я правильно понял, переносились необходимые куски кода непосредственно из движка. если нет - поправьте пожалуйста. Спасибо за ответы!
  15. Уважаемый Zander_driver - а доступен еще Ваш скрипт " Оптимизация загрузки звуков (ТЧ)" ? yandex.disk говорит что нет. есть возможность его скачать?
  16. @tatarinrafa, небольшой пример работы с потоками (с++11).
  17. @editor46, судя по всему - пытаетесь запустить релизную сборку движка, которая расширенной информации не даст о ошибке. С данной проблемой сможет помочь отладочная версия. Скорее всего - проблема где то в геймдате, debug сборка даст более расширенную информацию - что именно не так. В Вашей ошибке всего навсего не смогла правильно освободиться память, выделенная для какой то строки.
  18. По моим наблюдениям - все в trade2.cpp.
  19. Как минимум в 1.0007 TЧ дефицит не считается никак...вернее - он всегда равен 1. при этом с конфигов он может вычитываться. Насколько я понял - была идея реализовать некую динамику в ценообразовании в торговле. закончилось статическим списком "секция=коэф.дифицита". следующее урезание - и как результат - в торговле - он всегда 1. все формулы в trade2.cpp.
  20. в том то и дело - объект в распакованном аллспавне имеет секцию shape... т.е. вроде как придраться не к чему.
  21. Winsor

    Скриптование

    Уважаемые, каким образом можно узнать у трупа НПС - кто этого НПС убил? вешать регистратор на deatch_callback не очень хочется. Благодарю!
  22. Уважаемые знающие, кто сталкивался с тем что движок не может высчитать для какого-либо рестриктора его границы? space_restriction_abstract_inline.h CSpaceRestrictionAbstract::border () m_border.empty()==true Это ошибки в all.spawn (неправильно выставлены координаты, например, или тип рестриктора) или на локации (LevelEditor-ом как то криво поставили рестриктор)? И может ли быть ситуация, когда у ретриктора действительно может не быть бордера? Благодарю за информацию.
  23. По поводу респавнера - все зависит от мода, для солянки+оп2, например, параметр Idle_spawn считывается с конфигов, с ним происходит всякая волшебная перепетия, но он нигде не используется. т.е. его наличие в конфиге ниначто не влияет. вместо него используется понятие частого и редкого респавна, которое можно задать через опции игры.
  24. @Zander_driver, далее идут мои умозаключения после "чтения" исходников 1.0007 (есть вероятность что для 1.0006 все аналогично). ну с хитами у движка не все так понятно. Для бюреров из конфигов считываются такие параметры Gravi_Hit_Power Gravi_Impulse_To_Enemy на основании которых наноситься хит, если объект в зоне видимости. Ну и тип хита wound. масса объекта, который кидается, влияет только на то. насколько далеко "улетит" объект. Также масса объекта учитывается при выборке объектов, которые могут швыряться на основании параметров из конфига бюрера Tele_Object_Min_Mass Tele_Object_Max_Mass где либо влияния массы на размер хита я не нашел.
  25. Уважаемые, помогите разобраться... ТЧ 1.0007 + НС геймдата + debug конфигурация.

AMK-Team.ru

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