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

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

 
 
2 часа назад, Skala сказал:

указало на логику мишеней из тира

По-любому там задействованы скрипты ЧН, и они так просто без адаптации не заработают в ТЧ. Хотя, когда-то нам удалось: https://ap-pro.ru/forums/topic/15362-uroven-tir-iz-stalker-build-1844/

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


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

aka_sektor я если что на ЗП делаю. Но суть таже, да

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


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

denis2000 спасибо, убрал [exclusive] и теперь сидят по одному, я конечно где-то слышал что так работа автоматически создаётся, но забыл

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


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

Skala всмысле ЗП, да. Опечатался.

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


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

Здравствуйте уважаемые мододелы добавил свой уникальный quest item
 [kyamal_bag]:device_pda
$spawn                  = "quest_items\kyamal_bag"
visual                  = dynamics\devices\dev_rukzak\dev_rukzak.ogf
inv_weight              = 1.0
inv_grid_width          = 2
inv_grid_height         = 2
inv_grid_x              = 12
inv_grid_y              = 25
description             = kyamal_bag_desc
inv_name                = kyamal_bag
inv_name_short          = kyamal_bag
can_trade               = false
cost                    = 0
quest_item              = false
story_id                = kyamal_bag

при завершении квеста прописал чтобы обьект проподал из инвентаря что интересно то что игра мне в диалоговом пишет что предмет забрали но все равно остается у меня в рюкзаке что я пропускаю?(((

function give_scope(first_speaker, second_speaker)
    if db.actor and db.actor:id() == first_speaker:id() then 
        actor = first_speaker 
        npc = second_speaker  
    else 
        actor = second_speaker 
        npc = first_speaker      
    end
    dialogs.relocate_item_section(actor, "conserva", "in") 
    dialogs.relocate_item_section(actor, "conserva", "in")
    dialogs.relocate_item_section(actor, "kyamal_bag", "out")
end

это сама функция где я забираю этот quest item

 

Изменено пользователем Emilien220

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


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

Emilien220 Квестовый это когда quest_item = true

function give_scope(first_speaker, second_speaker)
    dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "conserva", 2)
    dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "kyamal_bag")
end

 

Изменено пользователем denis2000

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

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


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

Emilien220 Вам бы не помешало код прятать в спойлеры

  • Мастер! 1

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


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

Уважаемые разработчики модострои у меня вопрос как работает bound_rect и global rect как бы я не пытался как бы не старался ничерта не выходит(игрок смещен как и иконки пресонажей а так же я заметил что bound rect меняет не только в пда но мини карте тоже что очень странно). Я не могу четко расположить карту проблема в том что я использую map dragger получаю global но не выходит правильно настроить bound_rect помогите пожалуйста. Если можно связатся с вами по дискорду было бы очень приятно!(P.S)если что форум я уже дня 2 облазил про эти 2 значения читал но так и не вник(

Изменено пользователем Emilien220

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


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

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


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

Спасибо большое разобрался оказывается проблема была не в global а в bound  я там перепутал значения.У меня есть еще небольщой вопрос. Я добавил нпс на локацию прописал way point с анимацией играть на гитаре но нпс просто играет в воздухе пробовал прописать гитару но что не выходит почему нпс играет на воздухе?

 

  • Мастер! 1

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


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

Emilien220 Такое обычно бывает если предмета нет в инвентаре. Звука тоже не будет, поэтому делайте, как положено, через animpoint и camp_zone.

Изменено пользователем denis2000

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

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


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

Как сделать, чтобы техник бесплатно занимался починкой снаряги? Именно починкой, грейды он не делает вообще.

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


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

its boomer Скрипт inventory_upgrades.script на примере Кардана

function can_repair_item( item_name, item_condition, mechanic ) --( string, float, string )
	if mechanic_name == "zat_a2_stalker_mechanic" then
		return true
	end
..........
end

function question_repair_item( item_name, item_condition, can, mechanic ) --( string, float, bool, string )
	if mechanic_name == "zat_a2_stalker_mechanic" then
		return game.translate_string("st_upgr_cost").." 0"
	end
..................
end

function effect_repair_item( item_name, item_condition )
	if mechanic_name == "zat_a2_stalker_mechanic" then
		return
	end
...................................
end

 

  • Лайк 1
  • Хабар 1

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

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


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

its boomer Сделай по аналогии того, как ремонтник в Припяти в ваниле ЗП сделан.

В misc\stalkers_upgrade_info.ltx можешь глянуть секции pri_a22_army_signaller (там discount_condlist надо выставить аналогично, чтоб было по нулям) и pri_a22_army_signaller_upgr (там заблокированы все возможные апгрейды у техника)

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

Мод в разработке - X-7: Эпицентр
Дискорд мода - https://discord.gg/mpvs685UYN

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


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

Вопрос к уважаемым мододелам. Прописал логку проигрывания реплики если подойти близко на метр сначало звука не было потом решил использовать оригинальный зп-шный диалог все заробило подскажите пожайлусте чтобы добавить свой звук его надо прописывать гдето в коде игры типо зарегать как локацию или инфопоршни пример если что формат ogg использую но все равно звук не проигрывается(

ps оказывается да я нашел в script sound что в configs misc 


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

У меня возник другой вопрос если я прописал 2 разных ремарка про диалог при получении инфопоршня что надо первому нпс сказать другую фразу он молчит idle нужен какой или я on info не там пишу?

Спойлер

 

[animpoint@lost_stalker_china]
use_camp = false
meet = meet@lost_stalker_china
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = false
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
cover_name = lost_china_village_smart_animpoint_1
on_actor_dist_le = 3 | remark@stopka_scene_china %+stopka_scene_started%
on_info = {+stopka_rustam_done} remark@stopka_scene_final

[remark@stopka_scene_china]
anim = guard_na
on_info = %=play_sound(china_stopka_phrase_1)%
on_signal = sound_end | animpoint@lost_stalker_china %+stopka_china_done%

[remark@stopka_scene_final]
anim = guard_na
target = story | actor
on_info = %=play_sound(china_stopka_final)%
on_signal = sound_end | animpoint@lost_stalker_china %+stopka_scene_done%

 

примечательно первый ремарк работает а второй уже нет инфопоршни проверил вылетов нет(


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

И так вопрос уважаемые разработчики я нашел ответ к своему старому вопросу но у меня возникает закономерный вопрос в проффесионализме кодинга как никак когда в с++ пишешь все с первого столбца и не аккуратно тебя могут и осудить за такую манеру кодинга в чем собственно мой вопрос после того как я прописал второе аудио(реплика) который должен был сказать мой нпс я создал для него новый анимпоинт и там прописал on info и все заработало я уверен что создавать новый animpoint  не обязятельно тогда вопрос почему мой on info не заработал вместе с другой логикой?Или я все делаю правильно и это уже кривой xray 


 

Спойлер

 

[logic@lost_stalker_china]
active = animpoint@lost_stalker_china
suitable = {=check_npc_name(lost_stalker_china)}true
prior = 90
level_spot = quest_npc


[animpoint@lost_stalker_china]
use_camp = false
meet = meet@lost_stalker_china
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = false
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
cover_name = lost_china_village_smart_animpoint_1
on_actor_dist_le = 3 | remark@stopka_scene_china %+stopka_scene_started%


[remark@stopka_scene_china]
on_info = %=play_sound(china_stopka_phrase_1)%
on_signal = sound_end | animpoint@lost_stalker_china1 %+stopka_china_done%

[animpoint@lost_stalker_china1]
use_camp = false
meet = meet@lost_stalker_china
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = false
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
cover_name = lost_china_village_smart_animpoint_1
on_info = {+stopka_rustam_done} remark@stopka_scene_final

[remark@stopka_scene_final]
anim = guard_na
target = story | actor
on_info = %=play_sound(china_stopka_final)%
on_signal = sound_end | animpoint@lost_stalker_china %+stopka_scene_done%

[meet@lost_stalker_china]
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
meet_on_talking = false

 

 

Изменено пользователем Emilien220

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


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

Emilien220 на счёт on_info

2 часа назад, Emilien220 сказал:

on_info = %=play_sound(china_stopka_final)%

Так лучше не пишите т.к on_info проверяется постоянно. Лучше используйте проверку отсутствия инфопоршня который выдаётся после первого вызова on_info т.е так:

on_info = {-first_fraza} %+first_fraza =play_sound(china_stopka_final)%

2 часа назад, Emilien220 сказал:

примечательно первый ремарк работает а второй уже нет инфопоршни проверил вылетов нет(

Потому что в первом варианте логики вы возвращаетесь в схему анимпоинта а там нет проверки инфопоршня


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28:Начало

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


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

Emilien220 на счёт on_info

Так лучше не пишите т.к on_info проверяется постоянно. Лучше используйте проверку отсутствия инфопоршня который выдаётся после первого вызова on_info т.е так:

on_info = {-first_fraza} %+first_fraza =play_sound(china_stopka_final)%

Потому что в первом варианте логики вы возвращаетесь в схему анимпоинта а там нет проверки инфопоршня

Благодарю за ответ! Однако в первом анимпоинте же я прописал проверку инфо в первом варианте.

Спойлер

[animpoint@lost_stalker_china]
use_camp = false
meet = meet@lost_stalker_china
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = false
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
cover_name = lost_china_village_smart_animpoint_1
on_actor_dist_le = 3 | remark@stopka_scene_china %+stopka_scene_started% А тут если ближе 3 метров то начало сценки точнее где сталкеры начинают свои реплики говорить
on_info = {+stopka_rustam_done} remark@stopka_scene_final- Вот тут проверка инфопоршня что нпс Рустам закончил диалог 

 

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


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

on_actor_dist_le = 3 | remark@stopka_scene_china %+stopka_scene_started%

Да не заметил. тогда вот другая проблема скорее всего второй ремарк не запускается потому что то до него дело не доходит сделайте такую же конструкцию как я посоветовал что бы проверка расстояния вызывала один раз


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

on_actor_dist_le = 3 | {-stopka_scene_started} remark@stopka_scene_china %+stopka_scene_started%

Можно вот так

Изменено пользователем Pavel2000

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28:Начало

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


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

Prostomod Ага, я так и сделал, спасибо

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


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

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

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

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

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

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

Войти

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

Войти

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

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования