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

Winsor

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

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

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

  • Дней в топе

    2
  • AMKoin

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

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

  1. хм... при спавне предметы уже спавняться с owner_id равным id ящика. т.е. на момент спавна возле ГГ он переходят в онлайн. и находятся уже "в ящике". т.е. level.client_spawn_manager():add() будет выполнен почти сразу. или я не понял логику можно какой нибудь псевдо код для понимания?
  2. @naxacа что делать с рюкзаками, которые спавняться сразу в онлайне? и в него спавняться итемы?
  3. Товарищи, как то до обновления сайта на форуме был пост форумчанина, который рассказывал - почему лагают рюкзаки (контейнеры с хабаром) при приближении к ним и пути решения данной проблемы. Сейчас абсолютно не могу найти тот пост (моя дырявая память). Ни у кого не остался он в закладках?
  4. Winsor

    [SoC] Вопросы по SDK

    Уважаемые, подскажите пожалуйста, ссылочку на этот список... Что-то я не то ищу в поиске.
  5. 1) Если у Вас компилятор поддерживает c++11 (например VS2015) - можно воспользоваться функцией std::stoi. Причем данная функция гарантированно генерирует исключение при некорректной строке ввода и Вы можете перехватить это исключение и работать далее с входящей строкой как с "нечисло". 2) Если нет поддержки c++11 - используйте функцию strtol, вторым параметром в которую передается "контрольная строка", через которую можно проверить , удалось ли преобразование или нет. Вот небольшой пример 3) или же Вы можете воспользоваться банальной проверкой - вся ли входящая строка является числом.например функцией std::isdigit в цикле по символьно по story_id , либо string::find_first_not_of, либо если у Вас с++11 all_of. p.s. Функция atoi чрезвычайно не рекомендуема к использованию в с++.
  6. Уважаемые, можно ли где то найти исходники vertex.exe , который идет в комплекте с universal_acdc? в ридми написано что использовались исходники xray_re, но в самом xray_re я такой утилиты не нашел.
  7. Winsor

    Universal ACDC и другие perl-скрипты

    Подскажите так же пожалуйста, можно ли где то найти исходники vertex.exe?
  8. Уважаемые... Наверное, многие сталкивались с необходимостью изменить аи-сетку. Собственно при работе с уже существующим спавном - помогает universal_acdc -update. А что делать со скриптовым create()? Вариант - переснимать координаты - не подходит, ибо когда таких объектов 100 - это еще реально. А вот когда 9000 - это жестоко. Кто нибудь пытался облегчить решение этой проблемы со стороны движка?
  9. Winsor

    Universal ACDC и другие perl-скрипты

    Добрый день, Уважаемые. Пытаюсь воспользоваться функцией update. Командный файл fs_vertex.ltx в папке e:\stalker_dev\SPAWNS\unpack_levels\ лежат только распакованные уровни с необходимыми файлами, в папке e:\stalker_dev\SPAWNS\unpack_levels\gamedata\ - старый геймграф. При запуске батника vertex.exe выдает кучу сообщений вида object ИМЯ_ОБЪЕКТА is out of ai map. No proper update possible, assigning closest vertices (2823, 530880) и таких сообщений около 6000. Ну и иногда попадаются сообщения про конкретную карту с аналогичным сообщением object ИМЯ_ОБЪЕКТА on ИМЯ_КАРТЫ is out of ai map. No proper update possible, assigning closest vertices Не могли бы Вы объяснить - это признаки какой либо проблемы или нормальная ситуация?
  10. Winsor

    Prosectors Project

    Уважаемый @qweasdd136963 , в связи с тем что я не "Разработчик" - Вы планируете выкладывать исходники в свободный доступ? Очень интересует Ваши изменения в движке для работы со звуком и luajit.
  11. можно не быстро, главное - понять что не так. посмотрел очень внимательно. не увидел ничего, что относилось бы к проверке такого факта. Есть, конечно write_pstor, но она у Вас движковая - мне ничем не поможет. единственное что хоть как то наводит на мыслб о отличии удаляется объект или переходит в офлайн - это local sobj = sim:object(obj:id()). Хотя по коду движка серверный объект всегда удаляется позже клиентского (ну во всяком случае такая очередность удаления объекта и сообщения GE_DESTROY)... Не смог найти...
  12. пост процесс, аналогично работе ПНВ. Где то на просторах интернета даже валялся (вроде на сталкерине) файлик с черно-белым постпроцессом.
  13. До определенного момента хватало биндера (object_binder). Но приспичило мне сохранять некие данные в нетпакете класса. save/load работают , но если выбросить такой предмет на землю - то при переходе offline/online методы save/load не вызываются. т.е. задача именно из скриптов увидеть этот переход.
  14. что именно вешать? почему то из скриптового движкового класса не вызываются методы нужные... или я немного не понял Ваш ответ. p.s. так же выяснил что, если класс наследован от CInventoryitemObject и лежит в инвентаре актора - в онлайн он не переводиться (т.е. для него не вызываются движковый метод CSE_ALifeDynamicObject::add_online)
  15. Уважаемые знающие, вопрос про серверные объекты. создаю некий клиентский класс class CGBox:public CInventoryItemObject експортирую в скрипты регистрирую в class_registrator.script cs_register(object_factory, "CGBox", "se_gbox.se_gbox", "CL_GBOX_S", "game_box_s") сам серверный скриптовый класс class "se_gbox" (cse_alife_item) Так вот вопросы - 1) почему у меня для итема данного класса (CL_GBOX_S) в упор не хотят вызываться методы on_unregister/on_register/keep_saved_data_anyway/on_spawn ? при этом __init/STATE_Read/STATE_Write вызываются. 2) как в биндере объекта (object_binder) из скриптов "увидеть" переход offline/online? Для этого же объекта почему то из биндера не вызываются методы net_export/net_import. При переходе в офлайн вызывается net_destroy, но он же вызывается и при обычном release() Благодарю! p.s. зачем все это - дабы в момент перехода в оффлайн сохранить данные клиентского скриптового объекта в серверный, при онлайн - обратно.
  16. Winsor

    Prosectors Project

    Уважаемый Карлан, на Вашем форуме не нашел нужной темы, поэтому напишу здесь. Правила прочитал внимательно. Если правильно понял - надо стать "проверенным" пользователем? Или условия попадания в тему с исходниками какие то другие? Благодарю!
  17. ТЧ 1.0007 rc1 Уважаемые знающие, подскажите место, хотя бы приблизительно - что в движке отвечает за "выбрасывание" активного предмета по kDROP? есть некая g_PerformDrop()/pItem->SetDropManual (TRUE); - но я не увидел, где именно и чем меняются координаты объекта, что он вылетает по такой "красивой дуге". Благодарю за информацию!
  18. Winsor

    [SoC] Вопросы по SDK

    Уважаемые, не могу найти на форуме (если было такое) посты (или статьи) о "взаимоотношениях" между all.spawn и level.spawn. Чем они отличаются, как совмещаются, как с ними работает СДК (all.spawn собирается из всех level.spawn, или они "живут" отдельно)? Благодарю за информацию!
  19. Уважаемые знающие, столкнулся с багом (который говорят присутствовал еще с оригинала ТЧ) - при одевании на ствол глушителя и прицела - иногда текстура либо глушителя либо прицела может не вырисовываться на худе. при этом флаги аддонов выставляются правильно. лечится повторно снятием/одеванием, например, прицела. Сталкивался ли кто либо с таким багом и как боролись? Благодарю!
  20. Уважаемые , есть ли у кого распаковщик ресурсов ЛА? почему то некоторые архивы распаковываются, а некоторые нет. У меня в стандартной установке распаковываются архивы до dba - далее все с ошибкой распаковки. Спасибо за помощь!
  21. xr_vector не подойдет - это аналог std::vector. для Вашей задачи необходимо использовать std::map - в xray аналог - xr_map. для ключей и значений можно использовать как shared_str (память выделяется один раз и храниться до тех пор пока есть хоть одна ссылка на эту строку) так и xr_string (аналог std::string).
  22. ActivateBoxDynamic - в нем происходит какая то магия с физическими координатами тела. я ж не против, что не там. а где там?
  23. Уважаемые знающие, а какой элемент отвечает в движке за рисование анимации приседания? как сделать более "плавное" приседание? для ТЧ void CActor::g_cl_CheckControls(u32 mstate_wf, Fvector &vControlAccel, float &Jump, float dt) ...skip... if (isActorAccelerated(mstate_wf, IsZoomAimingMode())) { Crouched = character_physics_support()->movement()->ActivateBoxDynamic(1); } ...skip... Вот собственно "присели", но какие бы параметры я в ActivateBoxDynamic не передавал - "плавности" не добавляется... Спасибо за Ваши советы!
  24. В продолжении темы борьбы с диалогами - необходимо в выше приведенном xr_3da\xrGame\PhraseDialog.cpp void CPhraseDialog::Load(shared_str dialog_id) заменить на такой:
  25. @Карлан, было бы неплохо, если бы Вы поделились частью исходников для изучения, как подобный механизм реализован у Вас, а именно CPhraseDialog::Load, CPhraseDialog::load_shared. xr_3da\xrGame\xml_str_id_loader.cpp тоже очень хотелось бы изучить Спасибо.

AMK-Team.ru

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