Ok, ich hab mir mal ein Script angeschaut, und fand, dass auch ich es verstehen konnte.
Hier ist das Miet Script von der Weye herberge. Die Begriffe und Befehle erkläre ich, so wie ich denke das sie richtig sind.
Scriptname, sollte klar sein, ist der Name des Skripts.
CellName, bestimmte die Zelle in der das Zimmer vermietet wird.
Publican, bestimmt die Person welche das Script aktiviert.
Room, weiß ich nicht genau, denke mal das das nur ein kommentar ist.
Door Ref, bestimmt die Tür welche geöffnet wird.
short rent
short rentday
short rentmonth
short cleanup
short setup
sind mir alle 5 nicht ganz klar.
begin gamemode
if ( rent == 1 ) bezweckt das der nachfolgende Script teil beginnt, wenn der Spieler die miete bezahlt.
set rentday to GameDay, setzt den Tag des Mietens auf den InGame Tag.
set rentmonth to GameMonth, setzt den Monat des Mietens auf den InGame Monat.
set setup to 1, weiß ich nicht ganz.
DOOR.unlock, öffnet die Tür zum Zimmer.
BED.SetOwnership, bestimmt den Spieler als Besitzer des Bettes.
if ( GameDay != rentday ), sagt dem Script das hier weitergearbeitet werden soll, wenn die vorigen Veränderungen vollzogen wurden.
set cleanup to 1, weiß ich nicht.
elseif ( GameMonth != rentmonth ), das selbe wie bei GameDay
if ( Player.GetInCell WawnetInnTavern == 0 ), nicht sicher, denke aber dass das folgende aktiviert werden soll wenn der Spieler die Herberge verlässt.
set rent to 0, 0 steht für ngeativ, bedeutet, der Spieler ist nicht mehr dier Mieter.
set setup to 0, keine Ahnung was der Befehl verdeutet,
set rentday to 0, der Spieler hat seinen letzten "Miettag" verbraucht
set rentmonth to 0, das selbe wie bei rentday
set cleanup to 0, keine Ahnung
WawnetInnRentDoor.SetOpenState 0, Vorher wurde das Zimmer als öffentlicher Teil bestimmt, jetzt als privater.
WawnetInnRentDoor.lock 30, das Zimmer wird wieder abgeschloßen.
WawnetInnRentBed.SetOwnership NPC, hier wird bestimmt welchem NPC der Raum jetzt wieder gehört.
End, beendet das Script.
Hier noch das "normale" script.
Code:
Scriptname Publican_WawnetInnNerussa
;CellName: WawnetInnTavern
;Publican: Nerussa
;Room: upstairs, last door on the right
;Door Ref: WawnetInnRentDoor
short rent
short rentday
short rentmonth
short cleanup
short setup
begin gamemode
if ( rent == 1 )
if ( setup == 0 )
set rentday to GameDay
set rentmonth to GameMonth
set setup to 1
WawnetInnRentDoor.unlock
WawnetInnRentBed.SetOwnership
else
if ( GameDay != rentday )
set cleanup to 1
elseif ( GameMonth != rentmonth )
set cleanup to 1
endif
endif
if ( Player.GetInCell WawnetInnTavern == 0 )
if ( Cleanup == 1 )
set Cleanup to 2
endif
endif
if ( Cleanup == 2 )
set rent to 0
set setup to 0
set rentday to 0
set rentmonth to 0
set cleanup to 0
WawnetInnRentDoor.SetOpenState 0
WawnetInnRentDoor.lock 30
WawnetInnRentBed.SetOwnership Nerussa
endif
endif
End