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

abramcumner

Жители
  • Число публикаций

    1 892
  • Регистрация

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

  • Дней в топе

    15
  • AMKoin

    17,047 [Подарить AMKoin]

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

  1. abramcumner

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

    @Wlad777, light_flags = 0х80 - ты выставил флаг 0х80 и сбросил все остальные. Надо было прибавить 0х80 к тому, что там было.
  2. "sr_" - логика рестриктора. Сюжетный сон со сновидениями. Зачем его выпиливать? Может его кто использует? И кстати как ты его по-другому сделаешь: основа всего в сталкере. Что есть "выпиливание"? Все "выпиленные скрипты все равно остаются в db. А использовались в оригинале также далеко не все.
  3. Почему меня это должно смущать? В с++ -1 прекрасно пишется в u32 и читается обратно.
  4. Как ты понял, что всегда равно -1? Из кода: p:w_u32(v.selected_target or -1)я вижу, что оно может быть число или null. Если null, то вместо null, пишем -1.
  5. Не знаю, что там в моде. Есть чистый ТЧ, se_respawn.script: obj = alife():create(spawn_section, ... obj:brain():update() local smart_terrain_id = obj:smart_terrain_id() То есть для распределения по гулагам специально вызывается obj:brain():update(). До этого вызова смарт не задан.
  6. Вроде распределение по гулагам идет на апдейте - custom_data должна спокойно записываться. Кроме того custom_data можно задать прямо в конфиге секции.
  7. , вроде с кодом все нормально. -1 - магическая константа = "цель не выбрана". Если посмотришь на код внимательней, то по -1 объект не получают. -1 в selected_target, а объект получают по self.task_info[id].selected_target, куда -1 так и не присвоили. А глюк с 4294967295 и 4294967296 - отдельный глюк.
  8. @Карлан, ну у тебя же исходники есть... Как вариант, когда делается инклуд, то содержимое подключаемого файла просто вставляется, а препроцессинг на нем не вызывается. То есть типа только один уровень вложенности инклудов.
  9. Концептуальные вопросы: Многопоточность в игре есть. Изучил? А прикинул что и на какие кусочки будешь разбивать, ну кроме того, что аи в один поток, рендер в 5 потоков и все залетает?Почему не взять готовые библиотеки, типа интеловской TBB(вроде вообще, что ты хочешь) или какой-нибудь на агентах. Код поскипан, идеи кода не понял: передается объект работы, рабочая функция и параметры - зачем? Есть классический кондовый вариант: struct IWork { virtual ~IWork(); virtual void Do() = 0; }; struct Work1 : public IWork { Work1(...){} //нужные параметры virtual void Do() { //делаешь то, что нужно } } //где-то в коде auto work = new Work1(...); mng.AddWork(work); //где-то в другом потоке вызывается work->Do(); Или так: auto workLambda = [/*захватываешь что нужно*/] () -> void { /*делаешь что нужно*/ }; mng.AddWork(workLambda); //где-то в другом потоке вызывается workLambda(); Причем это вообще не главное - тебе надо как-то в вызывающем коде дождаться завершения и получить результаты из твоей "работы".Хочешь почитай цикл статей: Асинхронность: назад в будущее Асинхронность 2: телепортация сквозь порталы
  10. По-хорошему к такому вопросу должны прилагаться 2 файла #include с самого начала строки написан?
  11. abramcumner

    Windows 10

    Я так понимаю 29 должно наступить в Редмонде После этого будет шагать.
  12. Приведи пример - инклуды потому и называются так, что подключаются через #include. А ты говоришь #include не используются. Эээ, что?! Если закрывать все темы, в которых кто-то что-то полезного не видит, этак весь форум пустой будет. Это специальная тема для общения по вопросам редактирования движка. Здесь нет готовых решений, для этого другие темы есть. Это же русский форум Похотелки пиши. Только что перед тобой, например, спрашивали, что доработать в заданиях или в ЧН. Может кто и возьмется.
  13. @Карлан, "по-другому" - это не так как в с++? Что ты хочешь упорядочить-то - вроде и так все хорошо лежит. Какой-нибудь пример "из жизни" не помешал бы. Может быть не "НИКТО не доехал", а никому не нужно? Хочешь, чтобы кто-то пользовался твоими наработками, меняй как можно меньше. Пока твои посты тревожат "Переписал парсинг", "конфиги упорядочил".
  14. @Карлан, уверен, что инклудятся. Механизм инклудов работает на более глубоком уровне, чем парсинг ltx и xml. Посмотри на существующие инклуды, как задаются папки. Ну или, если ты все равно в движке, посмотри сразу срабатывает ли инклуд и почему, если нет, и путь к файлу, который пытаешься заинклудить.
  15. Что-то ты пишешь загадками. Инклуды повсеместно встречаются и в ltx и в xml.
  16. Такой перепаковщик нельзя использовать в ЧН/ЗП. В нем как минимум неправильная работа с нет-пакетом.
  17. Ну мне именно добавление/удаление SGameTaskObjective не нравится. Я бы их скрывал. Я еще про ГСЦшных программеров и геймдизайнеров Еще вроде в артиклах в приложении к заданиям мне чего-то не хватало, но сейчас не вспомню уже
  18. Для игрока задание не удаляется Удаляется для движка и создается новое с таким же названием. Ситуация такая: делается некий сложный многоэтапный квест, типа: - принести артефакт, - поговорить с одним, - разобраться со вторым - сходить туда-то ... Некоторые этапы и даже их наличие раскрывать сразу не хочется. Делить этот квест на несколько мелких тоже. Как вариант создаются несколько заданий с одинаковыми названиями. Игрок идентифицирует их как одно и то же задание, в каждом из них ровно та информация, которую хочется дать игроку на данном этапе - все хорошо. Единственное, что плохо - переполняется раздел выполненных заданий, ну или проваленных или будет отмененных. По-хорошему здесь надо просто скрывать подзадания, что-то похожее есть и в оригинале, но там до поры до времени скрывается цель задания на карте. Улучшать там безусловно есть что, но писали так не от балды, а по пожеланиям геймдизайнеров.
  19. Нужен не еще один стейт. Нужно именно удаление, чтобы от таска ни следа не оставалось. В том же ОГСЕ очень хорошо видно отсутсвие такой возможности. Этон н по типам заданий, но предложения - cделать скрытие подзаданий, чтобы все этапы задания сразу не показывались; - сделать ветвление подзаданий(в принципе это можно решить скрытием вроде) А все это как раз можно криво решать удалением заданий.
  20. Если у тебя что-то работает с "B->", то должно работать и "A." - записи совершенно одинаковые.
  21. А зачем тебе указатель тогда? Почему А нельзя использовать? Не очень понимаю про имя - ты загрузаешь артикл по айди. Если загрузка работает и такой айди есть, то артикл должен загрузиться вместе с именем. Хочешь - поставь точку останова и посмотри помещается имя или нет.
  22. Это же русский форум Конкретно в строке с WTF нет получения имени айди партикла... Поэтому я предположил, что проблема может быть связана с областью видимости переменной. Тут или сам разберись с ней или выложи более полный код.
  23. У A - область локальная область видимости. Если B будешь использовать в другой функции, A уже будет уничтожен и пустая строка - это самое легкое, что могло произойти
  24. А ты случайно не поломал при этом артиклы? Они же не спроста так были сделаны Ты как бы опиши, что тебе не нравится в диалогах и в тех же артиклах. И как хочешь сделать.
  25. Ага - на русском форуме вопрошающий учит отвечающих как правильно отвечать. А так какие проблемы - задай вопрос на американском форуме - поржем вместе. Итак, ты удалил alife():release из STATE_Read? Добавил обработку, чтобы у тебя данные грузились не 62 раза, а 1 раз? Если нет, проверил ли ты скрипты, в которых вызывается загрузка, что они нормально переживают загрузку 62 раза? Дело вообще не объектах, а в твоих скриптах. Слушай отвечающих. Тот же Zander_driver сказал весьма по делу.
×
×
  • Создать...