|
|
22.07.2005, 12:05
|
#602
|
|
Re: Скриптинг в Готике
2DEDROIT:
И ещё ты сказал что можно поменять отношение(если зомби не бьёт),а где его нужно менять?
|
В файле Gothic II\_work\data\Scripts\Content\AI\Human\Guilds.d
|
|
|
22.07.2005, 13:42
|
#603
|
|
Re: Скриптинг в Готике
2finch: Но в файле Gothic II\_work\data\Scripts\Content\AI\Human\Guilds.d взаимоотношнния людей а не животных.Вот посмотри скрипт может быть я не указал функцию чтобы мой зомби атаковал: instance Zombie_DEAD_Lord(Mst_Default_Zombie) { guild = GIL_SKELETON; name[0] = "Приспешник Lorda"; Mdl_SetVisual(self,"HumanS.mds"); Mdl_SetVisualBody(self,"Zom_Body",0,0,"Zom_Head",0 ,DEFAULT,ITAR_RANGER_Addon); level = 150; attribute[ATR_STRENGTH] = 150; attribute[ATR_DEXTERITY] = 150; attribute[ATR_MANA_MAX] = 110; attribute[ATR_MANA] = 110; attribute[ATR_HITPOINTS_MAX] = 200; attribute[ATR_HITPOINTS] = 2000; protection [PROT_BLUNT] = IMMUNE; protection [PROT_EDGE] = IMMUNE; protection [PROT_POINT] = IMMUNE; protection [PROT_FIRE] = IMMUNE; protection [PROT_FLY] = IMMUNE; protection [PROT_MAGIC] = 150; fight_tactic = FAI_HUMAN_MASTER; aivar[AIV_EnemyOverride] = TRUE; EquipItem(self,ItMw_2H_Sword_M_01); B_GiveNpcTalents (self); B_SetFightSkills (self, 60); B_SetAttitude(self,ATT_FRIENDLY); start_aistate = ZS_MM_Rtn_Summoned; aivar[AIV_PARTYMEMBER] = TRUE; aivar[AIV_MM_REAL_ID] = ID_SummonedZombie; }; Я попытался изменить функцию B_SetAttitude(self,ATT_FRIENDLY); на B_SetAttitude(self,ATT_HOSTILE);.А какая функция вообще отвечает за атаку монстра?
Добавление от 07/22/05, в 12:00:58 И ещё заметил которых я зомби создал не дерутся,а которых я не создавал лезуд драться.Почему?
Добавление от 07/22/05, в 13:02:27 И ещё я попробывал то что мне нужно добавить к существующему скрипту.И всё получилось.И дерётся так как надо,и всех бьёт с самого начало.Потом взял создал свой скрипт. instance Zombie_DEAd_Lord(Mst_Default_Zombie) { name[0] = "Приспешник Лорда"; Mdl_SetVisual(self,"HumanS.mds"); Mdl_SetVisualBody(self,"Zom_Body",0,0,"Zom_Head",0 ,DEFAULT,ITAR_MayaZombie_Addon); fight_tactic = FAI_HUMAN_MASTER; EquipItem(self,ItMw_2H_Sword_M_01); attribute[ATR_STRENGTH] = 150; attribute[ATR_DEXTERITY] = 150; attribute[ATR_MANA_MAX] = 110; attribute[ATR_MANA] = 110; attribute[ATR_HITPOINTS_MAX] = 200; attribute[ATR_HITPOINTS] = 2000; protection [PROT_BLUNT] = IMMUNE; protection [PROT_EDGE] = IMMUNE; protection [PROT_POINT] = IMMUNE; protection [PROT_FIRE] = IMMUNE; protection [PROT_FLY] = IMMUNE; protection [PROT_MAGIC] = 150; }; И наконец то и с моим скриптом всё получилось! Вот ещё один вопрос как сделать так чтобы при произнесения заклинания появился какой-нибудь чел.Как например вызов Квалдахлорна в Яркендре?
|
|
|
22.07.2005, 14:10
|
#604
|
|
Re: Скриптинг в Готике
2DEDROIT:
И наконец то и с моим скриптом всё получилось!
|
Мораль сей басни такова: не бойся пробовать и экспериментировать и у тебя все получится
|
|
|
22.07.2005, 16:15
|
#605
|
|
Re: Скриптинг в Готике
2DEDROIT:
Но в файле Gothic II\_work\data\Scripts\Content\AI\Human\Guilds.d взаимоотношнния людей а не животных.
|
Мде... Старею, наверное... =) В файле *..\AI\Monster\B_Monster\B_InitMonsterAttitudes.d
Вот ещё один вопрос как сделать так чтобы при произнесения заклинания появился какой-нибудь чел.Как например вызов Квалдахлорна в Яркендре?
|
Поюзай Wld_InsertNpc(self,Npc_GetNearestWP (hero)); все должно получиться! Вместо self пропиши своего НПС.
|
|
|
22.07.2005, 16:24
|
#606
|
|
Re: Скриптинг в Готике
2finch: чё то я не понял как сделать,не мог бы ты поподробней расписать:
Поюзай * * *Wld_InsertNpc(self,Npc_GetNearestWP (hero)); все должно получиться! Вместо self пропиши своего НПС.
|
Вот допустим я произношу каое нибудь заклинание и после этого появляеся ну допусти паладин и начинает что-нибудь гнать!Как так сделать.Допустим создать непися и прописать Wld_InsertNpc(self,Npc_GetNearestWP (hero)); а в диалогах чё нибудь надо прописывать?Или может в заклинание какую-нибудь функцию надо прописать для вызова NPC?
|
|
|
22.07.2005, 19:07
|
#607
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Скриптинг в Готике
2DEDROIT:
Или может в заклинание какую-нибудь функцию надо прописать для вызова NPC?
|
Wld_InsertNpc(self,Npc_GetNearestWP(hero));
|
|
|
22.07.2005, 20:42
|
#608
|
|
Re: Скриптинг в Готике
2TycoooN: а ты не подскажешь в каком файле можно найти заклинание для вызова квалдахлорна?Я просмотрел все файлы в папке Items,точнее просмотрел файлы MissionItems_1 и.т.д.Просто я бы мог посмотреть как это делать по примеру?
Добавление от 07/22/05, в 19:48:57 Отвечать не нужно.Нашёл это заклинание в IT_addon_Written
Добавление от 07/22/05, в 19:55:39 Вот скрипт заклинания вызова Куарходрона: instance ItWr_Addon_SUMMONANCIENTGHOST(C_Item) { name = "Вызов 'Куарходрона'"; mainflag = ITEM_KAT_DOCS; flags = ITEM_MISSION; value = 250; visual = "ItWr_Scroll_01.3DS"; material = MAT_LEATHER; on_state[0] = UseSummonAncientGhost; scemeName = "MAP"; description = name; text[0] = "С помощью этого свитка можно вызвать Куарходрона."; };
func void UseSummonAncientGhost() { if(SC_SummonedAncientGhost == FALSE) { B_Say(self,self,"$ADDON_SUMMONANCIENTGHOST"); if(Npc_GetDistToWP(self,"ADW_ANCIENTGHOST") < 1000) { Wld_InsertNpc(NONE_ADDON_111_Quarhodron,"ADW_ANCI ENTGHOST"); Wld_PlayEffect("spellFX_Maya_Ghost",NONE_ADDON_11 1_Quarhodron,NONE_ADDON_111_Quarhodron,0,0,0,FALSE ); Wld_PlayEffect("SPELLFX_LIGHTSTAR_WHITE",NONE_ADD ON_111_Quarhodron,NONE_ADDON_111_Quarhodron,0,0,0, FALSE); Snd_Play("MFX_GhostVoice"); Snd_Play("MFX_Firestorm_Cast"); Snd_Play("MFX_Lightning_Origin"); SC_SummonedAncientGhost = TRUE; } else { B_Say(self,self,"$ADDON_ANCIENTGHOST_NOTNEAR" ); }; }; }; с первой частью всё понятно.А вот со второй проблема,непонятно что за что отвечает: func void UseSummonAncientGhost() { if(SC_SummonedAncientGhost == FALSE) { B_Say(self,self,"$ADDON_SUMMONANCIENTGHOST"); if(Npc_GetDistToWP(self,"ADW_ANCIENTGHOST") < 1000) { Wld_InsertNpc(NONE_ADDON_111_Quarhodron,"ADW_ANCI ENTGHOST"); Wld_PlayEffect("spellFX_Maya_Ghost",NONE_ADDON_11 1_Quarhodron,NONE_ADDON_111_Quarhodron,0,0,0,FALSE ); Wld_PlayEffect("SPELLFX_LIGHTSTAR_WHITE",NONE_ADD ON_111_Quarhodron,NONE_ADDON_111_Quarhodron,0,0,0, FALSE); Snd_Play("MFX_GhostVoice"); Snd_Play("MFX_Firestorm_Cast"); Snd_Play("MFX_Lightning_Origin"); SC_SummonedAncientGhost = TRUE; } else { B_Say(self,self,"$ADDON_ANCIENTGHOST_NOTNEAR" ); }; }; }; Никто не мог бы помочь разобраться?
|
|
|
22.07.2005, 22:38
|
#609
|
|
Re: Скриптинг в Готике
2DEDROIT: Хм.. И че тут непонятного?
func void UseSummonAncientGhost()
|
- функция, которая вызывается при чтении свитка вызова Кварходрона.
if(SC_SummonedAncientGhost == FALSE)
|
если переменная SC_SummonedAncientGhost не является истиной (а она не будет являться истиной, пока не вызовешь Кварходрона)
B_Say(self,self,"$ADDON_SUMMONANCIENTGHOST");
|
- произносишь заклинание вызова:"Игхориал торул. Явись мне, Кварходрон, старый вождь касты воителей!"
if(Npc_GetDistToWP(self,"ADW_ANCIENTGHOST") < 1000)
|
проверка: читающий закл, должен не дальше 10 метров от вэйпоинта ADW_ANCIENTGHOST
Wld_InsertNpc(NONE_ADDON_111_Quarhodron,"ADW_ANCIE NTGHOST");
|
собссно, "вставка" Кварходрона
Wld_PlayEffect("spellFX_Maya_Ghost",NONE_ADDON_111 _Quarhodron,N ONE_ADDON_111_Quarhodron,0,0,0,FALSE); * * * * * * * * Wld_PlayEffect("SPELLFX_LIGHTSTAR_WHITE",NONE_ADDO N_111_Quarhodron,NON E_ADDON_111_Quarhodron,0,0,0,FALSE);
|
- эффекты
Snd_Play("MFX_GhostVoice"); Snd_Play("MFX_Firestorm_Cast"); Snd_Play("MFX_Lightning_Origin");
|
- звуковые эффекты
else {B_Say(self,self,"$ADDON_ANCIENTGHOST_NOTNEAR");
|
если ГГ находится далеко от вэйпоинта ADW_ANCIENTGHOST, то он произносит фразу:"Здесь не действует" Надеюсь, расписал подробно! ;)
|
|
|
23.07.2005, 01:35
|
#610
|
|
Re: Скриптинг в Готике
Я только начинаю пробовать свои силы в скриптинге и вот столкнулся с проблемой, перетащил я доспехи из Готики 1 в аддон, вот код скрипта:
instance ItAr_KingArmor(C_Item) { * * *name = "Доспехи королей"; * * *mainflag = ITEM_KAT_ARMOR; * * *flags = 0; * * *protection[PROT_EDGE] = 150; * * *protection[PROT_BLUNT] = 150; * * *protection[PROT_POINT] = 150; * * *protection[PROT_FIRE] = 100; * * *protection[PROT_MAGIC] = 100; * * *value = 10000; * * *wear = WEAR_TORSO| WEAR_EFFECT; * * *effect = "SPELLFX_CROSSBOW"; * * *visual = "ebrh.3ds"; *// с этим вот какая проблема - есть только откомпилированная сетка * * * * * * * * * * * * * *// а файла 3ds нет поэтому ни на земле, ни в инвентаре он * * * * * * * * * * * * * *// не отображается.
* * *visual_change = "Hum_EBRS_ARMOR.asc"; // этого файла нет и в помине, вроде бы все папки * * * * * * * * * * * * * * * * * * * * * *// пересмотрел. Есть только файл Hum_EBRS_ARMOR.tex * * * * * * * * * * * * * * * * * * * * * *// Так вот, откуда мне взять и куда положить файл * * * * * * * * * * * * * * * * * * * * * *// Hum_EBRS_ARMOR.asc * * *visual_skin = 0; * * *material = MAT_METAL; * * *description = name; * * *text[0] = "Эти доспехи были изготовлены в кузнях Нордмара лучшими мастерами"; * * *text[1] = NAME_Prot_Edge; * * *count[1] = protection[PROT_EDGE]; * * *text[2] = NAME_Prot_Point; * * *count[2] = protection[PROT_POINT]; * * *text[3] = NAME_Prot_Fire; * * *count[3] = protection[PROT_FIRE]; * * *text[4] = NAME_Prot_Magic; * * *count[4] = protection[PROT_MAGIC]; * * *text[5] = NAME_Value; * * *count[5] = value; };
Помогите пожалуйста разобраться с ситуацией. Скрипты компилируются без проблем. марвином вставляю доспехи - пустота, но с пола подымаются. В инвентаре пусто, при попытке одеть игра вылетает, говорит, мол, не найден файл Hum_EBRS_ARMOR.asc. З.Ы. В учебнике по скриптам посмотрел - нет интересующей меня инфы: var string *visual; *//Имя .3DS файла текстур предмета var string *visual_change; //Имя .ASC файла визуальных эффектов при получении этого предмета
|
|
|
24.07.2005, 00:05
|
#611
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Finsternis link=board=gothic&t=1105030050&start=600#609 date=07/23/05, в 00:35:35
|
Попробуй поищи свои файлики ebrh.* в папках compiled... Мож что получится но, имхо, тухловатое дело... пробовал я пьяную анимацию...глухо
|
|
|
24.07.2005, 01:50
|
#612
|
|
Re: Скриптинг в Готике
2basilio58: Cпасибо за помощь, со вставкой доспеха разобрался, даже сделал несколько инстанций - простые, магические, огненные. Надо было на WoG'е скачать один файлик. В общем С++ (соответственно и скрипты Готики) не такой уж и сложный язык - разобраться можно.
Только вот с интеллектом неписей и монстров беды. Не могу понять, как нужно изменить интеллект или, быть может прототип или инстанцию, елитных орков, чтоб они с лука или арбалета стреляли?
Упс, забыл написать, что арбалет, болты созданы и подарены каждому орку.:)
Подскажите примерно, в каком файле что написать, чтобы орк пулялся, а далее я сам разберусь.
Заранее спасибо.
|
|
|
24.07.2005, 22:08
|
#613
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Finsternis link=board=gothic&t=1105030050&start=600#611 date=07/24/05, в 00:50:13
|
Только вот с интеллектом неписей и монстров беды. Не могу понять, как нужно изменить интеллект или, быть может прототип или инстанцию, елитных орков, чтоб они с лука или арбалета стреляли?
|
Подскажите примерно, в каком файле что написать, чтобы орк пулялся, а далее я сам разберусь.
|
Ну, опять двадцать пять за рыбу деньги... Если есть анимация стреляющего Орка, то не проблема.
|
|
|
24.07.2005, 23:51
|
#614
|
|
Re: Скриптинг в Готике
2basilio58: Здесь у меня прблема не в том, что орк не умеет стрелять, стрелять он умеет очень даже хорошо (Проверял с помощью Марвина - вставил урку, вселился в него и перестрелял пол города) проблема в том, что приоритет на использование меча больше приоритетеа на использование арбалета. Т.Е. Орк, когда враг попадает в его радиус чувств, хватает меч и несется на своего врага вместо того, чтобы пулять из арбалета. Люди, например, сначала стреляют а потом, если слишком близко подойдешь или если кончатся боеприпасы, берутся за меч.
Так вот, что мне изменить, чтобы урка вел себя так же, а иначе зачем арбалет висит у него на плече?
З.Ы. Насчет двадцати пяти за рыбу - че то маловато, видать рыба...
|
|
|
27.07.2005, 02:46
|
#616
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2Finsternis: Такой темы нету. Если тебе нужны ВП, открываешь Спэйсер, ищешь нужный, копируешь имя.
|
|
|
03.08.2005, 09:03
|
#618
|
|
Re: Скриптинг в Готике
2Finsternis:
Подскажите пожалуйста, в каких файлах описываются триггеры.
|
Сами триггеры и их параметры задаются в Спейсере и записываются в файл zen, функции реакции на триггеры размещены в скриптах, для Готики2 - директория ..\Story\Events
|
|
|
05.08.2005, 00:57
|
#619
|
|
Re: Скриптинг в Готике
С триггерами разобрался. Спасибо. :)
Вопрос: Как сделать, чтобы какое либо событие, например, вставка какой-нибудь твари на определенном вейпоинте, выполнялось раз в два-три дня.
Само событие написать нет никаких проблем,:) а вот сделать так, чтобы оно выполнялось через определенный срок не могу. :(
Или укажите, в каком файле в Диккурике это событие описывается.
Блин, забыл спросить, а возможно ли на один предмет наложить несколько эффектов?
Я пробовал через палку указывать эффекты, но компилятор выдает ошибку, мол не закончено предложение, поставьте ';'
Заранее спасибо.
|
|
|
05.08.2005, 13:35
|
#621
|
|
Re: Скриптинг в Готике
2Отец Левонтий:
Т.е. как задать в скрипте промежуток времени? (прим.: Если время с 15 до 16 часов, то...)
|
я понял, что тебе надо скрипт, что мол, если время с 15 до 16 часов, то сделать то-то (к примеру, вставить в мир NPC)? Если не так, поправь меня. Смотрим уроки скриптологии (на самом деле там есть ответы на почти все задаваемые в этой теме вопросы ;)):
Код:
int Wld_IsTime (int hour1, int min1, int hour2, int min2); - возвращает 1, если текущее время находится между границами (hour1, min1 – нижняя граница, hour2, min2 – верхняя граница в часах и минутах), иначе возвращает 0.
то есть пишем:
Код:
if (Wld_IsTime (15,00,16,00){Wld_InsertNpc ...};
|
|
|
05.08.2005, 14:14
|
#622
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2Отец Левонтий: Визуальные эффекты лежат в Scripts/System/VisualFX/VisualFxInst.d.
|
|
|
05.08.2005, 23:51
|
#625
|
|
Re: Скриптинг в Готике
2SATANIZMatik:
Вроде эта штука должна помочь сделать работу легче. =)
|
Я уже представить не могу, как можно работать без декомпилятора :)
Прошу тыкнуть пальцем где взять
|
заходишь на http://mail.yandex.ru Вводишь логин - DiccuricAG пароль - forum Находишь во входящих сообщениях последнюю версию - а в письме уже будет ссылка на закачку. Объяснил как можно проще, надеюсь, ты понял ;)
|
|
|
05.08.2005, 23:59
|
#627
|
|
Re: Скриптинг в Готике
И коротко объяснить как пользоваться.
|
все написано в readme. Надеюсь, DimaD скоро выпустит release-версию лоадера, и всем скриптерам будет еще лучше работать :)
|
|
|
06.08.2005, 00:03
|
#628
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Скриптинг в Готике
2SATANIZMatik: Вот тут есть.
|
|
|
06.08.2005, 11:04
|
#630
|
|
Re: Скриптинг в Готике
2SATANIZMatik:
Я ничего не понял в реадми. =) Начигая с сообщения о командной строке.
|
Все просто. Берешь командную строку ("Пуск" > "Выполнить") и пишешь там полный путь к экзешнику декомпилятора, а затем параметры, то есть примерно так:
Код:
D:\Decompiler\system\GothicSourcerV2_12.exe -zlog:8,s -zfile:gothic -zcomp:0,0 -zopt:1 -zgame:1
А лучше вместо командной строки пользоваться ярлыками. Создаешь обычный ярлык, куда прописываешь все тоже самое, что и в командную строку. А, и не забывай заранее запускать zSpy.exe (находится в папке system), а иначе не увидишь лог декомпилятора. В общем, пробуй и пытайся. Я, когда впервые закачал декомпилятор, тоже парился, и не знал, что делать. Но ничего, через несколько дней разобрался ;D
|
|
|
06.08.2005, 11:48
|
#631
|
|
Re: Скриптинг в Готике
2SATANIZMatik:
Я ничего не понял в реадми. =)
|
Вот краткое руководство к действию: 1. Создай папку, скажем, Decompiler, на диске C: 2. Разархивируй туда декомпилятор 3. В папку C:\Decompiler\_work\data\scripts\_compiled положи gothic.dat от Г2, а в папку C:\Decompiler\_work\data\scripts\Content\Cutscene положи соответствующий датнику ou.bin 4. Создай ярлык для C:\Decompiler\system\GothicSourcerV2_12.exe 5. В свойствах этого ярлыка, в графе "объект" напиши: C:\Decompiler\system\GothicSourcerV2_12.exe -zlog:8,s -zfile:gothic -zcomp:0,0 -zgame:1 (параметры ключей для разных режимов работы смотри в реадми, в данном случае прога настраивается на декомпиляцию файлов Готики2) 6. Перемести ярлык куда хочешь, на рабочий стол, к примеру 7. Можно ещё создать ярлык для zSpy: C:\Decompiler\GothicTools\system\zSpy.exe 8. Запускаем сначала zSpy, затем декомпилятор 9. По окончании процесса декомпиляции ищем скрипты в папке C:\Decompiler\_work\data\scripts\_decompiled УСПЕХОВ!!! *:D
|
|
|
06.08.2005, 13:14
|
#637
|
|
Re: Скриптинг в Готике
2SATANIZMatik:
Идёт Декомпиляция. С самого начала вылезла ошибка о paths.d. Я из Готики зсунул этот файл сюда. Опять начал декомпиляцию. Вылезла ошибка про gоthic.dat.. No such file or Directory. In open file Gothic.DAT.
|
Из Готики ничего брать и совать никуда не надо, беруться только файлы *.dat и ou.bin А эти ошибки возникают, если у тебя нарушена структура папок или ты положил файлы не туда куда надо, будь внимателен, нужно просто разархивировать прогу в отдельную директорию и в ней работать.
|
|
|
Здесь присутствуют: 10 (пользователей: 0 , гостей: 10)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 15:51. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|