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

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

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

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Во кстати вопрос, кто знает как сделать чтобы у нпс с гильдией 31(скелет) открывался инвертарь, и убиралось оружие в ножны?
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.832
Благодарности
6.716
Баллы
1.625
Народ, может хватит?!!!!!!!!!!!!!!!!!!!!!!!!!!!!! тему убивать буду.... Посты завтра убью...
по вопросу сатураса - никак...
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Saturas,
Во кстати вопрос, кто знает как сделать чтобы у нпс с гильдией 31(скелет) открывался инвертарь, и убиралось оружие в ножны?
у меня вроде в SnC v 1.1 убирается. Как и лук у скелетов... ::)
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Saturas,
у меня вроде в SnC убирается. Как и лук у скелетов... ::)
И? Мне нужно конкретно знать как, а снц качать немогу, ибо инет настолько хороший, и быстрый, что файл так разгоняется, что аж промазывает мимо моего модема, и так раз 9000....
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Я подсказал бы точно, но у меня под рукой нет исходников и в ближайшее время не будет.
Но смысл в том, что гильдия скелетов должна быть выше разделителя гильдии орков (не помню как он обзывается GIL_XXXXX_ORC), там где прописана гильдия орков, ну и намазаны оверлеи оружия людей на скелетов. Ну и естественно добавлена разэкипировка/смена оружия в нужные функции в скриптах.
ЗЫ. И не используйте стандартные гильдии, передвиньте скелетонов выше стандартного количества номеров.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Я подсказал бы точно, но у меня под рукой нет исходников и в ближайшее время не будет.
Но смысл в том, что гильдия скелетов должна быть выше разделителя гильдии орков (не помню как он обзывается GIL_XXXXX_ORC), ну и намазаны оверлеи оружия людей на скелетов.
Угу, уже глянул исходники г1, да весело....
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Saturas,
Во кстати вопрос, кто знает как сделать чтобы у нпс с гильдией 31(скелет) открывался инвертарь, и убиралось оружие в ножны?
Прямой прописи не будет т.к. гильдя не подходит и под нее все атрибуты закрыты. Если только переписывать и подменять гильдии и прочее... Ну или инвентарь торговца присобачить, правда я хз как он будут отрабатываться с Гильдией скелет... :)

Зы, Хотя у меня свои скелеты и гильдия там уже другая... :D
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Я подсказал бы точно, но у меня под рукой нет исходников и в ближайшее время не будет.
Но смысл в том, что гильдия скелетов должна быть выше разделителя гильдии орков (не помню как он обзывается GIL_XXXXX_ORC), там где прописана гильдия орков, ну и намазаны оверлеи оружия людей на скелетов. Ну и естественно добавлена разэкипировка/смена оружия в нужные функции в скриптах.
ЗЫ. И не используйте стандартные гильдии, передвиньте скелетонов выше стандартного количества номеров.

в смысле "выше"?
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Saturas,
в смысле "выше"?
В смысле: есть номер гильдии-разделителя (например 40), у гильдии орков номер - 41, так вот гильдия скелетонов пусть будет выше всех стандартных гильдий, например 46.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Saturas, Я у себя делал когда-то по другому, пример:

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXXXXXXXXXXXX GLOBAL MOD - Monster's (ver.2.0)
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// Created by MAGIC-Team (с) 2005-2009
//---------------------------------------------------------
// Skeleton Archer - Новый вид стрелка скелетов. В качестве
// основного оружия используется лук.
//---------------------------------------------------------
// Добавлены файлы:
// - Mst_Glm_Skeleton_Archer.d
//---------------------------------------------------------
// Измененные файлы:
// - AI_Constants.d
// - B_InitMonsterAttitudes.d
// - G_CanNotUse.d
//---------------------------------------------------------


