|
|
14.01.2005, 11:09
|
#41
|
|
Re: Скриптинг в Готике
2finch:
Ты запускал игру через GothicStarter, а он "видит" только ИНИ-файлы модов. Если бы ты запускал через gothic.exe или lr.exe, этих проблем бы не возникло.
|
Нет! Я запускал именно через Gothic.exe. Я только сейчас понял, что моя проблема была даже не в том, что я писал. Все гораздо проще... Я взял и сохранил игру около Бастера, а потом, когда добавлял в скрипты что-то новое, просто загружал этот сейв, и удивлялся, почему ничего не появлялось :) А когда я создавал свою карту, то естественно каждый раз начинал игру заново, поэтому там появлялось все, что нужно. Мне даже стыдно, что я мог допустить такую ошибку... Надеюсь другие примут к сведению, что когда вносишь в скрипты что-то новое, в частности, новых персонажей, нельзя пользоваться сейвами!
|
|
|
14.01.2005, 11:20
|
#42
|
|
Re: Скриптинг в Готике
2dftool: Судя по всему надо просто компилировать мир.хотя у меня в г1 такой проблемы не возникало.
Можно. В Г1 надо нажать shift+"кнопка ? чуть левее правого shift'a"
|
В г1 вроде клавиатура немецкая.
Про вопросы верно буду стараться поменьше задавать, но кто хочет отвечайте
|
Да не задавай,если смогу объясню...
|
|
|
14.01.2005, 20:49
|
#44
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Скриптинг в Готике
2dftool:
Пишет ошибку именно про моего непися, но не пишет строчку в где ошибка, т.е. ошибка не в орфографии, а что-то я не так делаю.
|
Покажи тогда сам скрипт НПС ::)
|
|
|
14.01.2005, 20:50
|
#45
|
|
Re: Скриптинг в Готике
dftool:
С помощью декомпилятора декомпилирую Gothic.dat и ou.bin, в получившихся файлах создаю своего НПСа, прописываю его в Startup.d Почемуто не хочет компилироваться декомпилированный gothic.dat в декомпиляторе и в Спейсере2 также не получается обновить скрипты? Пишет ошибку именно про моего непися, но не пишет строчку в где ошибка, т.е. ошибка не в орфографии, а что-то я не так делаю
|
Приведи сообщение с ошибкой и получишь подробный ответ.
|
|
|
14.01.2005, 21:06
|
#47
|
|
Re: Скриптинг в Готике
Интересно если на одном вейпоинте прописать двух НПСов то один из них наверное даже не появиться?
|
Как правило появится ошибка,что вуапоинт уже занят.
ообщение следующее: PAR: STORY/STARTUP.D: Unknown identifier: GRD_300_MY... <zParser.cpp,#599>
|
Судя по всему,в STARTUP.D указано не верное имя,скорее всего в скрипте нпс ты указал другое имя.А вообше,Id 300 неудачное число. Если это г1 то оно уже занято.Я для г1 использовал число ок 1000.
|
|
|
14.01.2005, 21:12
|
#49
|
|
Re: Скриптинг в Готике
dftool:
PAR: STORY/STARTUP.D: Unknown identifier: GRD_300_MY... <zParser.cpp,#599>
|
Это сообщение выдается при компиляции, оно у тебя похоже выдается линковщиком (просьба не путать: процесс создания датника состоит из двух процессов - компиляции и линковки). При компиляции выявляются ошибки синтаксиса, выдается имя файла и номер строки с ошибкой, при линковке выявляются ошибки деклараций (объявлений), если какое-то имя в скриптах используется, но не декларировано - имеем ошибку. В твоем случае в файле STARTUP.D встретилось линковщику имя GRD_300_MY... (полностью не приведено), но оно нигде не объявлено (т.е. линковщик не знает что это за переменная: int, string, instance, class и т.д.). Надеюсь, объяснил хоть немного понятно. :)
|
|
|
14.01.2005, 21:47
|
#50
|
|
Re: Скриптинг в Готике
Всем спасибо: в принципе я понял ошибку поэксперементировав с gothic.dat и gothic.scr. Вроде все получилось: делал я так 1) Декомпилировал gothic.dat вместе с ou.bin (режим в декомпиляторе 0,0) 2) Создал своего непися и прописал его в Startup.d 3) С помощью декомпилятора выбрал режим компилировать gothic.src (режим 1,0), при этом в папке создался новый gothic.dat и ou.bin Ошибка скорей всего была в том, что я пользовался только папкой _decompiled, а когда произвел изменения в папке content, то все получилось, насчет id = 300, заменил его на 3300, а то насчет этого ругался декомпилятор. Осталось закрепить это еше раз и все будет ок!!!
|
|
|
14.01.2005, 23:58
|
#51
|
|
Re: Скриптинг в Готике
dftool:
3) С помощью декомпилятора выбрал режим компилировать gothic.src (режим 1,0), при этом в папке создался новый gothic.dat и ou.bin Ошибка скорей всего была в том, что я пользовался только папкой _decompiled, а когда произвел изменения в папке content, то все получилось, насчет id = 300, заменил его на 3300, а то насчет этого ругался декомпилятор. Осталось закрепить это еше раз и все будет ок!!!
|
Режим 1,0 применяется для компиляции оригинальных скриптов, которые находятся в папке Content, а режим 1,1 применяется для компиляции декомпилированных скриптов, которые находятся в папке _decompiled. Смотря что правим (или дописываем), то и компилируем! :)
|
|
|
15.01.2005, 18:56
|
#53
|
|
Re: Скриптинг в Готике
Может кто подкинет инфу как создавать waypoint в Спейсере1 для Г1. Прочитал все инфу на форуме связанную с этим и ничего не получается.
К примеру: Если вы в Spacer'е первый раз, то вы будете передвигаться медленно. Зайдите в Settings/Generals и там будет movement-speed. Настройте. В окошке Objects нажмите zCVOB, затем oCVOB (abstract), потом oCNPC и в списке выберите любого NPC. Похлопайте на радостях в ладоши... =))). Нажмите в том же окошке zCVOBWaypoint и напишите имя вашему в waypoint'у. Назовите (!) его NPC_STAND_HERE, и создайте еще один (!) NPC_STAND_HERE2. Все, сохраните (сохранять будет долго!!!).
У меня никакого НПСа вообще не выбирается.
Или так:
Шелкаешь на W при этом показываются пути,потом найди на горизонтальной понели ногу,нажми ее потом правой кнопкой на экран ,потом там должно быть наиписанно инсерт вуапоинт(или типа того),потом в окне вводишь имя вуапринта.А не забудь вначале счелкнуть на какой -нибудь вуапоинт.
Вуапоинт создаю пишу ему имя, он вопервых несоединен путями как другие вуапоинты, ну это ладно, потом сохраняю World.Zen. При дальнейше попытке открыть этот сохраненный World.Zen выдается ошибка и вылет автоматический.
Может ошибка в том, что не просто надо сохранять zen файл, нужноли обновлять скрипты, если да то где прописывается сам ваупоинт. И чем кроме готики можно создать ваупоинт (может GoMan'ом)?
|
|
|
15.01.2005, 20:54
|
#54
|
|
Re: Скриптинг в Готике
И чем кроме готики можно создать ваупоинт (может GoMan'ом)?
|
Не....гоманн для просмотра текстурам и изображениям.
Вуапоинт создаю пишу ему имя, он вопервых несоединен путями как другие
|
Надо нажать w потом переключится в "виденье глазами",ну что бы мышки не было видно,это кнопка f3, направить взгляд на один вуапоинт,счелкнуть на левую кнопку мыши,потом держа shift так же счелкнуть на другой вуапоинт.После этого должна загорется кнопка на вертикальной панели,нажимаете f3 и счелкаете на загоревшуюся кнопку. После надо сохраниться. Вот тут у меня проблема,тк мои неписи не хотят вставать на мой вуапоинт.Так что если кто знает в чем ошибка просьба сообшить.
|
|
|
15.01.2005, 21:23
|
#56
|
|
|
|
|
*
Регистрация: 29.08.2004
Сообщений: 1
|
|
|
|
|
|
Re: Скриптинг в Готике
2B Wolf:
Ответьте пожалуйста кто знает: 1. Как можно сделать амулет регенерации жизни или маны? 2. Как можно добавить особенность регенерации жизни персонажу (как у дракона в аддоне)? Если можно, с примерами...
|
Я уже писал об этом - в МОД-е МанаРелод все по полочкам разложено http://www.worldofgothic.de/dl/index.php?go=downloads&release_id=112
|
|
|
16.01.2005, 00:06
|
#58
|
|
Re: Скриптинг в Готике
2dftool:
finch. Я как-то спрашивал почему при открытии Zen файла Спейсер выдает ошибку (Сomplit? Cancel и т.д.), то ли ты имел в виду, но вродебы это из-за того что я менял дерикторию расположения Zen файлов.
|
Ну вот видишь... Стоит задаться целью - проблема сразу решится! :)
|
|
|
16.01.2005, 00:41
|
#59
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Cкpиптинг в Гoтике
Подскажите люди добрые... Как мне зациклить действие? Вот если допустим регенерация, у разрабов Mana Reload стоит: if (Npc_GetStateTime(self) > 3); Но это вроде как проверка, на то, произодит ли действие определенное кол-во секунд... тогда вопрос, где же тут зацикленность, тут то оно должно повторятся? Может это return LOOP_CONTINUE;? Если нет, то зачем эта функция стоит в конце каждого ZS_*.d файла? :'(
|
|
|
16.01.2005, 01:28
|
#61
|
|
|
|
|
*
Регистрация: 29.08.2004
Сообщений: 1
|
|
|
|
|
|
Re: Скриптинг в Готике
2Killer-XXX:
Как мне зациклить действие? Вот если допустим регенерация, у разрабов
|
Действие не зацикливается. Просто включены тики (вроде 100 и 300) и после проверки условий по регнерации, по тикам начинает по отмерянным порцайкам (вроде 10 и 20) течь жизнь и мана. А если же проц в цикле игры это будет делать... То будет такой зависон... ЗЫ: В свое время занимался системами реального времени...
|
|
|
16.01.2005, 06:56
|
#63
|
|
Re: Скриптинг в Готике
2dftool:
Как ты избавился от того, что Спейсер при открытии Zen файла требует 3ds файлы?
|
я просто запихал в директорию игры эти 3ds файлы (из ГМДК взятые) ;D
|
|
|
16.01.2005, 12:06
|
#64
|
|
Re: Скриптинг в Готике
2dftool:
Простой компиляцией с помощью декомпилятора здесь уже необойтись.
|
Обойтись.
куда спейсер записывает после компиляции новые текстуры
|
А куда он их должен записывать? Он их по-моему вообще не должен трогать. Как они лежали, так и лежат, или ты что-то другое имеешь в виду?
|
|
|
16.01.2005, 15:14
|
#66
|
|
Re: Скриптинг в Готике
dftool:
Вэйпоинты записываются ли в zen файл (как например текстуры), или просто дочтаточно обновить скрипты с спейсере?
|
В тексты скриптов никакие программы ничего не записывают, ни компилятор, ни Спейсер, скрипты правятся только ручками, а следовательно в датнике есть только информация из файлов скриптов и ниоткуда более.
|
|
|
16.01.2005, 15:29
|
#67
|
|
Re: Скриптинг в Готике
По поводу регенерации жизни...
На основе сорцов из мода "Mana Reload" попытался добавить в мод Bumshak амулет, который регенерирует жизнь...
Немного подправил файл ZS_Recharger.d из оригинального "Mana Reload", т.е. вырезал зависимость от обученности к регенерации.
...Содержимое файла ZS_Recharger.d...
func void ZS_Recharger() { //Perception_Set_Normal(); B_ResetAll (self); B_ClearPerceptions (self); };
func int ZS_Recharger_loop() { if (Npc_GetStateTime(self) > 3) { Npc_SetStateTime (self, 4);
if (hero.attribute[ATR_HITPOINTS] < hero.attribute[ATR_HITPOINTS_MAX]) { hero.attribute[ATR_HITPOINTS]=hero.attribute[ATR_HITPOINTS]+10; }; };
return LOOP_CONTINUE; };
func void ZS_Recharger_end() { };
...
Прописал путь ZS_Recharger.d в gothic.src
...
Потом вставил эту функцию " AI_StartState(self,ZS_Recharger,0,""); " для амулета:
...
var int herousingspecam;
instance ITMI_GLUECKSBRINGER(C_Item) { name = "Вестник удачи"; mainflag = ITEM_KAT_MAGIC; flags = ITEM_MISSION | ITEM_AMULET; value = 0; visual = "ItAm_Prot_Fire_01.3ds"; material = MAT_STONE; on_equip = equip_itmi_gluecksbringer; on_unequip = unequip_itmi_gluecksbringer; wear = WEAR_EFFECT; effect = "SPELLFX_ITEMGLIMMER"; description = name; text[0] = "Обладатель этого Вестника удачи"; text[1] = "никогда не будет малодушным"; text[2] = "в бою."; inv_zbias = INVCAM_ENTF_AMULETTE_STANDARD; };
func void equip_itmi_gluecksbringer() { HEROUSINGSPECAM = TRUE; AI_StartState(self,ZS_Recharger,0,""); };
func void unequip_itmi_gluecksbringer() { HEROUSINGSPECAM = FALSE; };
...
Скомпилировал, проверил... Амулет не работает :( Пожалуйста помогите подправить ошибки... Хм.. можно ли как-то вставить функцию регенерации непосредственно в скрипт амулета, а не описывать функцию в отдельном файле?
|
|
|
16.01.2005, 15:51
|
#69
|
|
Re: Скриптинг в Готике
2dftool:
Нужно ли его где-то в скриптах ручками прописывать?
|
чтобы вайпоинт работал нигде в скриптах его прописывать не нужно.
Если я добовляю вейпоинты, то значит ли это, что мне прейдется создавать свой файл mod.
|
если ты создал свой вайпоинт, то соответственно ты изменил игровой мир, - а значит, тебе нужно сохранить ЗЕН-файл, а затем запаковать его в VDF-том и поместить в папку DATA, а запускать с экзешника gothic.exe . VDF файл делается простым переименованием расширения созданного в GothicVDFS MOD-файла.
|
|
|
16.01.2005, 15:52
|
#70
|
|
Re: Скриптинг в Готике
2B Wolf: В файле TA.d необходимо прописать такую строчку: func void TA_Recharger (var int start_h, var int start_m, var int stop_h, var int stop_m, VAR string waypoint){TA_Min(self,start_h,start_m, stop_h, stop_m, ZS_Recharger,waypoint);};
|
|
|
16.01.2005, 16:43
|
#72
|
|
Re: Скриптинг в Готике
2finch:
2B Wolf: В файле TA.d необходимо прописать такую строчку: func void TA_Recharger (var int start_h, var int start_m, var int stop_h, var int stop_m, VAR string waypoint){TA_Min(self,start_h,start_m, stop_h, stop_m, ZS_Recharger,waypoint);};
|
Пробовал... Все равно амулет не работает...
|
|
|
16.01.2005, 17:47
|
#74
|
|
Re: Скриптинг в Готике
2francisc:
Я пробовал твоим способом,но не получилось.
|
уж даже не знаю, что тебе предложить... у меня-то все работает! а ты точно в VDF-томе правильную иерархию сделал? _work/data/worlds/world.zen? точно через gothic.exe запускаещь?
|
|
|
16.01.2005, 19:14
|
#76
|
|
|
|
|
*
Регистрация: 29.08.2004
Сообщений: 1
|
|
|
|
|
|
Re: Скриптинг в Готике
2B Wolf:
По поводу регенерации жизни...
|
А стоит ли с амулетом заморачиваться - перекинь в учителя шамана, который стоит рядом с местом под юнитор - все равно сачек...
|
|
|
16.01.2005, 19:37
|
#78
|
|
Re: Скриптинг в Готике
2dftool:
Спасибо огромное все получилось!!!
|
пожалуйста :)
И еще попробу написать туториал по модмейкерству для Г1
|
имхо, лучше помоги Irwin1138 переводить уже существующий хэлп на немецком языке. Ирвин уже перевел хэлп ПРОМТом, осталось только привести все в нормальный вид, а за одно можешь добавить что-нибудь свое ;) Вот ссылка на тему: http://agfc.ru/showthread.php?&s=25&t=1102275156
|
|
|
16.01.2005, 23:35
|
#79
|
|
Re: Скриптинг в Готике
2Pa:
2B Wolf: По поводу регенерации жизни...
А стоит ли с амулетом заморачиваться - перекинь в учителя шамана, который стоит рядом с местом под юнитор - все равно сачек...
|
Нет, я ничего не хочу менять в авторском сюжете Бумшака, мне нужен именно рабочий амулет регенерации жизни. А мод Бумшак был использован в качестве примера...
|
|
|
16.01.2005, 23:48
|
#80
|
|
|
|
|
*
Регистрация: 29.08.2004
Сообщений: 1
|
|
|
|
|
|
Re: Скриптинг в Готике
2B Wolf:
Нет, я ничего не хочу менять в авторском сюжете Бумшака, мне нужен именно рабочий амулет регенерации жизни. А мод Бумшак был использован в качестве примера...
|
Тогда завяжи проверку условия обучения на наличие амулета - все равно свойство регенерации это умение ГГ и в меню это явно видно - обучен или нет. Я еще более смешную вещь готовлю к 1.04...
|
|
|
Здесь присутствуют: 24 (пользователей: 0 , гостей: 24)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 15:33. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|