Контент Zander_driver - Страница 172 - AMK Team
Перейти к контенту

Zander_driver

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

    5 953
  • Регистрация

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

  • Дней в топе

    230
  • AMKoin

    109,398 [Подарить AMKoin]

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

  1. Может быть, стоит переделать функцию isWeapon в _g.script Если не ошибаюсь, нпс распознают оружие или нет именно через нее.
  2. Вопрос такой. В bind_stalker-е, у актора по умолчанию нет хит-колбэка. Я пробовал его ставить по образу и подобию как у мобов, в методе reinit. Вылетов не последовало, но и работать новый колбэк отказался. А у кого-нибудь получалось его поставить? и как?
  3. Zander_driver

    Жесть

    Я думаю, уже можно назвать ориентировочную дату выхода следующей версии мода. Это произойдет не позднее 27 апреля. Изменения будут более масштабными, чем в двух предыдущих версиях вместе взятых.
  4. А как этим же методом обнаружить аномалии? Когда я обнаруживаю аномалии своим методом через секцию, то обнаруживаются только те что меняются после каждого выброса. А те что статичны и от выброса не перемещаются - они не обнаруживаются. Суть вопроса заключается в том - что писать после "clsid." чтобы найти аномалию. Еще было бы неплохо таким же методом обнаруживать костры... и вообще узнать побольше об этом методе, что как обнаруживать. Я почему то не могу найти такой информации.
  5. Zander_driver

    Жесть

    Отец-Диодор Если на ЗП поставить все то, что в приличных модах ставится на ТЧ - фпс упадет ниже плинтуса. В ЗП гораздо хуже оптимизация. Gargarensis Если не случится каких-либо непредвиденных задержек, я рассчитываю закончить версию мода 1.0.3 в этом месяце. В апреле тоесть.
  6. Еще бывают вылеты без лога из-за партиклов, нормально работающих и обычно не вызывающих проблем - в тех случаях, когда (предположительно - в онлайне) слишком много объектов использующих партиклы. Я недавно тестировал систему спавна артов после выброса, во время теста вся локация была завалена артефактами - они вываливались из каждой аномалии. В итоге вылет. С более мудреными, чем у артов, партиклами, для такой ситуации наверно будет достаточно и меньшего количества объектов. В логе в таком случае остается только такое: Scheduler tried to update object particle_instance stack trace: 001B:0384C36F xrParticles.dll, PAPI::ParticleManager()
  7. ZeeK Функция такая может быть, но выглядеть будет сложно. 1. Проверка-обьект ли пси пес - я так понял, имеется в виду является ли объект определенной разновидностью моба. Если у него нет разных профилей, то просто по его секции можно опознать. Если профили разные, то наподобие этого: if string.find(self.object:section(),"chimera") then 2. Если да то есть у него в радиусе собаки - перебор всех объектов на уровне, с аналогичной проверкой - является ли объект собакой (а у них профили разные). Если является, узнаем дистанцию local chimera_dist = nte:position():distance_to(self.object:bone_position("bip01_spine")) тут вместо nte надо будет подставлять объект пси пса. Дальше начинается более муторная часть... вышеуказанными способами получится отобрать набор объектов, являющихся собаками и расположенных на нужной дистанции от пси-собаки. запихиваем их в список (лучше записывать их id). список лучше объявить вне функций, чтобы к нему могли обращаться другие функции, а не только та что его создала. 3. Если есть + им к урону и скорости? насчет скорости не могу ничего придумать, а насчет урона можно. В хит-коллбэк всех объектов, которых могут кусать собаки (актор, нпс, мобы) - вводим проверку, кто нанес хит - не обнаружится ли его ид в списке "усиленных собак". Если да, то наносим пострадавшему от собаки дополнительный хит скриптом. local ch_h = hit() ch_h.impulse = 50 ch_h.draftsman = self.object ch_h.direction = vector():set(1,0,0) --ch_h:bone("bip01_spine") -- хитовать будет и без указания костей ch_h.power = 0.85 ch_h.type = hit.wound nte:hit(ch_h) При желании величину хита можно высчитывать в зависимости от "родной" атаки собаки, которую можно прочитать в ее конфиге по ее же секции ltx. Вот как то таким образом. Вопросик у меня созрел. пустяковый, но терзающий. методом alife():create("все что полагается") можно ли спавнить объекты за пределами онлайн-радиуса?
  8. Теперь еще один вопрос, уже не от меня, а.. от нашего квестовика.
  9. Zander_driver

    Жесть

    _Val_, то о чем вы пишете, писалось 3 года назад Должен признать, к настоящему моменту описание того мода, который у нас получается, сложно связать воедино - оно тут в шапке представлено по частям - отдельно та жесть что 3 года назад была сделана, отдельно 1-й аддон, отдельно 2-й который его включает. Причем некоторые пункты описания противоречат друг другу. Начиная с 3-й версии будем делать по другому - будет единое описание на все, что в моде есть, от нововведений вплоть до амк-фишек трехлетней давности, естественно с указанием что откуда. И игрокам проще будет понять, что собственно представляет собой мод. По поводу того, что стоит ждать в 3-й версии - секретов раскрывать не буду, скажу лишь, что новшеств будет в 2-3 раза больше, чем в предыдущем аддоне. В том числе, кхм.. я бы не стал говорить, что мы делаем нечто, чего не делал раньше никто, но скажу так: мы решили на некоторые вещи, возможно кому-то знакомые, взглянуть совершенно по иному, не так как это было где-либо раньше. Отец-Диодор Слезать с АМК-основы - это маловероятно. Я предпочитаю изменять АМК-основу под свои нужды. Что касается сюжета - в ближайшей версии мода, 1.0.3, которая уже скоро выйдет (я надеюсь уложиться в этом месяце). Сюжетных откровений ждать не стоит. Будут не очень большие изменения сюжета, новые квесты, но в целом сюжетная линия будет узнаваема. Зато - недостаток сюжетных изменений будет компенсироваться значительными изменениями геймплея. В последующих версиях - мы будем уделять сюжету больше внимания, т.к. это уже будет необходимо. Некоторые из запланированных изменений - несовместимы ни с одной из "базовых" локаций ТЧ, стало быть, мы должны добавить новые. Тут я надеюсь на нашего маппера Ну и насчет того, для кого мы делаем мод. Конечно для игроков, но и для себя тоже. Игра будет сложнее, чем прежние версии. Но в то же время неоправданного завышения сложности не будет - все в разумных пределах сбалансировано.
  10. Можно конечно и не увлекаться. Но, если уж основная часть урона, наносимого оружием, высчитывается скриптом а не движком - а у меня именно так - то приходится А то получается, ящик в котором что-то есть, разваливается с 2 пуль ПМ, а ящик в котором ничего нет - не разломать и за 10, При том что внешне они выглядят абсолютно одинаково и игрок может изначально и не знать, в каком из них что-то есть. Спасибо за ответы буду размышлять над разными вариантами.
  11. Прошу прощения увлекся. Просто, я обычно именно на таком языке и изъясняюсь - привык. А по самой ситуации - мне просто нужно отследить хит всех тех предметов, которые можно сломать с помощью какого либо оружия. И ловить их непосредственно в игровом процессе, как мне представляется, неудобно. О том чтобы решать "нужен ли этому объекту колбэк" уже в момент когда в него стреляют - я и вовсе молчу, т.к. не представляю как это сделать. death мне не подходит, т.к. какой-нибудь ящик может и несколько выстрелов выдержать, и надо обрабатывать каждый. А поступить как с прожектором... блин, тоже не очень удобно. прожектор это один clsid.projector, а те объекты что нужны мне - это и деревянные ящики, и железные - те что поменьше, и (если я правильно понимаю) доски в заколоченных окнах и дверях некоторых домов. Я почему то думаю что это clsid."разные объекты" Я даже не знаю как их по clsid узнать, как они называются? А логика drop_box... разве не подразумевает что из сломанного объекта должно что то выпасть? В случае с ломающейся доской будет нелогично. Я честно говоря эту сторону мало изучал.
  12. Вобщем, ситуация такая. У физических объектов (имеются в виду разбиваемые ящики и т.п. объекты) хит-колбэк биндится не в реините, а в апдейте, по довольно занятным условиям:
  13. Еще добавлю от себя о вылетах без лога. Хотя наверно это вещь очевидная... При "как бы некритичных" синтаксических ошибках в скриптах, вызываемых из binder:update (по крайней мере из апдейта актора так) - получается вылет без лога вообще. т.е. В лог-файл ничего не сохраняется. Речь идет не о ошибках типа "лишняя скобка" или "нехватает слова end", а к примеру, точка вместо двоеточия при вызове методов или неправильные типы данных (у меня например, game_object* попал туда где ожидалась строка, и получился такой вылет)
  14. Вобщем, напоролся на непонятку при решении одной, кхм, задачи.
  15. Пересмотрел еще раз конфиги этих магазинов, в charged-ах нигде _e в конце нету. Видимо какой-то рандомный глюк движка... в любом случае он очень редкий.
  16. Нашел еще одну уязвимость в плане вылетов. Ситуация: В рюкзаке был магазин на 20 патронов 9х39 СП-5. Поместил его в слот, нажал 5, разрядил с помощью ПКМ. Дальше - кажется я на пустом магазине второй раз нажал ПКМ, началась анимация заряжания, но до того как хоть один патрон был заряжен, я переключился на 3 слот, т.е. на автомат. В инвентаре после этого лежал пустой магазин 9х39, обычный пустой по всем признакам. Потом, помещаю этот пустой магазин в слот, жму 5 - получаю вылет.
  17. Ну ситуация такая. Жил был монолитовец, помер от моей пули. Нахожу на его трупе полный магазин. беру. Потом, увидев что веса у меня стало слишком много, выкидываю этот полный магазин на землю, ничего с ним не делая. Потом пошел-повоевал, боеприпасы поистратились. Открываю инвентарь, смотрю вес - ага, магазин тот уже влезет. Иду обратно, подбираю тот выброшенный магазин. Опять открываю инвентарь смотрю - вес тот же. Сохраняюсь, загружаюсь - вес увеличился, магазин посчитался. Edit: Может это чем то поможет, незнаю. Это был магазин на 42 патрона 5.56 для AUG, Вставил я его самостоятельно, вот его секции конфига:
  18. После последнего апдейта, устраняющего невсегда считаемую массу: FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ....t.a.l.k.e.r\gamedata\scripts\kirag_take_drop.script:128: attempt to call field 'vodka_effect' (a nil value) stack trace: После употребления водки FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ....t.a.l.k.e.r\gamedata\scripts\kirag_take_drop.script:56: attempt to call field 'convert_addon' (a nil value) stack trace: После снятия прицела с оружия. Возможно и еще что то вылезет... в Kirag_take_drop.script куча вызовов всяческих функций из item_effects, но в самом этом файле функция только одна. Возможно забыли положить этот файл при апдейте? И еще по изменению массы. Может дело в отсутствующем обновлении item_effects а может в чем то другом, но я заметил один момент когда масса магазинов по прежнему не считается - до сейв-лоада. А именно при взятии свободно лежащего на земле, полностью заряженного магазина. Вес инвентаря остается тем же что был, и только после s\l пересчитывается как надо.
  19. Добавлю от себя малость Я немножко изменил give_loaded в ammo_manager.script: function give_loaded(section) if string.sub(section,1,4) == "mag_" or string.sub(section,1,5) == "clip_" or string.sub(section,1,5) == "belt_" then consider_loaded = true end spawn.inv(section) news_manager.relocate_item(db.actor, "in", section) end Что это дает - при выдаче магазина в диалоге, выдается стандартное сообщение "Получен предмет" с названием магазина.
  20. Zander_driver

    Жесть

    Жесть жестью, но отступать от реализма ради усложнения игры мы особо не будем. Другой вопрос - добавить в игру такие реалии, чтобы она стала сложной.
  21. Такой вопрос, можно ли соорудить функцию выдачи неполного магазина? Чтобы выдавался, скажем, магазин на 30 патронов 5.45, в котором этих патронов заряжено 12. Пробовал сделать путем спавна магазина с 1 патроном и последующим изменением его condition, но как то не выходит. Самое простое: for i = 1,n do spawn.inv(секция_магазина) end Где n - к-во патронов в магазине. Если будет больше емкости - даст полный магазин и неполный с остатками. Недостаток в том, что нельзя выдать одновременно несколько неполных - пройти должен хотя бы один апдейт. - Kirag
  22. Zander_driver

    Жесть

    Вобще, с текстурой сала, такое ощущение что у вас не все файлы, мб архив повредился или другие моды... я хз, но точно помню что 1) все файлы относящиеся к мясу псевдогиганта (а "сало" это его текстура), я в аддон добавлял, и 2) на версии 1.0.2 псевдогиганты при тестировании убивались, с них мясо бралось, вылетов никаких не было.
  23. Zander_driver

    Жесть

    В этой же теме на второй странице это подробно описано. После того как сгнивает труп Волка - загрузить игру невозможно.
  24. Zander_driver

    Жесть

    С апгрейдами такая ситуация. Когда я их начинал делать, признаюсь, с нет-пакетами работать не умел) А потом просто не было случая переделать - ведь нпс в диалоге сам предупреждает "аксессуары все прибери, а то у меня беспорядок - потеряются" - так что думаю ничего ужасного в этом нет Сейчас как раз делаю новую систему, переделывая не только это. В следующих версиях будет. С гниением у нас разбирался стундер, он говорил что решение нашел но скинуть мне до выхода аддона не успел - уехал. Я сам даже не вникал, что там с чем конфликтует - у меня иные задачи были. Знаю только, что как только гниение убрал - вылеты прекратились.
  25. Еще один неприятный нюанс - при смене локации, если в инвентаре были неполные магазины, вес инвентаря увеличивается на 1-2 кг. Если были только пустые или полные, то все норм. Такая ситуация как на новой игре, так и на старой.
×
×
  • Создать...