|
|
22.12.2005, 15:14
|
#1161
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Kerrax: Ну так проведи ликбез чтоли! Научи нас что да как.
|
|
|
22.12.2005, 19:26
|
#1162
|
|
Re: Скриптинг в Готике
2Killer-XXX:
Ну так проведи ликбез чтоли!
|
Лады. Как запустить мод без стартера. Допустим, имеется установленный мод, и соответственно в папку system записан ini-файл, соответствующий этому моду. Для определенности пусть этот файл называется stronghold.ini. Тогда: gothic2.exe -game:stronghold - запустит этот мод, минуя графический интерфейс проги GothicStarter. gothic2.exe -game:stronghold -nomenu - запустит этот мод, причем сразу начнется новая игра (то есть без предварительного отображения стартового меню) gothic2.exe -game:stronghold -nomenu -devmode - запустит этот мод, начнет сразу новую игру, и сразу введет marvin. Можно все эти ключи забить в bat-файл или ярлыков насоздавать. Ключ -nomenu особенно классно выглядит, если дополнительно отключить в GothicGame.ini показ заставки (какой ключ, сейчас не помню, но что-то с Logo ;) ). Как запустить GothicVDFS без интерфейса. Вообще здесь, наверное, лучший знаток Dixie. Просто прога, найденная мною на просторах Интернета, которая это делает, принадлежит именно ему. Прога сс.bat http://home.tula.net/dixie/cc.bat
|
|
|
23.12.2005, 12:32
|
#1163
|
|
Re: Скриптинг в Готике
Вопрос гуру скриптинга в Готике, кто пытался изучать внутренности.
Как я понял у персонажей в Готике есть состояния - ZS_*** и какой-то внутренний стек состояний, устанавливаемый по AI_GotoWP, например и прочее.
Теперь вопрос. Например в ZS_Attack. Когда мы переходим в это состояние, мы делаем AI_StandUp, AI_GotoWP и так далее - это мы в стек состояний НПС ставим последовательность действий, которые надо выполнить?
Меня интересует само устройство этого стека НПС и то, как идёт работа с состояниями, которые ставятся по AI_***, и как на них завязаны состояния ZS_***, например, для той же ZS_Attack, когда вызовется ZS_Attack_Loop ? После того, как отработаю все AI_***, которые были выставлены в инициализационном ZS_Attack? И как сюда подвязываются рутины, то есть поведение по расписанию Непися.
Получилось немного сумбурно, если что - постараюсь пояснить. Если кто знает - буду признателен за ответы.
|
|
|
24.12.2005, 11:54
|
#1164
|
|
Re: Скриптинг в Готике
У меня маленький вопросик,я бы сам разобрался,но у мя нет Готы2(точнее есть но не хочет устанавливаться).Хочу вставить в Готу1 элитного орка,это вообще возможно???Просто никогда не пробывал,если да,то немогли бы мне скинуть все файлы которые нужны,чтобы вставить элитного орка в Готу1(например текстуры,mds,короч всё).И если кто знает не мог бы написать как всё это сделать,тоесть вставить Элитного орка из Готы2 в 1??
|
|
|
24.12.2005, 17:44
|
#1166
|
|
Re: Скриптинг в Готике
Как запустить мод без стартера.
|
Ошибочка вышла :-[ Похоже на то, что то что я писал, применимо только к распотрошенному моду, то есть к такому, файлы из которого находятся в каталоге _work, а не запакованы в mod-файл. Так что без стартера запустить мод в общем случае, наверное, нельзя. Хотя вроде работает такая комбинация: GothicStarter.exe -game:имямода -startЗЫ. Если я написал о вещах, которые все давно знают, то извиняюсь.
|
|
|
24.12.2005, 18:42
|
#1167
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Kerrax: Ну энто да, знали. А вот что ты до этого писал - нет. Очень помогает ключ сразу с марвином, удобно однако проверять. :)
|
|
|
24.12.2005, 22:13
|
#1168
|
|
Re: Скриптинг в Готике
2Kerrax:
Как запустить GothicVDFS без интерфейса. Вообще здесь, наверное, лучший знаток Dixie. Просто прога, найденная мною на просторах Интернета, которая это делает, принадлежит именно ему. Прога сс.bat http://home.tula.net/dixie/cc.bat
|
Никакой я не знаток ;) Подобрал методом тыка :) GothicVDFS.exe /x <.mod файл> - распаковать мод GothicVDFS.exe /b <имя .vm скрипта> - запаковать мод Если имя скрипта - полный путь, например .\test2.vm - будет работать молча, если просто test2.vm - спросит имя выходного .mod файла.
|
|
|
27.12.2005, 18:56
|
#1169
|
|
Re: Скриптинг в Готике
У меня возник вопрос по созданию функций и ошибок при их вызове в диалогах.
Вопрос вот какого плана:
Допустим я создаю отдельный скрипт под функцию, которую называю
func int BanditenLager()
В теле функции я пишу
if((slf.guild == GIL_BDT) && (oth.guild == GIL_BDT) && ((Hlp_IsItem(slf,ItAr_BDT_M) == TRUE) || (Hlp_IsItem(slf,ItAr_BDT_H) == TRUE) || (Hlp_IsItem(slf,itar_bdt_mplus) == TRUE) || (Hlp_IsItem(slf,itar_bdt_mplus2) == TRUE) || (Hlp_IsItem(slf,itar_bdt_mplus3) == TRUE) || (Hlp_IsItem(slf,itar_bdt_hplus) == TRUE)) && (Hlp_IsItem(oth,ItAr_GRD_M) == TRUE)) { B_Attack(slf,oth,AR_KILL,0); };
Вопрос первый, надо ли было писать эти переменные как slf и oth, или надо было пребегнуть к self и other, второй вопрос, если я буду вызывать эту функцию в диалоге то есть вероятность того, что движок воспримит self и other диалога как self и other функции?
И тертий, Hlp_IsItem(itm,itar_bdt_mplus3) Что можно поставить вместо itm, для того что бы можно было проводить принадлежность к кому-либо?
|
|
|
27.12.2005, 22:24
|
#1171
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2TSYLin: 1. Разницы особо нету, если Декомпилятор будет ругаться то замени на полные имена (self,other). 2. Не совсем понял про диалог и функцию. По идее диалог та же функция => диалог либо функция, та кем вызывается - self, непосредственно другой участник функции - other. 3. Даж не знаю. :(
|
|
|
27.12.2005, 22:58
|
#1172
|
|
Re: Скриптинг в Готике
2Killer-XXX:
2. Не совсем понял про диалог и функцию.
|
Я вот в каком смысле имел ввиду, когда инициализируется диалог, то self это всегда НПС с котрой ведётсяразговор а other это ГГ (ну естественно если вы за ГГ играете) (Хотя это все и так знают) то при вызове функции, я опять ввожу self и other, но пользуюсь уже ими как группами НПС, будет ли работать такая конструкция, или произайдёт так, что условия для self будут премерятся к self диалога, то есть к болтающей НПС? Тех кто знает прошу ответить!
|
|
|
28.12.2005, 00:49
|
#1173
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2TSYLin: Я думаю что будет, но стоит проверить методом научного тыка. :)
|
|
|
28.12.2005, 10:50
|
#1174
|
|
Re: Скриптинг в Готике
2TSYLin:
Вопрос первый, надо ли было писать эти переменные как slf и oth, или надо было пребегнуть к self и other?
|
slf и oth можно использовать только в том случае, если они явно объявлены внутри функции или передаются через аргументы (что является практически одним и тем же). Они в отличии от self и other не являются глобальными. Объявление любых переменных, я надеюсь, ты знаешь. На всякий случай приведу два примера объявления локальных переменных slf или oth. Первый - через аргумент функции:Объявление функции - int BanditenLager(var C_NPC slf), тело функции в {} не привожу, но в нем можно использовать slf как ты хочешь. Присвоение же конкретного НПС переменной slf производится при вызове этой функции: * *ххххххххх * *BanditenLager(other); * *ххххххххх в данном случае значение глобальной переменной other будет присвоено аргументу slf функции. Второй - в теле функции:int xxxxxxxx() { * *var C_NPC slf; * *slf = Hlp_GetNpc(PC_Hero); * *xxxxxxxx } в данном случае переменной slf будет присвоен присвоен указатель на ГГ. В твоем примере использование slf и oth неправильное - они нигде не объявлены.
второй вопрос, если я буду вызывать эту функцию в диалоге то есть вероятность того, что движок воспримит self и other диалога как self и other функции?
|
self и other это гдобальные переменные, поэтому в любом месте скриптов они имеют определенные значения, которые им присваивает движок или скрипты.
И тертий, Hlp_IsItem(itm,itar_bdt_mplus3) Что можно поставить вместо itm, для того что бы можно было проводить принадлежность к кому-либо?
|
itm это такая же локальная переменная, как в первом ответе slf, присвоение и использование её аналогично. Например: * *var C_Item itm; * *itm = Npc_GetEquippedArmor(oth); в этом случае переменной itm будет присвоена ссылка на доспехи, которые одеты на НПС oth.
|
|
|
30.12.2005, 10:39
|
#1176
|
|
Re: Скриптинг в Готике
2Идол Тольман:
1 Как сделать так чтобы в меню характеристик отображалось Акробатика
|
Акробатика среди талантов имеет 11 номер, поэтому добавить её в меню можно немного доработав файл Menu_Status.d по аналогии с другими талантами.
2Как создать телепорт к Драгомиру
|
Не понял в какое место нужен телепорт, но реализация любого телепорта довольно проста через функцию AI_Teleport(кто,куда);
И ещё мне пришла в голове такая идея создать огненные стрелы, но не для огненного лука, а для простых луков, корочее можно сделать так чтобы любой лук(кроме огненного и магического) стрелял несколькими видами стрел
|
Это тоже реализуется довольно просто: создается несколько инстанций для одного и того же лука, каждой присваивается свой вид стрел, вся сложность в том, как менять эти инстанции при стрельбе разными стрелами. Можно, конечно, написать свою функцию, например void B_EquipItem(var C_NPC npc,var int item), в теле функции проверять - если выбран лук, то в диалоге спросить, какими стрелами будем стрелять, если их несколько типов; если тип стрел один, то взять их по умолчанию, т.е. фактически взять не стрелы а инстанцию лука с конкретными стрелами и затем вызвать стандартную функцию EquipItem. В скриптах будет необходимо заменить какие нужно вызовы функции EquipItem на B_EquipItem. Наверно, если подумать, можно найти и другие варианты.
|
|
|
01.01.2006, 11:55
|
#1177
|
 |
