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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

Не стесняюсь спросить....

Boka

Забанен
Регистрация
27 Апр 2016
Сообщения
47
Благодарности
24
Баллы
165
Столкнулся с проблемой в акелловских скриптах. Главной герой в самом начале игры умеет делать все руны и часть алхимический зелий. При этом само собой отображается в меню навыков прочерки - то есть не изучено. Подскажите пожалуйста где в скриптах можно посмотреть и убрать эти навыки для главного героя в начале игры. Особенно руны.
 

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.049
Благодарности
1.170
Баллы
340
Столкнулся с проблемой в акелловских скриптах. Главной герой в самом начале игры умеет делать все руны и часть алхимический зелий. При этом само собой отображается в меню навыков прочерки - то есть не изучено. Подскажите пожалуйста где в скриптах можно посмотреть и убрать эти навыки для главного героя в начале игры. Особенно руны.
Идем в файл pc_hero.d и там в instance PC_Hero(Npc_Default) ищем параметры PLAYER_TALENT_RUNES и PLAYER_TALENT_ALCHEMY. Удаляем или закомментируем эти параметры и вся любовь.
 

Kreol Nekr

Участник форума
Регистрация
21 Ноя 2014
Сообщения
229
Благодарности
109
Баллы
190
Здравствуйте! Скажите пожалуйста, есть кто нибудь, кто умеет работать с MDS файлами? Сам не умею, и не имею возможности. Может быть кто то согласится помочь, хотя... особо расчитывать не приходится...:(
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.901
Благодарности
6.777
Баллы
1.625
Здравствуйте! Скажите пожалуйста, есть кто нибудь, кто умеет работать с MDS файлами? Сам не умею, и не имею возможности. Может быть кто то согласится помочь, хотя... особо расчитывать не приходится...:(
Да почти каждый скриптер умеет, посмотри в уроках, есть темы по этим файлам.
 

Kreol Nekr

Участник форума
Регистрация
21 Ноя 2014
Сообщения
229
Благодарности
109
Баллы
190
Да почти каждый скриптер умеет, посмотри в уроках, есть темы по этим файлам.
А ссылку можно, а то у вас там этих тем, столько, что можно перебирать до второго яркендарского потопа... А кто то есть скриптологи, кто умеет? Я просто никого не знаю.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.901
Благодарности
6.777
Баллы
1.625

Стражник

Участник форума
Регистрация
14 Фев 2009
Сообщения
675
Благодарности
101
Баллы
220
Сделал заготовку для диалога НПС. Все возникшие в процессе компиляции ошибки в Сурсере исправил.

instance DIA_Lycius_EXIT(C_Info)
{
npc = Mil_351_Lycius;
nr = 999;
condition = DIA_Lycius_EXIT_Condition;
information = DIA_Lycius_EXIT_Info;
permanent = TRUE;
description = Dialog_Ende;
};

func int DIA_Lycius_EXIT_Condition()
{
return TRUE;
};

func void DIA_Lycius_EXIT_Info()
{
AI_StopProcessInfos(self);
};

instance DIA_Lycius_WEAPON(C_Info)
{
npc = Mil_351_Lycius;
nr = 2;
condition = DIA_Lycius_WEAPON_Condition;
information = DIA_Lycius_WEAPON_Info;
permanent = FALSE;
description = "Мне нужно оружие.";
};

func int DIA_Lycius_WEAPON_Condition()
{
if(other.guild == GIL_MIL)
{
return TRUE;
};
};

func void DIA_Lycius_WEAPON_Info()
{
AI_Output(other,self,"DIA_Lycius_WEAPON_15_00"); //Мне нужно оружие!
AI_Output(self,other,"DIA_Lycius_WEAPON_17_01"); //Нормальный клинок ты сможешь получить только в кузницах Хориниса и у торговцев на главной торговой площади.
AI_Output(self,other,"DIA_Lycius_WEAPON_17_02"); //Хотя ты не выглядишь как человек способный заплатить за это золотом.
};

Сейчас у НПС только строка Конец. То енсть выход из диалога НПС.

Снизу представлен сам НПС.


instance Mil_351_Lycius(Npc_Default)
{
name[0] = "Люциус";
guild = GIL_MIL;
id = 351;
voice = 11;
flags = 0;
npcType = npctype_main;
B_SetAttributesToChapter(self,2);
fight_tactic = FAI_HUMAN_COWARD;
EquipItem(self,ItMw_1h_Mil_Sword);
EquipItem(self,ItRw_Mil_Crossbow);
B_CreateAmbientInv(self);
CreateInvItems(self,ItKe_City_Tower_03,1);
B_SetNpcVisual(self,MALE,"Hum_Head_Thief",Face_N_NormalBart03,BodyTex_N,ItAr_MIL_M);
Mdl_SetModelFatness(self,0);
Mdl_ApplyOverlayMds(self,"Humans_Militia.mds");
B_GiveNpcTalents(self);
B_SetFightSkills(self,30);
daily_routine = Rtn_Start_351;
};


func void Rtn_Start_351()
{
TA_Smoke_Joint (7,55,19,55,"NW_XARDAS_START");
TA_Smoke_Joint (19,55,7,15,"NW_XARDAS_START");
};
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.119
Благодарности
584
Баллы
350
Сделал заготовку для диалога НПС. Все возникшие в процессе компиляции ошибки в Сурсере исправил.

instance DIA_Lycius_EXIT(C_Info)
{
npc = Mil_351_Lycius;
nr = 999;
condition = DIA_Lycius_EXIT_Condition;
information = DIA_Lycius_EXIT_Info;
permanent = TRUE;
description = Dialog_Ende;
};

func int DIA_Lycius_EXIT_Condition()
{
return TRUE;
};

func void DIA_Lycius_EXIT_Info()
{
AI_StopProcessInfos(self);
};

instance DIA_Lycius_WEAPON(C_Info)
{
npc = Mil_351_Lycius;
nr = 2;
condition = DIA_Lycius_WEAPON_Condition;
information = DIA_Lycius_WEAPON_Info;
permanent = FALSE;
description = "Мне нужно оружие.";
};

func int DIA_Lycius_WEAPON_Condition()
{
if(other.guild == GIL_MIL)
{
return TRUE;
};
};

func void DIA_Lycius_WEAPON_Info()
{
AI_Output(other,self,"DIA_Lycius_WEAPON_15_00"); //Мне нужно оружие!
AI_Output(self,other,"DIA_Lycius_WEAPON_17_01"); //Нормальный клинок ты сможешь получить только в кузницах Хориниса и у торговцев на главной торговой площади.
AI_Output(self,other,"DIA_Lycius_WEAPON_17_02"); //Хотя ты не выглядишь как человек способный заплатить за это золотом.
};

Сейчас у НПС только строка Конец. То енсть выход из диалога НПС.

Снизу представлен сам НПС.


instance Mil_351_Lycius(Npc_Default)
{
name[0] = "Люциус";
guild = GIL_MIL;
id = 351;
voice = 11;
flags = 0;
npcType = npctype_main;
B_SetAttributesToChapter(self,2);
fight_tactic = FAI_HUMAN_COWARD;
EquipItem(self,ItMw_1h_Mil_Sword);
EquipItem(self,ItRw_Mil_Crossbow);
B_CreateAmbientInv(self);
CreateInvItems(self,ItKe_City_Tower_03,1);
B_SetNpcVisual(self,MALE,"Hum_Head_Thief",Face_N_NormalBart03,BodyTex_N,ItAr_MIL_M);
Mdl_SetModelFatness(self,0);
Mdl_ApplyOverlayMds(self,"Humans_Militia.mds");
B_GiveNpcTalents(self);
B_SetFightSkills(self,30);
daily_routine = Rtn_Start_351;
};


func void Rtn_Start_351()
{
TA_Smoke_Joint (7,55,19,55,"NW_XARDAS_START");
TA_Smoke_Joint (19,55,7,15,"NW_XARDAS_START");
};


Ты условие диалога поставил, тоесть для того чтобы строка появилась твой персонаж должен иметь гильдию GIL_MIL
func int DIA_Lycius_WEAPON_Condition()
{
if(other.guild == GIL_MIL)
{
return TRUE;
};
};
 

gggg12345678!

Участник форума
Регистрация
6 Янв 2016
Сообщения
441
Благодарности
397
Баллы
220
Последнее редактирование:

Kreol Nekr

Участник форума
Регистрация
21 Ноя 2014
Сообщения
229
Благодарности
109
Баллы
190
Сделал заготовку для диалога НПС. Все возникшие в процессе компиляции ошибки в Сурсере исправил.

instance DIA_Lycius_EXIT(C_Info)
{
npc = Mil_351_Lycius;
nr = 999;
condition = DIA_Lycius_EXIT_Condition;
information = DIA_Lycius_EXIT_Info;
permanent = TRUE;
description = Dialog_Ende;
};

func int DIA_Lycius_EXIT_Condition()
{
return TRUE;
};

func void DIA_Lycius_EXIT_Info()
{
AI_StopProcessInfos(self);
};

instance DIA_Lycius_WEAPON(C_Info)
{
npc = Mil_351_Lycius;
nr = 2;
condition = DIA_Lycius_WEAPON_Condition;
information = DIA_Lycius_WEAPON_Info;
permanent = FALSE;
description = "Мне нужно оружие.";
};

func int DIA_Lycius_WEAPON_Condition()
{
if(other.guild == GIL_MIL)
{
return TRUE;
};
};

func void DIA_Lycius_WEAPON_Info()
{
AI_Output(other,self,"DIA_Lycius_WEAPON_15_00"); //Мне нужно оружие!
AI_Output(self,other,"DIA_Lycius_WEAPON_17_01"); //Нормальный клинок ты сможешь получить только в кузницах Хориниса и у торговцев на главной торговой площади.
AI_Output(self,other,"DIA_Lycius_WEAPON_17_02"); //Хотя ты не выглядишь как человек способный заплатить за это золотом.
};

Сейчас у НПС только строка Конец. То енсть выход из диалога НПС.

Снизу представлен сам НПС.


instance Mil_351_Lycius(Npc_Default)
{
name[0] = "Люциус";
guild = GIL_MIL;
id = 351;
voice = 11;
flags = 0;
npcType = npctype_main;
B_SetAttributesToChapter(self,2);
fight_tactic = FAI_HUMAN_COWARD;
EquipItem(self,ItMw_1h_Mil_Sword);
EquipItem(self,ItRw_Mil_Crossbow);
B_CreateAmbientInv(self);
CreateInvItems(self,ItKe_City_Tower_03,1);
B_SetNpcVisual(self,MALE,"Hum_Head_Thief",Face_N_NormalBart03,BodyTex_N,ItAr_MIL_M);
Mdl_SetModelFatness(self,0);
Mdl_ApplyOverlayMds(self,"Humans_Militia.mds");
B_GiveNpcTalents(self);
B_SetFightSkills(self,30);
daily_routine = Rtn_Start_351;
};


func void Rtn_Start_351()
{
TA_Smoke_Joint (7,55,19,55,"NW_XARDAS_START");
TA_Smoke_Joint (19,55,7,15,"NW_XARDAS_START");
};

У него стоит условие, что диалог будет только в случае, если ГГ ополченец. Поменяйте гильдию на 4 или же уберите условие if(other.guild == GIL_MIL)
 

Стражник

Участник форума
Регистрация
14 Фев 2009
Сообщения
675
Благодарности
101
Баллы
220
него стоит условие, что диалог будет только в случае, если ГГ ополченец. Поменяйте гильдию на 4 или же уберите условие if(other.guild == GIL_MIL)

А где именно ставить гильдию 4?
 

gggg12345678!

Участник форума
Регистрация
6 Янв 2016
Сообщения
441
Благодарности
397
Баллы
220

Стражник

Участник форума
Регистрация
14 Фев 2009
Сообщения
675
Благодарности
101
Баллы
220
Он имел ввиду заменить GIL_MIL на другую. Можешь попробовать, вместо GIL_MIL написать GIL_NONE. А лучше удалить, и сделать, как я уже писал.

Приду домой и попробую это сделать?

Как менять расположение НПС на конкретную точку в мире игры - около пня, дерева, здания и тд, а о НПС по привязке к месту или другому НПС появляется не в совсем логичных точках местности.
 

gggg12345678!

Участник форума
Регистрация
6 Янв 2016
Сообщения
441
Благодарности
397
Баллы
220
Как менять расположение НПС на конкретную точку в мире игры - около пня, дерева, здания и тд, а о НПС по привязке к месту или другому НПС появляется не в совсем логичных точках местности.
Все нпс ставятся на waypoint'ы. Просмотреть и создать их(waypoint'ы) ты сможешь в spacer'e.
 

Kreol Nekr

Участник форума
Регистрация
21 Ноя 2014
Сообщения
229
Благодарности
109
Баллы
190
Приду домой и попробую это сделать?

Как менять расположение НПС на конкретную точку в мире игры - около пня, дерева, здания и тд, а о НПС по привязке к месту или другому НПС появляется не в совсем логичных точках местности.
Можно в марвине поменять гильдию Edit abilities и написать guild = 4
 

Стражник

Участник форума
Регистрация
14 Фев 2009
Сообщения
675
Благодарности
101
Баллы
220
Вставка диалога НПС прошла успешно.
 

Kreol Nekr

Участник форума
Регистрация
21 Ноя 2014
Сообщения
229
Благодарности
109
Баллы
190
Скажите пожалуйста, в чем может быть проблема? Поставил Октогора на свое законное место, возле входа в Новый лагерь, но он ни в какую не желает стоять на земле! Все время прыгает и зависает в воздухе. Фрипоинт проверял, стоит на месте, в скрипте тоже никаких изменений не делал, только увеличил размер. Посмотрите, может быть что то подскажете.

instance ICEGOLEM_OKTOGOR(Mst_Default_IceGolem)
{
name[0] = "Октогор";
level = 60;
aivar[90] = TRUE;
attribute[ATR_STRENGTH] = 500;
attribute[ATR_DEXTERITY] = 250;
attribute[ATR_HITPOINTS_MAX] = 6000;
attribute[ATR_HITPOINTS] = 6000;
attribute[ATR_MANA_MAX] = 100;
attribute[ATR_MANA] = 100;
protection[PROT_BLUNT] = 250;
protection[PROT_EDGE] = 250;
protection[PROT_POINT] = 400;
protection[PROT_FIRE] = 0;
protection[PROT_FLY] = 50;
protection[PROT_MAGIC] = 275;
Mdl_SetModelScale(self,2.0,2.0,2.0);
B_SetVisuals_IceGolem();
Npc_SetToFistMode(self);
};
Gothic2_2016-10-16_20-49-05-946.jpg
 

MaGoth

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

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Если персонажа уменьшить, то он начинает проваливаться, примерно по пояс. Видимо, при увеличении происходит обратное. Масштабироавть модельку не выход. Надо создавать новую.
 
Сверху Снизу