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

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

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

MaGoth

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

Вложения

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

GothMass


Модостроитель
Регистрация
4 Окт 2010
Сообщения
336
Благодарности
314
Баллы
220
Спасибо, но я уже сам додумался.:)
 

GothMass


Модостроитель
Регистрация
4 Окт 2010
Сообщения
336
Благодарности
314
Баллы
220
Так, опять вопрос.
Как в диалогах, сделать кнопочку Назад?
 

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
Так, опять вопрос.
Как в диалогах, сделать кнопочку Назад?

Ну посмотри, как в оригинале сделано. Если разобрался с инициализацией мира, значит и с этим должен бы справиться*flowers*

Делаешь как обычно:

Код:
func void DIA_MyDialoge_Info()
{
Info_AddChoice(DIA_MyDialoge,"(НАЗАД)",DIA_MyDialoge_back);
};

func void DIA_MyDialoge_back()

{
InfoClearChoices(DIA_MyDialoge)
}
Пишу по памяти, так что могут быть ошибки. Дерзай:cool:
 

GothMass


Модостроитель
Регистрация
4 Окт 2010
Сообщения
336
Благодарности
314
Баллы
220
Спасибо, все получилось.:)
 

maggi1221

Участник форума
Регистрация
7 Окт 2010
Сообщения
218
Благодарности
4
Баллы
165
Народ, подскажите где найти плитку для готовки жареного мяса (искал в скриптах не нашел). Хотел сделать патчик с диалогом "пожарить 5 штук", "пожарить 1 шт."...

PS: нашел наковальню, алхимический, рунический столы, итд,.... но Плиту не нашел =(
 

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
Народ, подскажите где найти плитку для готовки жареного мяса (искал в скриптах не нашел). Хотел сделать патчик с диалогом "пожарить 5 штук", "пожарить 1 шт."...

PS: нашел наковальню, алхимический, рунический столы, итд,.... но Плиту не нашел =(

Для нее Mobsi-диалога нет, посему придется скрипт создавать вручную.
 

maggi1221

Участник форума
Регистрация
7 Окт 2010
Сообщения
218
Благодарности
4
Баллы
165
Для нее Mobsi-диалога нет, посему придется скрипт создавать вручную.

Знаю, но хотелось бы узнать, где она находится? как ее "пощупать", чтоб создать свой диалог с условием... Ведь для нее должен быть скрипт, мясо же жарится как-то? :)
 

Jr13San


Модостроитель
Регистрация
1 Апр 2010
Сообщения
449
Благодарности
266
Баллы
230
maggi1221, посмотри тут:
AI\Human\TA_Human\ZS_Cook_Stove.d
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
maggi1221 написал(а):
Знаю, но хотелось бы узнать, где она находится? как ее "пощупать", чтоб создать свой диалог с условием... Ведь для нее должен быть скрипт, мясо же жарится как-то?
ЗДЕСЬ все подробно расписано + готовая скриптовая заготовка.
 

maggi1221

Участник форума
Регистрация
7 Окт 2010
Сообщения
218
Благодарности
4
Баллы
165
2Jr13San
maggi1221, посмотри тут:
AI\Human\TA_Human\ZS_Cook_Stove.d
там к сожалению скрипт для нпс.

2Dimmell
Спасибо.
1) Только вот все равно не понял как жарится мясо. В файлах .ZEN есть параметр useWithItem. но скрипта жарки мясанету!
2) еще 1 момент: как найти родителя плитки чтоб установить ему функцию чтоб впоследствии она срабатывала при взаимодействии с унаследованными объектами?
Эта мысль возникла при просмотре файла .Zen - там было много плиток. неужели нужно прописывать для каждой плитки свой скрипт вручную? (это ж, долго)
 

maggi1221

Участник форума
Регистрация
7 Окт 2010
Сообщения
218
Благодарности
4
Баллы
165
Наконец-то разобрался с этой плитой!
Дело было в скрипте самого мяса, а именно в анимации.
готовое мясо вставлялось анимацией! не самая лучшая реализация. Такие вещи должны выполняться в скриптах...

Возник еще 1 вопрос:

как создавать/редактировать пункты меню статистики персонажа? Короче говоря, диалоговые окна...
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
файл menu.dat там молжно рредактирвотаь все характеристики меню, но ограничено многое зашито в двиге, и тут только два выхода Ikarus/G2ext но тебе в эти вещи лезть не советую, сначала хотябы набратся опыта по больше, хотя бошка у тебя светлая если додумался с анимацией;)
 

aaa82

