[AGFC: Valley of Gothic] М: Скриптинг в Готике

Страница 15 из 65 « Первая 589101112131415 1617181920212225 Последняя »
Поиск в этой теме:

Расширенный поиск
Старый 15.07.2005, 14:58   #561
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Скриптинг в Готике

2Killer-XXX:
А если попробовать переделать функцию func int DIA_ToughGuy_NEWS_Condition()
таким образом:

Код:
func int DIA_ToughGuy_NEWS_Condition(){      if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(<твой нпс>) && <Perem>* == TRUE)      {            return FALSE;      };      if(Npc_IsInState(self,ZS_Talk) && (self.aivar[AIV_LastFightAgainstPlayer] != FIGHT_NONE) && (self.aivar[AIV_LastFightComment] == FALSE))      {            return TRUE;      };};
* Perem - это временный флаг, что ему не надо говорить про сражение.
Отправить личное сообщение для Ответить с цитированием
Старый 15.07.2005, 17:15   #562
Otec_Levontiy

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Помогите мне решить проблему с прогой Вама. Вот я декомпилирую gothic.dat. Все проходит без ошибок, все файлы на месте. Потом я сразу же делаю компиляцию декомпилированного файла не изменяя ни чего в скриптах. Вылезает ошибка:

00:04 fatal:-1 U: PAR: STORY\B_CONTENT\B_ADDON_PIRATESGOHOME.D Unknown indentifier: ELSE (line 94)....<zParser.cpp,#599>

Хотя я ни чего в скриптах не менял ни в этом файле ни в других!

Делать нечего, захожу в файл B_ADDON_PIRATESGOHOME.D, смотрю, ELSE там действительно ни к чему, можно и без него, удаляю ELSE, сохраняю скрипт и опять делаю компиляцию декомпилированного файла. Вылезает еще ошибка:

00:07 Fatal:-1 U: PAR: STORY\DIALOGE\DIA_SLD_807_BULLCO.D: Expected ';' (line 156) ... <zParser.cpp,#599>

Хотя в этом файле я тоже ни чего не менял!
Почему у меня появляются эти ошибки и как от них избавиться?

З.Ы. Что означают (line 94) и (line 156)?
Ответить с цитированием
Старый 15.07.2005, 17:36   #563
BORISOFF

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Отец Левонтий:
Почему у меня появляются эти ошибки и как от них избавиться?
Они возникают потому, что в Акелловских скриптах имеются ошибки. Их-то компилировали не прогой Vam'а, а чем-то другим, что не так критично относитсяк подобным ошибкам, а вот прога Vam'а обращяет на них внимание.
А избавиться от них можно, исправив все ошибки в скриптах, либо попросить у какого-нибудь модостроителя исправленные скрипты :)
З.Ы. Что означают (line 94) и (line 156)?
это номера строк, в которых имеется ошибка.

Добавление от 07/15/05, в 17:45:44
Пользуясь случаем, хочу узнать, как исправить файл
AI\MAGIC\SPELL_PROCESSMANA.D: Possible error, function should return value ( line 318 )
Ясно, что в конце надо вставить return с чем-нибудь, но только с чем?
И как исправить файл STORY\DIALOGE\DIA_PC_THIEF_NW.D: Cannot convert from type INT to INSTANCE ( line 284 )
Ответить с цитированием
Старый 15.07.2005, 19:05   #564
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Скриптинг в Готике

2Borisoff:
Ясно, что в конце надо вставить return с чем-нибудь, но только с чем?
А любой. Т.к. по-любому одно из условий должно выполниться. Я обычно cтавлю в таких случаях
Код:
return 0;
И как исправить файл STORY\DIALOGE\DIA_PC_THIEF_NW.D: Cannot convert from type INT to INSTANCE ( line 284 )
Там ошибка разрабов, закрывающая скобка стоит не там, где нужно, правильно так:
Код:
else if(Npc_HasItems(other,ItMi_Gold) < DiegosTreasure)
Отправить личное сообщение для Ответить с цитированием
Старый 15.07.2005, 19:14   #565
Killer-XXX
Строители Миртаны
 
 
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
Killer-XXX вне форума

По умолчанию Re: Скриптинг в Готике

2Borisoff:
Их-то компилировали не прогой Vam'а,
Их просто вообще не компилировали :) А тупо переводили датник.
Ответить с цитированием
Старый 15.07.2005, 19:21   #566
BORISOFF

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2TycoooN: спасибо :)
2Killer-XXX:
Их просто вообще не компилировали *А тупо переводили датник
думаешь? им что, никакого инструментария даже не предоставили? ведь можно даже готикстартером компильнуть...
Ответить с цитированием
Старый 15.07.2005, 21:54   #567
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Отец Левонтий:
00:04 fatal:-1 U: PAR: STORY\B_CONTENT\B_ADDON_PIRATESGOHOME.D Unknown indentifier: ELSE (line 94)....<zParser.cpp,#599>
Этот файл подробно рассмотрен в одном из последних Уроков скриптологии, посмотри его.

00:07 Fatal:-1 U: PAR: STORY\DIALOGE\DIA_SLD_807_BULLCO.D: Expected ';' (line 156) ... <zParser.cpp,#599>
Правильный фрагмент функции здесь такой:
 Bullco_Leave_Day = B_GetDayPlus();
 AI_StopProcessInfos(self);
 B_Attack(self,other,AR_NONE,1);
Ответить с цитированием
Старый 15.07.2005, 23:37   #568
Otec_Levontiy

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Vam: ,2Borisoff: Саписибо, пойду скрипты исправлять :)
Ответить с цитированием
Старый 16.07.2005, 01:00   #569
Killer-XXX
Строители Миртаны
 
 
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
Killer-XXX вне форума

По умолчанию Re: Скриптинг в Готике

2Borisoff:
Могли, надо бы было, им бы все рассказали. Но у них видно руки не из того места растут, или просто вломы это было делать.
З.Ы. Оффтопить заканчиваю. :)
Ответить с цитированием
Старый 16.07.2005, 01:14   #570
basilio58

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Цитата:
Сообщение от Отец Левонтий link=board=gothic&t=1105030050&start=525#543 date=07/13/05, в 23:41:50
Я хочу сделать такую штуку, чтобы если ГГ подходит к варпоинту, то на нем появляется монстр.

А вообще, не морочь себе голову...
Вставь триггер вокруг своего NW_XARDAS_TOWER_PATH_01 и при входе в зону триггера
получишь то, что тебе надо:

Wld_InsertNpc(Giant_Bug,"NW_XARDAS_TOWER_PATH_01");// на этом варпоинте появляется Полевой жук
 
Ответить с цитированием
Старый 16.07.2005, 14:30   #571
Vendiga

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Выделяешь свой тригер, на закладке modify нажимаешь Edit the box , выскакивает Boundingbox-Dialog, нажимаешь Define, там будет три показателя (x, y, z), поставь например везде по 100, вокруг триггера появится такой красный куб... вот и все!
А вот и нифига! Делаю всё так как ты сказал, но коробочка не увеличивается :((
Ответить с цитированием
Старый 16.07.2005, 15:57   #572
XyylPex

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Vendiga:
А вот и нифига! Делаю всё так как ты сказал, но коробочка не увеличивается :(
Нет,finch все правильно говорил.Попробуй второй раз.У меня такое было и со второго раза всегда получалось.(я использовал коробочку для портала).
Ответить с цитированием
Старый 16.07.2005, 16:30   #573
Vendiga

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2ХуулРех:
Нет,finch все правильно говорил.Попробуй второй раз.У меня такое было и со второго раза всегда получалось.(я использовал коробочку для портала).
Да я раз 100 пробовал! У меня там координаты xyz, и две кнопки - ОК и на "А" какая-то. А где этот Defin?
Ответить с цитированием
Старый 16.07.2005, 16:46   #574
XyylPex

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Vendiga:
Вставляем триггер,далее modify,в internals находим bbox***,кликаем два раза,вылезает окно с define,нажимаем и задаем xyz,ok.Если делать правильно,то получится,проверял ;D
***-еще какие-то цифры.
Ответить с цитированием
Старый 16.07.2005, 18:08   #575
Vendiga

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2ХуулРех:
Точно! Получилось! И впрямь... но я всё точно так же делал :( И не изменялся размер  :( Наерно что-то напутал всё-таки. 2finch: 2ХуулРех: Большой спасибо!

Добавление от 07/16/05, в 18:25:33
ЕСТЬ! ЕСТЬ!!! Я сделал ролик! Создал триггер, заразмерил его под ворота, сделал реакцию на гг и прописал скриптфункцию! Загрузил мир и всё работает!!! Ну почти всё... камера не возвращается на ГГ :( А так и остаётся висеть у конечного кейфрема - как быть?

Добавление от 07/16/05, в 18:28:41
И ещё - я всё-таки научился замедлять камеру ;)
Ответить с цитированием
Старый 16.07.2005, 20:50   #576
Otec_Levontiy

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Люди! Вот я создал какую-то штуку. имя: vob 1 (oCCSTrigger). Я нажал на горизонтальной панели Propertypage for Trigger, затем правой кнопкой на экране мира и Инсерт... Задал ему параметры кнопкой Edit the Bbox. Теперь это можно считать триггером?(Я со спейсером никогда не работал, только скрипты им компилил, так что прошу не бить ногами :-[ :-/ ) Если это триггер, то как связать его со скриптами (вставка монстра см. мои предыдущие посты)? Или еще может что надо сделать в спейсере до скриптования? Подскажите Создал воб прямо по центру того варпоинта, на котором должен появиться монстр.
Ответить с цитированием
Старый 17.07.2005, 16:00   #577
Vendiga

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Да, то что ты создал и есть триггер. Но не полноценный - работать он не будет. Чтобы он работа нужно:

1. Прописать скриптфункцию для триггера.
Выделяешь свой триггер, смотришь на окно Object и видишь во вкладке Modify множество свойств твоего триггера. Так вот скриптфункция это в самом низу. Так и называется scriptFunc. В поле обозначаешь название твоей функции. К примеру START_INSERT_MONSTER. Да и не забудь назвать свой триггер. Назову его TS_INSERT_MONSTER.
2. Теперь прописываешь скриптфункцию в скриптах. Создаёшь *.d файл(желательно в папке story\events), назывешь его как хочешь и прописываешь всё то что хотел бы увидетьт в игре при взаимодействии с триггером.
Не помню твой скрипт, но он наверно должен выглядеть так:

func void START_INSERT_MONSTER
{
Wld_InsertNPC(Твой дракон, точка высадки);
};

Вроде больше ничего и не надо прописывать.

3. Теперь надо сделать так, чтобы триггер реагировал на появление ГГ в своём фокусе. Достигается это в свойствах. Всё в той же вкладке modify.
Вот свойства и какие параметры должны стоять:

showVisual:FALSE
visualCamAlign:NONE
cdStatic:FALSE
cdDyn:TRUE
ststicVob:FALSE
dynShadow:DS_NONE

react ToOnTrigger:TRUE
react ToOnTouch:TRUE
react ToOnDamage:TRUE
respond ToObject:FALSE
respond ToPC:TRUE
respond ToNPC:FALSE
stsrtEnabled:TRUE
Ответить с цитированием
Старый 18.07.2005, 14:45   #578
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Я создал зомби с новой бронёй,вооружил мечом,но как сделать чтобы он с этим мечом обращался как мастер.Я пытался прописать в его атрибутах что бы он владел мечом на 50 процентов.Но когда захожу в игру он дерётся как-будто у него ничего не прокачено и когда в него вселяюсь с помощью марвина и захожу в атрибуты то у него они прокачены на 50.Как сделать чтобы он сражался как мастер!
Ответить с цитированием
Старый 18.07.2005, 17:13   #579
Otec_Levontiy

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Vendiga:
Спасибо, Жень. Пойду испробую :)
Ответить с цитированием
Старый 18.07.2005, 21:46   #580
TSYLin

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
Зомби - это животное, и поэтому надо переделывать весь искусственный интелект (деректория AI), он не будет драться как человек.
Ответить с цитированием
Старый 18.07.2005, 23:28   #581
Otec_Levontiy

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Женек! Работает! С меня причитается :pivo:

Откуда инфа такая:

showVisual:FALSE
visualCamAlign:NONE
cdStatic:FALSE
cdDyn:TRUE
ststicVob:FALSE
dynShadowS_NONE

react ToOnTrigger:TRUE
react ToOnTouch:TRUE
react ToOnDamage:TRUE
respond ToObject:FALSE
respond ToPC:TRUE
respond ToNPC:FALSE
stsrtEnabled:TRUE
А?

Люди, не знаете ли, где лежат скрипты смены текстур неба (день, ночь и т.д.)? Или это через экзешник работает?
Ответить с цитированием
Старый 19.07.2005, 12:30   #582
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Отец Левонтий,ты сказал что нужно переделывать в директории AI исскуственный интелект.Это нужно переделывать в папке Monster,если да то где именно в
B_Monster,C_Monster,RTN_Monster,ZS_Monster, и в каком файле?

Добавление от 07/19/05, в 12:50:57
Ошибочка вышла не Отец Левонтий,а TSYLin
Ответить с цитированием
Старый 19.07.2005, 13:08   #583
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Скриптинг в Готике

2Отец Левонтий:
Откуда инфа такая:
Гм, наверно, товарисч просто посмотрел на один из уже существующих в Готике 2 аналогичных триггеров ::)

Добавление от 07/19/05, в 13:14:00
2DEDROIT:
Я создал зомби с новой бронёй,вооружил мечом,но как сделать чтобы он с этим мечом обращался как мастер.Я пытался прописать в его атрибутах что бы он владел мечом на 50 процентов.Но когда захожу в игру он дерётся как-будто у него ничего не прокачено и когда в него вселяюсь с помощью марвина и захожу в атрибуты то у него они прокачены на 50.Как сделать чтобы он сражался как мастер!
Попробуй прописать ему
Код:
fight_tactic = FAI_HUMAN_STRONG;
(не ручаюсь)
Отправить личное сообщение для Ответить с цитированием
Старый 19.07.2005, 13:30   #584
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

TycoooN уже пробывал всё равно не получается.Спосибо конечно за совет!Я пытался изменить зомби(преспешник ворона),броню(другую) получилось одеть,так же вставил в игру мечь Уризель(из Готики1),потом одел его на зомби.Но он дрался всё равно врукопашную.Потом я в его скрипте изменил что бы он дрался не врукопашку а мечом(в моём случае Уризелем).Он стал драться мечом.Но проблема в том что в руке он держит меч а бьёт всёравно как рукой.Вот я и спрашиваю,как сделать чтобы он сражался допустим как скелет.Пробывал сделать зомби по подобию скелета,но всёравно так дерётся.И ещё TSYLin сказал что нужно изменить в директории AI исскуственный интелект.Но где именно в каком файле и что нужно изменить?
Ответить с цитированием
Старый 19.07.2005, 14:02   #585
Killer-XXX
Строители Миртаны
 
 
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
Killer-XXX вне форума

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
Можно попробовать сделать так:
Создаешь скелета, проверяешь что он дерется как тебе надо.
В его скрипте меняешь визуализацию на зомби.
Ответить с цитированием
Старый 19.07.2005, 14:29   #586
Vendiga

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Отец Левонтий:
Откуда инфа такая:

showVisual:FALSE
visualCamAlign:NONE
cdStatic:FALSE
cdDyn:TRUE
ststicVob:FALSE
dynShadowS_NONE

react ToOnTrigger:TRUE
react ToOnTouch:TRUE
react ToOnDamage:TRUE
respond ToObject:FALSE
respond ToPC:TRUE
respond ToNPC:FALSE
stsrtEnabled:TRUE
Я ими уже давно интересуюсь - так, исследование проводил маааленькое. Теперь я в спейсере учусь работать. Углублённо... ::)

2TycoooN:
Гм, наверно, товарисч просто посмотрел на один из уже существующих в Готике 2 аналогичных триггеров
И это тоже ;)
Ответить с цитированием
Старый 19.07.2005, 15:17   #587
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Killer-XXX:
Я попробывал сделать так как ты посоветовал.Но всё равно дерётся с оружием вруках,но бьёт как кулаком.Может быть я сто-то не так сделал?Я зашёл в папку Monster,дальше зашёл
MST_Skeleton.И из менил вот это
instance Crypt_Skeleton_Room_01(Mst_Default_Skeleton)
{
     name[0] = "Страж склепа";
     aivar[AIV_EnemyOverride] = TRUE;
     B_SetVisuals_Skeleton();
     EquipItem(self,ItMw_1h_MISC_Sword);
     CreateInvItem(self,ItKe_EVT_CRYPT_01);
};
на это
instance Crypt_Skeleton_Room_03(Mst_Default_Skeleton)
{
name[0] = "Страж склепа";
aivar[AIV_EnemyOverride] = TRUE;
fight_tactic = FAI_HUMAN_STRONG;
Mdl_SetVisual(self,"Zombie.mds");
Mdl_SetVisualBody(self,"Zom_Body",0,0,"Zom_Head",0 ,DEFAULT,ITAR_PAL_H);
Npc_SetToFightMode(self,ItMw_1h_MISC_Sword);
EquipItem(self,ItMw_1h_MISC_Sword);
CreateInvItem(self,ItKe_EVT_CRYPT_03);
// ------ Attribute ------
HitChance [NPC_TALENT_1H] = 60;
HitChance [NPC_TALENT_2H] = 50;
};
Потом прописал его в стартопе.И закомпилировал прогой от Vama.
Может что-то нужно добавить или убрать?
Ответить с цитированием
Старый 19.07.2005, 15:23   #588
B_Wolf

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2TSYLin:
2DEDROIT:
Зомби - это животное, и поэтому надо переделывать весь искусственный интелект (деректория AI), он не будет драться как человек.
Блин... напридумывают... Человек - это тоже животное отряда приматов :)
2TycoooN:
Попробуй прописать ему fight_tactic = FAI_HUMAN_STRONG; (не ручаюсь)
Это только тактика сражения, т.е ИИ, ответная реакция персонажа на выпады противника.

Нужно всего-лишь заменить строку, отвечающую за анимацию телодвижений:
Mdl_SetVisual(self,"Zombie.mds"); на Mdl_SetVisual(self,"HumanS.mds");
См. у скелета аналогично..
И желательно изменить гильдию: guild = GIL_ZOMBIE; на guild = GIL_SKELETON;
т.к. у зомби к урону меча сила не прибавляется (В Г1 точно! В Г2а не проверял.)
Также убрать функцию: Npc_SetToFistMode(self); отвечающую за режим кулачного боя, и вручить оружие: EquipItem(self,ОРУЖИЕ);
Остальное по вкусу :)
Тактику ведения боя можно поставить любую, или оставить существующую, например: fight_tactic = FAI_HUMAN_STRONG;
Ответить с цитированием
Старый 19.07.2005, 20:01   #589
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Ukur:
Спосибо конечно.Зомби теперь двигается как человук,но дерётся мечом он всё равно как зомби,может быть нужно что-то изменить здесь:
instance Zombie_Addon_Knecht(Mst_Default_Zombie)
{
       guild = GIL_SKELETON;
     name[0] = "Приспешник Ворона";
     Mdl_SetVisual(self,"HumanS.mds");
     Mdl_SetVisualBody(self,"Zom_Body",0,0,"Zom_Head", 0,DEFAULT,ITAR_CorAngar);
       fight_tactic = FAI_HUMAN_STRONG;
       CreateInvItems (self,ITMW_2H_SWORD_SLEEPER_02,1);
       EquipItem(self,ItMw_2H_Sword_M_01);
       aivar[AIV_EnemyOverride] = TRUE;
       aivar[AIV_EnemyOverride] = TRUE;
       Npc_SetToFightMode(self,ITMW_2H_SWORD_SLEEPER_02) ;
       // ------ Inventory ------
       CreateInvItems (self,ITKe_Lockpick,2);
     CreateInvItems (self,ITFo_Apple,1);
       // ------ Attribute ------
       B_GiveNpcTalents (self);
       B_SetFightSkills (self, 60);
};

Добавление от 07/19/05, в 16:54:22
На этот вопрос можно не отвечать.У меня всё получилось.Я просто изменил,то что привёл выше на
instance Zombie_Addon_Knecht(Mst_Default_Zombie)
{
       guild = GIL_SKELETON;
     name[0] = "Приспешник Ворона";
     Mdl_SetVisual(self,"HumanS.mds");
     Mdl_SetVisualBody(self,"Zom_Body",0,0,"Zom_Head", 0,DEFAULT,ITAR_CorAngar);
       fight_tactic = FAI_HUMAN_STRONG;
       EquipItem(self,ItMw_2H_Sword_M_01);
       aivar[AIV_EnemyOverride] = TRUE;
       B_GiveNpcTalents (self);
       B_SetFightSkills (self, 60);
};

Добавление от 07/19/05, в 16:56:28
Большое спосибо Ukur,Killer-XXX,TycoooN,TSYLin!

Добавление от 07/19/05, в 20:21:54
Возник ещё вопрос:
Вот я создал зомби как мне и надо было,вот он:
instance Zombie_DEAD_Lord(Mst_Default_Zombie)
{
    guild = GIL_SKELETON;
    name[0] = "Приспешник Лорда";
    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] = 9999;
    protection [PROT_EDGE] = 9999;  
    protection [PROT_POINT] = 9999;  
    protection [PROT_FIRE] = 9999;  
    protection [PROT_FLY] = 9999;  
    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);
};
Как сделать,чтобы с самого начала он сам нападал,а не после того как его ударят.
И ещё а можно ли сделать,так чтобы его били оружием а у него жизни не уменьшались,а уменьшались если допустим сделать на него магию смерть нежити
или допустим магическим оружием(клинок белиара или уризель).Как в Готике1,там зомби бьёшь а ему хоть бы что,а жизни уменьшаются после магии или уризеля.
Я пытался повысить ему защиту(9999),но вочему-то у него всё равно жизни уменьшаются.Может быть кто знает как можно сделать?
Ответить с цитированием
Старый 19.07.2005, 21:25   #590
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
[q]Я пытался повысить ему защиту(9999),но вочему-то у него всё равно жизни уменьшаются.Может быть кто знает как можно сделать?[/q]
Сделай защиту
Код:
IMMUNE
(или
Код:
-1
).
Отправить личное сообщение для Ответить с цитированием
Старый 19.07.2005, 21:59   #591
Otec_Levontiy

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Вопрос, наверно схожий с предыдущим...
Как сделать пьяного человека с анимацией зомби?
Когда я писал ему визуал зомби, то он переставал говорить...
Ответить с цитированием
Старый 19.07.2005, 22:19   #592
Killer-XXX
Строители Миртаны
 
 
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
Killer-XXX вне форума

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
И ещё а можно ли сделать,так чтобы его били оружием а у него жизни не уменьшались,а уменьшались если допустим сделать на него магию смерть нежити
или допустим магическим оружием(клинок белиара или уризель).
Насчет клинка:
* * *var c_npc MagGol;
* * *var c_item OthWeap;
* * *self.aivar[AIV_MM_PRIORITY] = PRIO_ATTACK;
* * *B_BeliarsWeaponSpecialDamage(other,self);
* * *if(Npc_HasItems(other,Holy_Hammer_MIS) > 0)
* * *{
* * * * * *MagGol = Hlp_GetNpc(MagicGolem);
* * * * * *Npc_GetInvItem(other,Holy_Hammer_MIS);
* * * * * *OthWeap = Npc_GetReadiedWeapon(other);
* * * * * *if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(MagGol)) &&
* * * * * *(Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(item)))
* * * * * *{
* * * * * * * * *Npc_ChangeAttribute(self,ATR_HITPOINTS,-1000);
* * * * * * * * *return;
* * * * * *};
* * *};

Думаю тут особое пояснение не нужно.
Насчет магии ничего сказать не могу, копай скрипты Г1 сам.

Ответить с цитированием
Старый 20.07.2005, 10:31   #593
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2TycoooN: 2Killer-XXX:спосибо большое.Теперь создал с одной стороны неуязвимого зомби к оружию,но с другой стороны уязвимый к магии(клинку белиару).Остался ещё один вопрос,вото мой скрипт:
instance Zombie_DEAD_Lord(Mst_Default_Zombie)
{
* * guild = GIL_SKELETON;
* * name[0] = "Приспешник Лорда";
* * 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);
* * var c_npc MagGol;
* * var c_item OthWeap;
* * self.aivar[AIV_MM_PRIORITY] = PRIO_ATTACK;
* * B_BeliarsWeaponSpecialDamage(other,self);
* * if(Npc_HasItems(other,Holy_Hammer_MIS) > 0)
* * {
* * * * * MagGol = Hlp_GetNpc(MagicGolem);
* * * * * Npc_GetInvItem(other,Holy_Hammer_MIS);
* * * * * OthWeap = Npc_GetReadiedWeapon(other);
* * * * * if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(MagGol)) &&
* * * * * (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(item)))
* * * * * {
* * * * * * * * Npc_ChangeAttribute(self,ATR_HITPOINTS,-1000);
* * * * * * * * return;
* * * * * };
* * };

};
Как сделать чтобы зоби сам нападал,а не после того как его ударят?Я посмотрел на другого зомби у него было прописано B_SetAttitude(self,ATT_FRIENDLY);Но всё равно не хочет сам нападать,может быть нужно изменить вместо FRIENDLY на что-нибудь другое?
Ответить с цитированием
Старый 20.07.2005, 12:01   #594
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
if(Npc_HasItems(other,Holy_Hammer_MIS) > 0)
   {
         MagGol = Hlp_GetNpc(MagicGolem);
         Npc_GetInvItem(other,Holy_Hammer_MIS);
         OthWeap = Npc_GetReadiedWeapon(other);
         if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(MagGol)) &&
         (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(item)))
         {
               Npc_ChangeAttribute(self,ATR_HITPOINTS,-1000);
               return;
         };
   };
И на фига ты это сюда засунул? ::)
Отправить личное сообщение для Ответить с цитированием
Старый 20.07.2005, 12:07   #595
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

А куда надо было?После того как я вставил это теперь только жизни отнимает клинок белиара!
Ответить с цитированием
Старый 20.07.2005, 12:17   #596
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
После того как я вставил это теперь только жизни отнимает клинок белиара!
Сомневаюсь, что из-за этого. Ты, вообще, читать умеешь? Сможешь построчно объяснить, что там написано? Тебе привели пример, как разрабы сделали, чтобы Магического голема можно было убить только Святым молотом. Причем этот скрипт взят из файла AI\Monster\B_Monster\B_MM_AssessDamage.d
Отправить личное сообщение для Ответить с цитированием
Старый 21.07.2005, 13:01   #597
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2TycoooN:
Точно.Я просто не посмотрел,всунул и чсё в игру захожу всё работает.Поэтому внимание не обратил!Наверное работает из-за того что везде стоит не уязвимость,кроме магии,а клинок белиара ведь магический клинок.Ты случайно не знаешь как сделать так,чтобы зомби сам нападал,а не после того как его ударят?Какой раз уже вопрос задаю никто не ответил!

Добавление от 07/20/05, в 14:50:34
Может быть кто нибудь знает.Я создал кольцо которое прибавляет 50 силы!Вот:
instance ItRi_ATR_STRENGTH(C_Item)
{
name = "Артефакт силы";

mainflag = ITEM_KAT_MAGIC;
flags = ITEM_RING;
value = 10000;
visual = "ItRi_Dex_Strg_01.3ds";
visual_skin = 0;
material = MAT_METAL;
wear = WEAR_EFFECT;
on_equip = Equip_ATR_STRENGTH;
on_unequip = UnEquip_ATR_STRENGTH;
description = name;
TEXT[2] = "+50силы";
COUNT[2] = 50;
TEXT[5] = NAME_Value;
COUNT[5] = 10000;
INV_ZBIAS = INVCAM_ENTF_RING_STANDARD;
};
FUNC VOID Equip_ATR_STRENGTH()
{
self.attribute [ATR_STRENGTH] += 50;
};
FUNC VOID UnEquip_ATR_STRENGTH()
{
self.attribute [ATR_STRENGTH] -= 50;
};
Зашёл в игру,проверил кольцо работает.Проверял так взял топор который требует для одевания ещё 30 силы.Я одел кольцо потом смог одеть Топор.И в характеристиках прибавляется 50 сило.Но проблема в другом.Потом попытался зделать кольцо чтобы при одевании прибавляло +50 владению двуручным оружием
Вот что я сделал:
 instance ItRi_NPC_TALENT_2H(C_Item)
{
name = "Артефакт владение двуручным оружием";

mainflag = ITEM_KAT_MAGIC;
flags = ITEM_RING;
value = 10000;
visual = "ItRi_Dex_Strg_01.3ds";
visual_skin = 0;
material = MAT_METAL;
wear = WEAR_EFFECT;
on_equip = Equip_NPC_TALENT_2H;
on_unequip = UnEquip_NPC_TALENT_2H;
description = name;
TEXT[2] = "+50 владения двуручным оружием";
COUNT[2] = 50;
TEXT[5] = NAME_Value;
COUNT[5] = 10000;
INV_ZBIAS = INVCAM_ENTF_RING_STANDARD;
};
FUNC VOID Equip_NPC_TALENT_2H()
{
self.HitChance [NPC_TALENT_2H] += 50;
};
FUNC VOID UnEquip_NPC_TALENT_2H()
{
self.HitChance [NPC_TALENT_2H] -= 50;
};
Но когда захожу в игру одеваю кольцо,в характеристиках прибавляется 50%владению двуручного оружия.Но почемуто остатся Навичок,почему?И самое гланое
он дерётся как будто у него не +50 владения оружием.Как сделать чтобы при одевание кольца он дрался как мастер?



Добавление от 07/21/05, в 12:55:38
Вопрос с кольцом,откладываю.С ним я разобрался.Сейчас ворпос в другом.
Был создан меч( Faltchion.3DS),я его засунул в _work\data\Meshes\Items.
Потом прописал его в IT_Melee_weapons.Прописал следующее:
instance ItMw_Faltchion(C_Item)
{
     name = "Фальчион";
     mainflag = ITEM_KAT_NF;
     flags = ITEM_SWD;
     material = MAT_METAL;
     value = 20000;
     damageTotal = 250;
     damagetype = DAM_EDGE;
     cond_atr[2] = ATR_STRENGTH;
     cond_value[2] = 50;
     visual = "Faltchion.3DS";
       on_equip = Equip_Faltchion;
       on_unequip = UnEquip_Faltchion;
       description = name;
       TEXT[1] = NAME_Damage; COUNT[1] = damageTotal;
       TEXT[2] = NAME_Str_needed; COUNT[2] = cond_value[2];
       TEXT[3] = "К двуручному умению"; COUNT[3] = 50;
       TEXT[4] = NAME_TwoHanded;
       TEXT[5] = NAME_Value; COUNT[5] = value;
};

       FUNC VOID Equip_Faltchion()
{
       B_AddFightSkill (self, NPC_TALENT_1H, 50);
};


       FUNC VOID UnEquip_Faltchion()
{
       B_AddFightSkill (self, NPC_TALENT_1H, -50);
};
Как сделать чтобы в игре он отображался,это он в инвенторе невидимый и когда начинаешь драться тоже не видимый.Иещё можно ли как-нибудь сделать
урон был не от лезвия как у меня,а МАГИЕЙ(как клинок беллиара)!      

