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

UnLoaded

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

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

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

  • AMKoin

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

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

  1. UnLoaded

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

    @CuJIbBEP Это не то оказалось - этот параметр регулирует некую чувствительность мыши при перемещении объектов. Шаг перемещения не изменяется.
  2. UnLoaded

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

    Подскажите, плиз: как-то можно отрегулировать шаг перемещения спавн-объектов для режима "Move" ? Ну, чтоб можно было по-точнее их позиционировать, а то по дефолту сильно резко объекты смещаются по всем осям, тяжело настроить точное положение.
  3. Ну так вся озвучка Сидора сделана "от актера"(флаг s2d, если не ошибаюсь). Соответственно, если есть желание это изменить, надо начинать искать от схемы mob_trader(которая рулит Сидором) и по цепочке смотреть, где можно изменить или вышеуказанный флаг или выбрать другую ф-цию воспроизведения звука. Ну, может не стоит по... пятой точкой к собеседнику поворачиваться ? А если очень надо, то опять-же в вышеуказанной схеме смотреть, где происходит эта рассинхронизация и править как себе хочется.
  4. Ах вон ты о чем... Ну смотри: сначала в bind_stalker.script: function actor_binder:on_item_take(obj) level_tasks.proceed(self.object) end затем в level_tasks.script: for k, v in pairs(level_scripts) do v.proceed() -- здесь в одной из "v" будет скрипт agroprom_tasks.script end и затем в agroprom_tasks.script: function proceed() -- и все что в ней, уже описанное выше end А ты говоришь "не требуют вызова". Просто ты не знал, где они происходят, эти вызовы.
  5. Ты имеешь в виду ф-ции в файле dialogs_darkvalley.script ?
  6. @Vadyanchikus И шо ? А где-же сам вызов этих самых proceed() или borov_flash_found() ? Как игра(движок) должны узнать, что при появлении этой самой флэшки в инвентаре актера(ГГ) надо вызвать Вашу ф-цию ? Добавляй все, что я писал касаемо bind_stalker.script, и будет тебе счастье . P.S. имя_файла_в_котором_твоя_ф-ция.proceed(obj) замени на dialogs_darkvalley.proceed(obj)
  7. Лично я не ясновидящий. Если бы ты показал все, что ты добавил в попытках заставить работать свой скрипт - можно бы было увидеть ошибку. А так, извини...
  8. Гм, никогда не знал, что топтуны фонят... Возможно. К примеру, в биндере артефактов(bind_artefact.script), в ф-ции artefact_binder:update(delta) сделать проверку на расстояние до актера(это будет радиус излучения от арта), если меньше - портим актеру здоровье любым удобным способом: или просто увеличиваем ему радиацию или хитуем той-же радиацией.
  9. Ну так ты и должен обеспечить, чтоб он читался(хотя правильнее, наверное - выполнялся). В файле bind_stalker.script(лежит в gamedata\scripts) найди ф-цию: function actor_binder:on_item_take (obj) level_tasks.proceed(self.object) --game_stats.update_take_item (obj, self.object) end Внутри нее добавь вызов своей ф-ции, как-то так: function actor_binder:on_item_take (obj) level_tasks.proceed(self.object) --game_stats.update_take_item (obj, self.object) имя_файла_в_котором_твоя_ф-ция.proceed(obj) end Ф-цию свою немного измени, примерно так: function proceed(obj) if obj:section() == "borov_flash" and not has_alife_info("borov_flash_found") then db.actor:give_info_portion("borov_flash_found") end end Не забудь, что "borov_flash" должно быть именем секции твоей флешки в конфиг-файле(в items.ltx или в quest_items.ltx).
  10. А подробнее все-же можно ? Что\кто\почему онлайновые, а что оффлайновые ?
  11. UnLoaded

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

    На пальцах: отображение запотевания маски шлема\противогаза работает на каком-то апдейте, т.е. периодически вызываемая ф-ция. Обычно используется апдейт класса actor_binder из файла bind_stalker.script.
  12. @Charsi Сделал такую проверку для актера(ГГ): на входе на Свалку, сценка с Юриком. Перед началом сценки: rank = 0 и character_rank = 0. После удачного отстрела бандюков: rank = 0 и character_rank = 3. А это как понимать ? Что из этого тогда является рангом актера(ГГ)\НПСа ? Еще, в файле ranks.script в ф-ции get_obj_rank_name(obj) нашел такой момент: -- HACK if obj.m_story_id ~= nil then obj_rank = obj:rank() else obj_rank = obj:character_rank() end типа, если есть SID, то читаем rank(), а если нет - то character_rank(). Это то-же нифига не понял.
  13. Из "Справочника по ф-циям и классам": С первым методом понятно, а что тогда второй возвращает ? Или он для установки\изменения ?
  14. UnLoaded

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

    В СДК екзешники напрямую не запускают. Используй пакетный файл: LevelEditor.bat в папке ...\X-Ray SDK\level_editor
  15. Сейчас попробовал: вбил "AI пак для ТЧ SoC" - 153 тыс. результатов на Яндексе... Включая и то, о чем BFG уже написал. Название не подскажу, но выбрать из имеющихся не так уж и сложно: local pp_eff_id = 12001 local pp_eff_power = .... level.add_pp_effector("duality_circle.ppe", pp_eff_id, true) level.set_pp_effector_factor(pp_eff_id, pp_eff_power) Файлы с имеющимися эффектами смотреть в gamedata\anims, их там не более 3-х десятков. Без альтернативы тут никак, чтобы грамотно писать альтернативу надо лезть в движок, либо городить юбер костыли, причем неприлично монструозные. Порыл, так сказать, чуток носом, вроде нашел вариант без всяких супер-костылей и монструозностей: в bind_stalker, добавляем кэллбэк "trade_sell_buy_item" и обработчик к нему. Вот то, что у меня сейчас в начально-тестовом варианте: function actor_binder:trade_sell_buy_item(obj, dir, cost) if obj then local who_name = nil if obj:parent() then who_name = obj:parent():character_community() --profile_name() end local msg = tostring(who_name)..", "..obj:section()..", "..tostring(dir)..", "..tostring(cost) news_manager.send_tip(db.actor, msg, nil, nil, 30000) end end Результат на экране: - при покупке бинта у сталкера - "stalker, bandage, false, 40" - при продаже хлеба сталкеру - "actor, bread, true, 4" Соответственно, не сложно к этому подцепить скриптовую систему в которой, к примеру, подсчитывать сколько составляет денежный\шмоточный оборот с каждым конкретным неписем\группировкой и по достижению требуемых порогов накидывать благосклонность\репутацию\ище что-то.
  16. Ну что тебе сказать: все ты правильно понял, именно выносливость увеличивается(должна) в этих двух брониках. Хотя не факт, что этот power_loss читается и отрабатывается движком, но это ты уж сам можешь проверить, поигравшись со значением и побегав в этих брониках.
  17. UnLoaded

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

    И да и нет: можно конечно уменьшить число ЛОДов на локации, а можно использовать правку для СДК и увеличить максимальное кол-во ЛОДов.
  18. Такой вопрос: а кол-во купленного\проданного торгашам шмота где-нибудь учитывается ? Т.е. можно-ли отследить сколько денег\шмота "прошло" в обоих направлениях между ГГ и конкретным торгашом ? Ф-ция change_goodwill(...) вроде как может применяться в произвольной комбинации ? Т.е. можно установить благосклонность НПС -> ГГ и ГГ -> НПС. А в чем смысл ? Понятно, что изменение благосклонности торгаша к ГГ имеет смысл, к примеру в рассчете стоимости шмота при торговле, а вот обратное отношение где учитывается\используется ?
  19. UnLoaded

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

    @Wlad777 Каков смысл некого радиуса от ГГ ? Он всегда будет отсчитываться от ГГ и следовательно всегда нельзя будет подбирать предметы. Может имеется в виду запретить ГГ взятие предметов при каких-то условиях, типа нахождения в определенном месте или на какое-то время ? Касаемо собственно запрета на взятие предметов, то здесь копать в сторону ф-ций set_nonscript_usable(true\false) и set_tip_text("").
  20. Этот самый фактор где-то в конфигах прописан, или "волшебное число" в движке прибитое гвоздями, или как-то из чего-то высчитывается ? Очень просто: при запуске игры проверка какой-либо валидности содержимого скриптов не производится. А вот при вызове кода, содержащего ошибку будет вылет. Это как раз подтверждает, что данная ф-ция у Вас не вызывается - иначе была-бы ошибка.
  21. UnLoaded

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

    От чего ? От самого ГГ, или от какого-то места\объекта ?
  22. UnLoaded

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

    Не в обиду тебе, но в претензию: почему не желаешь сначала прочитать хотя-бы основные туторы по подключению локи к игре ? Начиная с шапки этой темы, хотя-бы, ну и тут естественно. И тогда, к примеру, не было-бы вопросов по отсутствующим LODам, и про необходимость разместить хоть один спавн-объект, чтоб не было ругани на их полное отсутствие, там то-же сказано. И не только...
  23. Ну так выкладывай - что и где ты добавлял\изменял, чтоб можно было понять, от чего он у тебя не работает. Откуда вывод, что у всех исходники движка, и все их читают аки азбуку ? Ну нет у меня их... Ну хочется мне знать: кроме прямых изменений благосклонности с помощью движковых ф-ций, она меняется еще как-то(ну кроме прямого убийства НПСов) ? К примеру - от кол-ва купленного\проданного торгашам шмота меняется ? Если да, то какова формула ? Именно о ней. Как в чистом ТЧ считаются цены продажи\покупки у торгашей ?
  24. Ну если внимательно глянуть содержимое этих файлов: таблица, в которую заносится список большинства инфо-порций, используемых в игре. Далее парсинг этой таблицы и выдача всех занесенных в нее и-п актеру(ГГ). Личное мое мнение - рудимент, оставшийся от тестирования игры ПЫСами. Если я не ошибаюсь, то соответственно ценность этих файлов - сами понимаете какая... Теперь о своем: Как-то давненько, попадалось мне пояснение о том, как рассчитывается цена покупки\продажи шмота всякими торговцами главгерою. И там вроде учитывается благосклонность(goodwill), причем и личная(торгаш->ГГ) и группировки торгаша(группировка торгаша->ГГ(или группировка ГГ?)). Собственно два вопроса: - напомните эту формулу, кто помнит\знает\имеет описание; - все виды благосклонности - от чего еще изменяются, кроме прямого изменения из скриптов с помощью движковых ф-ций ?
  25. UnLoaded

    Худ

    Копай в сторону AttachChild, т.е. после загрузки делай\проверяй аттач статиков часов и объема рюкзака на статик ПНВ.
×
×
  • Создать...