|
|
27.11.2005, 19:38
|
#1122
|
|
Re: Скриптинг в Готике
2Stel1:
У кого нибуть есть русские скрипты 1 готики без ошибок. а то мои компилятором Vama не компилируются пишет error > 50.
|
Да вообщем были у меня, но теперь они мод :) Спроси у Killer-XXX, он тоже все скрипты правил, или скачай его InExtremo Patch для (Сновбалл)Г1 - те же скрипты, патч есть на http://www.travel.ag.ru/gothic/. и http://www.myrtana.ru/gothic/files/InExtremoPatch.exe Хотя, если сильно требо, то можно Юзать декомпилтор версии 1.91, он помоему компилирует даже при большом количестве варнингов.
|
|
|
10.12.2005, 17:40
|
#1132
|
|
Re: Скриптинг в Готике
2Ukur:
Знает ли кто-нибудь полный список анимаций скриптовых телодвижений?
|
Открываешь любой MDS файл и смотришь, в них есть все фазы анимации, чтобы проще ориентироваться приведу пример (строка из файла MDS) - ani ("t_Plunder" 1 "" 0.1 0.1 M. "Hum_Pluender_A01.asc" F 1 75 FPS:10) первым параметром этой строки и является имя фазы анимации, которое прописывается в функции AI_PlayAni
|
|
|
10.12.2005, 21:17
|
#1134
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
Повторюсь в вопросе, т.к. тема смежная (с темой по спейсеру): Есть 3DS-файл (модель шкафа, к примеру). Хочу сделать обьект типа ocMobContainer, но после создания не появляется/открывается инвентарь. Пытался посмотреть по аналогии с сундуком, ему прописан файл *.asc, для других предметов такого файла нет (соответствующего). ASC-файлов в комплекте GMDK не нашел, есть только файл *.mds, внутри что-то вроде [pre]Model ("CHESTBIG_ADD_STONE_OPEN") { meshAndTree ("CHESTBIG_ADD_STONE_OPEN.ASC")
aniEnum {
// geschlossene Truhe ani ("s_S0" 1 "s_S0" 0.0 0.0 M. "CHESTBIG_USE.asc" F 20 20)
// Truhe цffnen ani ("t_S0_2_S1" 1 "s_S1" 0.0 0.0 M. "CHESTBIG_USE.ASC" F 50 79) { *eventSFX (50 "chest_try") *eventSFX (55 "chest_open")
...[/pre] Как я понял, это скрипт реакций обьекта типа "сундук" на разные ситуации (открыт/закрыт/взлом и т.п.), и загрузки соотв. анимации для каждого состояния.
Но вот закавыка - не найду нигде оператора открытия инвентаря; он есть в природе (т.е. экзешнике) скорее всего, но похоже ни с помощью обычных скриптов, ни через asc-файл его не вызвать. Подход "в лоб", через создание обьекта типа oCMObContainer и присвоение ему visual "левого" 3DS без анимации (т.е. не asc-файла) ничего не дает - моб в фокусе, но ничего не просиходит. Кто-то что-нибудь может посоветовать, или это еще один "затык" готического движка? Сундук - это конечно клево, но хотелось бы видеть в виде контейнера и другие обьекты, пусть даже и без анимации.
|
|
|
10.12.2005, 22:47
|
#1135
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2marazmus: Есть такая идея: у тебя есть модель шкафа, так? Так сохрани ее в asc файл.В этом файле тока сделай n-ое количетсво кадров. По скрипту видно, что их кажется 79, насколько я понимаю.
|
|
|
15.12.2005, 10:03
|
#1137
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Killer-XXX link=board=gothic&t=1105030050&start=1130#1134 date=12/10/05, в 21:47:14
2marazmus: Есть такая идея: у тебя есть модель шкафа, так? Так сохрани ее в asc файл.В этом файле тока сделай n-ое количетсво кадров. По скрипту видно, что их кажется 79, насколько я понимаю.
|
Это оказывается в 3D-максе нужно делать, а макс пока недоступен. Но проблему решил, как всегда по-русски, т.е. через одно место :) Нам же нужен сундук? То бишь не он сам, а инвентарь, который открывается при его использовании; ну и анимация. Делаем просто - ставим сундук внутрь шкафа, отключаем коллизии, делаем невидимым. А название меняем на что-нибудь типа "Порыться в шкафу". Т.е. возникает ощущение, что ГГ роется в шкафу, без особых заморочек с максом. Не сильно изящно, конечно, но тоже решение, особенно когда поджимает время :).
|
|
|
15.12.2005, 17:41
|
#1138
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2marazmus: Молодец, хорошо придумал, но это для открытых шкафов. А если для стола? Или для закрытого шкафа? Ну все равно, уже хоть что-то.
|
|
|
16.12.2005, 09:19
|
#1139
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
но это для открытых шкафов. А если для стола? Или для закрытого шкафа? Ну все равно, уже хоть что-то.
|
А какая разница, внутри чего будет сундук? Анимация-то при этом способе все равно "сундучная". Стол - ставь сундук под стол, напиши "Порыться в ящиках стола"; шкаф - аналогично; не это главное - главное, то что расширяется множество обьектов-контейнеров; к тому же становится доступной фишка со взломом. Еще одна фишка - если не полениться и поименовать эти сундуки/типа_шкафы, то становится возможным динамическое наполнение данного сундука в зависимости от скрипта или триггера, что немного повышает интерактивность мира. Жаль только, не нашел функции удаления предметов из контейнера, есть только функции "Проверить наличие" и "Добавить". Один нюанс - если сундук поставить слишком высоко, то ГГ может "не дотянуться" до него, т.е. сундук будет невозможно открыть. Так что оптимальная высота (единственно возможная?) - на уровне пола. p.s. По поводу анимации - в Fallout вообще одна анимация была на все мобы, и никто не жаловался - не этим фолл рулил. :)
|
|
|
16.12.2005, 16:36
|
#1140
|
|
Re: Скриптинг в Готике
2Идол Тольман:
Конибудь знает как создать зону востановления жизни или маны желательно без Спасера. Я бы и сам попробовал но похожих скриптов в готе не нашёл.
|
Ежли вкратце: ставишь невидимого мясного бага (призрака) размером 0.01 от нормы в точке, в радиусе вокруг которой надо восстанавливать ману. Прописываешь ему режим работы - восстанавливать ману ГГ: [pre] func void ZS_MM_Rtn_FillWithMana() { Perception_Set_Helper_Rtn (); B_MM_DeSynchronize (); if (Hlp_StrCmp (Npc_GetNearestWP (self), self.wp) == FALSE) { AI_GotoWP (self, self.wp); }; }; func int ZS_MM_Rtn_FillWithMana_Loop() { if (Npc_GetStateTime(self) >= 2) { Npc_SetStateTime (self, 0); if (hero.attribute[ATR_MANA] < hero.attribute[ATR_MANA_MAX]) { hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA] + 1; if ((hero.attribute[ATR_MANA] < hero.attribute[ATR_MANA_MAX]) && ((hero.guild == GIL_KDF) || (hero.guild == GIL_NOV))) { hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA] + 1; }; }; }; return LOOP_CONTINUE; }; func void ZS_MM_Rtn_FillWithMana_End() {}; [/pre] Работать он будет только в определённом радиусе видимости (неписи, невидимые ГГ, не обрабатываются). Короче - натрави декомпилятор на мой unnamed мод и будет тебе щастье :)
|
|
|
17.12.2005, 22:38
|
#1142
|
|
Re: Скриптинг в Готике
Даже незнаю в какую тему свой вопрос отнести,лано напишу здесь. Создаю в спайсере 1 веппоинт(нажимаю на понельки значок ввиде ноги,потом нажимаю inser,и имя веппоинта,дальше с помощью шивт соеденяю 2 близ стоящих веппоинта). Веппоинт поставил в лагере квентина и назвал ->LOCATION_50_50 Дальше сохраняю зен,он стоит как положено. Дальше в папке NPC создаю скрипт Org_999_DEDROIT ,вот скрипт:
instance Org_999_DEDROIT (Npc_Default) { name[0] = "Избранный"; npcType = Npctype_ROGUE; guild = GIL_None; level = 12; voice = 7; id = 999; attribute[ATR_STRENGTH] = 60; attribute[ATR_DEXTERITY] = 30; attribute[ATR_MANA_MAX] = 0; attribute[ATR_MANA] = 0; attribute[ATR_HITPOINTS_MAX] = 184; attribute[ATR_HITPOINTS] = 184; Mdl_SetVisual(self,"HUMANS.MDS"); Mdl_ApplyOverlayMds(self,"Humans_Relaxed.mds" ); Mdl_SetVisualBody(self,"hum_body_Naked0",0,2,"Hum _Head_Pony",8,1,org_armor_m); B_Scale(self); Mdl_SetModelFatness(self,0); fight_tactic = FAI_HUMAN_Strong; Npc_SetTalentSkill(self,NPC_TALENT_BOW,1); Npc_SetTalentSkill(self,NPC_TALENT_2H,1); Npc_SetTalentSkill(self,NPC_TALENT_1H,1); CreateInvItems(self,ItKeLockpick,1); CreateInvItems(self,ItMiNugget,15); CreateInvItems(self,ItFoRice,8); CreateInvItems(self,ItFoBooze,3); CreateInvItems(self,ItLsTorch,2); CreateInvItems(self,ItFo_Potion_Health_01,2); CreateInvItem(self,ItMi_Stuff_Plate_01); CreateInvItem(self,ItMi_Stuff_Barbknife_01); CreateInvItem(self,ItFoLoaf); CreateInvItem(self,ItAt_Claws_01); EquipItem(self,ItMw_1H_Mace_War_01); EquipItem(self,ItRw_Bow_Long_01); CreateInvItems(self,ItAmArrow,20); daily_routine = Rtn_start_999; };
func void Rtn_start_999() { TA_StandAround(13,0,14,0,"LOCATION_50_50"); TA_StandAround(14,0,13,0,"LOCATION_50_50"); }; Дальше прописал его в стартопе,после строчки Wld_InsertNpc(Org_874_Raeuber,"LOCATION_11_08"); прописал это Wld_InsertNpc(Org_999_DEDROIT,"LOCATION_50_50"); И прописал в Gothic.src Дальше вставил OU.BIN и Gothic.dat куда надо. Захожу начинаю игру заного,а этого непися там нема. В чё проблема?Декомпилятор ошибок не выдавал.Может веппоинт где-то прописать надо?? Может что-то неправильно сделал?
Добавление от 12/17/05, в 21:58:22 Может после создания веппоинта мир компилировать надо??(да кстати дела все происходят в Готе1)
|
|
|
18.12.2005, 00:27
|
#1143
|
|
Re: Скриптинг в Готике
Хелп Написал скрипт НПСа Вот:
instance NONE_2345_Finch(Npc_Default) { name = "Финч"; guild = GIL_NONE; level = 18; npcType = NPCTYPE_FRIEND; voice = 13; id = 2345; flags = 0; attribute[ATR_STRENGTH] = 100; attribute[ATR_DEXTERITY] = 80; attribute[ATR_MANA_MAX] = 100; attribute[ATR_MANA] = 100; attribute[ATR_HITPOINTS_MAX] = 300; attribute[ATR_HITPOINTS] = 300; EquipItem(self,ITMW_1h_special_03); Mdl_SetVisual(self,"HUMANS.MDS"); Mdl_SetVisualBody(self,"hum_body_Naked0",1,0,"Hum _Head_Bald",0,0,ITAR_XARDAS); fight_tactic = FAI_HUMAN_Master; daily_routine = Rtn_start_2345; };
func void Rtn_start_2345() { TA_Smalltalk(8,0,23,0,"NW_BIGFARM_ALLEE_HUT") ; TA_Smalltalk(23,0,8,0,"NW_BIGFARM_ALLEE_HUT") ; };
В Статупе прописал и в Npc_Globals тоже Где Ошибка?
|
|
|
18.12.2005, 01:03
|
#1144
|
|
Re: Скриптинг в Готике
2Идол Тольман:
В смысле? Если вы о кружке ясновидения, то попробую взглянуть в прошлое: ...(ушел в нирвану)... Проясняется... Да! У вас не компилируются скрипты! :) А в Gothic.src вы занесли вашего NPC?
|
|
|
18.12.2005, 15:21
|
#1145
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Ukur link=board=gothic&t=1105030050&start=1125#1143 date=12/18/05, в 00:03:15
2Идол Тольман: В смысле? Если вы о кружке ясновидения, то попробую взглянуть в прошлое: ...(ушел в нирвану)... Проясняется... Да! У вас не компилируются скрипты! :) А в Gothic.src вы занесли вашего NPC?
|
;D ;D А в первом случае еще время нахожения на WP: * * TA_StandAround( 13,0,14,0,"LOCATION_50_50"); * * TA_StandAround( 14,0,13,0,"LOCATION_50_50"); И еще. Oбязательно должен быть WP а не FP !
|
|
|
18.12.2005, 16:19
|
#1146
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2DEDROIT: Проверь, появился ли твой ВП в мире. Можно в игре goto wp. И если переместит то есть, если ругнется, то значит ВП не вставился нормально.
|
|
|
19.12.2005, 14:36
|
#1148
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от marazmus link=board=gothic&t=1105030050&start=1125#1136 date=12/15/05, в 09:03:57
Делаем просто - ставим сундук внутрь шкафа, отключаем коллизии, делаем невидимым. А название меняем на что-нибудь типа "Порыться в шкафу". Т.е. возникает ощущение, что ГГ роется в шкафу, без особых заморочек с максом.
|
А как же анимация открывания дверцы шкафа? При таком подходе ее не будет. Хотя, без макса, наверное, это лучший подход. Кто-нибудь знает, как пользоваться прогой GothicVDFS из командной строки? Один параметр я сам знаю: GothicVDFS.exe /x имя_файла.vdf - распакует указанный vdf-файл в текущую папку. Есть ведь, наверное, и другие параметры?
|
|
|
19.12.2005, 19:55
|
#1149
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2all: Возможно я пропустил это в уроках, но поискал и ничего не нашел. Вопрос такой: можно ли создать барьер в Г2? Т.е. чтобы был невидимый колпак либо стена?
|
|
|
19.12.2005, 22:42
|
#1150
|
|
Re: Скриптинг в Готике
[glow=red,2,300]Г1[/glow] Вы наверняка заметили, что сила и ловкость практически никогда не изменяются, т е они всегда максимальны(не то что жизнь и манна которые могут отличаться от своего максимума). Поэтому, был задан вопрос как эту недоделку иправить - сделать характеристику силы (ловкости) одной цифрой. В принципе, это все жить не мешает, но, все же , очень интересно разобраться в этом. Один я, к сожалению, этого сделать не смог, поэтому прошу помощи.
instance MENU_STATUS(C_MENU_DEF) { * * *items[0] = "MENU_ITEM_PLAYERGUILD_TITLE"; * * *items[1] = "MENU_ITEM_PLAYERGUILD"; * * *items[2] = "MENU_ITEM_LEVEL_TITLE"; * * *items[3] = "MENU_ITEM_EXP_TITLE"; * * *items[4] = "MENU_ITEM_LEVEL_NEXT_TITLE"; * * *items[5] = "MENU_ITEM_LEARN_TITLE"; * * *items[6] = "MENU_ITEM_LEVEL"; * * *items[7] = "MENU_ITEM_EXP"; * * *items[8] = "MENU_ITEM_LEVEL_NEXT"; * * *items[9] = "MENU_ITEM_LEARN"; * * *items[10] = "MENU_ITEM_ATTRIBUTE_HEADING"; //-------------------------------------------------------------------------------- * * * //************************************************** *********** //************Название Аттрибутов******************************** * * * * * * *items[11] = "MENU_ITEM_ATTRIBUTE_1_TITLE"; * * *items[12] = "MENU_ITEM_ATTRIBUTE_2_TITLE"; * * *items[13] = "MENU_ITEM_ATTRIBUTE_3_TITLE"; * * *items[14] = "MENU_ITEM_ATTRIBUTE_4_TITLE"; //================================================== * * * //=========Рейтинг аттрибутов============================= {Так вот, именно эти переменные отображаются в окне характеристик в виде чисел - показатель развития аттрибута. Думается что е-то *текстовые переменные и нужно найти скрипт,*где им присваиваются занчения. Но подозреваю, что все это зашито в экзешнике. Вобщем-то прошу помощи.} * * * * * *items[15] = "MENU_ITEM_ATTRIBUTE_1"; * * *items[16] = "MENU_ITEM_ATTRIBUTE_2"; * * *items[17] = "MENU_ITEM_ATTRIBUTE_3"; * * *items[18] = "MENU_ITEM_ATTRIBUTE_4"; //************************************************** *********** //************************************************** *********** //------------------------------------------------------------------------------------ * * * * * * *items[19] = "MENU_ITEM_ARMOR_HEADING"; * * *items[20] = "MENU_ITEM_ARMOR_1_TITLE"; * * *items[21] = "MENU_ITEM_ARMOR_2_TITLE"; * * *items[22] = "MENU_ITEM_ARMOR_3_TITLE"; * * *items[23] = "MENU_ITEM_ARMOR_4_TITLE"; * * *items[24] = "MENU_ITEM_ARMOR_1"; * * *items[25] = "MENU_ITEM_ARMOR_2"; * * *items[26] = "MENU_ITEM_ARMOR_3"; * * *items[27] = "MENU_ITEM_ARMOR_4"; * * *items[28] = "MENU_ITEM_TALENTS_WEAPON_HEADING"; * * *items[29] = "MENU_ITEM_TALENTS_THIEF_HEADING"; * * *items[30] = "MENU_ITEM_TALENTS_SPECIAL_HEADING"; * * *items[31] = "MENU_ITEM_TALENT_1_TITLE"; * * *items[32] = "MENU_ITEM_TALENT_1_SKILL"; * * *items[33] = "MENU_ITEM_TALENT_1"; * * *items[34] = "MENU_ITEM_TALENT_2_TITLE"; * * *items[35] = "MENU_ITEM_TALENT_2_SKILL"; * * *items[36] = "MENU_ITEM_TALENT_2"; * * *items[37] = "MENU_ITEM_TALENT_3_TITLE"; * * *items[38] = "MENU_ITEM_TALENT_3_SKILL"; * * *items[39] = "MENU_ITEM_TALENT_3"; * * *items[40] = "MENU_ITEM_TALENT_4_TITLE"; * * *items[41] = "MENU_ITEM_TALENT_4_SKILL"; * * *items[42] = "MENU_ITEM_TALENT_4"; * * *items[43] = "MENU_ITEM_TALENT_5_TITLE"; * * *items[44] = "MENU_ITEM_TALENT_5_SKILL"; * * *items[45] = "MENU_ITEM_TALENT_5"; * * *items[46] = "MENU_ITEM_TALENT_6_TITLE"; * * *items[47] = "MENU_ITEM_TALENT_6_SKILL"; * * *items[48] = "MENU_ITEM_TALENT_6"; * * *items[49] = "MENU_ITEM_TALENT_7_TITLE"; * * *items[50] = "MENU_ITEM_TALENT_7_SKILL"; * * *items[51] = "MENU_ITEM_TALENT_8_TITLE"; * * *items[52] = "MENU_ITEM_TALENT_8_SKILL"; * * *items[53] = "MENU_ITEM_TALENT_9_TITLE"; * * *items[54] = "MENU_ITEM_TALENT_9_SKILL"; * * *items[55] = "MENU_ITEM_TALENT_10_TITLE"; * * *items[56] = "MENU_ITEM_TALENT_10_SKILL"; * * *items[57] = "MENU_ITEM_TALENT_11_TITLE"; * * *items[58] = "MENU_ITEM_TALENT_11_SKILL"; * * *items[59] = "MENU_ITEM_TALENT_12_TITLE"; * * *items[60] = "MENU_ITEM_TALENT_12_SKILL"; * * *items[61] = "MENU_ITEM_TALENT_13_TITLE"; * * *items[62] = "MENU_ITEM_TALENT_13_SKILL"; * * *dimx = 8192; * * *dimy = 8192; * * *flags = flags | MENU_OVERTOP | MENU_NOANI; * * *backpic = STAT_BACK_PIC; };
const int STAT_DY = 300; const int STAT_PLY_Y = 1000; const int STAT_ATR_Y = 2800; const int STAT_ARM_Y = 5200; const int STAT_TAL_Y = 1000; const int STAT_A_X1 = 500; const int STAT_A_X2 = 1530; const int STAT_A_X3 = 2620; const int STAT_B_X1 = 3500; const int STAT_B_X2 = 5700; const int STAT_B_X3 = 7200;
instance MENU_ITEM_PLAYERGUILD_TITLE(C_MENU_ITEM_DEF) { * * *text[0] = "Гильдия:"; * * *posx = STAT_A_X1; * * *posy = STAT_PLY_Y + (STAT_DY * 0); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_PLAYERGUILD(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X2; * * *posy = STAT_PLY_Y + (STAT_DY * 0); * * *dimx = STAT_B_X1 - STAT_A_X2; * * *dimy = STAT_DY; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_LEVEL_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_PLY_Y + (1 * STAT_DY); * * *text[0] = "Уровень"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_EXP_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_PLY_Y + (2 * STAT_DY); * * *text[0] = "Опыт"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_LEVEL_NEXT_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_PLY_Y + (3 * STAT_DY); * * *text[0] = "След. уровень"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_LEARN_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_PLY_Y + (4 * STAT_DY); * * *text[0] = "Очки обучения"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_LEVEL(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_PLY_Y + (1 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_EXP(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_PLY_Y + (2 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_LEVEL_NEXT(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_PLY_Y + (3 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_LEARN(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_PLY_Y + (4 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_HEADING(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_ATR_Y + (0 * STAT_DY); * * *text[0] = "ХАРАКТЕРИСТИКИ"; * * *fontname = STAT_FONT_TITLE; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_1_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_ATR_Y + (1 * STAT_DY); * * *text[0] = "Сила"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_2_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_ATR_Y + (2 * STAT_DY); * * *text[0] = "Ловкость"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_3_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_ATR_Y + (3 * STAT_DY); * * *text[0] = "Мана"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_4_TITLE(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X1; * * *posy = STAT_ATR_Y + (4 * STAT_DY); * * *text[0] = "Жизнь"; * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_1(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_ATR_Y + (1 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_2(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_ATR_Y + (2 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_3(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_ATR_Y + (3 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
instance MENU_ITEM_ATTRIBUTE_4(C_MENU_ITEM_DEF) { * * *posx = STAT_A_X3; * * *posy = STAT_ATR_Y + (4 * STAT_DY); * * *fontname = STAT_FONT_DEFAULT; * * *flags = flags & ~IT_SELECTABLE; };
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*обрыв скрипта(а то много будет) За ранее длагодарен....
|
|
|
20.12.2005, 17:19
|
#1152
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Kerrax link=board=gothic&t=1105030050&start=1125#1147 date=12/19/05, в 13:36:30
Кто-нибудь знает, как пользоваться прогой GothicVDFS из командной строки?
|
Вопрос снят, я уже сам разобрался. Теперь я знаю, и как запустить GothicVDFS без графического интерфейса, и как запустить мод для Готики без проги GothicStarter ;) ЗЫ. звиняйте, что не в тему...
|
|
|
20.12.2005, 22:22
|
#1155
|
|
Re: Скриптинг в Готике
2Идол Тольман: Действительно создать новую,полноценную гильдию нельзя,можно только переделать под свои нужды существующие!
Давай сделаем допустим гильдию сектатнтов.
Чтобы её сделать:
1)заходим в _Intern\Constants.d
там заменяем допустим
const int GIL_EMPTY_D= 15; на const int GIL_SEC= 15;(где SEC->сокращёное название гильдии)!
2)Заходим в Scripts\Content\Story\TEX.d
и в разделе const string TXT_GUILDS[66] =
парописываем вместо "D",ставим "Сектант",
3)заходим в _work\data\Scripts\_decompiled\AI\Human\Guilds.d
Там вместо этого
/* D * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* D * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* D * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* D * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* D * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL
};
ставим
/* SEC **/ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* SEC * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* SEC * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* SEC * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * */* SEC * */ * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL, * * *ATT_NEUTRAL
};
Потом всё это дело компилируем и вооля,у нас новая гильдия!
Терь насчёт торговли,посмотри в скриптах(просто тороплюсь не успиваю написать).
|
|
|
21.12.2005, 19:01
|
#1156
|
|
Re: Скриптинг в Готике
3)заходим в _work\data\Scripts\_decompiled\AI\Human\Guilds.d
Там вместо этого
/* D */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /* D */ ATT_NEUTRAL, ATT_NEUTRAL, /* D */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /* D */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /* D */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL
};
ставим
/* SEC */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /* SEC */ ATT_NEUTRAL, ATT_NEUTRAL, /* SEC */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /* SEC */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /* SEC */ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL
};
|
Вот Мой Guilds.d const int TAB_ANZAHL = 256; const int GIL_ATTITUDES[256] = { 2,2,2,2,2,2,2,2,2,0,2,2,3,2,2,2, 2,3,3,3,3,3,2,2,2,0,2,2,3,2,2,2, 2,3,3,3,3,3,2,2,2,0,2,2,3,2,2,2, 2,2,2,2,2,2,2,2,2,0,2,2,3,2,2,2, 2,3,2,2,3,3,2,2,2,0,2,2,3,2,2,2, 2,3,3,3,3,3,2,2,2,0,2,2,3,2,2,2, 2,2,2,2,2,2,3,3,3,0,2,2,3,2,2,2, 2,2,2,2,2,2,3,3,3,0,2,2,3,2,2,2, 2,2,2,2,2,2,2,2,3,0,2,2,3,2,2,2, 0,0,0,0,0,0,0,0,0,3,2,2,0,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,0,2,0,3,0,2,2,2, 3,3,3,3,3,3,3,3,3,0,2,2,3,2,3,2, 2,2,2,2,2,2,2,2,2,0,2,2,2,3,2,2, 2,2,2,3,2,2,2,2,3,0,2,2,3,2,3,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 };
|
|
|
21.12.2005, 20:34
|
#1157
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2Идол Тольман: Просто это он у тебя после декомпиляции. Просто возьми его из оригинальных немецких скриптов.
|
|
|
21.12.2005, 22:54
|
#1158
|
|
Re: Скриптинг в Готике
У меня вопрос,даже незнаю куда его отнести.Лано напишу здесь. Вобщем,после того как я изменил карту,тоесть вставил здания и поправил горку,у меня стала вылетать игра,точнее она вылетает когда я пытаюсь зажечь факел,тоесть захожу в инвентарь,нажимаю применить факел и игра сразу вылетает.В оригинальной карте всё нормально.Что делать?
Добавление от 12/21/05, в 22:14:03 Да и ещё вопрос.После изменения мира,я пошёл в старую шахту,загрузка и всё чёрное.Как это исправить?
|
|
|
22.12.2005, 01:49
|
#1159
|
|
Re: Скриптинг в Готике
[quote=DEDROIT link=board=gothic&t=1105030050&start=1150#1157 date=12/21/05, в 21:54:04]
Добавление от 12/21/05, в 22:14:03 Да и ещё вопрос.После изменения мира,я пошёл в старую шахту,загрузка и всё чёрное.Как это исправить?
|
Внутренние поверхности (мне кажется только замкнутые, в т.ч. и твоя шахта) должны компилироваться в режиме indoor *;)
|
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 16:54. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|