Семь Футов под Килем
Форма входа
 
Приветствуем тебя, корсар Юнга!

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!
Логин:
Пароль:


Купить игры
 



Чат
 
500


Статистика
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 23 из 23
  • «
  • 1
  • 2
  • 21
  • 22
  • 23
Модератор форума: NikK  
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Кодинг квестов (Рассмотрим написание квестов)
Кодинг квестов
ЛамбадаДата: Среда, 16.08.2017, 22:37 | Сообщение # 441
Пороховая обезьяна
Группа: Пират
Сообщений: 7
Награды: 0
Репутация: 0
Статус: В открытом море
Привет всем! Решил я значит поковыряться в скриптах ККС и сразу же натолкнулся на проблему.
В начальном диалоге прописал включении функции:
Код
// --> матрос на корабле, прибытие в Сен-Пьер
  case "Startsailor":
   dialog.text = "Эх, первым делом, как сойду на берег - напьюсь!.. Просыпайтесь, месье... как вас там... Прибыли!";
   link.l1 = "А-ах! Что, уже? Чертова жара...";
   link.l1.go = "Startsailor_1";
   DoQuestFunctionDelay("pirateline", 0.1);  
  break;

Затем прописал саму функцию в quest_reaction:
Код
void pirateline()
{
     //ref sld;
  sld = GetCharacter(NPC_GenerateCharacter("ogersailor1", "citiz_50", "man", "man", 25, PIRATE, 0, true, "quest"));
  //sld = GetCharacter(NPC_GenerateCharacter("ogersailor1", "Adolf", "man", "man", 1, FRANCE, -1, false));
  ChangeCharacterAddressGroup(sld, "Fortfrance_town", "goto", "goto16");
  //FantomMakeCoolFighter(sld, 10, 10, 10, "blade_10", "pistol1", "bullet", 10);
  sld.Dialog.Filename = "Quest\none.c";
  sld.Dialog.currentnode = "First visit";
  sld.name = "Рудольф";
  sld.lastname = "Шмидт";
  LAi_SetActorType(sld);
  Log_Info("работает");
}

Комментарии - это следствие экспериментов с кодом, дабы он наконец заработал. Но он, на удивление, не работает. Строчка "работает" появляется, а персонаж не генерируется
Вот что говорит error log:
Код
RUNTIME ERROR - file: quests\quests_reaction.c; line: 13149
function 'pirateline' stack error

Прошу помочь разобраться
NathanielДата: Четверг, 17.08.2017, 16:07 | Сообщение # 442
Контр-адмирал
Группа: Капитан
Сообщений: 7726
Награды: 335
Репутация: 1744
Статус: В открытом море
Цитата Ламбада ()
Строчка "работает" появляется, а персонаж не генерируется...

Я бы для начала попробовал поставить NPC в какой-нибудь локатор, в котором персонаж гарантированно залогинится. Например, в пустой дом или в постоянно пустой существующий локатор. Если появится - значит всё хорошо; нет - искать причину более глубоко. А уже после этого проверять основной квест.

В городе же указанный локатор может быть или занят кем-то, или вообще не обрабатываться...


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!


Сообщение отредактировал Nathaniel - Четверг, 17.08.2017, 16:09
ЛамбадаДата: Четверг, 17.08.2017, 18:26 | Сообщение # 443
Пороховая обезьяна
Группа: Пират
Сообщений: 7
Награды: 0
Репутация: 0
Статус: В открытом море
Цитата Nathaniel ()
Я бы для начала попробовал поставить NPC в какой-нибудь локатор, в котором персонаж гарантированно залогинится.

Ставил сперва в джунглях, проверял на двух разных локаторах goto. Все равно не логинится.
Ошибка выдает лог, но видимой ошибки в коде я не вижу
Странно

Добавлено (17.08.2017, 18:26)
---------------------------------------------
Что ж, проблема решена, логика не понята. Скопировал вслепую код Грегуара и все заработало, даже на том локаторе, который отказывался работать.

korsar328Дата: Понедельник, 30.07.2018, 00:39 | Сообщение # 444
Мичман
Группа: Корсар
Сообщений: 86
Награды: 4
Репутация: 30
Статус: В открытом море
Ребят, назрел такого рода вопрос.
Мне нужно:
1. Пойти к НПЦ, поговорить с ним.
2. В процессе диалога он говорит что положил 25000 песо в свой сундук.
3. Забрать эти деньги из сундука.

Вопрос: как эти деньги в этот сундук добавить.


Жизнь - как божественная комедия...
ReborodaДата: Среда, 08.08.2018, 18:47 | Сообщение # 445
Мичман
Группа: Корсар
Сообщений: 141
Награды: 9
Репутация: 91
Статус: В открытом море
Поскольку у меня мало свободного времени, дам только некоторые советы:
1. Найди в коде похожего по геймплею квеста весь его функционал и открой эти файлы в своем Notepad++ (или похожем по функционалу блокноте). Найти можно по запомнившейся фразе например, а потом, отталкиваясь от диалога - найти все нужные функции будет не сложно.
2. По уже рабочему образцу создать свои функции наполнения сундука монетами и задействовать их в своем квесте.


- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
korsar328Дата: Четверг, 09.08.2018, 04:36 | Сообщение # 446
Мичман
Группа: Корсар
Сообщений: 86
Награды: 4
Репутация: 30
Статус: В открытом море
Reboroda, Я уже по другому реализовал этот момент. Просто добавил деньги самому НПЦ и после его убийства снимаю их с него

Добавлено (12.08.2018, 04:27)
---------------------------------------------
Ламбада, У тебя ошибка в названии
Нужно поставить вот так
Код
void pirateline(string qName)


Добавлено (12.08.2018, 04:45)
---------------------------------------------
Может кому интересно будет, я методом проб и ошибок, откопал вот такие функции:
1. Как сделать НПЦ игроком, т.е. дать управление над ним


2. Экран "На следующий день"

3. Экран "На следующий день" с перезагрузкой в локацию

4. Даём корабль и ставим корабль в локацию (Я наконец-то разобрался как это сделать!!!)


Продолжение следует...


Жизнь - как божественная комедия...

Сообщение отредактировал korsar328 - Воскресенье, 12.08.2018, 04:47
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Кодинг квестов (Рассмотрим написание квестов)
  • Страница 23 из 23
  • «
  • 1
  • 2
  • 21
  • 22
  • 23
Поиск:

Copyright Pirates-Life.Ru © 2008-2018


Семь Футов под Килем - Бухта Корсаров и Пиратов!