Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
_Val_ 2 225 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 (изменено) Я прямо из игры снимаю. Обе функции прописаны в одном скрипте _debag Гы.. https://yadi.sk/d/k7oZm-_ovtzaG Гы .2 Скрипт древний. Но как сказано выше и так пойдёт. Гы .3 Там вообще дебаг из фотографа. Спавн предметов и пара других фишек. Ну не такой крутяк как в СЗ, но с пивом потянет. Изменено 29 Сентября 2016 пользователем _Val_ 1 Ссылка на комментарий
Nazgool 250 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 (изменено) иорданец, если не разберешься, то выковырну из мода вариант по-проще и поясню что писать, куда и как. Несмотря на число моих сообщений, подвоха тут нет ..... _Val_ Да ладно прибедняться-то : 7%Расскажи кому другому. Может поверят BFG Слава Богу что не пятница 13-е. А то не удержался бы. Начал бы вакханалить и заработал бы по заслугам. А так обошлось Мне интересно другое. Как это я умудрился Регистрация: 05.06.2009 И всего 666 ? Изменено 29 Сентября 2016 пользователем Nazgool Добавлено BFG, 29 Сентября 2016 Да уж... знаковое число. И почему сегодня не пятница 13-ое ? 1 Ссылка на комментарий
_Val_ 2 225 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 @Nazgool, ну я то разобрался со своим ай-кю в 7%. Ссылка на комментарий
UnLoaded 313 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 Есть гулаг, на 5 рыл. Сейчас ситуация такая - если убиваю любого из этого гулага, то остальные на это не реагируют(т.е. не начинают меня стрелять). Никаких комбат_игноров не прописано, логика - обычные волкеры да кампы. И шо я такого напортачил, что они так себя ведут? В СДК для всех 5-ти проставлены одинаковые команды, сквады, группы. То-же самое сделано в скрипте, в загрузке работ. Что не так? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 Хех, касательно координат: local pause_check = 100 -- function time_check() if pause_check >= 1 then pause_check = pause_check - 1 elseif db.actor and device():is_paused() then -- actor добавляется из bind_stalker if pause_check == 0 then pause_check = -1 if dc_info then -- вот сюда вещается вывод всякой полезной информации по паузе dc_info.info() end log( "log", "paused !" ) return false end else pause_check = 100 end global_time_ms = time_global() game_time_time = game.get_game_time() -- полное игровое время game_time_sec = game_time_time:diffSec( game_time_base ) -- секунд от загрузки local _, _, _, _, _, _, ms = game_time_time:get() -- y, m, d, hh, mm, ss, ms game_time_ms = game_time_sec * 1000 + ms -- ms от загрузки return false end function init_time_check() -- инициализация при загрузке смартов, до этого game.get_game_time() нет. game_time_time = game.get_game_time() game_time_base = game_time_time game_time_sec = game_time_time:diffSec( game_time_base ) _, _, _, _, _, _, game_time_ms = game_time_time:get() level.add_call( time_check, dummy_action ) end между делом так... Ага, на самом деле довольно удобно, когда разная инфа сбрасывается в лог именно при паузах. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Nazgool 250 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 (изменено) Dennis_Chikin Мда, я этого не знал. Интересно конечно. Сколько же разных фишек и костылей придумано за всё время. Только вот как ни крути, хочется это принимать или нет (никогда не мог подумать что скажу это), но выходит что использование Lua и есть самым большим костылем. Понятное дело, что для нас простяков это манна небесная. Только вот если хочется чего-то большего, то прийдется всё-таки изучать СРР. P.S. Если кто-то действительно разбирается в срр и кому нечего делать, то сможет стать поводырем для меня? Извиняюсь за то, что не в той теме, но так уж к слову получилось. Изменено 29 Сентября 2016 пользователем Nazgool Ссылка на комментарий
dPlayer 525 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 @иорданец, ну если тебя устроит отображение координат на экране, то держи скрипт от bardak'а. Классика модостроя-с Закинуть в папку с игрой. Самый некомпетентный на форуме. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 29 Сентября 2016 Поделиться Опубликовано 29 Сентября 2016 (изменено) 2 Nazgool: Очень сильно хочу порт под gcc. Чтоб make, и собралось. Студию не воспринимаю от слова совсем. Изменено 29 Сентября 2016 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
UnLoaded 313 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 (изменено) Чем дальше в лес... Есть такой диалог(тут упрощенный скелет): <phrase id="0"><!--- эту фразу НПС выдает --> <text>фраза_0</text> <next>1</next> <next>2</next> <next>3</next> </phrase> <phrase id="1"> <has_info>инфо-порция1</has_info> <text>фраза_1</text> <next>11</next> </phrase> .................. <phrase id="2"> <dont_has_info>инфо-порция1</dont_has_info> <text>фраза_2</text> <next>21</next> </phrase> .................. <phrase id="3"> <text>фраза_3</text> <action>dialogs.break_dialog</action> </phrase> Значится, непись говорит свою фразу, а затем у нас выбор - или одна из фраз №1 или №2 + однозначно фраза№3. Ан нет, оказывается, что такой расклад не прокатывает - фразы№3 не будет в диалоге. Поковырявшись, выяснил, что для того, чтоб появилась и фраза№3, надо и в ней вставить условие. Т.е. в таком виде: <phrase id="3"> <has_info>инфо-порция2</has_info> <text>фраза_3</text> <action>dialogs.break_dialog</action> </phrase> при выданной инфо-порции "инфо-порция2" фраза№3 отображается. Вопрос: или я чего-то недогоняю в структуре построения диалогов, или так специально сделано? Если специально - то зачем? Ведь не логично... Изменено 30 Сентября 2016 пользователем UnLoaded Ссылка на комментарий
Карлан 1 049 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 @UnLoaded, все у тебя, конкретно здесь, верно, за примерами обратись к диалогу с пулей, или с кругловым, или с шурупом, да масса примеров. Не надо вставлять никакой has_info в данном случая, любая проверка на фразу (тем более лишняя) приближает незадачливого модмейкера к No available phrase to say(с). Ссылка на комментарий
UnLoaded 313 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 все у тебя, конкретно здесь, верно Я и сам вижу, что вроде все верно - но тест в игре дает обратный результат! С тем, что видишь в игре - не поспоришь... Ссылка на комментарий
BFG 7 582 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 (изменено) @UnLoaded, Всё верно. Сам с этим сталкивался когда ветвил диалоги. Условия надо ставить в каждой ветке. Обычно использовал <has_info>... Может есть конечно способ проще, но он работает, а мне более и не надо. Изменено 30 Сентября 2016 пользователем BFG "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Карлан 1 049 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 @BFG, что значит в каждой ветке? У тебя из каждой фразы ветвится несколько вариантов, доступность каждого определяется набором условий, если условия какого-либо варианта выполняются, то он появляется в списке доступных фраз, если ни одно условие не выполнено для хоть какой-нибудь фразы, то происходит ошибка о которой я сказал выше. Вот вам пример из оригинала: <dialog id="mil_screw_dialog"> <phrase_list> <phrase id="0"> <text /> <next>1</next> <next>2</next> <next>3</next> </phrase> <phrase id="1000"> <text>mil_screw_dialog_1000</text> <next>1001</next> </phrase> <phrase id="1001"> <text>mil_screw_dialog_1001</text> <next>1002</next> </phrase> <phrase id="1002"> <text>mil_screw_dialog_1002</text> <next>1003</next> </phrase> <phrase id="1003"> <text>mil_screw_dialog_1003</text> <next>1004</next> </phrase> <phrase id="1004"> <text>mil_screw_dialog_1004</text> <next>1005</next> </phrase> <phrase id="1005"> <text>mil_screw_dialog_1005</text> <next>1006</next> </phrase> <phrase id="1006"> <text>mil_screw_dialog_1006</text> <next>1100</next> <next>1200</next> </phrase> <phrase id="2"> <text /> <has_info>mil_screw_talk</has_info> <next>2000</next> </phrase> <phrase id="2000"> <text>mil_screw_dialog_2000</text> </phrase> <phrase id="3"> <text /> <dont_has_info>mil_screw_talk</dont_has_info> <has_info>mil_screw_talk_short</has_info> <next>4</next> </phrase> <phrase id="4"> <text>mil_screw_dialog_4</text> <next>1100</next> <next>1200</next> </phrase> <phrase id="1100"> <text>mil_screw_dialog_1100</text> <give_info>mil_screw_talk_short</give_info> <next>1101</next> </phrase> <phrase id="1101"> <text>mil_screw_dialog_1101</text> <next>1102</next> </phrase> <phrase id="1102"> <text>mil_screw_dialog_1102</text> <action>m_talks.break_dialog</action> </phrase> <phrase id="1200"> <text>mil_screw_dialog_1200</text> <precondition>m_talks.have_a_vodka</precondition> <give_info>mil_screw_talk</give_info> <give_info>mil_screw_talk_short</give_info> <next>1201</next> </phrase> <phrase id="1201"> <text>mil_screw_dialog_1201</text> <action>m_talks.transfer_scope</action> <next>1202</next> </phrase> <phrase id="1202"> <text>mil_screw_dialog_1202</text> <action>m_talks.break_dialog</action> </phrase> <phrase id="1"> <text /> <dont_has_info>mil_screw_talk</dont_has_info> <dont_has_info>mil_screw_talk_short</dont_has_info> <next>1000</next> </phrase> </phrase_list> </dialog> Ссылка на комментарий
UnLoaded 313 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 В конфиге script_sound.ltx, для звуковых тем суффиксы _rnd или _seq что означают ? Одноразовое или цикличное воспроизведение ? Ссылка на комментарий
dPlayer 525 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 BFG, с чего бы это? Сам уже сделал не один диалог, и никогда такого не видел все ветки появляются сразу и без условий и проверок. UnLoaded, попробуй сделать без проверок, просто чистый диалог. Добавлено BFG, 30 Сентября 2016 С того, что он хочет сделать "или-или-или", а не "и-и-и". Самый некомпетентный на форуме. Ссылка на комментарий
UnLoaded 313 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 С того, что он хочет сделать "или-или-или" Вот именно... Ссылка на комментарий
Карлан 1 049 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 С того, что он хочет сделать "или-или-или", а не "и-и-и". Еще раз, что это значит? Я не понимаю. У тебя и в "или-или-или" и в "и-и-и" четыре вершины и три ребра, все зависит от того как ты выстраиваешь этот граф (приводишь его к одному из видов), @dPlayer сказал все совершенно верно. Не следует путать ошибочную ориентацию графа с какими-то мифическими условиями работы прекондишнов. Диалог в сталкере, если верно помню графы, всегда выступает ориентированным графом, соответственно никаких двусмысленностей там не может быть в принципе. Либо я не понимаю о чем вы тут говорите. В конфиге script_sound.ltx, для звуковых тем суффиксы _rnd или _seq что означают ? Это схема озвучки, смотри ее в sound_theme.script и xr_sound.script, там все держится на нескольких таблицах, рандом и секвенсор это хвосты, по которым определяются (и записываются в таблицу) настройки звука, есть еще _single хвост. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 (изменено) _rnd или _seq В настоящее время - все, что угодно. Случайный выбор, последовательное воспроизведение, одиночный стереозвук... И одноразово, и циклично. Примерно как-то вот так (переписано для более вменяемого формата конфига): if tt.rnd then t2 = tt.rnd t3 = t2[sid] or t2[pname] or t2[comm] or t2.stalker if t3 then if t3[1] == 1 then tids.rnd_max = npc:add_sound( t3[2], nstl, snd_type.talk, 2, 1, v.rnd_id ) ... if tt.seq then t2 = tt.seq t3 = t2[sid] or t2[pname] or t2[comm] or t2.stalker if t3 then tids.into_cycled = true if t3[1] == 1 then tids.into_max = npc:add_sound( t3[2], nstl, snd_type.talk, 2, 1, v.into_id ) касательно условий в диалогах - да, судя по коду, создается единая таблица, из которой потом выбирается одна из секций. То есть, хоть какая-то проверка быть должна. Изменено 30 Сентября 2016 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dPlayer 525 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 UnLoaded, можешь скинуть диалог полностью? Самый некомпетентный на форуме. Ссылка на комментарий
UnLoaded 313 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 (изменено) Либо я не понимаю о чем вы тут говорите. Ну чего там не понятного? Смысл диалога, упрощенный скелет которого я привел: Фраза№1 - "Пойдешь на лево" Фраза№2 - "Пойдешь на право" Фраза№3 - "Отвали, никуда я не пойду". Т.е. первые две фразы - взаимоисключающие друг-друга по условию(<has_info>инфо-порция1</has_info> и <dont_has_info>инфо-порция1</dont_has_info>), но одна из них будет присутствовать, а третья должна присутствовать всегда(без каких-либо условий), в ней, прерывание диалога стоит. Что тут не понятного? И логично было-бы, что фраза, не имеющая условий, должна отображаться всегда. Или у меня логика не та, что у ПЫСов? В настоящее время - все, что угодно. Т.е. движок\или скрипт какой-там назначен не обрабатывают этих окончаний? Изменено 30 Сентября 2016 пользователем UnLoaded Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти