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

Рекомендуемые сообщения

 
 

Всем добра. drinks.gif

На Затоне, в каморке Тремора, у портовых кранов, стоит сейф. Как бы так сделать, чтоб он открывался цифровым кодом


1014403770_.png.9168bdd62ab4b80e506f301eac02f935.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Рыж сказал:

На Затоне, в каморке Тремора, у портовых кранов, стоит сейф. Как бы так сделать, чтоб он открывался цифровым кодом

Ставишь на сейф inventory_box и заполняешь логику:

[logic]
active = ph_code@lock

[ph_code@lock]
code = 123456
on_code = ph_idle@open

[ph_idle@open]
nonscript_usable = true
tips = actor_inventory_box_use

 


Дополнено 1 минуту спустя
12 часов назад, Крим сказал:

Какие уроки могут мне в этом помочь?

Работа с GUI-элементами. ТЫК


Дополнено 3 минуты спустя
10 часов назад, Policai сказал:

Народ! Кто в теме, подскажите плиз, существует ли мод моделек гражданских зомби на ЗП? 

Вытаскивал из этого МОДА, всё нормально работает.

  • Лайк 2
  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
7 часов назад, Neptun сказал:

Ставишь на сейф inventory_box и заполняешь логику:

Спасибо. А где это находится в распакованной геймдате? pardon.gif


1014403770_.png.9168bdd62ab4b80e506f301eac02f935.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 минут назад, Рыж сказал:

А где это находится в распакованной геймдате?

Это находится в СДК. Через него этот объект и ставится на локацию.

  • Лайк 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как задать НПС приоритет нападения именно на игрока? 


Дополнено 2 минуты спустя
14 часов назад, Neptun сказал:

[logic] active = ph_code@lock [ph_code@lock] code = 123456 on_code = ph_idle@open [ph_idle@open] nonscript_usable = true tips = actor_inventory_box_use

Не работает. После введения верного пароля ничего не происходит. Тайник все равно требует пароль. В чем проблема?

 

Изменено пользователем Крим

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Если отдать стальной ящик ( zat_b33_safe_container) Кардану и заплатить 500 рублей, то можно получить его содержимое. И вот проблема, не могу найти это содержимое в файлах игры, чтобы заменить на другое. cray.gif

Подскажите, как заменить содержимое стального ящика?
Нужна только выдача содержимого после диалога с Карданом.

 

Изменено пользователем Рыж

1014403770_.png.9168bdd62ab4b80e506f301eac02f935.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Рыж по-моему это скрипт dialogs_zaton

  • Лайк 1

76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, ian98 сказал:

это скрипт dialogs_zaton

Всё там перерыл с помощью Нотепад++. Есть только передача денег, а содержимого ящика нет. pardon.gif


1014403770_.png.9168bdd62ab4b80e506f301eac02f935.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
27 минут назад, Рыж сказал:

Всё там перерыл с помощью Нотепад++. Есть только передача денег, а содержимого ящика нет. pardon.gif

Надо смотреть какие скрипты вызываются при отдачи кейса Кардану. Это диалог zat_b3_stalker_tech_b33_about_snags_container , ищите в <action> какие скрипты вызываются. Уже в самой функции меняйте что вам нужно.


Дополнено 3 минуты спустя

Как проверить, что в определённом смарте не существуют сквадов, принадлежащие к группировке Свобода, например (проверить всех членов сквада и секцию сквада на группировку)? Или проверить то, что запрещённый сквад группировки мёртв (в том же смарте).

Изменено пользователем liner
  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, liner сказал:

at_b3_stalker_tech_b33_about_snags_container

Что-то не нащупаю никак такого диалога. Он в каком файле? Путь нужен до него.


1014403770_.png.9168bdd62ab4b80e506f301eac02f935.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Рыж сказал:

Путь нужен до нег

dialogs_zaton в configs\gameplay.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

В итоге всех поисков, содержимое стального ящика нашлось в: S.T.A.L.K.E.R. Call of Pripyat\gamedata\scripts\dialogs_zaton

Спойлер

function zat_b33_transfer_first_item(first_speaker, second_speaker)
    local actor = dialogs.who_is_actor(first_speaker, second_speaker)
    dialogs.relocate_item_section(actor,"wpn_fort_snag","in")   --- меняем на название своего предмета.
end

function zat_b33_transfer_second_item(first_speaker, second_speaker)
    local actor = dialogs.who_is_actor(first_speaker, second_speaker)
    dialogs.relocate_item_section(actor,"medkit_scientic","in",3)    ---Меняем
    dialogs.relocate_item_section(actor,"antirad","in",3)        ---меняем
    dialogs.relocate_item_section(actor,"bandage","in",5)        ---меняем
end

function zat_b33_transfer_third_item(first_speaker, second_speaker)
    local actor = dialogs.who_is_actor(first_speaker, second_speaker)
    dialogs.relocate_item_section(actor,"wpn_ak74u_snag","in")    ---меняем
end

function zat_b33_transfer_fourth_item(first_speaker, second_speaker)
    local actor = dialogs.who_is_actor(first_speaker, second_speaker)
    dialogs.relocate_item_section(actor,"af_soul","in")        ---меняем
end

function zat_b33_transfer_fifth_item(first_speaker, second_speaker)
    local actor = dialogs.who_is_actor(first_speaker, second_speaker)
    dialogs.relocate_item_section(actor,"helm_hardhat_snag","in")    ---меняем

Характеристики меняем здесь: S.T.A.L.K.E.R. Call of Pripyat\gamedata\configs\misc\quest_items.ltx
Вес можно указать любой, независимо от содержимого. Ящик переносной и может быть использован многократно. Вскрывается только Карданом. drinks.gif


 

Изменено пользователем Рыж
  • Мастер! 1

1014403770_.png.9168bdd62ab4b80e506f301eac02f935.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 часов назад, Крим сказал:

В чем проблема?

Забыл, нужен ещё скрипт. Положить сюда: gamedata\scripts

ph_code.script

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

liner Проверить, что сквад жив можно xr_conditions.squad_exist


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Создал GUI, вызываю его после интро с помощью вот такого рестриктора:

Спойлер

[logic]
active = sr_idle@wait

[sr_idle@wait]
on_info  = {=actor_on_level(l01) !black_screen} sr_idle@wait_1 %=game_start_gui%

[sr_idle@wait_1]

Всё работает, если не пропускать интро, если же его пропускать, то запускается через раз. Как решить эту проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Yura001 мне кажется, что надо убрать !black_screen 

  • Смех 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, denis2000 сказал:

liner Проверить, что сквад жив можно xr_conditions.squad_exist

Да нет, не совсем это.
Как проверить, что в определённом смарте не существуют сквадов, принадлежащие к группировке Свобода, например (проверить всех членов сквада и секцию сквада на группировку)? Или проверить то, что запрещённый сквад группировки мёртв (в том же смарте).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
5 часов назад, liner сказал:

Как проверить, что в определённом смарте не существуют сквадов, принадлежащие к группировке Свобода

Спойлер

function smart_terrain_empty_faction(actor, obj, p)
--Если в смарте нет сквада определенной группировки, то возвращаем истину
    local smart_name = p[ 1 ] -- Имя смарта, например esc_a1
    local faction = p[ 2 ]       -- Группировка, например freedom
    local board = sim_board.get_sim_board()
    local smart = board.smarts_by_names[ smart_name ]
    local smart_id = smart.id
    local count = true
    for k,v in pairs( board.smarts[ smart_id ].squads ) do
        if v:get_squad_community() == faction then
            count = false
        end
    end
    return count
end

 

  • Лайк 1
  • Мастер! 2

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

makdm Здравствуйте, я воспользовался вашим советом и смог настроить рестриктор. Но есть проблема, по какой-то причине функция выполняется через раз. Иногда после интро функция запускается, иногда нет. Вот логика рестриктора:

Спойлер

[logic]
active = sr_idle@wait

[sr_idle@wait]
on_info  = {=actor_on_level(l01) !black_screen} sr_idle@wait_1 %=game_start_gui%

[sr_idle@wait_1]

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Yura001 Функция 100% срабатывает, возможно вы прерывая интро закрываете одновременно и GUI-окно.

  • Жму руку 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Здравствуйте, не подскажете как принудительно начинать разговор с нпс после прохода мимо него?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

dasehak 

Спойлер

Добавляешь это в секцию meet:

use = {-здесь должен стоять инфорпоршень окончания диалога !actor_enemy =dist_to_actor_le(здесь дистанцию, при которой нпс сам заговорит с гг)} self, true

 

 


Дополнено 1 минуту спустя

И да, чтобы диалог нельзя было скипнуть при помощи ESC, можно использовать: 

allow_break = false

Тоже нужно добавлять в секцию meet


Дополнено 5 минуты спустя

Вопрос: Можно ли как-то изменить параметры гравитаций?

Изменено пользователем Крим
  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, Крим сказал:

Вопрос: Можно ли как-то изменить параметры гравитаций?

local grav = level.physics_world()
grav:set_gravity(19.62)
Это значение стандартной гравитации. Чем ближе число к нулю, тем больше кажется, что ты в космосе.

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 14.05.2021 в 15:04, denis2000 сказал:

Пробуйте =destroy_object(story:anomaly_story_id)

А подобное сработает на аномальную зону? Мне нужно, чтобы пси-зона с определенным story_id исчезла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Крим Уже попробовали, удаляет?

  • Лайк 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн