Это популярное сообщение. Dennis_Chikin 3 665 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-847221
Stalkersof 216 Опубликовано 14 Октября Поделиться Опубликовано 14 Октября Кто может помочь с логикой нпс заставленных скриптом. Нпс враждебные стоят как истуканы и не реагируют, пока в одного не стрельнешь. Что надо подправить? ПС. Вроде нашел причину в ремарк не прописано проигрывание анимации. Прописал нпсы стали реагировать на ГГ Скрытый текст [logic] active = remark danger = danger_ignore [danger_ignore] ignore_distance = 15 [remark] anim = guard no_move = false target = actor on_info = {+enemy} remark@re %=actor_enemy% [remark@re] on_info = {-enemy +propusk} nil %=actor_neutral% Freeplay Graphic Mod(FGM) Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510452
Купер 3 468 Опубликовано 15 Октября Поделиться Опубликовано 15 Октября Вообще, опять себе потенциально проблемы ищем. 1 Сталкерский архив Петровича (BFG) Филиал Костра Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510457
Stalkersof 216 Опубликовано 15 Октября Поделиться Опубликовано 15 Октября Ребята а можно как то в логике задать дистанцию для реагирования нпс на актора. Чтоб нпс агрились на актора например когда он находится за 20 метров. Логику обновил моем посте выше. Все хорошо но когда ГГ проходит мимо базы военных они агрятся на ГГ хотелось бы сократить это расстояние. И еще после того как военные заагрились скрипт перестает работать. Т.е нпс-ы не становятся нейтральными к актору, логика работает только если нпс не заагрились. 6 часов назад, Купер сказал: Вообще, опять Так баян немой))) Freeplay Graphic Mod(FGM) Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510461
Купер 3 468 Опубликовано 16 Октября Поделиться Опубликовано 16 Октября @Stalkersof , последствия и "подводные камни" всё равно ж знать желательно . Вопрос тоже по логике: Записи приписки NPC в all.spawn к смарт-террайну идентичны? [smart_terrains] esc_stalker_camp = {-agroprom_military_case_done} none = {+agroprom_military_case_done} и [smart_terrains] esc_stalker_camp = {-agroprom_military_case_done} Сталкерский архив Петровича (BFG) Филиал Костра Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510469
h0N0r 387 Опубликовано 16 Октября Поделиться Опубликовано 16 Октября @Stalkersof В секции логики: combat_ignore_cond = {=dist_to_actor_ge(20)} ; игнор, если актор на данном расстоянии и больше, а наоборот dist_to_actor_le. @Купер Не, в первом случае после +флаг, нпс не сможет занимать смарты, а во втором пойдёт в подходящий. 2 https://sites.google.com/view/xray-sdk-0-4-smg Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510471
Stalkersof 216 Опубликовано 16 Октября Поделиться Опубликовано 16 Октября 3 часа назад, h0N0r сказал: @Stalkersof В секции логики: combat_ignore_cond = {=dist_to_actor_ge(20)} ; игнор, если актор на данном расстоянии и больше, а наоборот dist_to_actor_le. Да я вчера пробовал так, в ремарке почему то у меня не работает. Да еще после того как заагрились логика не работает такая. Скачал шпаргалку по логике в пдф формате. Буду перезаселять базу военных используя кампер с точками и валкер патруль. Там по моему как я понял после данжера они в схему исходную возвращаются. Логика для меня новое в модострое но вроде что то понимание приходит. Freeplay Graphic Mod(FGM) Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510474
_Val_ 2 408 Опубликовано 16 Октября Поделиться Опубликовано 16 Октября @Stalkersof А можешь пояснить, чего ты хочешь добиться при помощи такой залихватской логики? И поясни - зачем во второй секции remark у тебя вставлена проверка отсутствия поршня enemy, если непись переходит в неë при наличии этого поршня? Про активный ремарк лучше умолчу)) Блин... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510499
Stalkersof 216 Опубликовано 16 Октября Поделиться Опубликовано 16 Октября @_Val_ Так не моя логика. Я Щас работаю над стареньким модом ну что то типа ремейка вот и устраняю косяки. Я уже все переделал на валк и кампер. Там квест типа говоришь с торговцем диалог у торговца появляется по поршню enemy. Типа пропуска торговец дает и военные становятся нетралами. Может он и не нужен но все работает. Перезаселил базу военных каждому персу своя логика с точками. Все работает как надо. Freeplay Graphic Mod(FGM) Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510502
imcrazyhoudini 218 Опубликовано 20 Октября Поделиться Опубликовано 20 Октября Скрытый текст [remark@2] target = actor anim = punch meet = no_meet on_signal = anim_end | walker@4 [walker@4] path_walk = esc_vovan_slejka_look path_look = esc_vovan_slejka_walk meet = meet@pogo [meet@pogo] use = self use_wpn = self meet_dialog = esc_pogo_duran2 После того как ГГ получает удар в морду НПС не юзает его для диалога, а произносит "не буду с тобой говорить", нужен сейв-лоад и лишь тогда НПС начнёт разговор. В чём дело? Полная логика на всякий: Скрытый текст [logic] active = walker [walker] path_walk = esc_pogo_walk path_look = esc_pogo_look on_info = {+esc_pogo_slejka_start} walker@2 [walker@2] path_walk = esc_pogoreluy_slejka_walk path_look = esc_pogoreluy_slejka_look meet = no_meet def_state_standing = checkpda on_info = {+esc_pogo_slejka_vovan} remark [remark] target = esc_pogoreluy_slejka_look,0 snd = yan_pogoreluy_slejka meet = no_meet on_signal = sound_end | walker@3 [walker@3] path_walk = esc_vovan_slejka_look path_look = esc_vovan_slejka_walk meet = no_meet on_info = {+esc_pogo_slejka_fail} remark@2 [remark@2] target = actor anim = punch meet = no_meet on_signal = anim_end | walker@4 [walker@4] path_walk = esc_vovan_slejka_look path_look = esc_vovan_slejka_walk meet = meet@pogo [meet@pogo] use = self use_wpn = self meet_dialog = esc_pogo_duran2 ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510622
h0N0r 387 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября @imcrazyhoudini Работает, если в скрипте state_mgr_animation_list для блока punch: "norm_facer_0_0", {f=xr_effects.actor_punch}, "norm_facer_0_1", {f=xr_effects.clearAbuse} Можно вызвать =clearAbuse (как и =actor_punch) в логике, и желательно переделать xr_effects.actor_punch на манер ЧН, чтобы сперва кам-эффекты, а потом проверка на активные слоты. https://sites.google.com/view/xray-sdk-0-4-smg Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510625
_Val_ 2 408 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября @imcrazyhoudini Ох уж эти скриптеры, всё бы им переделать)) Логика в принципе правильная и должна работать. Ну это так, на первый взгляд. А логикой я занимался уже так давно, что у меня новорожденный внук с тех пор в школу пошёл)) Вообще - причин, по которым персонаж не хочет делать то, чего от него хочет автор логики несколько. Неправильная логика, нпс находится не в той секции(в которой вроде бы как должен находиться), неправильно прописаны эффекты, вызываемые из логики(анимки, звуки, диалоги и т.д). Хотел сказать ещё предыдущему оратору , но вот наконец сподобился. Если занимаетесь сложной логикой, ставьте себе дебаггер. Нужно обязательно отслеживать выдаваемые поршни и секции логики персонажей. И желательно секцию - при наведении курсора. По твоей логике. Чтобы переходы из секции в секцию происходили чётко и без глюков - нужно добавлять выдачу поршней из предыдущей секции при переходе в следующую с проверкой наличия этого поршня. И удалять использованные для переходов поршни, если они больше не нужны для квестов или чего-то подобного. Блин... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510627
imcrazyhoudini 218 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября @h0N0r имеешь ввиду так?: Скрытый текст [remark@2] target = actor anim = punch meet = no_meet on_signal = anim_end | walker@4 %=clearAbuse% [walker@4] path_walk = esc_vovan_slejka_look path_look = esc_vovan_slejka_walk meet = meet@pogo Скрипт: Скрытый текст function actor_punch(npc) if db.actor:position():distance_to_sqr(npc:position()) > 4 then return end set_inactivate_input_time(30) local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") local active_slot = db.actor:active_slot() local active_item = db.actor:active_item() if active_item and (active_slot == 1 or active_slot == 2) then db.actor:drop_item(active_item) end end punch = { prop = { maxidle = 5, sumidle = 2, rnd = 100 }, into = { [0] = { "norm_facer_0_0", {f=xr_effects.actor_punch}, "norm_facer_0_1", {f=xr_effects.clearAbuse}}, [1] = { "norm_facer_1_0", {f=xr_effects.actor_punch}, "norm_facer_1_1", {f=xr_effects.clearAbuse}}, [2] = { "norm_facer_2_0", {f=xr_effects.actor_punch}, "norm_facer_2_1", {f=xr_effects.clearAbuse}}, [3] = { "norm_facer_3_0", {f=xr_effects.actor_punch}, "norm_facer_3_1", {f=xr_effects.clearAbuse}}, [4] = { "norm_facer_4_0", {f=xr_effects.actor_punch}, "norm_facer_4_1", {f=xr_effects.clearAbuse}}, [8] = { "norm_facer_8_0", {f=xr_effects.actor_punch}, "norm_facer_8_1", {f=xr_effects.clearAbuse}}, [9] = { "norm_facer_9_0", {f=xr_effects.actor_punch}, "norm_facer_9_1", {f=xr_effects.clearAbuse}}, [10]= { "norm_facer_10_0", {f=xr_effects.actor_punch}, "norm_facer_10_1", {f=xr_effects.clearAbuse}}}, out = nil, idle = nil, rnd = nil}, Если правильно понял конечно тебя, но в целом итог тот же. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510645
Last_Dawn 83 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября (изменено) 22 минуты назад, imcrazyhoudini сказал: имеешь ввиду так?: Посмотри как в ЗП при ограблении на Земснаряде, чёт у тебя логика вообще нищая. Скрытый текст [remark@punch] ;Удар по морде и еще словесный плевок в морду target = story | actor anim = punch on_timer = 1000 | {-zat_b14_robbery_punch_play_sound} walker@fight %=actor_punch =hit_npc_from_actor(zat_b14_stalker_1) =play_sound(zat_b14_robbery_punch) +zat_b14_robbery_punch_play_sound% meet = no_meet wounded = wounded combat_ignore_cond = {!actor_enemy} true danger = danger_condition@go [remark@ready] ;Поймали игрока anim = wait_na target = story | actor meet = meet@story on_info = {+zat_b14_dialog_done +zat_b14_give_item_stalker} walker@item %+zat_b14_stalkers_bandits_free% on_info2 = {+zat_b14_not_give_item_stalker -zat_b14_robbery_not_give_artefact} animpoint@offence %=play_sound(zat_b14_scene_1_stalker_offended)% on_info3 = {+zat_b14_dialog_done +zat_b14_not_give_item_stalker +zat_b14_robbery_not_give_artefact} %=set_squad_enemy_to_actor(zat_b14_stalkers)% in_restr = zat_b14_not_give_item_zone combat_ignore_cond = {!actor_enemy} true wounded = wounded danger = danger_condition@go [meet@story] ;Диалог - дай артефакт! close_anim = nil close_snd_hello = nil close_snd_bye = nil close_victim = actor use = {!actor_enemy} self trade_enable = false allow_break = false meet_dialog = zat_b14_stalker_start Скрытый текст [logic@b14_stalker_1] suitable = {=check_npc_name(zat_b14_stalker_1)} true prior = 200 active = walker@go on_hit = hit on_death = death post_combat_time = 0, 0 [death] on_info = {!killed_by_actor} %+zat_b14_stalker_death =stop_sound%, {=killed_by_actor =squad_exist(zat_b14_stalkers)} %+zat_b14_stalker_killed_by_actor =set_squad_enemy_to_actor(zat_b14_stalkers) =stop_sound%, %=stop_sound% [hit] ;Если игрок имеет артефакт, кричим, чтобы отдал on_info = {=hit_by_actor =actor_has_item(af_quest_b14_twisted) =is_alive} %=play_sound(zat_b14_robbery_kill_actor_snd) +zat_b14_actor_enemy% [walker@go] ;Ждем игрока path_walk = zat_b14_stalker_1_walk_1 path_look = zat_b14_stalker_1_look_1 on_actor_dist_le_nvis = 5 | {!actor_in_zone(zat_b14_not_give_item_zone)} remark@ready def_state_moving = run def_state_standing = wait_na show_spot = {!actor_enemy} false, true combat_igrore_cond = true danger = danger_condition@go meet = no_meet wounded = wounded ;group = 14 [danger_condition@go] ignore_distance = 0 ignore_distance_grenade = 0 ignore_distance_corpse = 0 ignore_distance_hit = 0 ignore_distance_sound = 0 [remark@ready] ;Поймали игрока anim = wait_na target = story | actor meet = meet@story on_info = {+zat_b14_dialog_done +zat_b14_give_item_stalker} walker@item %+zat_b14_stalkers_bandits_free% on_info2 = {+zat_b14_not_give_item_stalker -zat_b14_robbery_not_give_artefact} animpoint@offence %=play_sound(zat_b14_scene_1_stalker_offended)% on_info3 = {+zat_b14_dialog_done +zat_b14_not_give_item_stalker +zat_b14_robbery_not_give_artefact} %=set_squad_enemy_to_actor(zat_b14_stalkers)% in_restr = zat_b14_not_give_item_zone combat_ignore_cond = {!actor_enemy} true wounded = wounded danger = danger_condition@go [meet@story] ;Диалог - дай артефакт! close_anim = nil close_snd_hello = nil close_snd_bye = nil close_victim = actor use = {!actor_enemy} self trade_enable = false allow_break = false meet_dialog = zat_b14_stalker_start ;Дали артефакт [walker@item] ;Отдали артефакт path_walk = zat_b14_stalker_1_sprint_1 def_state_moving1 = run on_game_timer = 30 | walker@item_sprint_1 combat_ignore_cond = true wounded = wounded meet = no_meet [walker@item_sprint_1] path_walk = zat_b14_stalker_1_sprint_1 def_state_moving1 = sprint on_signal = path_end | walker@item_sprint_2 combat_ignore_cond = true wounded = wounded meet = no_meet [walker@item_sprint_2] path_walk = zat_b14_stalker_1_sprint_2 def_state_moving1 = sprint on_signal = path_end | walker@item_sprint_3 combat_ignore_cond = true wounded = wounded meet = no_meet [walker@item_sprint_3] path_walk = zat_b14_stalker_1_sprint_3 def_state_moving1 = sprint on_signal = path_end | walker@item_2 combat_ignore_cond = true wounded = wounded meet = no_meet [walker@item_2] ;Отдали артефакт path_walk = zat_b14_stalker_1_walk_3 path_look = zat_b14_stalker_1_look_3 def_state_moving1 = sprint on_info = {=npc_in_zone(zat_a2_sr_noweap) =check_smart_alarm_status(zat_stalker_base_smart:normal)} walker@item_3 on_info2 = {=npc_in_zone(zat_a2_sr_noweap) =actor_in_zone(zat_a2_sr_noweap) =actor_enemy !check_smart_alarm_status(zat_stalker_base_smart:normal)} walker@fight_2 combat_ignore_cond = true wounded = wounded meet = no_meet out_restr = zat_a2_sr_noweap [walker@item_3] ; Заходим в корабль path_walk = zat_b14_stalker_1_walk_4 path_look = zat_b14_stalker_1_look_4 def_state_moving1 = run on_info = {!npc_in_zone(zat_surge_hide_a2) !check_smart_alarm_status(zat_stalker_base_smart:normal)} walker@item_2 on_info2 ={=npc_in_zone(zat_surge_hide_a2)} walker@item_4 on_info3 = {=npc_in_zone(zat_a2_sr_noweap) !npc_in_zone(zat_surge_hide_a2) =actor_in_zone(zat_a2_sr_noweap) =actor_enemy !check_smart_alarm_status(zat_stalker_base_smart:normal)} walker@fight_2 combat_ignore_cond = true wounded = wounded meet = no_meet out_restr = zat_a2_sr_noweap [walker@item_4] ; Подходим к стойке path_walk = zat_b14_stalker_1_walk_4 path_look = zat_b14_stalker_1_look_4 combat_ignore_cond = true def_state_moving1 = walk on_info ={=npc_in_zone(zat_b14_bar_zone)} %+zat_b14_stalker_change_smart% meet = no_meet out_restr = zat_a2_sr_noweap ;Не дали артефакт [walker@no_item] ;Игрок не дал артефакт, обиделись path_walk = zat_b14_stalker_1_walk_2 path_look = zat_b14_stalker_1_look_2 on_signal = zat_b14_stalker_sit | animpoint@offence on_info = {=actor_in_zone(zat_b14_robbery_start)} walker@prerobbery %+zat_b14_stalker_robbery% in_restr = zat_b14_not_give_item_zone danger = danger_condition@go combat_ignore_cond = {!actor_enemy} true wounded = wounded meet = no_meet [animpoint@offence] cover_name = zat_b14_stalker_1_anim avail_animations = zat_b14_stay_wall use_camp = false on_info = {+zat_b14_give_item_stalker} walker@item %+zat_b14_stalkers_bandits_free% on_info2 = {=actor_in_zone(zat_b14_robbery_start)} walker@prerobbery %+zat_b14_stalker_robbery% in_restr = zat_b14_not_give_item_zone danger = danger_condition@go combat_ignore_cond = {!actor_enemy} true wounded = wounded meet = meet@stand [meet@stand] ;Последний шанс игрока отдать артефакт close_distance = 1 far_distance = 1 close_anim = nil far_anim = nil meet_dialog = {-zat_b14_dialog_last_chance_done} zat_b14_stalker_start_last_chance, zat_b14_stalker_start_last_chance_end use = true trade_enable = false ;Грабим игрока [walker@prerobbery] ;Ограбление path_walk = zat_b14_stalker_1_walk_1 path_look = zat_b14_stalker_1_look_1_1 on_signal = end | remark@robbery in_restr = zat_b14_not_give_item_zone combat_ignore_cond = {!actor_enemy} true danger = danger_condition@go wounded = wounded meet = no_meet [remark@robbery] ;Ограбление target = story | actor anim = threat_na snd_anim_sync = true on_info = {+zat_b14_robbery_nowpn_actor +zat_b14_stalker_robbery_cutscene_start} companion@robbery in_restr = zat_b14_not_give_item_zone combat_ignore_cond = {!actor_enemy} true danger = danger_condition@go wounded = wounded meet = no_meet [companion@robbery] ;Бежим грабить on_actor_dist_le_nvis = 2 | remark@robbery_artefact meet = no_meet in_restr = zat_b14_not_give_item_zone wounded = wounded combat_ignore_cond = {!actor_enemy} true danger = danger_condition@go [remark@robbery_artefact] ;Диалог ограбления target = story | actor anim = threat_na snd_anim_sync = true meet = meet@robbery on_info = {+zat_b14_robbery_give_artefact} walker@item on_info2 = {+zat_b14_robbery_not_give_artefact} remark@punch in_restr = zat_b14_not_give_item_zone wounded = wounded combat_ignore_cond = {!actor_enemy} true danger = danger_condition@go [remark@punch] ;Удар по морде и еще словесный плевок в морду target = story | actor anim = punch on_timer = 1000 | {-zat_b14_robbery_punch_play_sound} walker@fight %=actor_punch =hit_npc_from_actor(zat_b14_stalker_1) =play_sound(zat_b14_robbery_punch) +zat_b14_robbery_punch_play_sound% meet = no_meet wounded = wounded combat_ignore_cond = {!actor_enemy} true danger = danger_condition@go [meet@robbery] close_distance = 2 close_anim = threat_na close_victim = actor use = {!actor_enemy} self trade_enable = false allow_break = false meet_dialog = zat_b14_stalker_robbery [wounded] ;Не должен быть раненым hp_state = 0|wounded_heavy@help_heavy hp_state_see = 0|wounded_heavy@help_heavy hp_victim = 0|nil hp_fight = 0|false hp_cover = 0|false ;Бой [walker@fight] ;В бой! path_walk = zat_b14_stalker_1_walk_2 path_look = zat_b14_stalker_1_look_2 in_restr = zat_b14_not_give_item_zone wounded = wounded meet = no_meet [walker@fight_2] ;В бой! path_walk = zat_b14_stalker_1_walk_3 path_look = zat_b14_stalker_1_look_3 wounded = wounded meet = no_meet Для начала проверь что on_signal = anim_end | walker@4 вообще работает, повесь он_гей_таймер = 100 | вместо него например. Если заработает, on_signal = anim_end можешь выкидывать или сверить с ЗП и сделать похожим образом. Да, я понимаю что здесь ТЧ, но там по моему по морде сюжетно не бьют. Вероятно твоя анимация не содержит флаг для параметра on_signal. Если нужны ЧН и ЗП конфиги со скриптами, залью. Изменено 21 Октября пользователем Last_Dawn Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510648
_Val_ 2 408 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября 4 часа назад, Last_Dawn сказал: чёт у тебя логика вообще нищая. Человек учится писать логику. Да - не всё сразу получается, но он пишет. А предъявлять в качестве богатой логики копипасту навороченной логики из ЗП, это такое себе...Склизковато. Особенно учитывая вещи, которых в ТЧ нет от слова ВООБЩЕ. @imcrazyhoudini А вот насчет таймера товарисч прав. При любых непонятках в ремарке ставь таймер, это беспроигрышный вариант. В твоём случае on_timer = 760...Проверено на живых неписях)) Блин... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510667
Last_Dawn 83 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября (изменено) 2 часа назад, _Val_ сказал: Человек учится писать логику. Да - не всё сразу получается, но он пишет. Согласен, быканул. 2 часа назад, _Val_ сказал: А предъявлять в качестве богатой логики копипасту навороченной логики из ЗП В любом случае она касается его случая как раз. Но вообще я клонил к тому что всегда нужны дополнительные проверки в будущем на действия игрока и игры, возможность предусмотреть наибольшее число форс-мажоров (у нас всё-таки симуляция и тут возникают вопросы из серии "а что, если"), ЗП здесь не как положительный пример выступает, там скорее слишком усложнённая логика по причине профнепригодности тогдашних разработчиков. Ну и я работаю только по ЗП, поэтому только такой опыт могу предоставить, забрёл можно сказать случайно, другую тему искал. Изменено 21 Октября пользователем Last_Dawn 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510673
imcrazyhoudini 218 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября @_Val_ да я 10 лет моды делаю, в смысле учится только))) Такой фикс по итогу, в xr_meet.script: Скрытый текст if t == "true" then self.npc:enable_talk() elseif t == "false" then self.npc:disable_talk() if is_talking then self.npc:stop_talk() end elseif t == "self" then if not is_talking then db.actor:run_talk_dialog(self.npc) end end вставить self.npc:enable_talk() пред db.actor:run_talk_dialog(self.npc) И всё работает... ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510676
_Val_ 2 408 Опубликовано 21 Октября Поделиться Опубликовано 21 Октября 54 минуты назад, Last_Dawn сказал: всегда нужны дополнительные проверки в будущем на действия игрока и игры, возможность предусмотреть наибольшее число форс-мажоров Абсолютно в дырочку. Я кстати об этом выше писал. @imcrazyhoudini Снимаю шляпу. Десять лет, это здорово. Только вот тогда и я скажу: active=walker в достаточно сложной логике с несколькими волкерами и ремарками, это слабовато и не продумано. Блин... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510680
imcrazyhoudini 218 Опубликовано 22 Октября Поделиться Опубликовано 22 Октября @_Val_ почему? ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510686
_Val_ 2 408 Опубликовано 22 Октября Поделиться Опубликовано 22 Октября @imcrazyhoudini Повторяюсь)) 21.10.2025 в 15:04, Last_Dawn сказал: всегда нужны дополнительные проверки в будущем на действия игрока и игры, возможность предусмотреть наибольшее число форс-мажоров Вообще, если в логике много секций, нужно делать активными все секции волкер в зависимости от этапов срабатывания логики, грубо говоря от поршней. А если переход в очередную секцию волкер происходит по сигналу(таймеру) или допустим по квестовому поршню, можно при этом переходе выдавать служебный поршень, который потом можно безболезненно удалить. Например так: on_game_timer = 22 | walker@3 %+info% Ну а сам актив пишется где-то так: active = {+info_1 -info_3}walker@2, {+info_3 -info_1}walker@3, walker@1 И еще про действия игрока. Мы не вправе требовать от игрока, чтобы он действовал так, как нам видится или хочется)) Вот допустим твоя схема ограбления. Ну - диалог после удара прикладом в морду на твоей совести. Индийское кино, так индийское кино)). Обычно люди после такого тихо ползут в сторону реанимации если в сознании остаются, но это лирика... А вот по форс мажору такая мысля. Насколько я понимаю - непись у тебя что-то говорит актору и потом его дубасит...(кстати не понимаю, зачем тебе промежуточный волкер - можно вполне из ремарка в ремарк переходить). Представь себе ситуацию - когда игрок, выслушав реплику непися, просто разворачивается и отбегает этак метров на десять. Предусмотрено это твоей логикой? Блин... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510713
imcrazyhoudini 218 Опубликовано 23 Октября Поделиться Опубликовано 23 Октября 12 часов назад, _Val_ сказал: active = {+info_1 -info_3}walker@2, {+info_3 -info_1}walker@3, walker@1 Знаю о такой проблеме, но у меня фикс стоит от dsh, логика активная та, что последняя указана. 12 часов назад, _Val_ сказал: можно вполне из ремарка в ремарк переходить Верно конечно, но там как раз таки "кино") 12 часов назад, _Val_ сказал: Предусмотрено это твоей логикой? Убежать не выйдет, предусмотрел. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/1275/#findComment-1510722
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти