• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Вопросы по скриптингу

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
  • Первое сообщение
  • #1
Прежде чем задавать вопросы, ознакомьтесь с документацией..
1) Читать онлайн
2) Архив с офлайн-версией(chm) во вложении
 

Вложения

  • Vam_tutor.rar
    171,6 KB · Просмотры: 574
Последнее редактирование модератором:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
DUSTinghoFFman написал(а):
У меня вопросы по аддону "Возвращение".Не знаю когда выйдет патч,поэтому ошибки в скриптах пытаюсь поправить сам.До этого работал только со скриптами HEROES III - WoG, а в этих пока мало понимаю...
1)Можно ли убрать бесконечную ману назгулов? В GOTHIC\STORY\NPC\Monster я их вообще не нашёл...Не там ищу?
2)Кто-нибудь знает,где лежат диалоги с Галлахадом? Всё обыскал-не нашёл.
3)Как добавить монстру/NPC вещь в инвентарь?GOTHIC\Story\B_GiveTradeInv?
4)Смогу ли я запаковать изменённые скрипты в ADDON RETURNING.vdf , или придётся .mod?
P.S.
Работаю в GothicSourcer V3.14

3)папка \Story\B_Story файл B_GiveDeathInv.d
 
Последнее редактирование:

Финкрег

Участник форума
Регистрация
16 Май 2007
Сообщения
69
Благодарности
0
Баллы
155
У меня возникла проблема при компиляции скриптов. zSpy пишет что нашла gothic.src, хотя на самом деле он торчит в нужном месте. В чем может заключаться проблема?
Уже второй день пытаюсь скомпилировать. Компилятор v.1.5 от Вама. Раньше компилировал было нормально(исправлял таблички), впихнул диалог-не получается. Пишу диалог на Г2а.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Ну первое не надо дабл постинга. А второе хм... странно...
Поставь лучше GothicSourser версии 3 и выше. На сайте можешь найти в разделе файлы.
Вот ссылка
На много удобнее чем прид идущие версии.
Он должен без проблем работать...
 

Финкрег

Участник форума
Регистрация
16 Май 2007
Сообщения
69
Благодарности
0
Баллы
155
Я не умею компилить с помощью версии 3 и выше. Пользуюсь Готик Тулс, а при попытке компилить через Готику Тулс версией 3 и выше, просто открывается декомпилятор/компилятор и все. Никакого действия.

у мну вот так получается:


Все равно пишет что Готик.СРС нету. А на самом деле он висит там где нужно(_decompiled).
 

s@m


Модостроитель
Регистрация
2 Мар 2007
Сообщения
315
Благодарности
56
Баллы
195
Где то на этом сайте marazmus полностью описывал процесс работы с версии 3 и выше. поискай
Я тоже не умею. пользуюсь GothicSourcerV2_40 советую всем )
 

Финкрег

Участник форума
Регистрация
16 Май 2007
Сообщения
69
Благодарности
0
Баллы
155
Последнее редактирование модератором:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Посмотри где(в какой папке) у тя этот проект(решение) находится, там найдешь готик.срк.
У меня примерно так GothicSourcer V3.14\Gothic Projects\Sol1\PrjGOTHIC вот тут лежит этот файл.
Это так чисто для ознакомления.
А для работы над прогой. Нажми файл->Новое решение->Проект для Декомпиляции->выбери Gothic.dat и в перёд...
 
Последнее редактирование:

Vam

Почетный форумчанин
Регистрация
8 Июл 2008
Сообщения
255
Благодарности
1
Баллы
180
в Сообществе уже читал. Да, инфы много,но то что мне надо там не нашел.
Вот что я писал на немецком форуме для тех, кто не может по руководству к программе создать скрипты.
Извини, обратно (на русский) переводить лень.

For decompiling anyone *.dat file program GothicSourcer v3.14 it is necessary to execute the following steps:
1. To install and run the program GothicSourcer v3.14.
2. To choose File ->New Solution.
3. Solution name - it is entered any name of the project.
4. Locations - it is left without change.
5. Platforms - we choose game Gothic or Gothic2.
6. To choose First decompile action.
7. In window Shoose dat file we choose a file which we want to decompile.
8. If all is made correctly button OK will appear. We press on it.
9. On the ToolBar button Decompile has appeared. We press on it.
10. In window Solution Explorer source codes (*.d files) of scripts have appeared. It is possible to study them.

All this. For the further work with the program I advise to read a file manual_en.doc.
 
Последнее редактирование модератором:

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
***
Для декомпиляции любого *dat файла прогой GothicSourcer v3.14 необходимо выполнить пошагово следующее:

- Установить и запустить прогу GothicSourcer v3.14
- Выбрать файл->новый проект. Появится окно.
- В поле "имя проекта"ввести любое имя (my_project и.т.п.)
- Расположение- оставить, как есть
- выбрать платформу: Г1 или Г2
- Выбрать опцию First decompile action.
- В окне выбрать требуемый dat-файл для ДЕкомпиляции
- Если всё сделано верно, нажать ОК.
- На панели инструментов пявится кнопка Decompile. Нажать. Процесс пошёл- ждём.
- Слева в окне мы увидим дерево проекта- можно работать.

ИМХО- прога супер- всё красиво и удобно. Туторы более чем понятны. Спасибо VAMу!
P.S.
Всем новичкам могу посоветовать одно- или упорно изучайте уроки скриптологии и мануалы из раздела"сообщество", САМОСТОЯТЕЛЬНО ковыряйте скрипты готы, или лучше бросайте это дело и оставайтесь геймерами. Сэкономите кучу своего и чужого времени. Успехов!
 
Последнее редактирование модератором:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Один момент забыли. :)
Вернее он для немцев и англичан не нужен а вот для наших обязательно:
При создании нового проекта, нельзя писать его название - Кириллицей!
 

Финкрег

Участник форума
Регистрация
16 Май 2007
Сообщения
69
Благодарности
0
Баллы
155
MEG@VOLT написал(а):
Посмотри где(в какой папке) у тя этот проект(решение) находится, там найдешь готик.срк.
У меня примерно так GothicSourcer V3.14\Gothic Projects\Sol1\PrjGOTHIC вот тут лежит этот файл.
Это так чисто для ознакомления.
А для работы над прогой. Нажми файл->Новое решение->Проект для Декомпиляции->выбери Gothic.dat и в перёд...
Ну, декомпилиривонные скрипты мну не надо. Я их в Сообществе скачал. А разве Gothic.SRC не должен лежать в папке со скриптами? А именно в GothicToolsV1_5\_work\data\Scripts\_decompiled
 
Последнее редактирование модератором:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Нет не должен.
Он для всех проектов всегда должен лежать здесь:
I:\Program Files\GothicSourcer V3.14\Gothic Projects\SolGlobal\PrjGothic

Ps. Естественно, названия у проектов должны быть разные ...\SolGlobal\PrjGothic.
 

Vam

Почетный форумчанин
Регистрация
8 Июл 2008
Сообщения
255
Благодарности
1
Баллы
180
Финкрег написал(а):
Все равно пишет что Готик.СРС нету. А на самом деле он висит там где нужно(_decompiled).
Я думаю, что всё дело в том, что ты назвал проект GOTHIC.SRC (зачем называть проект именем системного файла скриптов :eek: ). В результате файлы конфигурации проекта и решения должны иметь имя GOTHIC.SRC.gps и GOTHIC.SRC.gsc, даже я не знаю как программа отреагирует на такие имена.
Если мы понимаем, что:
Решение - набор проектов для построения конкретного мода.
Проект - сборка скриптов для построения соответствующего dat файла
то правило присвоения имен решению и проекту простое:
1. Решению всегда даем имя мода.
2. Имя проекта всегда оставляем по умолчанию, программа сама создаст имя.
И не надо забывать, что любое имя файлов Готики должно быть одним словом, без всяких знаков препинания и пробелов (допускаются английские буквы, цифры и знак _ ).

Ещё добавлю - для правильной работы программы руками никакие файлы не надо никуда копировать, используйте только правильно функции программы.
 
Последнее редактирование модератором:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Финкрег, тебе уже сам создатель проги говорит что и как делать. Почитай что он написал.
Как сказал Алекс - тутор он написал отличный, все понятно и разборчиво.
Ещё раз спасибо Ваму за прогу.
Знаешь с чего начал я?
С того что разобрал мод "Темная магия"(рускую версию) спомощью сурсера(второй версии), потом нарыл учебник скриптов от Vam'а(Ещё раз спасибо). Благо, на тот момент у меня были не плохие знания в програмировании.
Разбирался с этим модом по частям, в тячении наверно месяца-2х. Сначало узнал структуру всех файлов(где и что далжно лежать). Потом ковырял папку NPC потом Dialog потом уже полез во всякие функции.
Сейчас являюсь одним из лучших скриптером для 2х частей игры 8). :D
Если ты в програмировании ни бум-бум, то как сказал опять же Алекс
оставайтесь геймерами
 
Последнее редактирование:

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
1-2 месяца- это ещё мягко сказано. У меня ушло 1.5 года на то, чтобы хоть что-то сделать. А начинал с простых текстур.
Вообще- скриптинг- одна из сложнейших частей построения всего мода. Я могу посоветовать попробовать себя в чём-то другом (моделирование, музыка, анимации). Короче- это всё не просто баловство, а реальная РАБОТА. Я говорю так не потому, что, мол, крут, а потому, что статистика печальная- куча народу садится делать моды, и лишь у единиц что-то выходит в свет- остальные просто забивают.

Для совсем ленивых есть проги типа "Конструктора 3D игр"- нажал кнопку и игра готова....

ПРИМЕЧАНИЕ! Не следует садиться за скриптин вообще и модостроение в частности, если вы:
Вообще не имеете понятия для чего вам это нужно;
Не имеете ни малейшего понятия о том, как это работает;
Собираетесь все делать лишь для того, чтобы сделать (без предварительного продумывания);
Собираетесь спрашивать, что такое функции, переменные, константы, инстанции и.т.д.;
Собираетесь спрашивать, где чего нажать, чтобы всё заработало;
Не владеете хотя бы элементарными навыками программирования


Ну я тоже не крут, так, просто для примера привел, что лучший... //МЕГА//
 
Последнее редактирование модератором:

Финкрег

Участник форума
Регистрация
16 Май 2007
Сообщения
69
Благодарности
0
Баллы
155
Спасибо Vam-у, MEG@VOLT-у, MaGoth-у и alex_draven-у за ответы. Научился декомпилировать и компилить скрипты с помощью сюрсера 3.14.
Решил построить персонажа по типу Лареса.
У наго есть данная функция:
Код:
func void DIA_Lares_DEX_Info()
{
	AI_Output(other,self, "DIA_Lares_DEX_15_00");	//Ты можешь научить меня чему-нибудь?
	AI_Output(self,other, "DIA_Addon_Lares_DEX_Add_09_01");	//Конечно. Я могу помочь тебе стать более сильным и ловким.
	[color=red]Lares_TeachDEX = TRUE;[/color]
	Log_CreateTopic(TOPIC_CityTeacher,LOG_NOTE);
	B_LogEntry(TOPIC_CityTeacher, "Ларес может помочь мне повысить мою ловкость и силу.");
};

У мну получилоась вот так:
Код:
func void DIA_mil_320_miliz_DEX_Info()
{
	AI_Output(other,self, "DIA_mil_320_miliz_DEX_15_00");	//Ты можешь меня чему-нибудь научить?
	AI_Output(self,other, "DIA_Addon_mil_320_miliz_DEX_Add_09_01");	//Я могу повысить твою силу и ловкость.
	AI_Output(other,self, "DIA_mil_320_miliz_DEX_15_00");	//Бесплатно?
	AI_Output(self,other, "DIA_Addon_mil_320_miliz_DEX_Add_09_01");	//Да.Лорд Андре отдал такой приказ.
	[color=red]Jons_TeachDEX = TRUE;[/color]
	Log_CreateTopic(TOPIC_CityTeacher,LOG_NOTE);
	B_LogEntry(TOPIC_CityTeacher, "Ополченец Джонс может помочь повысить силу и ловкость.");
};

В моем скрипте возникает ошибка:неизвестный идентификатор (выделил красным), в Story_Globals его прописал, как var int Jons_TeachDex, но выдает ошибку.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Ошибок вроде нет, возможно она гдето отдельно закралась...
Попробуй в звуковых файлах изменить нумерацию, примерно вот так, после чего запусти компиллинг скриптов.

Код:
func void DIA_mil_320_miliz_DEX_Info()
{
 AI_Output(other,self,"DIA_mil_320_miliz_DEX_15_00"); //Ты можешь меня чему-нибудь научить?
 AI_Output(self,other,"DIA_Addon_mil_320_miliz_DEX_Add_09_00"); //Я могу повысить твою силу и ловкость.
 AI_Output(other,self,"DIA_mil_320_miliz_DEX_15_01"); //Бесплатно?
 AI_Output(self,other,"DIA_Addon_mil_320_miliz_DEX_Add_09_01"); //Да.Лорд Андре отдал такой приказ.
 Jons_TeachDEX = TRUE;
 Log_CreateTopic(TOPIC_CityTeacher,LOG_NOTE);
 B_LogEntry(TOPIC_CityTeacher,"Ополченец Джонс может помочь повысить силу и ловкость");
};
 
Последнее редактирование модератором:

Vam

Почетный форумчанин
Регистрация
8 Июл 2008
Сообщения
255
Благодарности
1
Баллы
180
Финкрег написал(а):
В моем скрипте возникает ошибка:неизвестный идентификатор(выделил красным), в Story_Globals его прописал, как var int Jons_TeachDex, но выдает ошибку.
Если компилятор выдает такую ошибку, то это значит, что имя переменной (выделено жирным) при декларации var int Jons_TeachDex; не совпадает с именем переменной при использовании Jons_TeachDEX = TRUE; - проверь имена на идентичность.
Имена переменных скриптов и функций некритичны к регистру символов, т.к. внутреннее представление имени транслируется в верхний регистр, но критичны к кодам символов - если одинаковые по написанию буквы (например, а) в одном имени напечатаны английским шрифтом, а в другом - русским, то будет ошибка.
 
Последнее редактирование модератором:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Магоч, не это не поможет, там хочть что можешь писать хоть так:
AI_Output(other,self,"abrakadabra"); //Ты можешь меня чему-нибудь научить?
От этого ничего не изменится.
Хотя есть одна ошибка(только что заметил), но Магоч её уже исправил. Нумерация звуковых фалов - у тя они одинаковые.
Попробуй сделать так как сказал Вам. Если не поможет, то попробуй обьявить переменную в файле диалога(конечно будет много гемороя для тех кто будет разбирать твой мод, но всеже...). Т.е. примерно так:
var int Jons_TeachDex
instance DIA_mil_320_miliz_DEX(C_Info)
А дальше твой диалог
 
Последнее редактирование:
Сверху Снизу