|
 |
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
 |
|
 |
|
Re: Скриптинг в Готике
Уважаемые Готостроители!Поздравляю всех с Новым годом и приглашаю на свежеоткрытый сайт, предназначенный для обьединения модостроителей готик. Адрес: * http://mod.worldofgothic.ruОсновная цель сайта - обьединение модостроителей, накопление информации по модостроению. Для зарегистрированных участников сайта есть возможность размещать свои собственные статьи с их последующим многомерным категорированием. Для более плотного общения участников сайта есть форум. Спасибо за внимание и - добро пожаловать! p.s. Учтите, что на сайте нет никакой рекламы и прочего, это абсолютно некоммерческий проект.
|
|
|
04.01.2006, 13:35
|
#1179
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2ScorpY: Нет, это движок.
З.Ы. Если только как нибудь скриптами тормозить игровое, постоянно его менять, чтобы оно шло медленнее, т.е. по сути постоянно над временем работать. Думаю ты понял о чем я.
|
|
|
04.01.2006, 16:55
|
#1181
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2ScorpY: Теоретически - да. Практическу думаю невозможно, да и не нужно.
|
|
|
04.01.2006, 21:56
|
#1182
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
Эмм, ну если знать сколько минут внутриигрового времени проходит за одну минуту реального, то можно чтобы каждую минуту реального времени скрипт как то изменял время в игре, то есть тормозил его. В принципе это реально ?
|
В принципе, реально. Но тут, наверно, опять в который раз нужно воротить с летающим за ГГ жуком или еще кем-нибудь :)
|
|
|
05.01.2006, 12:28
|
#1184
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2TSYLin: 2TSYLin: int Npc_HasEquippedWeapon (c_npc *self ); - возвращает 1, если NPC self экипирован оружием, иначе - 0. int *Npc_HasEquippedMeleeWeapon (c_npc *self ); - возвращает 1, если NPC self экипирован оружием ближнего радиуса поражения, иначе - 0. int *Npc_HasEquippedRangedWeapon (c_npc *self ); - возвращает 1, если NPC self экипирован оружием дальнего радиуса поражения, иначе - 0. int Npc_HasReadiedWeapon (c_npc *self); - возвращает 1, если NPC self держит любое оружие в руке, иначе - 0. int Npc_HasReadiedMeleeWeapon (c_npc *self); - возвращает 1, если NPC self держит в руке оружие ближнего радиуса поражения, иначе - 0. int Npc_HasReadiedRangedWeapon (c_npc *self); - возвращает 1, если NPC self держит в руке оружие дальнего радиуса поражения, иначе - 0.
Пропробуй что нибудь.
|
|
|
23.01.2006, 18:26
|
#1186
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2sedrick drako:
ГДЕ ЛЕЖАТ СКРИПТЫ ОТВЕЧАЮЩИЕ ЗА ДВИЖЕНИЕ ОБЪЕКТОВ
|
В папке content\Story\Events.
насколько я понял там задаётся имя скрипта который будет выполнять поднятие решётки....
|
Имя функции, если не ошибаюсь.
|
|
|
23.01.2006, 19:51
|
#1188
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2sedrick drako: Юзай глобальный поиск по файлам. Например, в текстовом редакторе UltraEdit такой есть.
не нашлось ни в скриптах Г1, ни Ночи Ворона.
|
|
|
23.01.2006, 21:14
|
#1190
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от sedrick drako link=board=gothic&t=1105030050&start=1175#1186 date=01/23/06, в 18:00:52
В папке content\Story\Events смотрел, но не нашёл.
|
Эта функция которая поднимает решотку называетсяя кажется так: EVT_CITY_PRISON_01
|
Функции, отвечающей за подъём решетки нет, решетка, это классический "Мувер"! А функция (если нужно)может вызваться как раз при использовании этого самого рычага. А вообще, плохо смотришь темы в форуме. ;) http://www.basilio58.narod.ru/Spacer.htm
|
|
|
23.01.2006, 22:15
|
#1191
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от basilio58 link=board=gothic&t=1105030050&start=1175#1189 date=01/23/06, в 20:14:22
|
Функции, отвечающей за подъём решетки нет, решетка, это классический "Мувер"! А функция (если нужно)может вызваться как раз при использовании этого самого рычага. А вообще, плохо смотришь темы в форуме. *;) http://www.basilio58.narod.ru/Spacer.htm
|
Я на этих форумах недавно так что не судите строго. Расскажите о том, что на ходится в папке B_AssignAmbientInfos, я просто немного не понял.
|
|
|
23.01.2006, 22:15
|
#1192
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2sedrick drako: А ты де\компилируй с помощью де\компилятора и будет тебе счастье, правда ошибок будет побольше сначала, но зато результат :)
|
|
|
24.01.2006, 09:57
|
#1194
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2sedrick drako: Ничем, обращение идет через один компилятор, может разве только что в одно ошибки строже сверяются. Но еще раз говорю, используть Декомпилятор (GothicTools 2.X).
|
|
|
24.01.2006, 23:24
|
#1196
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Roomper: Ну где тебе надо, там и объявляй. На рычаг там повесь, на триггер присутствия или на диалог, решай сам. Ну а озвучить - микрофон в руки и диктуй реплики. Записал, пережал в WAV IMA ADPCM 4 кбит\сек.
З.Ы. Могу напутать с характеристиками.
|
|
|
25.01.2006, 00:45
|
#1198
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от sedrick drako link=board=gothic&t=1105030050&start=1175#1196 date=01/24/06, в 23:18:36
В Готике2 каждому региону (горд хоринис, монастырь, ферма) соответствует свая музыка так вот как её задать???
|
Плохо смотришь темы. пока только это: http://agfc.ru/showthread.php?&s=0&t=1119383810Позже будет больше у меня на сайте ;)
|
|
|
25.01.2006, 06:58
|
#1199
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Killer-XXX link=board=gothic&t=1105030050&start=1175#1195 date=01/24/06, в 22:24:17
Ну где тебе надо, там и объявляй. На рычаг там повесь, на триггер присутствия или на диалог, решай сам. Ну а озвучить - микрофон в руки и диктуй реплики. Записал, пережал в WAV IMA ADPCM 4 кбит\сек.
|
З.Ы. Могу напутать с характеристиками.
|
Ты имеешь ввиду вызывать свои функцции в Спейсере? То есть создавать TriggerScript и в нем прописывать свою функцию что ли? Создать WAV я-то смогу. Но где прописывать свои звуковые файлы? Какая для этого функция есть?
|
|
|
25.01.2006, 10:10
|
#1200
|
|
Re: Скриптинг в Готике
2Roomper:
Создать WAV я-то смогу. Но где прописывать свои звуковые файлы? Какая для этого функция есть?
|
Последний аргумент функции AI_Output является именем wav файла, рекомендую почитать Уроки скриптологии.
|
|
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 04:41. Часовой пояс GMT +4.
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|