Nathaniel, так я и скопировал эти кейсы из habitue! (естественно подправил по следующим/предыдущим) И в кейсы все вписал. Так и не могу понять куда конкретно вставлять эту функцию. Уже во всё строчки переставил((((((((( Делай то, что велят тебе твои сердце и разум. И будь что будет!
Объясните, пожалуйста, какой функцией можно дать указание ГГ в игре "подождать N часов"? С перезагрузкой локации...
попробуй поискать в файле \PROGRAM\dialogs\russian\MainHero_dialog.c примерная строчка 116 и ниже если пользоваться прогой Notepad++ это отвечает за мысли в слух.
Сообщение отредактировал Джин-Бейн - Вторник, 08.10.2013, 02:36
попробуй поискать в файле \PROGRAM\dialogs\russian\MainHero_dialog.c
Там есть только функции: "отдыхать до ночи...", "...до утра", "до следующего утра"; а конкретный пример задания интервала времени в 1.2.12 не запрограммирован!.. Во всяком случае, я ничего не нашёл даже в квестовых линейках...
Цитата (yodalik)
Так и не могу понять
Ну хорошо... А строка
Код
Diag.TempNode = "8";
что означает? Что это за "восьмёрка"? Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Да, вы были правы, прошу прощения... Не нашёл функцию WaitDate(), которая и решила все мои вопросы!.. Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
первые два - это координаты левого верхнего угла, а последние - нижнего правого (x,y соответственно)
Спасибо! Я так и подумал, когда в первый раз заменил эти числа... Вторая пара, как я понял, должна рассчитываться на основе первой? Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Согласен, на сегодняшних тестах в этом убедился...
----------- Ещё один вопрос... Пишу в кейсе процедуру промотки времени с заставкой на экране: "Прошло 3 часа..."
Код
SetLaunchFrameFormParam("Прошло три часа...", "", 0, 5); LaunchFrameForm(); WaitDate("", 0, 0, 0, 3, 10); //крутим время RecalculateJumpTable();
Но штука в том, что эти 3 часа проматываются, а заставки нет! Что я делаю не так?
И что означают в процедуре SetLaunchFrameFormParam() последние два числовые параметра? Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Суббота, 12.10.2013, 03:54
Nathaniel, для начала я бы рекомедовал проверить такой вариант: SetLaunchFrameFormParam("Прошло три часа...", "", 1.5, 5.0); и вот еще что - числа на концах это тип float, их желательно писать с дробной частью на конце, но я это не вызовет критических ошибок, как мне думается :)
я у себя в коде писал функции в другом порядке и все работало например так:
Код
WaitDate("", 0, 0, 0, 3, 10); //крутим время RecalculateJumpTable(); SetLaunchFrameFormParam("Прошло три часа...", "", 0, 5); LaunchFrameForm();
Что толку, если не можешь сделать мир лучше.
Сообщение отредактировал Mett - Воскресенье, 13.10.2013, 03:35
Всё работает, кроме появления интерфейса таблички с надписью...
ЦитатаPhenixx ()
Возможно, нужно в одном кейсе прописать заставку, а в другом время и вызвать второй кейс функцией
Попробовал... На указанном примере. Не получается... Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Воскресенье, 13.10.2013, 12:52
// Инициация таблички В это время на Беде --> // _FrameText - текст Перенос строки делать "текст"+ NewStr() +"текст" // _FrameQuest - квест после завершения таблички, если == "Reload_To_Location" см. SetLaunchFrameReloadLocationParam // если же будет == "Run_Function" см. SetLaunchFrameRunFunctionParam // _delay - время в с. отложения вызова таблички (нужно для неконфликта с заставкой загрузки локаций, где-то 0.1-1.5с) // _autoEnd - время в с. автозавершения показа таблички, 4-6с на фразу void SetLaunchFrameFormParam(string _FrameText, string _FrameQuest, float _delay, float _autoEnd) { pchar.AutoQuest.FrameText = _FrameText; pchar.AutoQuest.FrameQuest = _FrameQuest; pchar.AutoQuest.FrameDelay = _delay; pchar.AutoQuest.FrameAutoEnd = _autoEnd; }
так же я бы посоветовал сменить твой код на такой:
Этот вообще не работает. Диалог зависает намертво и приходится убивать процесс в диспетчере задач... Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Понедельник, 14.10.2013, 01:23
Ну, не получается - и не получается, Бог с ним... Зато у меня кое-что другое заработало! :)) Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
у меня есть модель Дейви джонса, но что бы у меня 77 главных героев. а если я поставлю Джонза, то там будут новые ГГ. как этого избежать? Кто-то-пират А я-корсар!
Сообщение отредактировал Дик_Джонсан - Понедельник, 14.10.2013, 21:00