o to zlazłem tutka na twoja odpowiedz:
Tutorial na nowa alternatywna gildię
Czy to możliwe czy da się wykonać nowe gildie odpowiedź na to pytanie jest prosta odpowiedź.
Tak można wykonać nowe gildie a ten tutorial pokazuje jak to robimy
Zaczynamy
Po 1 żeby wykonać nową gildię trzeba takową zdefiniować, aby to zrobić udajemy się do
Gothic\_Work\Data\Scripts\Content\_Intern
W celu otwarcia naszego ukochanego silnika skryptów
Skryptów jest nim plik „CONSTANS.D”
Po 2 zdając sobie sprawę, że gildie zajmują sporo czasu do zrobienia trzeba przeliczyć ile chcemy ich dodać ja na początek definiuje1 nową gildie
GIL_XAR smile.gif < wiadomo, czemu ?
Aby pokazać jak definiujemy nowe gildie pokażę porównanie skryptowe
W oryginalnym gothic ostania gildia to
CODE
CONST INT GIL_ORCSLAVE = 41
Ale by dodać nowa gildię należy samemu nadać jej nazwę np. tak jak ja
CODE
CONST INT GIL_XAR = 42
Po zdefiniowaniu gildii postępujemy jak poniżej
CODE
CONST INT GIL_MAX= 42 ( oryginał)
//
Aby zdefiniować gildie zmieniamy na
CODE
//
CONST INT GIL_MAX= 43 ( alternatywna gildia)
Po 3 mamy zdefiniowana gildie, ale gildia osiągnęła większą cyfrę niż 42 to tez musimy zrobić złudzenie gdyż bez złudzenia gra wytwarza dziwne błędy
Złudzenie polega na oszukaniu pewnych skryptów skryptów są to one:
CODE
//
// GUILDS DESCRIPTION
//
CLASS C_GILVALUES
{
VAR INT WATER_DEPTH_KNEE [GIL_MAX] ;
VAR INT WATER_DEPTH_CHEST [GIL_MAX] ;
VAR INT JUMPUP_HEIGHT [GIL_MAX] ; // DEFAULT = 200;
// VAR INT JUMPUP_FORCE [GIL_MAX] ;
VAR INT SWIM_TIME [GIL_MAX] ;
VAR INT DIVE_TIME [GIL_MAX] ;
VAR INT STEP_HEIGHT [GIL_MAX] ;
VAR INT JUMPLOW_HEIGHT [GIL_MAX] ;
VAR INT JUMPMID_HEIGHT [GIL_MAX] ;
VAR INT SLIDE_ANGLE [GIL_MAX] ;
VAR INT SLIDE_ANGLE2 [GIL_MAX] ;
VAR INT DISABLE_AUTOROLL [GIL_MAX] ; // DEFAULT = 0 ; 0 = Autoroll enabled / 1 = Autoroll disabled
VAR INT SURFACE_ALIGN [GIL_MAX] ; // DEFAULT = 0 ; 0 = Alignment disabled / 1 = Alignment enabled
VAR INT CLIMB_HEADING_ANGLE [GIL_MAX] ;
VAR INT CLIMB_HORIZ_ANGLE [GIL_MAX] ;
VAR INT CLIMB_GROUND_ANGLE [GIL_MAX] ;
VAR INT FIGHT_RANGE_BASE [GIL_MAX] ;
VAR INT FIGHT_RANGE_FIST [GIL_MAX] ;
VAR INT FIGHT_RANGE_1HS [GIL_MAX] ;
VAR INT FIGHT_RANGE_1HA [GIL_MAX] ;
VAR INT FIGHT_RANGE_2HS [GIL_MAX] ;
VAR INT FIGHT_RANGE_2HA [GIL_MAX] ;
VAR INT FALLDOWN_HEIGHT [GIL_MAX] ; // Wie tief Fallen ohne Schaden ?
VAR INT FALLDOWN_DAMAGE [GIL_MAX] ; // Schaden für jeden weiteren angefangenen Meter.
VAR INT BLOOD_DISABLED [GIL_MAX] ; // DEFAULT = 0 ; Blut ganz ausschalten (z.B. bei Sekletten) ?
VAR INT BLOOD_MAX_DISTANCE [GIL_MAX] ; // DEFAULT = 1000 ; Wie weit spritzt das Blut (in cm) ?
VAR INT BLOOD_AMOUNT [GIL_MAX] ; // DEFAULT = 10 ; Wie viel Blut ?
VAR INT BLOOD_FLOW [GIL_MAX] ; // DEFAULT = 0 ; Soll es sich langsam ausbreiten ?
VAR STRING BLOOD_EMITTER [GIL_MAX] ; // DEFAULT = "PFX_BLOOD" ; Welcher Partikel-Emitter ?
VAR STRING BLOOD_TEXTURE [GIL_MAX] ; // DEFAULT = "ZBLOODSPLAT2.TGA"; Welche Textur ?
VAR INT TURN_SPEED [GIL_MAX] ; // DEFAULT = 150 ;
};
Ogolenie chodzi by wszystkie gild_max zmienić na:
CODE
//
// GUILDS DESCRIPTION
//
CLASS C_GILVALUES
{
VAR INT WATER_DEPTH_KNEE [42] ;
VAR INT WATER_DEPTH_CHEST [42] ;
VAR INT JUMPUP_HEIGHT [42] ; // DEFAULT = 200;
// VAR INT JUMPUP_FORCE [42] ;
VAR INT SWIM_TIME [42] ;
VAR INT DIVE_TIME [42] ;
VAR INT STEP_HEIGHT [42] ;
VAR INT JUMPLOW_HEIGHT [42] ;
VAR INT JUMPMID_HEIGHT [42] ;
VAR INT SLIDE_ANGLE [42] ;
VAR INT SLIDE_ANGLE2 [42] ;
VAR INT DISABLE_AUTOROLL [42] ; // DEFAULT = 0 ; 0 = Autoroll enabled / 1 = Autoroll disabled
VAR INT SURFACE_ALIGN [42] ; // DEFAULT = 0 ; 0 = Alignment disabled / 1 = Alignment enabled
VAR INT CLIMB_HEADING_ANGLE [42] ;
VAR INT CLIMB_HORIZ_ANGLE [42] ;
VAR INT CLIMB_GROUND_ANGLE [42] ;
VAR INT FIGHT_RANGE_BASE [42] ;
VAR INT FIGHT_RANGE_FIST [42] ;
VAR INT FIGHT_RANGE_1HS [42] ;
VAR INT FIGHT_RANGE_1HA [42] ;
VAR INT FIGHT_RANGE_2HS [42] ;
VAR INT FIGHT_RANGE_2HA [42] ;
VAR INT FALLDOWN_HEIGHT [42] ; // Wie tief Fallen ohne Schaden ?
VAR INT FALLDOWN_DAMAGE [42] ; // Schaden für jeden weiteren angefangenen Meter.
VAR INT BLOOD_DISABLED [42] ; // DEFAULT = 0 ; Blut ganz ausschalten (z.B. bei Sekletten) ?
VAR INT BLOOD_MAX_DISTANCE [42] ; // DEFAULT = 1000 ; Wie weit spritzt das Blut (in cm) ?
VAR INT BLOOD_AMOUNT [42] ; // DEFAULT = 10 ; Wie viel Blut ?
VAR INT BLOOD_FLOW [42] ; // DEFAULT = 0 ; Soll es sich langsam ausbreiten ?
VAR STRING BLOOD_EMITTER [42] ; // DEFAULT = "PFX_BLOOD" ; Welcher Partikel-Emitter ?
VAR STRING BLOOD_TEXTURE [42] ; // DEFAULT = "ZBLOODSPLAT2.TGA"; Welche Textur ?
VAR INT TURN_SPEED [42] ; // DEFAULT = 150 ;
};
Teraz mamy zdefiniowane gildie oraz zabezpieczony silnik skryptów
Aby zakończyć kreowanie nowej gildii dopisujemy naszą nazwę
Oto porównanie skryptowe
CODE
"Ork-Szaman", // (gildia 38)
"Ork-Wojownik", // (gildia 39)
"Ork-Zwiadowca", // (gildia 40)
"Ork-Niewolnik” // (gildia 41)
Teraz poniżej
CODE
"Ork-Niewolnik” // (gildia 41)
Dopisujemy
CODE
"Nasza nowa alternatywna gildia” // (gildia 42)
A
CODE
"Ork-Niewolnik” // (gildia 41)
Zmieniamy na
CODE
"Ork-Niewolnik”, // (gildia 41)
Po zakończeniu pracy ma to wyglądać tak
CODE
"Ork-Szaman", // (gildia 38)
"Ork-Wojownik", // (gildia 39)
"Ork-Zwiadowca", // (gildia 40)
"Ork-Niewolnik”, // (gildia 41)
"Nasza nowa alternatywna gildia” // (gildia 42)
jak zrobić gildie

moze to ci się przyda