Tworzenie nowej gildii.
Spędziłem nad skryptami 5 dni ale jest.
Oto tutorial jak stworzyć bez żadnych błędów swoją własną gildię. Jest to mój pierwszy tutorial więc proszę o wyrozumiałość.
UWAGAJest to tutorial przeznaczony i sprawdzony (w spacerze) na Gothic'u 1
Nie biorę odpowiedzialności za ewentualne szkody.
Kopiowanie tutoriala jak najbardziej wskazane, ale zaznaczcie, że to ja napisałem ten tutorial.
Jeśli masz słabe nerwy odejdź od monitora i poproś kogoś o wyłączenie strony.
Czytaj tekst do samego końca.
Pierwszy plik który musimy zedytować jest w folderze:
(twój folder Gothic'a)\_Work\Data\SCRIPTS\CONTENT\_INTERN\Constants.d
Tam w liniach od 306-360 są spisane i ponumerowane gildie zarówno ludzkie jak i zwierzęce.
Jeśli chcemy stworzyć gildię ludzi to dodajemy swoją gildię przed GIL_SEPARATOR_HUM tak jak tu:
//
// HUMAN GUILDS
//
CONST INT GIL_NONE = 0 ;
CONST INT GIL_HUMAN = 1 ;
CONST INT GIL_EBR = 1 ; // Zauważyliście pewnie, że numer gildii się powtarza, ale tak ma być
CONST INT GIL_GRD = 2 ;
CONST INT GIL_STT = 3 ;
CONST INT GIL_KDF = 4 ;
CONST INT GIL_VLK = 5 ;
CONST INT GIL_KDW = 6 ;
CONST INT GIL_SLD = 7 ;
CONST INT GIL_ORG = 8 ;
CONST INT GIL_BAU = 9 ;
CONST INT GIL_SFB = 10 ;
CONST INT GIL_GUR = 11 ;
CONST INT GIL_NOV = 12 ;
CONST INT GIL_TPL = 13 ;
CONST INT GIL_DMB = 14 ;
CONST INT GIL_BAB = 15 ;
CONST INT GIL_kod_twojej_gildii_ludzi = 16 ; //Może to być co chcecie np. GIL_MUZYK lub skrót GIL_MZK. Uwaga! Musi być bez polskich liter. Może być jakiej się chce długości.
CONST INT GIL_SEPERATOR_HUM = 17 ;
CONST INT MAX_GUILDS = 17 ;
Całość linii 306-360 będzie wyglądać tak
//
// HUMAN GUILDS
//
CONST INT GIL_NONE = 0 ;
CONST INT GIL_HUMAN = 1 ;
CONST INT GIL_EBR = 1 ; // Zauważyliście pewnie, że numer gildii się powtarza, ale tak ma być
CONST INT GIL_GRD = 2 ;
CONST INT GIL_STT = 3 ;
CONST INT GIL_KDF = 4 ;
CONST INT GIL_VLK = 5 ;
CONST INT GIL_KDW = 6 ;
CONST INT GIL_SLD = 7 ;
CONST INT GIL_ORG = 8 ;
CONST INT GIL_BAU = 9 ;
CONST INT GIL_SFB = 10 ;
CONST INT GIL_GUR = 11 ;
CONST INT GIL_NOV = 12 ;
CONST INT GIL_TPL = 13 ;
CONST INT GIL_DMB = 14 ;
CONST INT GIL_BAB = 15 ;
CONST INT GIL_kod_twojej_gildii_ludzi = 16 ; //Może to być co chcecie np. GIL_MUZYK lub skrót GIL_MZK. Uwaga! Musi być bez polskich liter. Może być jakiej się chce długości.
CONST INT GIL_SEPERATOR_HUM = 17 ;
CONST INT MAX_GUILDS = 17 ;
//
// MONSTER GUILDS
//
CONST INT GIL_WARAN = 18 ; // JASZCZURY
CONST INT GIL_SLF = 19 ; //
CONST INT GIL_GOBBO = 20 ; // GOBLINY
CONST INT GIL_TROLL = 21 ; // TROLLE
CONST INT GIL_SNAPPER = 22 ; //
CONST INT GIL_MINECRAWLER = 23 ; // PEŁZACZE
CONST INT GIL_MEATBUG = 24 ; // CHRZĄSZCZE
CONST INT GIL_SCAVENGER = 25 ; // ŚCIERWOJADY
CONST INT GIL_DEMON = 26 ; // DEMONY
CONST INT GIL_WOLF = 27 ; // WILKI
CONST INT GIL_SHADOWBEAST = 28 ; // cIENIOSTWORY
CONST INT GIL_BLOODFLY = 29 ; // KRWIOPIJCY
CONST INT GIL_SWAMPSHARK = 30 ; // WĘŻE BŁOTNE
CONST INT GIL_ZOMBIE = 31 ; // ZOMBIE
CONST INT GIL_UNDEADORC = 32 ; // NIEUMARLI ORKOWIE
CONST INT GIL_SKELETON = 33 ; // SZKIELETY
CONST INT GIL_ORCDOG = 34 ; // ORKOWE PSY
CONST INT GIL_MOLERAT = 35 ; // KRETOSZCZUR
CONST INT GIL_GOLEM = 36 ; // GOLEM
CONST INT GIL_LURKER = 37 ; //TOPIELEC
CONST INT GIL_SEPERATOR_ORC = 38 ; // Separator - od tego miejsca w dół są tylko gildie orków
CONST INT GIL_ORCSHAMAN = 39 ; // Ork-Szaman
CONST INT GIL_ORCWARRIOR = 40 ; //Ork-Wojownik
CONST INT GIL_ORCSCOUT = 41 ; //Ork-Zwiadowca
CONST INT GIL_ORCSLAVE = 42 ; //Ork
CONST INT GIL_MAX = 43 ; //Maksymalna liczba gildii - MUSI BYĆ ZAWSZE O 1 WIĘKSZA OD OSTATNIEJ GILDII ZWIERZĘCEJ
Wtedy plik Constants.d jest gotowy.Idziemy do pliku:
(twój folder Gothic'a)\_Work\Data\SCRIPTS\CONTENT\AI\AI_INTERN\PRINTDEBUG.d
Tam w liniach 131-156 jest coś takiego:
func void PrintGuild (var int channel, var int guild)
{
PrintDebugNpc (channel, "PrintGuild");
if (guild == GIL_NONE ) { PrintDebugNpc ( channel, "...Gilde: GIL_NONE");};
if (guild == GIL_EBR ) { PrintDebugNpc ( channel, "...Gilde: GIL_EBR");};
if (guild == GIL_GRD ) { PrintDebugNpc ( channel, "...Gilde: GIL_GRD");};
if (guild == GIL_STT ) { PrintDebugNpc ( channel, "...Gilde: GIL_STT");};
if (guild == GIL_KDF ) { PrintDebugNpc ( channel, "...Gilde: GIL_KDF");};
if (guild == GIL_VLK ) { PrintDebugNpc ( channel, "...Gilde: GIL_VLK");};
if (guild == GIL_KDW ) { PrintDebugNpc ( channel, "...Gilde: GIL_KDW");};
if (guild == GIL_SLD ) { PrintDebugNpc ( channel, "...Gilde: GIL_SLD");};
if (guild == GIL_ORG ) { PrintDebugNpc ( channel, "...Gilde: GIL_ORG");};
if (guild == GIL_BAU ) { PrintDebugNpc ( channel, "...Gilde: GIL_BAU");};
if (guild == GIL_SFB ) { PrintDebugNpc ( channel, "...Gilde: GIL_SFB");};
if (guild == GIL_GUR ) { PrintDebugNpc ( channel, "...Gilde: GIL_GUR");};
if (guild == GIL_NOV ) { PrintDebugNpc ( channel, "...Gilde: GIL_NOV");};
if (guild == GIL_TPL ) { PrintDebugNpc ( channel, "...Gilde: GIL_TPL");};
if (guild == GIL_DMB ) { PrintDebugNpc ( channel, "...Gilde: GIL_DMB");};
if (guild == GIL_BAB ) { PrintDebugNpc ( channel, "...Gilde: GIL_BAB");};
if (guild == GIL_kod_twojej_gildii ) { PrintDebugNpc ( channel, "...Gilde: GIL_kod_twojej_gildii");};//tu wpisujesz swoją gildię
};
Dopisujemy tu swoją (ludzką) gildię.
Potem wchodzimy do:
(twój folder Gothic'a)\_Work\Data\SCRIPTS\CONTENT\AI\B_MONSTER\B_SETGUILDATTITUDE.d
A tam jest taki tekst:
//////////////////////////////////////////////////////////////////////////
// B_SetGuildAttitude
// ==================
// Setzt die Gilden-Attitüde von 'fromGuild' gegenüber 'toGuild' auf den
// Wert 'attitude'. Menschen und Orks können mit der Sammelbezeichnung
// GIL_SEPERATOR_HUM bzw. GIL_SEPERATOR_ORC angegeben werden
//////////////////////////////////////////////////////////////////////////
func void B_SetGuildAttitude (var int fromGuild, var int attitude, var int toGuild)
{
if (toGuild == GIL_SEPERATOR_HUM)
{
Wld_SetGuildAttitude (fromGuild , attitude, GIL_NONE );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_EBR );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_SLD );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_STT );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_KDF );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_VLK );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_KDW );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_GRD );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_ORG );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_BAU );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_SFB );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_GUR );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_NOV );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_TPL );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_DMB );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_BAB );
Wld_SetGuildAttitude (fromGuild , attitude, GIL_kod_twojej_gildii );
}
else if (fromGuild == GIL_SEPERATOR_HUM)
{
Wld_SetGuildAttitude (GIL_NONE , attitude, toGuild );
Wld_SetGuildAttitude (GIL_EBR , attitude, toGuild );
Wld_SetGuildAttitude (GIL_SLD , attitude, toGuild );
Wld_SetGuildAttitude (GIL_STT , attitude, toGuild );
Wld_SetGuildAttitude (GIL_KDF , attitude, toGuild );
Wld_SetGuildAttitude (GIL_VLK , attitude, toGuild );
Wld_SetGuildAttitude (GIL_KDW , attitude, toGuild );
Wld_SetGuildAttitude (GIL_GRD , attitude, toGuild );
Wld_SetGuildAttitude (GIL_ORG , attitude, toGuild );
Wld_SetGuildAttitude (GIL_BAU , attitude, toGuild );
Wld_SetGuildAttitude (GIL_SFB , attitude, toGuild );
Wld_SetGuildAttitude (GIL_GUR , attitude, toGuild );
Wld_SetGuildAttitude (GIL_NOV , attitude, toGuild );
Wld_SetGuildAttitude (GIL_TPL , attitude, toGuild );
Wld_SetGuildAttitude (GIL_DMB , attitude, toGuild );
Wld_SetGuildAttitude (GIL_BAB , attitude, toGuild );
Wld_SetGuildAttitude (GIL_kod_twojej_gildii , attitude, toGuild );
}
else
{
Wld_SetGuildAttitude (fromGuild , attitude, toGuild );
};
};
Dopisujemy kod swojej(LUDZKIEJ!!!) gildii i wychodzimy.
Potem przenosimy się do folderu:
(twój folder Gothic'a)\_Work\Data\SCRIPTS\CONTENT\STORY\TEXT.d
Otwieramy go, a w liniach 54-104 są nazwy gildii.UWAGA!!! Gildię ustawić w tym miejscu w którym dodawaliśmy inne gildie tzn. jeśli gildię dodawaliśmy przed SEPARATOR_HUM, to naszą gildię dajemy pod babkę, ale nie na to wolne pole, bo to jest właśnie SEPARATOR_HUM.
Całość powina wyglądać tak:
CONST STRING TXT_GUILDS [GIL_MAX] = {
// - Charakterblatt (Text der Spielergilde)
// - Debuganzeige (Taste "G")
"(brak)",
"Magnat",
"Strażnik",
"Cień",
"Mag Ognia",
"Kopacz",
"Mag Wody",
"Najemnik",
"Szkodnik",
"Zbieracz",
"Kret", // 10
"Guru",
"Nowicjusz",
"Strażnik Świątynny",
"Nekromanta",
"Babka",
"Moja gildia",
"",
"Jaszczur", // 17
"Śniący",
"Goblin",
"Troll",
"Zębacz",
"Pełzacz",
"Chrząszcz",
"Ścierwojad",
"Demon",
"Wilk",
"Cieniostwór",
"Krwiopijca",
"Wąż błotny", // 30
"Zombi",
"Ork-Zombi",
"Szkielet",
"Orkowy pies",
"Kretoszczur",
"Golem",
"Topielec",
"", // 38
"Ork-Szaman",
"Ork-Wojownik",
"Ork-Zwiadowca",
"Ork-Niewolnik"
};
Wychodzimy z tego pliku i wchodzimy do:
(twój folder Gothic'a)\_Work\Data\SCRIPTS\CONTENT\STORY\GUILDS.d
Tam widzimy nastawienie wszystkich gildii do siebie. załóżmy, że skrótem naszej gildii jest BTW. Pewnie myślicie, że wystarczy skopiować jakiś wpis o gildii np. NON i pozmieniać jego nastawienie do innych. Otóż nie. Trzeba jeszcze dorobić jedną kolumnę, a w niej skrót naszej gildii i nastawienie innych względem tej gildii. Będzie to wyglądać tak: