Nathaniel, С логами беда если те что с расширением ini то их у меня 2 но я в логах валенок)
Добавлено (26.10.2014, 13:35) --------------------------------------------- Reboroda, Да существует!Он работал полностью вот пока ожидание не вставил...
Добавлено (26.10.2014, 13:41) --------------------------------------------- Работает
case "wait_hour": dialog.text = "Зайдите через час. Сейчас у меня нет времени..."; link.l1 = "Хорошо. Я буду у вас через час."; link.l1.go = "wait_hour1"; break;
case "dialog11": AddQuestRecord("Anna", "6"); AddDialogExitQuest("dialog12"); dialog.text = "" + PChar.Name + " я уже начала скучать!"; link.l1 = "" + npchar.name + " неужели так сильно ждала?"; link.l1.go = "dialog12"; Break;
Значит где-то в этой вставке то есть
link.l1.go = "wait_hour"; Break;
case "wait_hour": dialog.text = "Зайдите через час. Сейчас у меня нет времени..."; link.l1 = "Хорошо. Я буду у вас через час."; link.l1.go = "wait_hour1"; break;
Хм... Да, затык видимо где-то в коде временной задержки. Error.log обязателен к ознакомлению. Включи создание логов. Сделай бэкап engine.ini (сохрани с другим именем для последующего восстановления). Затем открой его в текстовике.
1. Перед tracefilesoff = 1 поставь знак ";" (то бишь отруби эту строку).
Когда стартанешь гаму, у тебя в директории игры появятся нужные логи. Тебе понадобится Error.log
Добавлено (26.10.2014, 14:02) --------------------------------------------- ЗЫ. Не забудь, когда закончишь работу над всем своим делом, верни все обратно. Самое простое - восстанови ранее сохраненный бэкап, либо подставь назад нули и вруби строку tracefilesoff = 1 (удалив ";" перед строкой). Иначе игра будет жутко тупить, обрабатывая все дела на предмет ошибок и прочей фигни. Как-то так.
- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Тут первое число = год, второе = месяц, третье = день, ну а true либо false в конце = повторять или нет спустя такой-же срок квест снова. Эта функция оч часто юзается в кодах квестов. Но она тоже не учитывается при ожидании. Я как-то пробовал подождать время в один день с интерфейса промотки времени - нифига не стартануло. - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
DesBal, только строку ниже канеш, зачем тебе весь код из функции? Она то у тебя и так имеется в скриптах. - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Сообщение отредактировал Reboroda - Воскресенье, 26.10.2014, 15:46
case "wait_hour1": chrDisableReloadToLocation = false;//открыть локацию pchar.questTemp.Anna = "wait"; DialogExit(); SetTimerConditionParam("Anna", "Anna", 0, 0, 0, время в часах, false); AddQuestRecord("Anna", "5"); break;
Это если что, я для твоего первого диалога писал. Ну а тут соответственно. - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Сообщение отредактировал Reboroda - Воскресенье, 26.10.2014, 15:53
Reboroda, Сейчас текст пашет,осталось сделать тайм...
Добавлено (26.10.2014, 15:54) --------------------------------------------- Reboroda, Так у тебя время 0 стоит так не проверишь)Хотя проверить переходку а там тайминг выставлять...
Добавлено (26.10.2014, 16:04) --------------------------------------------- Reboroda, Откидывает к 7 выбору
case "dialog7": AddQuestRecord("Anna", "2"); AddDialogExitQuest("dialog7"); dialog.text = "" + PChar.Name + " я так рада что ты решил мне помочь!"; if (sti(pchar.money) < 100000) { link.l1 = "К сожалению, у меня нет с собой таких денег..."; link.l1.go = "AnnaNo"; } else { link.l1 = "Нет проблем, " + npchar.name + ". Вот требуемая сумма."; link.l1.go = "dialog8"; } break;
case "AnnaNo": dialog.text = "Жаль,а я надеялась ты сможешь мне помочь!"; link.l1 = "Не переживай я найду нужную сумму."; link.l1.go = "exit"; NextDiag.TempNode = "dialog7"; break;
DesBal, вместо "время в часах" пропиши цифру, сколько требуется задержки. Старт следующего диалога (нода диалога "dialog с нужной цифрой") пропиши уже в теле квеста "Анна". Есть код специальный, позволяющий вернуться к диалогу, я плохо помню, надо в скриптах рыться. Кажись этот:
Короче теперь тебе надо повозиться с продолжением диалога из квеста. Примеры - в скриптах. - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Сообщение отредактировал Reboroda - Воскресенье, 26.10.2014, 16:07
строку: npchar.Dialog.CurrentNode = npchar.BackUp.DialogNode; прописывай не здесь, а в квесте "Анна", который у тебя вероятнее всего должен быть написан в файле "quest_reaction.c" (я, например, пишу свои квесты в этом файле). - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Добавлено (26.10.2014, 16:22) --------------------------------------------- Reboroda, Я вообще хз зачем делать там всё и тут норм работает...
Единственное только у меня перс в другом месте)А всё остальное тут)
Добавлено (26.10.2014, 16:25) --------------------------------------------- Reboroda, Мне вообще порой кажется как-то так надо делать тайминг
case "dialog11": if ??? { dialog.text = "Зайдите через час. Сейчас у меня нет времени..."; link.l1 = "Хорошо. Я буду у вас через час."; link.l1.go = "exit"; NextDiag.TempNode = "dialog11"; } else { dialog.text = "" + PChar.Name + " я уже начала скучать!"; link.l1 = "" + npchar.name + " неужели так сильно ждала?"; link.l1.go = "dialog12"; } break;
Выполнил условие по таймингу вот и продолжение квеста а не выполнил,повторный диалог)
Добавлено (26.10.2014, 16:29) --------------------------------------------- Reboroda, ничего найдём как сделать) ещё надо текст дописать+ ГГ старт локу сменить и ему ещё ветку писать)
Готовность даньки 87% (суммарно,временный фриз)
Стартовый квест 10% (Суммарно)
Сообщение отредактировал DesBal - Воскресенье, 26.10.2014, 16:27
А я кстати и не гуру в скриптах, я вообще 3д модельер больше. Просто ковыряюсь по нужде и тд и тп...
строка NextDiag.TempNode = "dialog7"; , которую ты прописывал в своем коде
Код
case "AnnaNo": dialog.text = "Жаль,а я надеялась ты сможешь мне помочь!"; link.l1 = "Не переживай я найду нужную сумму."; link.l1.go = "exit"; NextDiag.TempNode = "dialog7"; break;
означает что следующая нода диалога, при встрече, будет "dialog7". Это я точно помню. Поэтому учитывай это. А моя npchar.Dialog.CurrentNode = npchar.BackUp.DialogNode; может и не работать, я на вскид припомнил. Возможно дико ошибаюсь, уж извини.)
Можешь попробовать и с условием поколдовать, тут все средства хороши. - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
DesBal, это всего лишь диалог на прокрутку времени!.. С одним только диалогом вы далеко не уедете: диалог отработает, а время не промотается. Поэтому нужна процедура, которая отмотает время и процедура, которая проверит - а действительно ли время прошло? Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!