Показать сообщение отдельно
Старый 16.04.2005, 02:27   #9
B_Wolf

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

По умолчанию Re: STRONGHAND - MOD FOR GOTHIC

2Vam:
Можешь поискать в скриптах строчку InExtremo, найдешь очень много интересных файлов, встанет вопрос, а как активизировать группу, наиболее простое решение - декомпилировать Готику 1 от Руссобита, там концерт восстановлен, и тем же поиском данной строки сравнить требуемые файлы, ну или домыслить самому, как активизировать концерт, все необходимые скрипты для него есть в оригинальной Готике.
Восстановление концерта InExtremo

Vam, спасибо за совет...

Итак проведя небольшие исследования с помошью программы UltraEdit, я выяснил, что за концерт InExtremo отвечает файл "_decompiled\Story\B\b_insertinextremo.d".
Далее я начал искать в Руссобитовской версии Готики... и нашел в файле, отвечающием за изменения, происходимые в новых главах игры "_decompiled\Story\CHAPTERS\B_Kapitelwechsel.d " строчки:

B_InsertInExtremo(); - собсно функция запуска концерта.
B_InExtremoStopMusic(); - функция останавливающая музыку.
B_KillInExtremo(); - функция э... я думаю понятно из названия.

Естественно в файле "B_Kapitelwechsel.d" от Snowball этих функций не было. Итак, чтобы восстановить справедливость, нужно просто добавить эти строки в нужные места.

Вот "вылеченный" вариант файла "B_Kapitelwechsel.d" для Snowball


--- BEGIN FILE ---


func void B_Kapitelwechsel(var int neues_Kapitel)
{
* * *var C_Npc YBerion;
* * *var C_Npc Templer;
* * *var C_Npc Templer_1;
* * *var C_Npc Novize;
* * *var C_Npc Novize_1;
* * *Kapitel = neues_Kapitel;
* * *if(neues_Kapitel == 1)
* * *{
* * * * * *PrintDebugNpc(PD_MISSION,"---=== DAS ERSTES KAPITEL ===---");
* * * * * *B_Give_SkipChapter2Weapons();
* * * * * *IntroduceChapter("Глава 1","Добро пожаловать!","chapter1.tga","levelup.wav",6000);
* * *}
* * *else if(neues_Kapitel == 2)
* * *{
* * * * * *PrintDebugNpc(PD_MISSION,"---=== DAS ZWEITE KAPITEL ===---");
* * * * * *B_Give_FiskChapter2Weapons();
* * * * * *B_Give_DarrionChapter2Weapons();
* * * * * *B_Give_SharkyChapter2Weapons();
* * * * * *B_Give_BaalCadarChapter2Runes();
* * * * * *B_Give_TorrezChapter2Runes();
* * * * * *B_Give_CronosChapter2Runes();
* * * * * *B_GiveRiordianChapter2Potions();
* * * * * *B_Give_CavalornChapter2Weapons();
* * * * * *B_Give_WolfChapter2Weapons();
* * * * * *B_Give_SkipChapter2Weapons();
* * * * * *B_Story_RespawnOW();
* * * * * *B_InsertInExtremo();
* * * * * *IntroduceChapter("Глава 2","Пещеры ползунов","chapter2.tga","levelup.wav",6000);
* * *}
* * *else if(neues_Kapitel == 3)
* * *{
* * * * * *PrintDebugNpc(PD_MISSION,"---=== DAS DRITTE KAPITEL ===---");
* * * * * *B_InExtremoStopMusic();
* * * * * *B_KillInExtremo();
* * * * * *YBerion_BringFocus = LOG_SUCCESS;
* * * * * *CorKalom_BringMCQBalls = LOG_SUCCESS;
* * * * * *CorKalom_BringBook = LOG_SUCCESS;
* * * * * *B_Give_FiskChapter3Weapons();
* * * * * *B_Give_DarrionChapter3Weapons();
* * * * * *B_Give_SharkyChapter3Weapons();
* * * * * *B_Give_BaalCadarChapter3Runes();
* * * * * *B_Give_TorrezChapter3Runes();
* * * * * *B_Give_TorrezChapter3Runes();
* * * * * *B_Give_CronosChapter3Runes();
* * * * * *B_GiveRiordianChapter3Potions();
* * * * * *B_Give_CavalornChapter3Weapons();
* * * * * *B_Give_WolfChapter3Weapons();
* * * * * *B_Give_SkipChapter3Weapons();
* * * * * *PlayVideo("GREATPRAYER.BIK");
* * * * * *YBerion = Hlp_GetNpc(GUR_1200_YBerion);
* * * * * *YBerion.flags = 0;
* * * * * *Npc_ChangeAttribute(YBerion,ATR_HITPOINTS,-YBerion.attribute[ATR_HITPOINTS_MAX] + 1);
* * * * * *YBerion.flags = NPC_FLAG_IMMORTAL;
* * * * * *Npc_ExchangeRoutine(YBerion,"DRAINED");
* * * * * *AI_ContinueRoutine(YBerion);
* * * * * *Templer = Hlp_GetNpc(TPL_1431_Templer);
* * * * * *Templer.senses = hero.senses;
* * * * * *Templer_1 = Hlp_GetNpc(TPL_1430_Templer);
* * * * * *Templer_1.senses = hero.senses;
* * * * * *Novize = Hlp_GetNpc(NOV_1319_Novize);
* * * * * *Novize.senses = hero.senses;
* * * * * *Novize_1 = Hlp_GetNpc(NOV_1319_Novize);
* * * * * *Novize_1.senses = hero.senses;
* * * * * *IntroduceChapter("Глава 3","Артефакты древних сил","chapter3.tga","levelup.wav",6000);
* * *}
* * *else if(neues_Kapitel == 4)
* * *{
* * * * * *PrintDebugNpc(PD_MISSION,"---=== DAS VIERTE KAPITEL ===---");
* * * * * *B_ExchangeRoutine(GRD_205_Scorpio,"BANNISHED");
* * * * * *B_ChangeGuild(GRD_205_Scorpio,GIL_None);
* * * * * *B_SetPermAttitude(GRD_205_Scorpio,ATT_NEUTRAL);
* * * * * *B_ChangeGuild(STT_336_Cavalorn,GIL_None);
* * * * * *B_Give_ScorpioChapter4Weapons();
* * * * * *B_Give_DarrionChapter4Weapons();
* * * * * *B_Give_SharkyChapter4Weapons();
* * * * * *B_Give_BaalCadarChapter4Runes();
* * * * * *B_Give_XardasChapter4Runes();
* * * * * *B_Give_CronosChapter4Runes();
* * * * * *B_GiveRiordianChapter4Potions();
* * * * * *B_Give_CavalornChapter4Weapons();
* * * * * *B_Give_WolfChapter4Weapons();
* * * * * *Saturas_BringFoci = 5;
* * * * * *CreateInvItem(hero,ItArRuneTeleport2);
* * * * * *Log_CreateTopic(CH4_Firemages,LOG_MISSION);
* * * * * *Log_SetTopicStatus(CH4_Firemages,LOG_RUNNING);
* * * * * *B_LogEntry(CH4_Firemages,"Сатурас, лидер магов воды, попросил меня сделать ему последнее одолжение: чтобы взорвать гору руды, ему понадобится помощь магов огня из Старого Лагеря. Пока не знаю, как я смогу заставить магов Гомеза уничтожить основу их силы, но придется что-то придумать. ");
* * * * * *B_ExchangeRoutine(Sld_700_Lee,"DAMNPAST");
* * * * * *B_ExchangeRoutine(BAU_935_Homer,"DAMNPAST");
* * * * * *oldHeroGuild = Npc_GetTrueGuild(hero);
* * * * * *if(C_NpcBelongsToOldCamp(hero))
* * * * * *{
* * * * * * * * *Npc_SetTrueGuild(hero,GIL_None);
* * * * * * * * *hero.guild = GIL_None;
* * * * * *};
* * * * * *B_ExchangeRoutine(GRD_228_Gardist,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_230_Gardist,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_280_Gardist,"FMTaken");
* * * * * *B_ClearImmortal(GRD_228_Gardist);
* * * * * *B_ClearImmortal(GRD_230_Gardist);
* * * * * *B_ClearImmortal(GRD_280_Gardist);
* * * * * *B_KillNpc(KDF_400_Rodriguez);
* * * * * *B_KillNpc(KDF_401_Damarok);
* * * * * *B_KillNpc(Kdf_402_Corristo);
* * * * * *B_KillNpc(KDF_403_Drago);
* * * * * *B_KillNpc(KDF_405_Torrez);
* * * * * *B_KillNpc(Nov_1330_BaalParvez);
* * * * * *B_KillNpc(Nov_1331_BaalTaran);
* * * * * *B_KillNpc(Tpl_1422_GorHanis);
* * * * * *B_KillNpc(Sld_729_Kharim);
* * * * * *B_ExchangeRoutine(PC_Thief,"OCWait");
* * * * * *B_ExchangeRoutine(PC_Mage,"OCWait");
* * * * * *B_ChangeGuild(PC_Thief,GIL_KDF);
* * * * * *B_SetPermAttitude(PC_Thief,ATT_FRIENDLY);
* * * * * *B_SetPermAttitude(PC_Mage,ATT_FRIENDLY);
* * * * * *Wld_ExchangeGuildAttitudes("GIL_ATTITUDES_FMTAKEN ");
* * * * * *B_InitMonsterAttitudes();
* * * * * *B_ExchangeRoutine(GRD_255_Fletcher,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_252_Gardist,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_253_Gardist,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_244_Gardist,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_214_Torwache,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_215_Torwache,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_233_Bloodwyn,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_232_Gardist,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_229_Gardist,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_216_Torwache,"FMTaken");
* * * * * *B_ExchangeRoutine(GRD_217_Torwache,"FMTaken");
* * * * * *B_ExchangeRoutine(TPL_1439_GorNaDrak,"FMTaken");
* * * * * *B_ExchangeRoutine(TPL_1440_Templer,"FMTaken");
* * * * * *IntroduceChapter("Глава 4","Ксардас","chapter4.tga","levelup.wav",600
0);
* * *}
* * *else if(neues_Kapitel == 5)
* * *{
* * * * * *PrintDebugNpc(PD_MISSION,"---=== DAS FЬNFTE KAPITEL ===---");
* * * * * *B_Give_ScorpioChapter5Weapons();
* * * * * *B_Give_DarrionChapter5Weapons();
* * * * * *B_Give_SharkyChapter5Weapons();
* * * * * *B_Give_XardasChapter5Runes();
* * * * * *B_Give_CavalornChapter5Weapons();
* * * * * *B_Give_WolfChapter5Weapons();
* * * * * *B_Give_CronosChapter5Runes();
* * * * * *B_GiveRiordianChapter5Potions();
* * * * * *B_Give_ScorpioChapter6Weapons();
* * * * * *B_Give_DarrionChapter6Weapons();
* * * * * *B_Give_SharkyChapter6Weapons();
* * * * * *B_Give_XardasChapter6Runes();
* * * * * *B_GiveRiordianChapter6Potions();
* * * * * *B_Give_CavalornChapter6Weapons();
* * * * * *B_Give_WolfChapter6Weapons();
* * * * * *B_LogEntry(CH4_EnterTemple,"Gorn war wenig zuversichtlich, daЯ mir das ULU-MULU in der Orkstadt viel helfen wьrde. Was solls, ich werde es sehr bald herausgefunden haben... so oder so!");
* * * * * *B_Story_RespawnOW();
* * * * * *IntroduceChapter("Глава 5","Хранители портала","chapter5.tga","levelup.wav",6000);
* * *}
* * *else if(neues_Kapitel == 6)
* * *{
* * * * * *PrintDebugNpc(PD_MISSION,"---=== DAS SECHSTE KAPITEL ===---");
* * * * * *B_Give_XardasChapter6Runes();
* * * * * *PlayVideo("OREHEAP.BIK");
* * * * * *CreateInvItem(hero,Mythrilklinge02);
* * * * * *IntroduceChapter("Глава 6","Логово Спящего","chapter6.tga","levelup.wav",6000);
* * *};
};

func int C_IsChapter(var int chapter)
{
* * *if(Kapitel == chapter)
* * *{
* * * * * *return TRUE;
* * *};
};

--- END FILE ---


Теперь нужно просто заново собрать декомпилированные исходники и наслаждаться игрой. Естественно без декомпилятора by Vam, это сделать было бы почти невозможно :)

Конечно же концерт InExtremo будет и в моем моде.

Добавление от 04/16/05, в 02:43:14
2Фагот:
Кстати, а хар-ки орков я не заметил. Ты их тоже модифицируешь?
Эх.. я писал и об этом, но в таблице не расписывал.
3. Персонажи\монстры.
Увеличены все физические и пр. характеристики (сила, ловкость, манна, жизнь, уровень, защита) персонажей и монстров.
Мдя, зря я орков с монстрами объединил :) Древнейший цивилизованный народ! :)
Ответить с цитированием