|
|
14.02.2005, 09:31
|
#241
|
|
Re: Скриптинг в Готике
2Lokcy:
Люди Помогите ктонить Дайте Рабочую ссылку На MDK
|
MDK можно скачать здес ь.
|
|
|
14.02.2005, 22:13
|
#242
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Vam link=board=gothic&t=1105030050&start=225#240 date=02/14/05, в 08:31:05
2Lokcy:MDK можно скачать здес ь.
|
У Меня Почему то не качает.
|
|
|
14.02.2005, 22:57
|
#243
|
|
Re: Скриптинг в Готике
2All: Такой вот вопрос. 1. Создал я к примеру новый скрипт ГГ и какой-то скрипт NPC. NPC прописал в Startup.d 2. В Spacer открыл карту Старого Лагеря, создал StarPoint для ГГ, а также WayPoint для NPC. Карту сохранил с именем MY.zen 3. Также в Sparec`e сделал World -> Reparse Script 4. При помощи GothicVDFS сделал МОД-файл MY.mod, в который "зашил" GOTHIC.DAT, OUINFO.INF и MY.zen Пути к файлам указаны правильно в моде(т.е. к примеру _work\data\scripts\_compiled для GOTHIC.DAT и OUINFO.INF; _work\data\worlds для MY.zen). 5. Создал файл My.ini в котором, кроме всего прочего, также*указал world=My.zen 6. Запускаю свой мод - ГГ появляется там где надо, NPC не появляется. При помощи команды insert - появляется и идет к нужному WP.
Вопрос: почему не появляется NPC.
P.S. Если Старый Лагерь сохранить не с именем MY.zen, а с именем world.zen(тем самым заменив оригинальный world.zen), а также в My.ini прописать world=world.zen и проделать те же операции, то NPC появляется сразу.
|
|
|
15.02.2005, 09:39
|
#244
|
|
Re: Скриптинг в Готике
2Vahaber:
Вопрос: почему не появляется NPC.
P.S. Если Старый Лагерь сохранить не с именем MY.zen, а с именем world.zen(тем самым заменив оригинальный world.zen), а также в My.ini прописать world=world.zen и проделать те же операции, то NPC появляется сразу.
|
Необходимо в startup.d прописать функции инициализации твоего мира: STARTUP_ххх и INIT_ххх, где ххх - имя вновь созданного мира. Эти функции автоматически вызываются ядром системы.
|
|
|
18.02.2005, 17:34
|
#247
|
|
Re: Скриптинг в Готике
2OverGothic:
mainflag = ITEM_KAT_ARMOR; что это обозначает?
|
Это флаг категории предмета (броня), указывает в каком месте инвентаря будет лежать этот предмет.
wear = WEAR_TORSO;(доспех)-ASC модель wear = WEAR_HEAD;(Шлем)-3ds модель А как насчет шитов? wear = WEAR_??????;(Щит)-3ds модель(вроде)
|
Это флаги части тела, на которой носится (одевается) предмет, модели конкретно к флагам отношения не имеют, щитов в Готике вообще нет, да и шлемов (отдельных) тоже нет, хотя флаг остался. :)
|
|
|
18.02.2005, 17:34
|
#248
|
|
Re: Скриптинг в Готике
2OverGothic:
mainflag = ITEM_KAT_ARMOR; что это обозначает?
|
Это означает, что предмет будет выводиься в инвентаре в категорию ARMOR, а сама категория управляется из ini-файла путем перестановки последовательности. По умолчанию первым в инвентаре показывается оружие, потом доспех и т.д.
Никак. Пираньи от них отказались, как и от шлемов.
|
|
|
06.03.2005, 18:49
|
#252
|
 |
|
 |
|
*
Регистрация: 29.08.2004
Сообщений: 1
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Vam:Достал доисторическую демку Готики 89 мегов от 02.02.2001 на Game.exe №5 за 2001г. Спасибо Камраду toss. Меня она давно интересовала - В ней была регенерация  Еще интересная особенность этой демки - она сделана на рассыпухе - ни одного .vdf файла - модмейкерам настоятельно рекомендую ознакомиться! Но вопрос вот в чем, декомпилятор клинит. Модули menu и fight нормально декомпилируются, а gothic выдает ошибку -1- 00:01 Fatal:-1 U: PAR: Dat-File is not compatible (Classoffset changed) ! Please reparse ! .... <zParser.cpp,#599> Посмотри пожалуйста - выложил как обычно на Яндексе и раскрытый экзешник 1.04d, может что нибудь в нем усмотришь, что позже Пираньи постарались спрятать...
|
|
|
06.03.2005, 20:06
|
#253
|
|
Re: Скриптинг в Готике
2Pa:
Но вопрос вот в чем, декомпилятор клинит. Модули menu и fight нормально декомпилируются, а gothic выдает ошибку -1- 00:01 Fatal:-1 U: PAR: Dat-File is not compatible (Classoffset changed) ! Please reparse ! .... <zParser.cpp,#599>
|
После праздников посмотрю, а такое сообщение декомпилятор выдает когда размер какого-нибудь класса в скриптах отличается от размера класса в экзешнике. Это чисто проверочная вещь, в декомпиляторе оставил на всякий случай, используется только экзешником при загрузке дат файла.
|
|
|
18.03.2005, 23:59
|
#256
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от TycoooN link=board=gothic&t=1105030050&start=250#254 date=03/18/05, в 21:19:20
2basilio58: Триггеры устанавливаются в Спейсере, там же обозначаются запускаемые ими функции, которые должны присутствовать в скриптах ::)
|
Всё очень понятно. В каких именно?
|
|
|
19.03.2005, 14:10
|
#257
|
|
Re: Скриптинг в Готике
2basilio58:
Всё очень понятно. В каких именно?
|
В основных скриптах Готики (из которых компилируется датник). А каком конкретно файле - неважно, можно создать и новый файл, главное его включить в компиляцию и правильно оформить функцию.
|
|
|
28.03.2005, 10:16
|
#259
|
|
Re: Скриптинг в Готике
2b aaz:
какие файлы из _WORK нужно оставить?
|
Вопрос сложный, просто так на него никто не ответит. Если ты хочешь создать мод с нуля, то однозначно в папке Content нужно оставить папку \AI, правда из нее тоже можно много удалить (она почти вся разобрана в Уроках скриптологии, так что смотри сам что тебе нужно, а что нет). По остальному сказать затруднительно, но могу дать совет: Используешь компилятор V2.01 (быстрее и правильнее, чем Sourcer), удалив что-то - компилишь и смотришь на ошибки. Но хочу предупредить, даже если функция нигде из скриптов не вызывается, это не значит, что она не нужна, некоторые функции вызываются только экзешником.
|
|
|
28.03.2005, 12:12
|
#260
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2b aaz:
если экспериментировать на существующей карте (newworld), то перекомпиляция занимает кучу времени
|
А ты Spacer юзаешь? Если да, то попробуй декомпилятор от Vam'a, он у меня все скрипты аддона компилирует за 15-20 секунд (против 2-3 минут Спейсера) ::)
|
|
|
29.03.2005, 15:23
|
#261
|
|
Re: Скриптинг в Готике
Пытаюсь собрать каркас скриптов без кусков прошлых адонов вручную, оставить только все функции кои не относиись к конкретным НПС\миссиям...., геморой но не большой. но вот фраза уважаемого VAM Но хочу предупредить, даже если функция нигде из скриптов не вызывается, это не значит, что она не нужна, некоторые функции вызываются только экзешником висит как Домоклов меч, а это гнитёт.
посему есть вопрос: Люди, те кто делает сейчас(или ранее) мод, а с чего вы начинали? Если у когото есть _начальный_ каркас скриптов поделитесь пожалуйста b_aaz@mail.ru ,заранее спасибо.
После последней гибили винта потерял файл с описанием где что лежит в готике, и убей бог не помню где брал. Если кто помнит\знает подскажите ссылку\файл Большое спасибо.
|
|
|
29.03.2005, 16:41
|
#263
|
|
Re: Скриптинг в Готике
Но хочу предупредить, даже если функция нигде из скриптов не вызывается, это не значит, что она не нужна, некоторые функции вызываются только экзешником.
|
В связи с этим я думаю, убирать можно только содержимое папок, относящихся конкретно к сюжету готики/эддона - НПС, диалоги, миссии. Предугадать, где может понадобиться какой-то файл из других папок сложно. Но опять же, возникает вопрос - многие базовые функции влючают проверку на какого-нибудь Аллигатора Джека или другого конкретного НПС. Потребует ли использование такой функции наличия соответствующих файлов НПС (BDT_AllogatorJeck_777.d) и диалогов (DIA_AllogatorJeck_777.d)? Т.е. если Джека подтереть хорошенько, обращение к функции ошибку не повлечет? 2TycoooN: В общем, и я про то же. :) Странно, что этот вопрос не поднимался раньше. В идеале надо бы наметить список файлов с указанием папки, которые удалять нельзя ни в коем случае. Откровенно ненужные можно высмотреть в уроках. И от этого уже плясать.
|
|
|
29.03.2005, 17:02
|
#264
|
|
Re: Скриптинг в Готике
2Mitrich:
Но опять же, возникает вопрос - многие базовые функции влючают проверку на какого-нибудь Аллигатора Джека или другого конкретного НПС. Потребует ли использование такой функции наличия соответствующих файлов НПС (BDT_AllogatorJeck_777.d) и диалогов (DIA_AllogatorJeck_777.d)? Т.е. если Джека подтереть хорошенько, обращение к функции ошибку не повлечет?
|
Если Джека удалить, то потребует, для полного удаления (к примеру файла Джека) необходимо найти во всех скриптах все объвленные в этом файле имена и удалить в других файлах строчки с ними связанные.
|
|
|
29.03.2005, 17:41
|
#265
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
Вообще, имхо можно почистить папку CONTENT/STORY чуть ли не полностью, другое дело, что многие вспомогательные функции, прописанные там могут понадобиться при разработке собственного мода. Нужно просто хорошенько рассмотреть каждую функцию, и определить, относится ли она только к сюжету Г2\Аддона, или же ее можно использовать и в своем моде. Просто все дело в том, что разрабатываемый нашей командой мод базируется как раз на Аддоне, поэтому ничего чистить нам, к счастью, не пришлось :)
|
|
|
29.03.2005, 19:56
|
#266
|
|
Re: Скриптинг в Готике
Люди, те кто делает сейчас(или ранее) мод, а с чего вы начинали?
|
Я создавал скрипты на основе скриптов,которые лежали в игре.А вообше это объемная работа,те писать мод в отрыве от игры.
|
|
|
31.03.2005, 22:40
|
#267
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Vam: Такой к тебе вопрос: В основном меню выбора диалога с НПС влияет на положение конкретной фразы опция nr, а что влияет на положение *фраз типа void Info_AddChoice (c_info menu, string text, func fn). А то просто всегда они становятся, не так, как мне хотелось бы, есть ли у них определенный параметр, по которому они выстраиваются?
|
|
|
31.03.2005, 22:49
|
#268
|
|
Re: Скриптинг в Готике
2Killer-XXX:
что влияет на положение фраз типа void Info_AddChoice
|
Только последовательность вызова этой функции (чем позже вызвана -> тем ниже в меню фраза).
|
|
|
01.04.2005, 00:07
|
#269
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Vam: То есть, если у нас имеется, скажем отрывок кода:
Код:
Info_ClearChoices(someinstance);Info_AddChoice(someinstance,"Да.",someinstance_yes);Info_AddChoice(someinstance,"Нет.",someinstance_no);
то первой будет отображаться опция "Да."? Но это не всегда так... ::)
|
|
|
01.04.2005, 01:28
|
#270
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
Кстати, пишу сюда. Уважаемый Pa нас кое что обещал к 1му апреля. Так что ждем-с. :)
|
|
|
01.04.2005, 09:57
|
#271
|
|
Re: Скриптинг в Готике
2Killer-XXX:2TycoooN:
что влияет на положение фраз типа void Info_AddChoice
|
Приношу извинения, в предыдущем ответе закралась ошибочка, должно быть так: чем позже функция вызвана -> тем выше в меню фраза. Премного извиняюсь за вмешательство, т.е., работает как стек, первый вариант ложится в самый низ.
|
|
|
01.04.2005, 22:02
|
#272
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Vam: Как я понял, то именно будет влиять, если я вызову func void DIA_Lester_Any_NO() позже остальных, даже если этот вариант будет стоять самым последним, то отобразится он первым, т.к. Ну, а если чисто по-пацански, ф-я и вызвана позже?
|
|
|
02.04.2005, 10:38
|
#273
|
|
Re: Скриптинг в Готике
2Killer-XXX:
Ну, а если чисто по-пацански, ф-я и вызвана позже?
|
Не понял, что ты хотел сказать в предыдущем посте, должно быть так: Info_AddChoice(CH_Level_niedrig,DIALOG_BACK,CH_Le vel_niedrig_BACK); Info_AddChoice(CH_Level_niedrig,"Level 21 - 25" ,CH_Level21); Info_AddChoice(CH_Level_niedrig,"Level 16 - 20" ,CH_Level16); Info_AddChoice(CH_Level_niedrig,"Level 11 - 15" ,CH_Level11); Info_AddChoice(CH_Level_niedrig,"Level 6 - 10" ,CH_Level6); Info_AddChoice(CH_Level_niedrig,"Level 1 - 5" ,CH_Level1); Первой в списке будет строка "Level 1 - 5", а последней DIALOG_BACK.
|
|
|
02.04.2005, 12:42
|
#274
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Vam:
2Killer-XXX: Ну, а если чисто по-пацански, ф-я и вызвана позже? Не понял, что ты хотел сказать в предыдущем посте, должно быть так:
|
Подсказка: [q]Ну, а если чисто по-пацански,[/q] вставил первоапрельский скрипт ;)
|
|
|
02.04.2005, 21:22
|
#275
|
 |
|
 |
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Vam: Эт не я, это такие приколы. :) А вообще я имел ввиду, влияет положение самого Info_AddChoice, или положение той ф-и, на которую он ссылается. Но уже понял, надо будет потестировать.
|
|
|
08.04.2005, 11:23
|
#276
|
|
Re: Скриптинг в Готике
2TycoooN:
// начисление ГГ экспы (уровень цели * 10) (Примечание: Ошибка - вместо self.level должно быть oth.level) Хм, и к чему приводит эта ошибка?
|
Если вызов функции B_MagicHurtNpc(other,self,***); всегда производится с такими аргументами, то ошибки в принципе не будет, но если вызвать функцию с другими аргументами, то будет ошибка (ГГ начислится экспа зависимая не от уровня убитого монстра, а от своего собственного уровня). Если параметры переданы в функцию явно (что мы и имеем), то во избежании ошибок, внутри функции необходимо использовать только параметры переданные через аргументы. Это правильная практика программирования. ;)
|
|
|
08.04.2005, 13:40
|
#277
|
 |
|
 |
|
*
Регистрация: 29.08.2004
Сообщений: 1
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Vam:
Если вызов функции B_MagicHurtNpc(other,self,***); всегда производится с такими аргументами, то ошибки в принципе не будет, но если вызвать функцию с другими аргументами, то будет ошибка (ГГ начислится экспа зависимая не от уровня убитого монстра, а от своего собственного уровня). Если параметры переданы в функцию явно (что мы и имеем), то во избежании ошибок, внутри функции необходимо использовать только параметры переданные через аргументы. Это правильная практика программирования.
|
Это же мы встретим при начислении опыта за воровство у некоторых неписей...
|
|
|
08.04.2005, 17:18
|
#278
|
 |
|
 |
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
 |
|
 |
|
Re: Скриптинг в Готике
2Pa:
Это же мы встретим при начислении опыта за воровство у некоторых неписей...
|
По-моему, там дело не в этом ::)
|
|
|
16.04.2005, 23:15
|
#279
|
|
Re: Скриптинг в Готике
func int ZS_AssessQuietSound() { PrintDebugNpc(PD_ZS_FRAME,"ZS_AssessQuietSoun d"); C_ZSInit(); if(self.guild == GIL_MEATBUG) { AI_ContinueRoutine(self); return 0; }; Npc_PercEnable(self,PERC_ASSESSDAMAGE,ZS_ReactToD amage); Npc_PercEnable(self,PERC_ASSESSMAGIC,B_AssessMagi c); Npc_PercEnable(self,PERC_ASSESSSURPRISE,ZS_Assess Surprise); Npc_PercEnable(self,PERC_ASSESSENEMY,B_AssessEnem y); Npc_PercEnable(self,PERC_ASSESSFIGHTER,B_AssessFi ghter); Npc_PercEnable(self,PERC_ASSESSTHREAT,B_AssessFig hter); Npc_PercEnable(self,PERC_ASSESSWARN,B_AssessWarn) ; Npc_PercEnable(self,PERC_ASSESSMURDER,ZS_AssessMu rder); Npc_PercEnable(self,PERC_ASSESSDEFEAT,ZS_AssessDe feat); Npc_PercEnable(self,PERC_ASSESSFIGHTSOUND,B_Asses sFightSound); Npc_PercEnable(self,PERC_CATCHTHIEF,ZS_CatchThief ); Npc_PercEnable(self,PERC_ASSESSTHEFT,B_AssessThef t); Npc_PercEnable(self,PERC_ASSESSTALK,B_RefuseTalk) ; Npc_PercEnable(self,PERC_ASSESSENTERROOM,B_Assess EnterRoom); Npc_PercEnable(self,PERC_ASSESSUSEMOB,B_AssessUse Mob); AI_TurnToNPC(self,other); };
Правильно ли я понял, что эта функция всегда должна возвращать 0.
А эта:
func int ZS_WaitForPassage_Loop() { PrintDebugNpc(PD_ZS_LOOP,"ZS_WaitForPassage_Loop" ); if(Npc_IsWayBlocked(self)) { } else { PrintDebugNpc(PD_ZS_Check,"...Weg nicht mehr geblockt!"); return 1; }; AI_Wait(self,0.5); };
всегда должна вернуть 1?
|
|
|
17.04.2005, 13:31
|
#280
|
|
Re: Скриптинг в Готике
2Ipse San:
Правильно ли я понял, что эта функция всегда должна возвращать 0.
|
Нет, неправильно, эта функция должна иметь возвращаемый тип void, т.е. ничего не должна возвращать, ошибочно объявление с возвращаемым типом, необходимо в декларации int заменить на void. В этой функции еще строчку return 0; необходимо заменить просто на return;
Тоже неверно, она должна возвращать LOOP_CONTINUE; О том, что должны возвращать функции обработчиков состояний и как они должны быть объявлены смотреть Уроки скриптологии или в теме Декомпилятор (примерно страницы три назад).
|
|
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 22:46. Часовой пояс GMT +4.
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|