Ich werde jetzt mal eine Frage nach der anderen abhandeln:
1) Bei den Gebäuden kopierst du am besten ein bereits vorhandenes, deinem neuen Bauwerk ähnliches Objekt und änderst es deinen Wünschen entsprechen um, also Modell, Animationen, Bauzeit, Kosten, Gesundheit,... umändern. Ein Objekt von Grund auf neu aufzubauen ist oftmals zu aufwendig, weshalb es ratsam ist, bereits vorhandenes zu kopieren.
2) Zu den Spell Books gibt es auf 3rdAge ein Tutorial:
http://www.the3rdage.net/item-73?addviewDu musst jedoch darauf achten, dass bei Edain manche dieser Sachen in inc-Dateien verfasst sind. Zum Beispiel gibt es bei Edain zwar eine system.ini, aber auch system.inc, systemevil.inc und systemgood.inc.
3) Du brauchst auf jeden Fall eine asset, zugleich müssen die Ressourcen in einer big liegen. Eines allein geht nicht.
4) Es funktioniert aufgrund folgender Zeile nicht:
Command = OBJECT_UPGRADE
Dein Upgrade ist vom Typ Player, der Button ist allerdings für Upgrades vom Typ Objekt. Wenn du OBJECT_UPGRADE zu PLAYER_UPGRADE änderst, wird dein Upgrade funktionieren, die restlichen im Button angegebenen Upgrades jedoch nicht mehr, weil diese vom Typ Object sind. Machst du sie alle zu Player-Upgrades hast du das Problem, dass alle Festungen einen Drachenhort besitzen, sobald er in einer einzigen Festung erforscht wurde.
Ich würde daher folgendes tun:
Den Button lässt du, wie er im normalen Edain ist, also ohne dein neues Upgrade. In die Festung fügst du ein DoCommandUpgrade ein:
Behavior = DoCommandUpgrade Module_DoCommandUpgradeDragonNestBuilding
TriggeredBy = Upgrade_WildFortressDragonNest
GetUpgradeCommandButtonName = Command_NewButton
End
Dadurch wird der Button "Command_NewButton"(diesem gibst du natürlich einen ordentlichen Namen) aktiviert, sobald das angegebene Upgrade erforscht wurde.
Nun erstellt du einen neuen Button:
CommandButton Command_NewButton ;Hier denselben Namen wie oben wählen
Command = PLAYER_UPGRADE
Options = CANCELABLE
Upgrade = Upgrade_WildFortressDragonNestBuilding
TextLabel = CONTROLBAR:Empty
ButtonImage = BWFortress_DragonNest
ButtonBorderType = UPGRADE
DescriptLabel = CONTROLBAR:Empty
Radial = No
InPalantir = No
End
Dieser Button erforscht dein neues Upgrade und ist für den Spieler aufgrund der letzten beiden Zeilen nicht sichtbar und kann auch nicht angeklickt werden.
Zuletzt muss der neue Button noch in das CommandSet der Festung eingefügt werden. Damit es dabei nicht zu Komplikationen mit den Untermenüs kommt, ließt du dir am besten dieses Tutorial durch:
http://modding-union.com/?path=codingtuts#commandsetuntermenuesSo sollte das ganze am Ende ablaufen:
Man erforscht den Drachenhort in der Festung. Sobald der Drachenhort fertig ist, wird durch das DoCommandUpgrade ein CommandButton ausgelöst, der dem Spieler das neue Upgrade gibt, wodurch der Baumeister nun das neue Gebäude bauen können müsste.
Im Button, mit dem der Baumeister den Drachenhort bauen kann, sehe ich gerade keinen Fehler.
5) Dass die Festung nicht auftaucht, könnte an der Groß- und Kleinschreibung liegen, die muss genau eingehalten werden. Überprüfe am besten einfach nochmal, ob der Name deiner bse-Datei und der in der ini angegebene Name genau übereinstimmen.