Участник форума
Регистрация
16 Окт 2011
Сообщения
64
Благодарности
0
Баллы
155
func void dia_Dedroit_q_info()
{
AI_Output(other,self,"DIA_Dedroit_q_15_00"); //Я могу чем нибудь помочь?
AI_Output(self,other,"DIA_Dedroit_q_3_01"); //Да ты можешь мне почь!Ты бы мог бы убить Вино?
Info_ClearChoices(DIA_Dedroit_q);
Info_AddChoice(dia_Dedroit_q,"Нет я не буду тебе помогать.",dia_Dedroit_q_w); //Это варианты ответов,которые будут отображаться в меню диалога!
Info_AddChoice(dia_Dedroit_q,"Хорошо я убью Вино",dia_Dedroit_q_e); //Это второй вариант ответа!
};

вот пример диалога из тутора, вот эти вот "15_00" или "3_01" что значат/откуда берутся?

это типа озвучка что ли пошла, а файлы озвучки с такими именами где-то лежат?
а можно диалоги без озвучки делать - выводить текст на экран?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
aaa82,
вот пример диалога из тутора, вот эти вот "15_00" или "3_01" что значат/откуда берутся?

Код:
AI_Output(other,self,"DIA_Dedroit_q_15_00"); //Я могу чем нибудь помочь? 
AI_Output(self,other,"DIA_Dedroit_q_3_01"); //Да ты можешь мне почь!Ты бы мог бы убить Вино?
где:
"DIA_Dedroit_q..." - текущий диалог с нпс в игре,
"_15" - голос глав героя,
"_3" - непеся, соответственно,
"_00" - порядковый номер файла озвучки, идут по нарастающей.

это типа озвучка что ли пошла, а файлы озвучки с такими именами где-то лежат?
Да. Строка в скрипте: "DIA_Dedroit_q_15_00", указывает на одноименный файл озвучки реплики Гг - DIA_Dedroit_q_15_00.wave, которую следует воспроизвести.
находится она в каталоге: ...\_WORK\DATA\SOUND\SPEECH\

а можно диалоги без озвучки делать - выводить текст на экран?
Можно, без нее будет небольшая задержка в игре при попытке воспроизведения этих диалогов...

Зы, читай туторы, там все это жевано-пережевано, не раз.
 

aaa82

Участник форума
Регистрация
16 Окт 2011
Сообщения
64
Благодарности
0
Баллы
155
т.е. можно подстроиться под стандартные диалоги, забавненько, будем пытаться
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Такс, вот вопросег.
Нужно перевести гг в сотояние ZS_xxx где ххх назвнаие состояния(допустим ZS_Freez ZS_Pero и тд)
Только вот как это сделать - хз.
Вариант на гг использовать функцию
Код:
func void AI_StartState(PC_HERO, ZS_Freez, 0, "");
Не подходит, или у меня руки кривые, тут уже вопрос...
Кароче кто знает как перевести именно гг в нужное состояние?
Был вариант с помощью "скрытого" нпс который переведт гг в нужное состояние, но этот вариант сразу отсекается.

Так что, если кто знает как это сделать, то ответьте.
 

maggi1221

Участник форума
Регистрация
7 Окт 2010
Сообщения
218
Благодарности
4
Баллы
165
instance ItFoMutton(C_Item)
{
name = "Жареное мясо";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Meat;
visual = "ItFoMutton.3DS";
material = MAT_LEATHER;
scemeName = "MEAT";
on_state[0] = Use_Meat;
description = name;
text[1] = NAME_Bonus_HP;
count[1] = HP_Meat;
text[2] = NAME_BONUS_STAPROC;
count[2] = 15;
text[5] = NAME_Value;
count[5] = Value_Meat;
};


func void Use_Meat()
{
AI_PlayAni(hero,"T_WATCHFIGHT_YEAH");
};

К скрипту жареного мяса приделан вызов анимации - работает, результат на скрине. Кстати - в этом состоянии игрок заморожен, даже в меню нельзя выйти...
 

Вложения

  • ANI_01.PNG
    ANI_01.PNG
    754 KB · Просмотры: 260

Feuermagier


Модостроитель
Регистрация
13 Апр 2008
Сообщения
934
Благодарности
136
Баллы
225
Может не совсем по теме, но опытные кодеры наверно знают.
Я помню в готик сорсере можно было отключить файл скрипта от проекта. Тоесть файл физически находился на в папке, но не включался в проект и не компилился.
Есть ли подобное в VS 2010?
Ковырялся в меню - ни чего подобного не нашел:-\
 
Сверху Снизу