ее нужно закоментить поставив перед строкой ";" можно по идее еще 1 заменить на 0, но я у себя просто закоментил Что толку, если не можешь сделать мир лучше.
case "сделать офицером" ... // здесь прописывается стандартный метод зачисления офицера в команду ГГ, смотрите примеры Хемфри Дугласа, Даниэль Шеппард и прочих квестовых ... break;
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
case "First time": dialog.text = "Привет Джек. Ну как достал со дна Чёрную Жемчужину?"; link.l1 = "Да, только это было не так уж и легко"; link.l1.go = "dialog1"; break;
case "dialog1": dialog.text = "Тебе наверняка нужен хорощий Старпом?"; link.l1 = "А ты знаешь хорошего?"; link.l1.go = "dialog2"; break;
case "dialog2": dialog.text = "Я про себя говорю."; link.l1 = "А сколько требуещь в месяц?"; link.l1.go = "dialog3"; break;
case "OffM": dialog.text = "5000 в месяц"; { link.l1 = "Нет у меня таких денег."; link.l1.go = "OffM_noMoney"; } else { link.l1 = "Это очень дорого для меня."; link.l1.go = "OffM_noMoney"; link.l2 = "Хорошо, я согласен."; link.l2.go = "OffM_Ok_3"; } NextDiag.TempNode = "OffM_TWO";
case "OffM_Ok_4": dialog.text = "Вот, теперь совсем другое дело!."; link.l1 = "Отлично. Добро пожаловать в команду."; link.l1.go = "exit_hire"; break; case "exit_hire": AddMoneyToCharacter(pchar, -sti(Npchar.quest.OfficerPrice.add)); npchar.model = "pirat10"; npchar.model.animation = "man3"; npchar.greeting = "Gr_questOfficer"; npchar.Dialog.Filename = "Enc_Officer_dialog.c"; Pchar.questTemp.HiringOfficerIDX = GetCharacterIndex(Npchar.id); npchar.OfficerWantToGo.DontGo = true; //не пытаться уйти npchar.loyality = MAX_LOYALITY; AddDialogExitQuestFunction("LandEnc_OfficerHired"); NextDiag.CurrentNode = NextDiag.TempNode; NPChar.quest.meeting = true; DialogExit(); break;
Сообщение отредактировал Xiks - Суббота, 08.02.2014, 09:09
В кейсе "OffM" должна быть проверка на наличие у ГГ требуемой суммы. Пример опять-таки берите из диалога с Дугласом... Нет break для этого кейса, при попытке запуска игры будет стабильная ошибка...
Привожу пример расширенного диалога, написанного для своей игры...
Код
case "YD_6": dialog.text = "Деньги, капитан. Ваши деньги... У меня много долгов, нужно рассчитаться, прежде чем свалить отсюда."; link.l1 = "Гм... хорошо. И сколько вам нужно?"; link.l1.go = "YD_7"; break;
case "YD_8": dialog.text = "Итак, капитан... Вы готовы заплатить сто пятнадцать тысяч?"; if (sti(pchar.money) < 115000) { link.l1 = "К сожалению, у меня нет с собой требуемой суммы..."; link.l1.go = "YD_Check_noMoney"; } else { link.l1 = "Нет проблем, " + npchar.name + ". Вот требуемая сумма."; link.l1.go = "YD_9"; } break;
case "YD_Check_noMoney": dialog.text = "Ну что же, желаю вам их заработать. Я думаю, что все у вас получится. До встречи!"; link.l1 = "Спасибо за пожелание."; link.l1.go = "exit"; NextDiag.TempNode = "YD_8"; break;
case "YD_9": AddMoneyToCharacter(pchar, -115000); dialog.text = "Как я рада, капитан! Надеюсь, мы с вами станем отличной командой!.."; link.l1 = "Я тоже так считаю, " + npchar.name + "."; link.l1.go = "YD_10"; break;
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Суббота, 08.02.2014, 13:55
switch(Dialog.CurrentNode) { case "Exit": NextDiag.CurrentNode = NextDiag.TempNode; DialogExit(); break;
case "Barb_1": dialog.text = "Привет Джек. Ну как достал со дна Чёрную Жемчужину?"; link.l1 = "Да, только это было не так уж и легко"; link.l1.go = "Barb_2"; break;
case "Barb_2": dialog.text = "Тебе наверняка нужен хорощий Старпом?"; link.l1 = "А ты знаешь хорошего?"; link.l1.go = "Barb_3"; break;
case "Barb_3": dialog.text = "Я про себя говорю."; link.l1 = "А сколько требуещь в месяц?"; link.l1.go = "Barb_4"; break;
case "Barb_5": dialog.text = "Итак, Джек. Ты готов заплатить пять тысяч ?"; if (sti(pchar.money) < 5000) { link.l1 = "К сожалению, у меня нет с собой требуемой суммы..."; link.l1.go = "Barb_Check_noMoney"; } else { link.l1 = "Нет проблем, " + npchar.name + ". Вот требуемая сумма."; link.l1.go = "Barb_6"; } break;
case "Barb_Check_noMoney": dialog.text = "Ну что же, желаю тебе их заработать."; link.l1 = "Спасибо за пожелание."; link.l1.go = "exit"; NextDiag.TempNode = "Barb_5"; break;
case "Barb_7": AddMoneyToCharacter(pchar, -5000); dialog.text = "Вот и отлично.."; link.l1 = "Я тоже так считаю, " + npchar.name + "."; link.l1.go = "Barb_7"; break;
У меня почему то пишет при диалоге с ним что не найден файл диалога назначенного этому персонажу
Конечно, т.к. пропущен кейс "Barb_6", а "Barb_7" дублируется... Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
switch(Dialog.CurrentNode) { case "Exit": NextDiag.CurrentNode = NextDiag.TempNode; DialogExit(); break;
case "Barb_1": dialog.text = "Привет Джек. Ну как достал со дна Чёрную Жемчужину?"; link.l1 = "Да, только это было не так уж и легко"; link.l1.go = "Barb_2"; break;
case "Barb_2": dialog.text = "Тебе наверняка нужен хорощий Старпом?"; link.l1 = "А ты знаешь хорошего?"; link.l1.go = "Barb_3"; break;
case "Barb_3": dialog.text = "Я про себя говорю."; link.l1 = "А сколько требуещь в месяц?"; link.l1.go = "Barb_4"; break;
case "Barb_5": dialog.text = "Итак, Джек. Ты готов заплатить пять тысяч ?"; if (sti(pchar.money) < 5000) { link.l1 = "К сожалению, у меня нет с собой требуемой суммы..."; link.l1.go = "Barb_Check_noMoney"; } else { link.l1 = "Нет проблем, " + npchar.name + ". Вот требуемая сумма."; link.l1.go = "Barb_6"; } break;
case "Barb_Check_noMoney": dialog.text = "Ну что же, желаю тебе их заработать."; link.l1 = "Спасибо за пожелание."; link.l1.go = "exit"; NextDiag.TempNode = "Barb_5"; break;
case "Barb_6": AddMoneyToCharacter(pchar, -5000); dialog.text = "Вот и отлично.."; link.l1 = "Я тоже так считаю, " + npchar.name + "."; link.l1.go = "Barb_7"; break;
А откуда взялся параметр "Npchar.quest.OfficerPrice.add"? Он где-то выше определён? Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Суббота, 08.02.2014, 14:48
Так зачем тогда он там? В кейсе выше ГГ ведь уже отдаёт требуемую сумму, зачем же такой грабёж? )) Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Да, а ещё советую вооружиться методом, описанным вот здесь и пользоваться им регулярно! Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!