World of Gothic Archiv
> Editing Need Help |
|
06.09.2001, 14:54 | #1 | ||
DHA Beiträge: 273 |
Need Help
Kann mir jemand genau erklären wie man ein neues schwert erstellt und dazu alles was man dafür braucht als link macht damit ich genau das was man dafür braucht downloaden kann |
||
06.09.2001, 19:52 | #2 | ||
Ur-Shak Beiträge: 539 |
Mod-Kit...
Hi, im modkit hats n scripttutorial dazu. Ich hab dir mal den Teil rauskopiert wo beschrieben wird wie ein schwert gescriptet wird... das modelling is nicht mein gebiet, vielleicht kann dir da jemand anderes weiterhelfen Gruss Ur-Schak ---------------------------------------------------------------------- 5. Den Gegenstand der Begierde erstellen Gunther will ein Schwert haben, das es so in Gothic nicht gibt, also muss es erstellt werden. Die Klasse CLASS C_Item { // Für alle Items VAR INT id; Id wie bei der C_Npc Klasse (s.o.) VAR STRING name,nameID; Synonym zu C_Npc VAR INT hp,hp_max; Synonym zu C_Npc VAR INT mainflag,flags; // Hauptflag und weitere Flags VAR INT weight,value; Gewicht und Wert lassen sich als integer angeben. // Für Waffen VAR INT damageType; // Welche Schadensarten Synonym zu C_Npc. VAR INT damageTotal; Synonym zu C_Npc VAR INT damage [DAM_INDEX_MAX]; Synonym zu C_Npc // Für Rüstungen VAR INT wear; Hier ist eigentlich nur WEAR_TORSO interessant, weil keine Helme im Spiel sind. VAR INT protection [PROT_INDEX_MAX]; Dies ist ein Array in dem für jede Schadensklasse ein eigener Rüstschutz angegeben werden kann. // Für Nahrung VAR INT nutrition ; // HP-Steigerung bei Nahrung Obsolet // Benötigte Attribute zum Benutzen des Items VAR INT cond_atr [3] ; VAR INT cond_value [3] ; Ein Array von zweimal drei Integer, in dem angegeben werde kann welche Stärke (z.B. 10) etc. nötig ist um diese Item anzulegen oder zu Benutzen. // Attribute, die bei anlegen des Items verändert werden VAR INT change_atr [3] ; VAR INT change_value [3] ; Obsolet // Parserfunktionen VAR FUNC magic; // Parserfunktion zum "Magie Header" VAR FUNC on_equip; // Parserfunktion, wenn Item equipped wird. VAR FUNC on_unequip; // Parserfunktion, wenn Item unequipped wird. VAR FUNC on_state [4]; // Besitzer VAR FUNC owner; // Besitzer : Instanz-Name VAR INT ownerGuild; // Besitzer : Gilde VAR INT disguiseGuild; // Zur Schau getragene Gilde durch Verkleidung à Obsolet // Die 3DS-Datei VAR STRING visual; Gibt's an welche Datei als Darstellung für das Item geladen wird. // Veränderung des NSC-Meshes beim Anlegen dieses Gegenstandes VAR STRING visual_change ; // ASC - File Wird zum Anlegen einer Rüstung benutzt, weil dann ein anderes ASC.File als visual geladen wird. VAR INT visual_skin; Texturvariation für das betreffende Rüstungsmesh. VAR STRING scemeName; Interner Name für das Benutzen von Items. VAR INT material; Mit dem Material sind z.B. die "Klangeigenschaften" eines Items festgelegt. // VAR STRING pfx; // Magic Weapon PFX Obsolet VAR INT munition; // Instance of Munition Bei Bögen wird hier angegeben mit welcher Munition sie schießen (Arrow V Bolt). VAR INT spell; Gibt an welchen Spell magische Items ausführen. VAR INT range; Gibt den Radius an, in dem eine Nahkampfwaffe trifft. VAR INT mag_circle; Welchem Magischen Zirkel ist dieses Item zugeordnet. VAR STRING description; Die Beschreibung, die beim Betrachten eines Items auftaucht. VAR STRING text[ITM_TEXT_MAX]; VAR INT count[ITM_TEXT_MAX]; }; Vars mit denen sich die Werte der Items in den Statusscreen transportieren lassen. So dann soll jetzt mal ein schönes Schwert entstehen, nach dem Gunther suchen lassen kann. Damit den Spieler das Schwert auch interessiert sollte es natürlich ein paar nette Werte haben, also soll es 1000 Erz wert sein und einen Schaden von 300 machen, das Visual wird aus den Gothicdaten geklaut, weil visuals erstellen an einer andern Stelle erklärt wird Ansonsten muss das Schwert natürlich eine Nahkampfwaffe und ein Schwert sein, sollte aus Metall bestehen und vielleicht noch ein bisschen von sich preisgeben à Deskription. INSTANCE ItMw_1H_GuntherWantedSword (C_Item) { name = Milhouse´ Schwert"; mainflag = ITEM_KAT_NF; // Nahkampfwaffe flags = ITEM_SWD; // Schwert material = MAT_METAL; // besteht aus Metall value = 1000; // Wert von 1000 damageTotal = 300; damagetype = DAM_EDGE; // Verursacht Klingenschaden range = 200; // Hat einen Radisu von 2m cond_atr[2] = ATR_STRENGTH; // Was muß man haben, damit man es führen darf cond_value[2] = 5; // Wie hoch muß man das (s.o.) haben visual = "ItMw_1H_Sword_Old_01.3DS"; // Visual aus den Gothicdaten "gemopst" description = name; TEXT[2] = "Damage"; COUNT[2] = 300; TEXT[3] = "Benötigte Stärke"; COUNT[3] = cond_value[2]; TEXT[4] = "einhand Schwert"; TEXT[5] = "Wert"; COUNT[5] = value; }; Das Item lässt sich jetzt genauso wie Gunther per Konsole im Spiel einfügen. Bei den Waffen empfiehlt es sich ein eigenes File (*.d) anzulegen, das dann im Ordner /_work/data/skripts/content/Items abgelegt wird. Hier muss dann allerdings auch dafür gesorgt werden, dass das Programm das neue File liest. Dafür öffnet man das File /_work/data/skripts/content/gothic.src in diesem File sind alle Pfade angegeben, aus denen Contentskripte geladen werden. Diese Pfade sind relativ zum Pfad /_work/data/skripts/ Hier fügt man für das neue File den Pfad ITEMSFILENAME.D ein und schon werden die Daten aus dem File gelesen. Achtung! Diese Datei erfordert zwingend Großbuchstaben. Falls es mal Probleme geben sollte beim Gamestart kann es sein, das eine Datei Daten aus einer anderen Datei referenziert und deshalb diese vor einer anderen geparst werden muß. Lösungshinweise gigt es zwei, einmal: keine Wildcards verwenden, sondern die Files einzeln per Namen parsen und zum anderen ein wenig mit der Reihenfolge rumspielen, aber nur der Daten, die neu erstellt wurden, weil sonst das ganze File kaputt gehen kann. Natürlich lassen sich so auch neue Ordner referenzieren, aber das ist dann doch eine Sache zum Ausprobieren und rumspielen. ---------------------------------------------------------------------- |
||
10.09.2001, 10:58 | #3 | ||
DHA Beiträge: 273 |
aha danke |
||
|