Перейти к содержанию

Arkada

Сталкеры
  • Публикаций

    685
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4

Весь контент Arkada

  1. ZV4X Надо ЗАМЕНИТЬ исходники оригинала на ИСХОДНИКИ Lex Addon. Или адаптировать самому.
  2. Не только это. Вам надо ещё изменить в каком-том файле (найдёте с помощью Notepad++) afc.x на afc.x = 6 (вместо пяти, если вы собираетесь не создавать новый ряд для артов) Дополнено 7 минуты спустя Почему не спаунится лут из ящика при его разрушении? Логика ящика: [drop_box] community = def_box items = medkit, 3, antirad
  3. А зачем это вам? Имеет ли это смысл? Задавайте эти вопросы каждый раз себе, когда собираетесь что-то грандиозное сделать в игре. В движке ещё нужно править! Suhar_ в Lex Addon уже расширил кол-во артефактов до 10. Исходники я вам уже скидывал.
  4. Оранжевую иконку восстанавливал пользователь Suhar_ , который создал Lex Addon. Можете посмотреть в исходниках движка Lex Addon. В архиве есть текстовый файл, в котором написано, что и где правлено. https://disk.yandex.ru/d/CzHzE13y3HuZQd
  5. При компиляции спавна локации начинают ломаться некоторые скрипты. Что делать? Собираю только 1 локацию (1 только и есть).
  6. Надо новые артефакты ещё в ui\ui_detector_artefact.xml регистрировать.
  7. Предлагаю такой метод: При получении инфопорции из заданной таблицы менять флаг info_count на info_count + 1. В info_callback игрока сделать проверку: for k,v in pairs (xr_effects.info_table) do if info_id == v (здесь нужно вынести таблицу из функции, сделать так чтобы она объявлялась НЕ в теле функции) then info_count = info_count +1 end end Потом проверить: if info_count == 2 или info_count == 4 then
  8. Движок для этого надо править будет. Вот необходимые для вас функции: LOCAL.SetTextColor(color_rgba(255,R,G,B)); В методе NameShort() предмета (*item) нужно будеть использовать эту функцию. Дополнено 5 минуты спустя Есть у меня несколько переменных, и во всех них есть такой текст ..."stalker_battle" Мне нужно как-то среди всех переменных найти "battle", всё то что позади "battle" меня не интересует и мне не нужно. Например: найти "battle" после первых 5 знаков (!!! Во всех переменных разное кол-во знаков!!!) mp_stalker_merc_battle Оранжевым цветом я выделил что мне нужно найти. Пробовал функцией string.find(), но видимо она ищет только в начале (чтобы функция сработала у меня должно быть battle_mp_stalker_merc). Это нужно для того, чтобы выполнялось условие. if find_void(найти battle в переменных) then
  9. А как применить это сразу для нескольких точек путей? Не для каждого же писать логику sr_particle и создавать рестриктор.
  10. Почему партикл постоянно то пропадает, то появляется (см видео)? Этот партикл вызывается функцией из xr_effects: play_particle_on_path. Локация собрана на Draft.
  11. Зачем оставлять включённым UI, если при смерти ГГ включается вид от 3-го лица? Мне кажется, это будет плохо смотреться и мешаться.
  12. Как выдать из таблицы тайник ГГ, который не был облутан ранее ГГ?
  13. Как правильно пользоваться функцией math.floor? В лог я вывел числа без округления и с округлением. По правилам математики, например, число 1,6 должно округлиться до 2, но почему-то в игре округляется до 1.
  14. Ну так учите! Надеяться всё время на других очень глупо... Поучите немного С++, как работать с Visual Studio. За вас всё время работать не собираются. Увы. Вам всего-лишь нужно переписать блок, который предложил ggGhosTt выше. Всё ОЧЕНЬ просто.
  15. Функция на удаление сейва: ui_load_dialog.delete_save_game(filename) Дополнено 2 минуты спустя Тогда название будет отображать всю правду:))) Вышел из игры - весь прогресс пропал. Думаю вы поняли о чём я.
  16. Прежде чем что-то грандиозное сделать, задайте себе пару вопросов: А зачем оно? А нужно ли? Есть ли смысл в этом? Помню, в ЗП когда включено диалоговое окно с сохранениями, есть кнопка, которая может удалить сохранения. Уверен точно, что это меню реализовано через скрипты, а значит вызов удаления сохранения можно реализовать из скриптов. Предлагаю такой алгоритм: 1. В момент сохранения проверить, включён ли режим одна жизнь. Проверять, происходит ли сохранение в данный момент можно таким способом в момент апдейта актёра: if get_hud():GetCustomStatic("game_saved")~=nil then Если да, то записываем имя сохранения в таблицу для сохранений (пригодится в будущем). Также нужно записать количество сделанных сохранений. Таблица будет иметь вид: {[a] = "save_name"} Также нужно сделать проверку: Сначала запишем имя сейва: local last_save_name Потом объявим local last_save_name if save_name~=last_save_name then -- Если появился новый сейв с новым названием ..заполним таблицу.. end 2. Если игрок умер, и таблица с сохранениями не равна nil или не пустая: Передаём какой-нибудь переменной аргумент из таблицы сохранений (название сохранения передаём), и вызываем функцию, которая удаляет сохранения. В качестве аргумента передаём переменную. Функция должна иметь примерно такой вид: Но перед этим надо будет распарсить таблицу с помощью ipairs. local save_name .. Парсим таблицу.. save_name = v -- это, что после знака = saves_count = k -- это [a] ..... function on_actor_death() for i = 1, saves_count do if t and t ~= nil then -- Проверим ещё раз на всякий случай функция, удаляющая сейв(save_name) end end end Дополнено 8 минуты спустя Всё необходимые функции вы можете найти в файлах ui_load_dialog и ui_save_dialog
  17. А есть ли такие моды, которые расширяют интеллект НПС? Кроме AI additions.
  18. Кажется, вы не верите самым очевидным аксиомам... Вы можете доказать что земля плоская? Зато очень много доказательств, что земля имеет форму геоида.
  19. Скучно играть в одно и то же, да и зачем вы болт на бутылку поменяли? Какой в этом смысл?
  20. Вы думаете, что никто не имеет права выражать своё объективное мнение (которое критикует ваше), и тем самым вы будете заслуживать только положительные оценки? Не все подчиняются взмахом вашей палочки, вы это понимать должны.
  21. Как с помощью function ----(first_speaker, second_speaker) получить STORY ID с кем в момент выполнения функции разговаривает ГГ? (нужно получить Story Id нпс, разговаривающего с ГГ)