Добавление от 07/21/05, в 13:21:54
Большая просьба отозваться,кто понимает в скриптинге!
Ответить с цитированием
Старый 21.07.2005, 18:03   #598
Killer-XXX
Строители Миртаны
 
 
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
Killer-XXX вне форума

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
Если он невидимый, попробуй использовать визуализацию от другого меча. Если появится с другой визуализацией - то ты что то сделал неправильно с моделью.
Чтобы был урон магией, нужно поменять:
damagetype = DAM_EDGE;
на
damagetype = DAM_MAGIC;
З.Ы.Урон от огня можно сделать с помощью DAM_FIRE
Ответить с цитированием
Старый 21.07.2005, 18:08   #599
DEDROIT

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2Killer-XXX:
Спосибо что отозвался,но с этим я уже разобрался,сейчас делаю магическимй меч на примере уризеля вот скрипт:
instance ITMW_Faltchion(C_Item)
{
name = "Фальчион";
mainflag = ITEM_KAT_NF;
flags = ITEM_2HD_SWD;
material = MAT_METAL;
effect = "SPELLFX_CROSSBOW";
wear = WEAR_EFFECT;
value = 10000;
damageTotal = 120;
damagetype = DAM_MAGIC;
damage[DAM_INDEX_MAGIC] = 120;
range = 180;
cond_atr[2] = ATR_STRENGTH; cond_atr[2] = ATR_DEXTERITY;
cond_value[2] = 90;
visual = "ItMw_2H_Sword_Sleeper_02.3DS";
on_equip = Equip_Faltchion;
on_unequip = UnEquip_Faltchion;
description = name;
text[0] = "Это - меч Фальчион,наполнен магией";
text[1] = "";
text[2] = NAME_Dam_Magic;
count[2] = damage[DAM_INDEX_MAGIC];
text[3] = NAME_Dam_Fire;
count[3] = damage[DAM_INDEX_FIRE];
text[4] = NAME_Str_needed;
count[4] = cond_value[2];
text[5] = NAME_Value;
count[5] = value;
};

FUNC VOID Equip_Faltchion()
{
B_AddFightSkill (self, NPC_TALENT_2H, 50);
};


FUNC VOID UnEquip_Faltchion()
{
B_AddFightSkill (self, NPC_TALENT_2H, -50);
};
Как сделать чтобы он бил как клинок белиара.Не подскажешь?
Или хотя бы где найти скрипт клинка белиара?
Ответить с цитированием
Старый 21.07.2005, 20:12   #600
finch

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2DEDROIT:
Или хотя бы где найти скрипт клинка белиара?
Gothic II\_work\data\Scripts\Content\Items\IT_Addon_Belia rWeapons.d
Gothic II\_work\data\Scripts\Content\Items\Tuning_Addon_B eliarsWeapons.d
Gothic II\_work\data\Scripts\Content\Story\B_Content\B_Be liarsWeaponSpecialDamage.d
Gothic II\_work\data\Scripts\Content\Story\B_Content\B_Sc HasBeliarsWeapon.d

В этих четырех файлах все расписано! ;)

Как сделать чтобы зоби сам нападал,а не после того как его ударят?
Какая гильдия у твоего зомби? Надо переписать отношения между гильдиями.
Ответить с цитированием
Страница 15 из 65 « Первая 589101112131415 1617181920212225 Последняя »


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе

Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.


Текущее время: 00:19. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot

AGFC: Valley of Gothic © 2004-2022

Яндекс.Метрика