|
|
04.05.2009, 21:56
|
#2201
|
|
Re: М: Скриптинг в Готике
2Magmatic:
Как направить NPC к нужной точке, чтобы он потом обратно не возвращался? Достаточно прописать команду (и вейпоинт) в скрипте перса или в диалоге тоже надо указать команду на перемещение (кстати, какую именно)?
|
В файле НПЦ прописываешь распорядок с нужной функцией и в диалоге НПЦ потом вызываешь эту функцию командой Npc_ExchangeRoutine(self,"РАСПОРЯДОК");. Например, NOV_1300_TALAS (Талас ис Г1 проводит ГГ к кладбищу орков) в файле NOV_1300_TALAS.d прописан распорядок. func void rtn_gobbocave_1300() { TA_Guide_Player(24,0,6,0,"LOCATION_29_02"); TA_Guide_Player(6,0,24,0,"LOCATION_29_02"); } где 1300 - ID НПЦ, TA_Guide_Player - функция которая отвечает за сопровождение НПЦ, LOCATION_29_02 - собсно точка на вейпоинте. Далее в диалоге выполняем: Npc_ExchangeRoutine(self,"GOBBOCAVE"); //Срабатывает ранее описанный распорядок (который ОБЯЗАТЕЛЬНО нужно в функции писать ЗАГЛАВНЫМИ буквами). AI_StopProcessInfos(self); //Выход из диалога.
|
|
|
05.05.2009, 05:34
|
#2202
|
|
Re: М: Скриптинг в Готике
Программа, косвенно имеющая отношение к скриптам Г1 и Г2 - Редактор переменных в сейвах игры для того, чтобы откатить какие-то вещи назад в игре. И наоборот, наверное... В общем, вот: Gothic Variablen Editor (GDE) - Редактор ПеременныхСКАЧАТЬ (39.1 KB) ОПИСАНИЕGothic Редактор переменных - это программа по изменению сохранений игровых состояний Gothic и Gothic II. Как дополнение к Cheatmodus (режим Марвин) программа предлагает возможность изменять очень просто и комфортно игровые переменные величины. Это позволит достичь различных целей: - обход / ликвидацию багов - отмена принятых решений - возврат квестов, чтобы иметь возможность выполнить их заново - (частично) респаун монстров - сокращение игровых областей Маленький экскурс по переменным величинам:__________________________ Переменные величины можно представить как памятку или штрихкод. Чтобы Готика могла сохранить и загрузить игровое состояние, ей нужно каким-то образом зафиксировать состояние игры, т.е. что именно герой уже сделал. Таким образом фиксируется, например, поговорил ли уже герой с Ксардасом о Глазе Инноса, собрал ли он уже для Лобарта корнеплоды, получил ли уже торговец от него требуемый в этой главе товар и насколько хорошо герой может уже добывать золото. __________________________ Редактирование Savegames ограничивается этими самыми переменными величинами. Внедренные в мир вещи, как важные предметы и NPC не могут быть изменены в GVE. Для этого есть режим Marvin. При первом запуске или во время инсталляции потребуется указать папку с Gothic. После этого можно загрузить Savegames, загружая вручную, например, самое актуальный (ориентируясь по дате) Savegame или используя список, в котором упорядочено перечислены все Savegames модов. Когда Savegame загружен, имена переменных величин показываются слева, а их значение - справа. Как правило, используются значения 0 и 1, которые означают для 0 = выкл и 1 = вкл. Если у DIA_ADDON_GREG_BANDITARMOR значение - 0, то герой еще не говорил с Грегом о бандитском вооружении. Что конкретно представляет переменная величина? Это в большинстве случаев сложно объяснить, не имея соответствующих скриптов игры / Mod. Однако, благодаря приставке переменной величины, зачастую можно грубо классифицировать переменную величину. Если переменная величина начинается с DIA, то речь идет при этом в большинстве случаев о диалоге. Переменная величина диалога может принимать значение 1 и 0: При 1 диалог уже состоялся, при 0 - нет. Если переменная величина начинается с MIS, то речь идет в большинстве случаев о Questvariable (переменная квеста). Questvariable отражает состояние квеста: 0 = квест еще не взят 1 = квест запущен 2 = квест успешно завершен 3 = квест провален 4 = квест в неустойчивом состоянии Если переменная величина содержит пункт от имени, то речь идет о локальной переменной величине, изменение которой не должно иметь, собственно, воздействия. Они перечислены лишь для полноты картины (и могут использоваться, возможно, для ограничивания ошибок). В окне поиска можно просмотреть Vairablenliste (список переменных). Для изменения значения просто кликните число и впечатайте желаемое значение. Изменение значения принимается только, когда кликнете сохранить. Перед этим можно создать Backup (резервную копию) игрового состояния (которое можно загрузить по желанию вновь). Еще предупреждаю: При редактировании файлов всегда может возникнуть какие-то срывы, поэтому желательно резервные копии создавать (вручную) всегда. Russian translation by odin68
|
|
|
05.05.2009, 06:40
|
#2203
|
|
Re: М: Скриптинг в Готике
2odin68:
4 = квест в неустойчивом состоянии
|
А это як? Сколько играл, а такого не видел...
|
|
|
05.05.2009, 10:24
|
#2204
|
|
Re: М: Скриптинг в Готике
2luciano:
А это як? Сколько играл, а такого не видел...
|
м.б. имеется в ввиду LOG_OBSOLETE, я помню только один момент где оно встречается - в мече Уистлера, Г1, если ГГ ляпнул Фиску про Уистлера и не смог купить меч. ;D
|
|
|
05.05.2009, 10:26
|
#2205
|
|
Re: М: Скриптинг в Готике
The following error was encountered while trying to retrieve the URL: http://dl1.worldofplayers.de:81/dl/983590000ee5a827f2f5d62774154e0e/49ffcd9a/wog/gothic2/sonstiges/GVE.zip
Access Denied.
|
А программка, надо заметить, занятная. Как разработчику мода мне бы она пригодилась. Да и тестерам тоже...
|
|
|
05.05.2009, 16:14
|
#2206
|
|
Re: М: Скриптинг в Готике
2kraw:
The following error was encountered while trying to retrieve the URL: http://dl1.worldofplayers.de:81/dl/983590000ee5a827f2f5d62774154e0e/49ffcd9a/wog/gothic2/sonstiges/GVE.zip
Access Denied.
|
А это что за ссыль с еррорами? ;)
|
|
|
06.05.2009, 03:32
|
#2208
|
|
Re: М: Скриптинг в Готике
Попал по ссылке - http://www.worldofgothic.de/dl/index.php?go=downloads&file_id=388 ??? Это стандартная ссылка всех страниц закачек ВОГа. Если ты попал нажав на ссылку с указанной странице - то это совсем другой вопрос. В этом случае просто нужно приспособиться к самому ВОГу, а именно научиться с него качать. У некоторых с этим проблемы :D Добавление от 05/06/09, в 02:52:12 2odin68:
Gothic Variablen Editor (GDE) - Редактор Переменных
|
Русскую версию программы можно скачать - ЗДЕСЬ (40 кб)
|
|
|
06.05.2009, 15:45
|
#2209
|
|
Re: М: Скриптинг в Готике
м.б. имеется в ввиду LOG_OBSOLETE
|
Тогда это будет не "квест в неустойчивом состоянии", а "квест устарел или отменён" (типа проехали). ;) Например, в Г2 так отменяется квест Секоба вернуть Рози, если ГГ отвёл её и Тилла в город/монастырь/поместье Онара.
|
|
|
06.05.2009, 15:51
|
#2210
|
|
Re: М: Скриптинг в Готике
2Dimus:
Тогда это будет не "квест в неустойчивом состоянии", а "квест устарел или отменён" (типа проехали). Например, в Г2 так отменяется квест Секоба вернуть Рози, если ГГ отвёл её и Тилла в город/монастырь/поместье Онара.
|
Ну в любом случае значение LOG_OBSOLETE в константах равно 4, а значит речь идет о ней, просто перевод разный.
|
|
|
06.05.2009, 17:48
|
#2212
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от odin68 link=board=gothic&t=1105030050&goto=4984125 date=05/06/09, в 16:12:27
Дык как лучше перевести тогда?
|
IMHO лучше перевести не буквально, а по смыслу, т.е. "квест отменён". Ведь игрок явно не провалил квест, а просто выполнил противоречащее указанному квесту задание.
|
|
|
06.05.2009, 23:29
|
#2213
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от Dimus link=board=gothic&t=1105030050&goto=4984220 date=05/06/09, в 16:48:05
IMHO лучше перевести не буквально, а по смыслу, т.е. "квест отменён". Ведь игрок явно не провалил квест, а просто выполнил противоречащее указанному квесту задание.
|
Ок, поправил. Так действительно понятно стало, спасибо. Еще вот не могу врубиться, что там за птичка устанавливаемая на "Hide" (перевел как "Скрыть"). А что там "Скрыть" не могу отследить. Ставлю птичку или убираю - изменений не вижу. Может, кто разобрался с этим уже? Вот эта строка: <CKBAUSBLENDEN>Hide</CKBAUSBLENDEN>
|
|
|
10.05.2009, 15:06
|
#2215
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от MaGoth link=board=gothic&t=1105030050&goto=4991297 date=05/10/09, в 11:45:50
Перевод.: LOG_OBSOLETE = Выполнен/Завершен иначе.
|
Да там уже есть версия "Выполнен". Тут скорее - "Закрыт"(отменен). Во! А может это "повисший квест"? Висит себе в дневнике, и завершить его нет уже возможности. Что-то прошляпил, а игра не учла? Помню, были такие записи в дневнике, что квест типа взят, но он так до конца и висит.
Ps. Довольно древняя програмка, уже около года на воге валяется... Это случаем не редактор сейвов, или это одно и то же?! Вроде у того название другое было раньше. ::)
|
Ну, по сути, как раз в сейвах меняются переменные. Видимо, автор доработал ее и обозвал по новому. По-крайней мере в релизах на главной и в разделе Довнлоад она раньше не светилась.
|
|
|
10.05.2009, 19:23
|
#2216
|
|
|
|
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
|
|
|
|
Re: М: Скриптинг в Готике
2odin68: Эта переменная введена в Готику, для немного другого вида квестов, проще говоря, для многозавершающих типов квестов.: - Подобный квест имеет несколько решений его завершения, так вот, повторюсь, что эта переменная какраз и служит, для того чтобы отделить, Главное сюжетное завершение квеста, от второстепенного не главного решения, но также завершающее квест, и переводится как - Выполнен/Завершен иначе (!)
Не нужно это путать с тем, что *квест завершен, в обычном его понимании. Т.к. этих квестов в Готике - 99,9% подобных квестов, которые имеют, ОДНО решение зевершающее этот(и) квест(ы) (!).
А эта переменная какраз и дает представление о том, что квест выполнен, НО выполнен - по другому пути. *;)
Добавление от 05/10/09, в 18:43:30 тест...
|
|
|
18.05.2009, 23:36
|
#2218
|
|
Re: М: Скриптинг в Готике
Господа, такой вопрос (по проге GVE). Что в нем, что а рус версии при запуске вылазит такая ошибка: Что самое странное это то, что недавно пришлось переставить винду, решил проверить, и оказалось что после переустановки ошибка не исчезла (раньше грешил на винду)! :( Стоит WinXP SP2Кто сталкивался с подобной проблемой??
|
|
|
03.07.2009, 17:20
|
#2223
|
|
|
|
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
|
|
|
|
Re: М: Скриптинг в Готике
2Vicont:
Сначаля я пробовал взять за основу скриптовую болванку, но при компиляции возникла куча ошибок типа переменные не опреднлены и у функций нету значений...
потом взял за основу оригинальные скрипты от Акеллы - *Редактируются и компилируются успешно. Только в них много "лишнего" из Г2 с аддоном. например папка "story" - Какие лишние скрипты можно удалить без последствий?
|
На мод.вог.ру, была готовая скриптовая болванка для новых не сюжетных модов от камрада WSA, качай ее и прописывай что тебе нужно. (
если не найдешь стукни мне в аск, скину если найду у себя на винтах
|
)
И ещё вопрос: - Если я создаю новый мир, допустим test.zen, как конкретно прописать чтобы этот загружался при начале "новой игры"?
Смотрел Startup.d, там func void startup_global и func void init_global во всех модах одинаковые, а дальше всё в перемешку, а если исходные параметры я заменяю своими, то он ругается на неизвестный идентификатор...
|
Здесь немного по другому, ошибку "неизвестного идентификатора" дает от того, что игра не знает мира, для этого нужно его зарегистрировать в файле: ...\_Intern\Constants.d В котором находим строки(
):
Cпойлер(щелкните, чтобы прочесть):
Код:
const int NEWWORLD_ZEN = 1;const int OldWorld_Zen = 2;const int DRAGONISLAND_ZEN = 3;const int ADDONWORLD_ZEN = 4;
И ниже дописываем, например:
Код:
const int MY_WOWLD_ZEN =5;
сохраняем файл. Затем, открываем файл: ...\Story\Startup.d Здесь рассовываем непесей по локациии, для вейпоинтов и фрипоинтов, лучше использовать сокращения от названия мира и части локации, стороения и т.д., например:
MY_WORLD = MW, Мир, а часть локации под названием лагерь на руинах будет как - Ruins Camp, также указываем номера, для сети вай/фри поинтов, вида _01 ... 22 ..., и т.д. В итоге имеем что-то, типа: MW_RUINS_CAMP_01.
Если же есть какое либо квестовое жилище задействованное в миссиях, то и его можно добавить, например дом для Бронко: MW_RUINS_CAMP_HOUSE_BRONCO_01.., и т.д...ВАЖНО: Вей/фрипоинты всегда писать заглавными буквами как в спейсере так и в скриптах.Также желательно, чтобы всегда написание названия вашего зена совпадало с скриптовыми инстанциями и глобальными переменными. Например, ваш мир назван - MY_WORLD.ZEN В файле Constants.d он должен быть назван как: MY_WORLD_ZEN В файле Startup.d, то-же самое, только с префиксом ( STARTUP_ или INIT_) от названия функций в которых он используется. Теперь в конце файла дописываем:
Код:
func void STARTUP_MY_WOWLD_ZEN(){ * *Wld_InsertNpc(Инстанция Нпс/монстрик,"MW_RUINS_CAMP_01."); * *Wld_InsertNpc(Инстанция Нпс/монстрик,"MW_RUINS_CAMP_HOUSE_BRONCO_01"); * *Wld_InsertNpc(Инстанция Нпс/монстрик,"MW_RUINS_CAMP_HOUSE_BRONCO_09");};
и после нее:
Код:
func void INIT_MY_WOWLD_ZEN(){ * *B_InitMonsterAttitudes(); * *B_InitGuildAttitudes(); * *CurrentLevel = MY_WOWLD_ZEN; * *B_InitNpcGlobals();};
Теперь, если в мире проставлен СтартПоинт для Гг, и мир уже скомпилирован, сохраняем и компилируем скрипты. Запускаем свой мод и тестируем в игре. *:) Ps. Вот еще что, в конце файла Startup.d, после последней закрывающейся фигурной скобки: }; не забудь пробить один раз клавишу RETURN, (
) ;) Вроде все... :)
|
|
|
03.07.2009, 23:01
|
#2226
|
|
Re: М: Скриптинг в Готике
- В твоем мире, стартпоинт создан?
|
Естественно
- напиши путь, по папки в которой утебя расположен зен файл мира.
|
_work\data\Worlds\Test.zen
- как ты запускаешь свой мод?
|
через Gothic2.exe, с заменой оригинальных скриптов в папке _work ИМХО через GothicStarter_mod запаковывать-распаковывать *.mod файл долго, а разницы нет. когда я переименовываю свой локацию в NewWorld.zen, апример,- идёт всё как надо. но я хочу чтоб имя мира своё было. поэтому думаю, что проблема именно в скриптах...
|
|
|
05.07.2009, 09:27
|
#2230
|
|
Re: М: Скриптинг в Готике
В созданном мною мире только 1 Вейпойнт: TEST_WP01 Я написал NPC none_5000_kuzma, руководствуясь статьёй на WoG.ru его АИ:
Cпойлер(щелкните, чтобы прочесть):
//АИ //------------------------ fight_tactic = FAI_HUMAN_MASTER; daily_routine = Rtn_Start_5000; }; func void Rtn_Start_5000() { TA_Smoke_Joint (8,0,22,0,"TEST_WP01"); TA_Smoke_Joint (22,0,8,0,"TEST_WP01"); };
И соответственно в Statup.d:
Cпойлер(щелкните, чтобы прочесть):
func void STARTUP_TEST_ZEN() { * *Wld_InsertNPC(none_5000_kuzma,"TEST_WP01"); * * * };
func void INIT_TEST_ZEN() { * B_InitMonsterAttitudes(); * B_InitGuildAttitudes(); * CurrentLevel = TEST_ZEN; * B_InitNpcGlobals(); };
Ничего не происходит... А еслия я ставлю того-же NPC на NW_FARM1_OUT_01 - всё нормаьлно :-[
|
|
|
06.07.2009, 17:30
|
#2233
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от vmazz link=board=gothic&t=1105030050&goto=5105989 date=07/06/09, в 01:35:45
2Vicont: Хмм... а имя мира у тебя точно "TEST_ZEN.zen" ?? Может все-таки TEST.zen ?? Перепроверь, ошибка может быть в этом.
|
Ну СПАСИБО! - Сразу всё получилось :) А-то у меня уже творческий порыв чуть не угас.
|
|
|
07.07.2009, 13:44
|
#2235
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от VancheS link=board=gothic&t=1105030050&goto=5108266 date=07/07/09, в 11:05:31
Подскажите какой прогой лучше править скрипт диалогов,а то прогой GothicSourcer V3.14 листать неудобно.
|
Тут что-то определённо лучшее посоветовать нельзя... *.d - файлы можно править любым текстовым редактором, каким тебе больше нравится. Я лично правлю через Total Cmmander Достоинство GothicSourcer в том, что он находит практически все ошибки в скриптах, связанные с грамматикой, синтаксисом и типами переменных, и ещё отступ после }; сам ставит ;)
И еще в каких файлах находятся подписи к именам персонажей и к предметам.
|
Имена персонажей - Story\NPC\*.d , name = "Скип"; Скрипты всех предметов лежат в папке Items
|
|
|
26.07.2009, 04:05
|
#2237
|
|
Re: М: Скриптинг в Готике
Создаешь еще одно расписанание для нпс, например:
func void Rtn_FleeDMT_931() // название функции обязательно должно иметь вид Rtn_****_ID ! { * * *TA_Stand_Guarding(8,0,22,0,"NW_FLEEDMT_KAP3"); * * *TA_Stand_Guarding(22,0,8,0,"NW_FLEEDMT_KAP3"); };
И далее, где-нибудь в нужном тебе диалоге, или чем-нибудь другом пишеш так: B_StartOtherRoutine(NPC,"FleeDMT"); // где NPC - инстанция нужного тебе нпс, и "FleeDMT" - имя расписания (только **** без Rtn и ID!)
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 16:10. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|