Du musst
das CS mit OBSE starten, sonst kannst du das Script nicht abspeichern.
Sobald du dich im CS befindest erstellst du einen neuen Activator (befinden sich unter WorldObjects). Davon erstellst du in einer (am besten neu erstellen) Dummy-Zelle eine Referenz (Activator in's Render-Fenster mit der geladenen Zelle ziehen), bei der du dann ein Häckchen bei Persistent Reference machst und am besten noch eine ID, die du dir auch merken kannst, gibst.
Danach gibst dem Activator folgendes Script:
Code:
scn EmcActivatorScript
ref rCell
ref rPlayer
Begin OnActivate
if ( GetIsReference [ActivatorRef] ) && ( IsActionRef Player )
set rPlayer to Player
if ( rCell == BravilHouseforSale )
SetNameEx "%ns Bravil-Haus", rPlayer, rCell
elseif ( rCell == BrumaHouseforSale )
SetNameEx "%ns Bruma-Haus", rPlayer, rCell
elseif ( rCell == CheydinhalHouseforSale )
SetNameEx "%ns Cheydinhal-Haus", rPlayer, rCell
elseif ( rCell == ChorrolHouseforSale )
SetNameEx "Hainwacht - %ns Haus", rPlayer, rCell
elseif ( rCell == ICWaterfrontShackforSale )
SetNameEx "%ns Kaisterstadt-Haus", rPlayer, rCell
elseif ( rCell == LeyawiinHouseforSale )
SetNameEx "%nsLeyawiin-Haus", rPlayer, rCell
elseif ( rCell == SkingradHouseforSale )
SetNameEx "Rosendornhalle - %ns Haus", rPlayer, rCell
endif
else
Activate
endif
End
Danach ersetzt du in die QuestStage wo das Haus verkauft wird (HouseXX, Stage 10) die Zeile mit
SetCellFullName durch ein
Code:
set [ActivatorRef].rCell to [ZellenID, die vorher bei SetCellFullName dastand]
[ActivatorRef].Activate Player 1
[ActivatorRef] ist dabei immer mit der ID, die du der Referenz des Activators gegeben hast zu ersetzen.
Ich hab mich bei der Benennung an die Vanillanamen gehalten, nur halt immer das
Mein durch den Spielernamen ersetzt.
Kannst du ohne Probleme ändern.
%n steht dabei für den Spielernamen, wenn du ein %-Zeichen im Namen haben willst musst du
%% verwenden, ansonsten wird Oblivion höchstwahrscheinlich während der "Ausführung" der Scriptzeile einen CTD (Crash to Desktop) verursachen. Falls nicht ist das Ergebnis auf jeden Fall nicht das gewünschte.
Edit @Trisaster:
Bloß nicht so.
Da fehlt erstens der Scriptname (
) und außerdem benennt dein Script das Haus schon beim Spielstart um und nicht erst wenn der Spieler es kauft.
Nebenbei läuft es die ganze Zeit, so dass es etwas die Performance belastet.