prototype Mst_Default_Glm_Skeleton_Archer(C_Npc)
{
name[0] = "Лучник-скелет";
guild = GIL_UNDEADORC;
aivar[AIV_MM_REAL_ID] = ID_SKELETON_ARCHER;
level = 15;
attribute[ATR_STRENGTH] = 45;
attribute[ATR_DEXTERITY] = 75;
attribute[ATR_HITPOINTS_MAX] = 150;
attribute[ATR_HITPOINTS] = 150;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
protection[PROT_BLUNT] = 80;
protection[PROT_EDGE] = 80;
protection[PROT_POINT] = 130;
protection[PROT_FIRE] = 80;
protection[PROT_FLY] = 80;
protection[PROT_MAGIC] = 0;
damagetype = DAM_EDGE;
fight_tactic = FAI_HUMAN_NORMAL; //FAI_ORC; //FAI_HUMAN_NORMAL;
senses = SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
senses_range = PERC_DIST_MONSTER_ACTIVE_MAX;
aivar[AIV_MM_FollowTime] = FOLLOWTIME_MEDIUM;
aivar[AIV_MM_FollowInWater] = FALSE;
start_aistate = ZS_MM_AllScheduler;
//start_aistate = ZS_MM_Rtn_Skeleton_Archer;
aivar[AIV_MM_RestStart] = OnlyRoutine;
};

func void B_SetVisuals_Glm_Skeleton_Archer()
{
Mdl_SetVisual(self,"HumanS.mds");
Mdl_ApplyOverlayMds(self,"humans_skeleton.mds");
Mdl_SetVisualBody(self,"Ske_Body",DEFAULT,DEFAULT,"",DEFAULT,DEFAULT,-1);
};

instance Glm_Skeleton_Archer(Mst_Default_Glm_Skeleton_Archer)
{
B_SetVisuals_Glm_Skeleton_Archer();
EquipItem (self,ItRw_Sld_Bow);
//EquipItem(self,ItMw_1h_MISC_Sword);
//Npc_SetToFightMode(self,ItMw_1h_MISC_Sword);
//start_aistate = ZS_MM_AllScheduler;
//aivar[AIV_MM_RestStart] = OnlyRoutine;
//Npc_SetToFightMode(self,ItRw_Sld_Bow);
};
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
MaGoth,
ну ты пошел по простому пути:
guild = GIL_UNDEADORC;
а я перемещал отдельно гильдию скелетов чтобы не мусорить в скриптах лишними ифами.... :)

Myxomop написал(а):
И кстати чтобы при атаке скелета у него не текла кровь, а отлетали кости, новую гильдию надо прописывать в Spices.d так же как у стандартного скелета.
а я просто передвинул гильдию скелетонов... :)
А ID можно играться - лучник, мечник, кулачник....
Вместо стандартной можно просто впихнуть заглушку - пустую гильдию, в данном случае - GIL_SKELETON_X . Все гильдейские отношения, АИ и т.д. для гильдии скелетов автоматом переберутся на новый GIL_SKELETON = 63;
Останется только добавить экипировку/разэкипировку оружия, боеприпасы в нужных скриптах и т.д.. Ну и дописать луки с оверлеями у нужных аивар ID у скелетов... Дальше и так понятно.
ИМХО так проще и красивше... :)
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
Я прописал для скелетона умеющего выбирать во время боя лук или меч отдельную гильдию 63..
const int GIL_SKELETON_X = 63;
И кстати чтобы при атаке скелета у него не текла кровь, а отлетали кости, новую гильдию надо прописывать в Spices.d так же как у стандартного скелета.

Код:
	water_depth_knee[GIL_SKELETON] = water_depth_knee[GIL_HUMAN];
	water_depth_chest[GIL_SKELETON] = water_depth_chest[GIL_HUMAN];
	step_height[GIL_SKELETON] = step_height[GIL_HUMAN];
	jumplow_height[GIL_SKELETON] = jumplow_height[GIL_HUMAN];
	jumpmid_height[GIL_SKELETON] = jumpmid_height[GIL_HUMAN];
	jumpup_height[GIL_SKELETON] = jumpup_height[GIL_HUMAN];
	slide_angle[GIL_SKELETON] = slide_angle[GIL_HUMAN];
	disable_autoroll[GIL_SKELETON] = 0;
	surface_align[GIL_SKELETON] = 0;
	turn_speed[GIL_SKELETON] = turn_speed[GIL_HUMAN];
	climb_heading_angle[GIL_SKELETON] = climb_heading_angle[GIL_HUMAN];
	climb_horiz_angle[GIL_SKELETON] = climb_horiz_angle[GIL_HUMAN];
	climb_ground_angle[GIL_SKELETON] = climb_ground_angle[GIL_HUMAN];
	falldown_height[GIL_SKELETON] = falldown_height[GIL_HUMAN];
	falldown_damage[GIL_SKELETON] = falldown_damage[GIL_HUMAN];
	fight_range_base[GIL_SKELETON] = 60;
	fight_range_fist[GIL_SKELETON] = 150;
	fight_range_g[GIL_SKELETON] = 100;
	blood_emitter[GIL_SKELETON] = "BFX_Skeleton";
	swim_time[GIL_SKELETON_X] = 0;
	dive_time[GIL_SKELETON_X] = 0;
	water_depth_knee[GIL_SKELETON_X] = water_depth_knee[GIL_SKELETON];
	water_depth_chest[GIL_SKELETON_X] = water_depth_chest[GIL_SKELETON];
	step_height[GIL_SKELETON_X] = step_height[GIL_SKELETON];
	jumplow_height[GIL_SKELETON_X] = jumplow_height[GIL_SKELETON];
	jumpmid_height[GIL_SKELETON_X] = jumpmid_height[GIL_SKELETON];
	jumpup_height[GIL_SKELETON_X] = jumpup_height[GIL_SKELETON];
	slide_angle[GIL_SKELETON_X] = slide_angle[GIL_SKELETON];
	disable_autoroll[GIL_SKELETON_X] = 0;
	surface_align[GIL_SKELETON_X] = 0;
	turn_speed[GIL_SKELETON_X] = turn_speed[GIL_SKELETON];
	climb_heading_angle[GIL_SKELETON_X] = climb_heading_angle[GIL_SKELETON];
	climb_horiz_angle[GIL_SKELETON_X] = climb_horiz_angle[GIL_SKELETON];
	climb_ground_angle[GIL_SKELETON_X] = climb_ground_angle[GIL_SKELETON];
	falldown_height[GIL_SKELETON_X] = falldown_height[GIL_SKELETON];
	falldown_damage[GIL_SKELETON_X] = falldown_damage[GIL_SKELETON];
	fight_range_base[GIL_SKELETON_X] = 60;
	fight_range_fist[GIL_SKELETON_X] = 150;
	fight_range_g[GIL_SKELETON_X] = 100;
	blood_emitter[GIL_SKELETON_X] = "BFX_Skeleton";
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Dimmell, А чего голову греть всякой лабудой, да и не нужной совершенно?
работает то что нужно, и это главное... :)

Myxomop, Это все реализовано для других скелетонов у которых реализованы щиты и копья... С лучниками особо не заморачивался ибо смысла мало. ;)
И да, со Spices.d лишний раз лучше не ковыряться, дабы потом депт воды не глючил. А кровь и прочее можно и по другому отрубить, напрямую на уровне эффектов меша модели... ::)
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
MaGoth,
Dimmell, А чего голову греть всякой лабудой, да и не нужной совершенно?
работает то что нужно, и это главное...
я сторонник стабильных и универсальных решений. Чтобы потом не искать "А почему это скелеты гоблинов мочат".... :D
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Dimmell, это правится легко в - B_InitMonsterAttitudes, что и сделано...
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
MaGoth,
Dimmell, это правится легко в - B_InitMonsterAttitudes, что и сделано...
создаем себе трудности, а потом мужественнно их преодолеваем... :D
ЗЫ. Кроме простой правки в отношениях гильдий есть еще в скриптах отработка по сепаратору гильдии орков... ;)
ЗЫ. Во, вспомнил как называется разделитель - GIL_SEPARATOR_ORC .....Вроде так...

ЗЫЫ. Мега завтра опять ругаться будет..... :D :D :D
 

MaGoth

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

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.832
Благодарности
6.716
Баллы
1.625
[QUOTE="Dimmell]ЗЫЫ. Мега завтра опять ругаться будет..... :D :D :D[/QUOTE]
счас незачто ругаться, по делу говорите))
в гильдиях есть 2 разделителя GIL_SEPARATOR_HUM и GIL_SEPARATOR_ORC. ды вот та гильдия которая находится между ними - "неинвентарная". Файл _inter/Constants.d
 
Сверху Снизу