|
Кодинг квестов
| |
korsar01 | Дата: Вторник, 13.09.2016, 14:50 | Сообщение # 421 |
Мичман
Группа: Корсар
Сообщений: 186
Награды: 6
Репутация: 46
Статус: В открытом море
| Blad45, все легко находится поиском. Для поиска по файлам я использую Notepad++. Можно начать с условия:
Код if(startHeroType == 1) Оно выведет на файл RPGUtilite.c там уже видно, что для Блада запускается функция Blood_StartGame,ее тоже можно найти через поиск, находится она в файле reaction_functions.c, в ней и прописывается локация. Если еще нужно убрать линейку Блада и просто загрузить его в нужной локации, то в файле RPGUtilite добавить строку:
Код Pchar.questTemp.CapBloodLine = false; в том месте, где идет вышеописанное условие.
Сообщение отредактировал korsar01 - Вторник, 13.09.2016, 15:09 |
|
| |
korsar01 | Дата: Среда, 14.09.2016, 13:17 | Сообщение # 422 |
Мичман
Группа: Корсар
Сообщений: 186
Награды: 6
Репутация: 46
Статус: В открытом море
| Цитата Blad45 ( ) Я спрашивал как поменять место куда Блад перемещается после ролика вот же ответ:Цитата korsar01 ( ) для Блада запускается функция Blood_StartGame,ее тоже можно найти через поиск, находится она в файле reaction_functions.c, в ней и прописывается локация. Если нужны подробности, то вот те самые строки:
Код pchar.quest.CureLordMovie.win_condition.l1.location = "EstateBadroom1";//id локации pchar.quest.CureLordMovie.win_condition.l1.locator_group = "quest";//группа локатора, куда нужно поместить персонажа pchar.quest.CureLordMovie.win_condition.l1.locator = "quest1";//имя самого локатора
комментариев там нет, я их подписал, чтобы было понятно, что к чему относится. Blad45, и не нужно грубить никому.
Сообщение отредактировал korsar01 - Среда, 14.09.2016, 13:23 |
|
| |
Nathaniel | Дата: Среда, 14.09.2016, 13:23 | Сообщение # 423 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата korsar01 ( ) комментариев там нет, я их подписал, чтобы было понятно, что к чему относится К сожалению, это не та категория пользователей, которым это поможет. Им требуется полностью написанный готовый код, за что в лучшем случае ничего не напишут в ответ... Привыкли, понимаешь ли, воровать с playground скрипты игр серии "Корсары".
Бесполезно... Не тратьте время на таких...
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
Ламбада | Дата: Понедельник, 20.03.2017, 22:19 | Сообщение # 424 |
Пороховая обезьяна
Группа: Пират
Сообщений: 7
Награды: 0
Репутация: 0
Статус: В открытом море
| Приветствую! Возник вопрос. Как прописать 2 поочередных условия? Методом научного тыка выяснил, что структура
Код if() { text } if() { text } else { text } видит лишь последние строчки, а именно:
Код if() { text } else { text } Что подскажете?
|
|
| |
Nathaniel | Дата: Понедельник, 20.03.2017, 22:22 | Сообщение # 425 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата Ламбада ( ) Как прописать 2 поочередных условия? Почитайте!
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
Ламбада | Дата: Понедельник, 20.03.2017, 22:31 | Сообщение # 426 |
Пороховая обезьяна
Группа: Пират
Сообщений: 7
Награды: 0
Репутация: 0
Статус: В открытом море
| Цитата Nathaniel ( ) Почитайте! Конструкция приобрела вид
Код if() { text } else if() { text } else { text } Все верно? Заменил второе if на else if. Произошел вылет игры
|
|
| |
Nathaniel | Дата: Понедельник, 20.03.2017, 22:38 | Сообщение # 427 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата Ламбада ( ) Все верно? Напишите конкретный пример кода!.. С этими схемами так я разобраться не могу. Может, у вас вообще в другом ошибка. Включите отладочные логи.
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
kb31 | Дата: Вторник, 21.03.2017, 04:12 | Сообщение # 428 |
Матрос
Группа: Корсар
Сообщений: 28
Награды: 1
Репутация: 17
Статус: В открытом море
| else if вроде не работает. могу ошибаться
|
|
| |
Nathaniel | Дата: Вторник, 21.03.2017, 12:44 | Сообщение # 429 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата kb31 ( ) else if вроде не работает У меня всё прекрасно работает. Если соблюдать вложенность условий и правильную расстановку скобок... Именно неверная расстановка скобок в 99% случаев и приводит к вылетам и отказе обработки всего файла.
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
kb31 | Дата: Вторник, 21.03.2017, 14:58 | Сообщение # 430 |
Матрос
Группа: Корсар
Сообщений: 28
Награды: 1
Репутация: 17
Статус: В открытом море
| Цитата Nathaniel ( ) У меня всё прекрасно работает. Если соблюдать вложенность условий и правильную расстановку скобок... Именно неверная расстановка скобок в 99% случаев и приводит к вылетам и отказе обработки всего файла. Конструкция else-if не подразумевает вложенность, и я не смог заставить ее работать у себя в коде. Поиск по коду выдал только 2 использования else if - оба закомментированные, отсюда и предположение
UPD:
Код if (0) { Log_Info("1"); } else if (1) { Log_Info("2"); }
Сообщение отредактировал kb31 - Вторник, 21.03.2017, 15:08 |
|
| |
Nathaniel | Дата: Вторник, 21.03.2017, 15:56 | Сообщение # 431 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата kb31 ( ) Конструкция else-if не подразумевает вложенность, и я не смог заставить ее работать у себя в коде. Поиск по коду выдал только 2 использования else if - оба закомментированные, отсюда и предположение Я автору вопроса сегодня отправлял своё видение решения этой проблемы. У меня всё работает, тем не менее... Более того, я сам "строчу" многоэтажные разветвления по своим квестам. В обычном текстовом редакторе я однажды едва не повесился от того, что игра не работала как следует. А ещё у меня была однажды проблема - в одном диалоге при копировании из Microsoft Word произошла смена символа двойной кавычки при закрытии строки. То есть как бы внешне - двойные кавычки, всё естественно. Но строка не обрабатывалась, ибо кавычки оказались просто "нарисованы" в файле. Я просидел с этой бедой несколько часов и просто весь извёлся.
Отсюда вывод... Пробуйте разные варианты, перебирайте методом проб и ошибок. И лучше - в редакторе с подсветкой синтаксиса.
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
kb31 | Дата: Вторник, 21.03.2017, 16:47 | Сообщение # 432 |
Матрос
Группа: Корсар
Сообщений: 28
Награды: 1
Репутация: 17
Статус: В открытом море
| Цитата Nathaniel ( ) своё видение решения этой проблемы Так то оно безусловно работает, я и говорил о том, что парсер не видит привычный "else-if" =) Кстати, примечательно, что в большинстве случаев в коде это решается не пирамидой вложений, а игнорированием "else" вообще А еще в ГПК 1.3.2 есть-таки один else-if, но я не проверял как там это (не)работает
|
|
| |
Nathaniel | Дата: Вторник, 21.03.2017, 23:25 | Сообщение # 433 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата kb31 ( ) в большинстве случаев в коде это решается не пирамидой вложений, а игнорированием "else" вообще... Вот я автору вопроса тоже написал по этому поводу. Если приходится иметь дело с числовыми или строковыми переменными - я просто пишу "switch... case... break", мне привычно его использовать. Но и от "if... else..." тоже не вижу смысла отказываться. Проблема ещё и в том, что в скриптах "Корсаров" не работают некоторые привычные функции С/С++ и мы немного ограничены в выборе средств.
Цитата kb31 ( ) есть-таки один else-if, но я не проверял как там это (не)работает... Если я не помню или не знаю синтаксис какой-либо стандартной функции или оператора, я просто вбиваю и смотрю. Сам с институтских лет кое-что начинаю подзабывать, а профессионально программированием я не занимаюсь. Так что в этом мне очень сильно помогает подсветка синтаксиса, не перестану об этом повторять. Если, например, введённые операторы не подсвечиваются белым цветом (ключевые слова) - значит написано неверно.
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
Jack94 | Дата: Четверг, 15.06.2017, 14:47 | Сообщение # 434 |
Матрос
Группа: Пират
Сообщений: 21
Награды: 2
Репутация: 2
Статус: В открытом море
| А как сделать чтобы гг перекидывало на палубу какого нибудь корабля во время квеста?
|
|
| |
korsar01 | Дата: Суббота, 17.06.2017, 08:17 | Сообщение # 435 |
Мичман
Группа: Корсар
Сообщений: 186
Награды: 6
Репутация: 46
Статус: В открытом море
| Jack94, Код DoReloadCharacterToLocation("SentJons_town","reload","reload1");//SentJons_town - id локации, reload - имя группы локаторов, reload1 - имя локатора, куда поместить персонажа
Сообщение отредактировал korsar01 - Суббота, 17.06.2017, 08:17 |
|
| |
Jack94 | Дата: Суббота, 17.06.2017, 13:01 | Сообщение # 436 |
Матрос
Группа: Пират
Сообщений: 21
Награды: 2
Репутация: 2
Статус: В открытом море
| korsar01, уже не надо, я решил не связываться больше с корсарами, уроков нормальных нету. Лучше не тратить время на это.
|
|
| |
EBN | Дата: Суббота, 17.06.2017, 17:27 | Сообщение # 437 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 14
Награды: 0
Репутация: 7
Статус: В открытом море
| Цитата Jack94 ( ) korsar01, уже не надо, я решил не связываться больше с корсарами, уроков нормальных нету. Лучше не тратить время на это. Уроков более чем достаточно, необходимо лишь для минимума проштудировать вопросник. Например, как можно было найти функцию телепорта персонажа в локу палубы? Вспомнить квест из игры, где встречается телепорт, пройти, и в program посмотреть код. Тем более, что код хорошо прокомментирован.
|
|
| |
Jack94 | Дата: Суббота, 17.06.2017, 18:50 | Сообщение # 438 |
Матрос
Группа: Пират
Сообщений: 21
Награды: 2
Репутация: 2
Статус: В открытом море
| Я бы не сказал что достаточно.
Сообщение отредактировал Jack94 - Воскресенье, 18.06.2017, 08:05 |
|
| |
korsar01 | Дата: Воскресенье, 18.06.2017, 09:57 | Сообщение # 439 |
Мичман
Группа: Корсар
Сообщений: 186
Награды: 6
Репутация: 46
Статус: В открытом море
| Jack94, Есть тема специальная "Чего не хватает разделу". Туда и можно написать, какие хотелось бы увидеть уроки. Цитата Jack94 ( ) уроков нормальных нету А вот тут не согласен, уроков полно, просто видимо кому-то лень разбираться. Например, как переместить ГГ, обсуждалось уже много раз. Если изучить все уроки, можно понять, как устроена игра, дальше в общем-то и без уроков можно будет разобраться в чем-то.
|
|
| |
Jack94 | Дата: Воскресенье, 18.06.2017, 11:20 | Сообщение # 440 |
Матрос
Группа: Пират
Сообщений: 21
Награды: 2
Репутация: 2
Статус: В открытом море
| korsar01, это бесполезно, особенно если учесть запрет обсуждения скриптов, и то что администрация и им подобные заняты лишь своим аддоном, который уже какой год не может выйти.
Сообщение отредактировал Jack94 - Воскресенье, 18.06.2017, 15:48 |
|
| |
|