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

UnLoaded

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

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

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

  • AMKoin

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

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

  1. А собственно обвязку конфиговую для нового слота ты сделал ? Т.е. прописал его, как остальные слоты, в соответствующем конфиг-файле ?
  2. UnLoaded

    C++

    Нашел такое в исходниках return !!m_flags.test(FAllowSprint); Полез в Вики смотреть список операторов C++, нет такого "!!" оператора. Поясните, что это и как понимать ?
  3. Такое правильнее будет назвать "Разгрузка". Так что Вам можно объяснить ?
  4. Да тут, похоже, уже менять нечего ... Лог где ? Хотя-бы описание самого вылета... В какой ? В оригинале ТЧ ~400 файлов .script...
  5. UnLoaded

    X-Ray extensions

    Бывает иногда такая ситуация, что при открытии инвентаря, оружие не прячется. И затем, при манипуляциях в открытом инвентаре, происходит "самовольная" перезарядка оружия, если оно было разряжено. Если я правильно понимаю, перезарядка происходит по нажатию левой кнопы мыша, что при активном оружии означает выстрел и вызывает перезарядку. Но тогда почему, при последующих, после перезарядки, нажатиях ЛКМ оружие не стреляет ? Или перезарядка происходит по иной причине ? Кто нить пытался разобраться с этим багом на уровне движка(исходников) ?
  6. UnLoaded

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

    В твоем варианте получается, что срабатывает последнее условие, т.к. отсутствие инфо-порции - это false, и false ~= nil. Убери вообще " ~= nil", поправь так: if db.actor and (db.actor:has_info("aes2_osoznanie_death") or db.actor:has_info("aes2_osoznanie_death2") or db.actor:has_info("aes2_osoznanie_death3")) then и будет тебе счастье...
  7. UnLoaded

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

    Поиском по содержимому файлов в исходниках(1.0007rc1) и в чистой геймдате ТЧ(папки скрипт и конфиг) не нашел такого. Если это у тебя мод какой-то - лучше с вопросом к авторам.
  8. UnLoaded

    X-Ray extensions

    Подскажите, плз, как имея ID объекта получить его инвентарь, как СInventory(или как правильнее будет).
  9. UnLoaded

    X-Ray extensions

    Оно понятно, вот знать бы в чем ? Уж очень хочется новые предметы в игре... Давай более простыми словами - что именно хочется ? С какими ? В исходнике, она и так связана со здоровьем и выносливостью(или сила, как там обозвали). Ну можно еще с кровотечением связать - я не медик, но допускаю что может быть зависимость заживления ран от сытости\голода. Воо! А то я не мог догнать, что делает: CWeaponAmmo *l_pA = smart_cast<CWeaponAmmo*>(m_pCurrentInventory->GetAny(l_it->first));
  10. UnLoaded

    X-Ray extensions

    Кто нить может пояснить работу ф-ции CWeaponMagazined::UnloadMagazine ? Что в ней и как происходит...
  11. UnLoaded

    X-Ray extensions

    Сделал список моих действий по добавлению объекта в игру, может увидит кто ошибку:
  12. UnLoaded

    X-Ray extensions

    Верю... Может, кто нить, кто уже успешно добавлял новый объект в движок, накидает цепочку действий ? Я бы сверился, вдруг что увижу...
  13. UnLoaded

    X-Ray extensions

    Проблема решена, а дело было в том, что в CActorCondition(xrGame\ActorCondition.h) было объявление переменной float m_fSatiety;, которое перекрывало доступ к такой-же переменной класса CEntityCondition(xrGame\EntityCondition.h). Следовательно, всегда читалось не измененное значение этой переменной. Убрал m_fSatiety из CActorCondition - и все заработало. Теперь следующая проблема: пытаюсь добавить в движок новый инвентарный объект. Решил делать по подобию броников, и пошел от class_registrator.script поиском. Дошел до класса class CCustomOutfit: public CInventoryItemObject..., который видимо является базовым классом для всех остальных броников. Собственно создал все новые классы для объекта по образу и подобию. Собственно что-то получилось: предмет можно заспавнить в инвентарь\на местность, можно выбросить\подобрать. Но решил проверить по внимательнее, и обнаружил следующее: в class_registrator.script для объекта прописано cs_register(object_factory, "CNewObjectTest", "se_item.se_newobj", "E_NEW_OBJ", "new_obj_s") в se_item.script добавил по аналогии новый класс, и для проверки в function se_newobj:on_register() поставил выдачу сообщения. И такая-же выдача сообщения уже была добавлена в тот-же метод класса se_outfit. И получилось у меня, что при создании объекта(спавн в инвентарь ГГ) у меня сообщение приходит из класса se_outfit ! Подумал сразу, что где-то ошибся, когда копипастил из классов броников в новые классы, перепроверил все 2 раза - нет, все нормально, путаницы нигде нет. Собственно нужна подсказка, куда смотреть, что проверять ?
  14. UnLoaded

    X-Ray extensions

    Попытался восстановить все, связанное с сытостью: чтоб она влияла на здоровье и выносливость ГГ и чтоб этот параметр у артефактов заработал. Вроде все получилось, но кроме одного - не могу восстановить св-во 'satiety' для game_object, чтоб можно было получить скриптово значение db.actor.satiety. В процессе ковыряния выяснил, что обработка самой сытости происходит в CActorCondition::UpdateSatiety()(xrGame\ActorCondition.cpp) и хранится в переменной m_fSatiety, а значение, которое выводится через db.actor.satiety читается из переменной с таким-же именем m_fSatiety класса CEntityCondition(xrGame\EntityCondition.cpp). Там этой переменной в конструкторе класса тупо присваивается значение m_fSatiety = 1.f; а затем это значение транслируется ф-цией IC float GetSatiety() const { return m_fSatiety; } этого-же класса. Т.е. в игре значение db.actor.satiety всегда равно 1.0. Подскажите как эти значения "поженить", не могу разобраться пока, как эти классы между собой взаимодействуют.
  15. UnLoaded

    C++

    К чему такой мутняк ? Ведь в этом конкретном случае можно было написать: if Функция1 then Переменная1 = Переменная2 else Переменная1 = 0 end Он дает какое то преймущество над if\else ?
  16. UnLoaded

    C++

    Подскажите, что означает такая конструкция: Переменная1 = Функция1(может вернуть true или false) ? Переменная2(типа float) : 0;
  17. Не сотвори себе кумира... Это не я сказал - где-то, блин, до меня выдали. Ну, а пиписками мерятся - это вообще святое...
  18. У меня нет нигде m_slots_array. Результат поиска в 4611 файлах - 0. Версия исходников 1.0007(rc1). Если пропустить все, касаемо m_slots_array - работать новый слот будет ?
  19. Об этом, наверное, надо в разделе правки движка спросить - кто уже по-разобрался в исходниках, могут глянуть этот момент и сказать точно. Ну так создай в xr_effects другую ф-цию, к примеру hit_obj2 и вызывай ее из своей логики.
  20. В weapons.ltx, ближе к концу файла, то что после строки ";; Explosive Inventory Items" - секции всяких взрывающихся бочек и баллонов. Хит с типом "импульс" наносится этим бочкам в нужном направлении...
  21. На Сталкерин есть эта статья по сборке движка. В ней есть ссылка на скачивание исходников. Судя по тексту статьи - исходники ТЧ 1.0006. Скачал я их, портировал на VS2013, собрал движок, запустил - версия игры: ver. 1.0007(rc1). Получается это уже правленные исходники, а не чистый оригинал ? Автор статьи KIRAY, но в статье только ссылка на VK, не охота там регистрироваться, только чтоб с ним связаться. Может кто знает, какие правки сделаны в тех исходниках, на которые ссылка в статье ?
  22. Эмм, многого ты еще не видел, однако... Нет-пакет в XRay - это бинарный буфер, для которого не предусмотрено ни каких средств контроля от переполнения или неверной записи данных. Да еще, в придачу, структура нет-пакета меняется в зависимости от объекта, которому он "принадлежит". Это не я придумал, это давно известный факт... Но добавить\считать свои данные в нет-пакет - не проблема, главное сделать это правильно.
  23. Ну так смотри внимательно - что и куда добавить, глядишь, ничего и не поломается...
  24. Может тебе подойдет скриптовый вариант ? Там не сложно... Но если очень хочется в движке сделать, то смотри в сторону экспортированной ф-ции класса game_object - set_ammo_elapsed. В ней происходит установка кол-ва патронов в магазине оружия. Найди реализацию этой ф-ции, ну и дальше по аналогии...
×
×
  • Создать...