PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Scriptanfrage: Alba hinsetzen (AI Experten/Kenner benötigt, Dringend!!!)



Pcuser
26.03.2007, 13:12
Also mal für alle Neuen^^:

Wie schaffe ich es dass ein npc sich den nächsten stuhl oder bett sucht und sich hinsetzt je nachdem was gerade am nächsten ist?




Hi
ihr kennt ja sicherlich das Plugin mit Alba.

Nun eollte ich fragen ob es möglich ist alba dazu zu bringen sich auf einen stuhl zu setzen.

Könnte jemand was schreiben das in dem menü wenn man alba anredet es zur auswahl gibt hinsetzen. Und dan setzt sie sich auf den nächsten stuhl odersowas in der art.

Wenn das jemand machen könnte reicht es den code zu posten und mir zu sagen wo er ins script muss

Ach ja und wenn mir noch einer sagt wie ich das schlafbeürfnis wegmache wäre das auch toll

Gismo4624
26.03.2007, 13:26
hello
nun es gibt inzwischen eine neuere version von alba wo das schlaf bedürfniss enfert wurde .. und sie ist auch keine sklavin sonder war eine diebin ... und man kann sie sogar schlussentlich Heiraten ... geil nicht ? ^^
hier (http://scharesoft.de/joomla/index.php?option=com_remository&Itemid=27&func=fileinfo&id=362) link

Pcuser
26.03.2007, 13:29
kenn ich schon aber dan müsste ich meine alte alba hergeben sonst hab ich 2.

Außerdem geht es hauptsächlich ums hinsetzen.

Man könnte es ja so machen wenn man weg geht steht sie dann automatisch auf

Rung
26.03.2007, 14:02
Hm, weißt Du wie man ein AI Package erstellt? Wenn ja, poste mal das Script der Begleiterin, dann wird man Dir sicher besser zur Seite stehen können. ;)

Pcuser
26.03.2007, 15:05
Wenn du mit ai Package den tagesablauf meinst: ja einigermasen^^ hat aber ja nix mit befehlen zu tun

Script:

ist ziemlich lang aber men müsste das halt an der stelle einfügen wo man die befehle wie hier bleiben und so auswählt.


Scriptname TMSklavinScript

short SklavinErstmalsAngesprochen
short HerrschaftsringImSpiel
short SklavinChoice
short SklavinButton
short SklavinButton2
short SklavinFolgtSpieler
short SklavinDoEquip
short SklavinFollowTemp
short SklavinVermeideKampf
short SklavinVermeideKampfAlt
float timer
short talked
short nightline
short sec
ref CRef

;#DINO
float Schleichtimer
float Regenerationstimer
short MomGes
short MaxGes
short MomLev
short PlayerLevel
short MomentaneEntfernung
short SklavinMagieVerbesserung
short MomentaneLaune
short MomMag
short MaxMag
short MomentaneAusdauer
short MaximaleAusdauer
short QuestIstGestartet
short AlbaRekrutierungTag
short AlbaBegleitdauer
short AlbaBegleitMonat
short AlbaLiebesRating
short AlbaInBruderschaft
short AlbaInAnvil
short AlbaInParadies
short AlbaWarBewusstlos
short AlbaReitetNicht
short AlbaKuschelt
short AlbaKuschelereignisEingetreten
short AlbaImKittchen
short AlbaImWolkenherrscher
short AlbaResume1
short AlbaResume2
short AlbaResume3
short AlbaResume4
float BlindheitsTimer
short BlindheitsTimerStart



short nureinmal


;#########################################################
; ## Auswahl bei Anklicken
;#########################################################
Begin OnActivate Player

if ( IsActionRef Player == 1 )
if TMSklavinRef.IsSneaking == 0
SetIgnoreFriendlyHits 1
if (TMSklavinIntroRef.GetUnconscious == 1 )
Message "Alba kann momentan nicht angesprochen werden."
Return
endif
if ( SklavinErstmalsAngesprochen == 0 )
TMSklavinIntroRef.Activate Player 1
Set SklavinErstmalsAngesprochen to 1
;#########################################################
;# Erstmal soll sie uns nicht folgen, da wir ja noch nix gesagt haben.
;#########################################################
Set SklavinFolgtSpieler to 0
TMSklavinRef.SetActorValue Marksman 0
Wait TMSklavinFollow
Return
elseif ( SklavinErstmalsAngesprochen == 1 )
set DINOAlba.AlbaLiebesRating to AlbaLiebesRating
SetNoRumors 1

AddTopic AlbaKampf
AddTopic AlbaKeinKampf
AddTopic AlbaWiegehtsEuch
AddTopic AlbaIchWillKlauen
;# AddTopic AlbaFreiheit ; DEBUG
RefreshTopicList

set AlbaBegleitDauer to (GameDaysPassed - AlbaRekrutierungTag)
set CRef to TMSklavinRef.GetCombatTarget
if ( TMSklavinRef.IsInCombat == 1 )
;Message "Die Sklavin befindet sich im Kampf und kann nicht angesprochen werden."
Activate
return
else
if SklavinFolgtSpieler == 0

if AlbaLiebesRating > 30
MessageBox "Was soll Eure geliebte Alba tun?" "Kommst du, Liebes?" "< Abbruch >"
elseif AlbaLiebesRating > 16
MessageBox "Was soll Eure treue Freundin Alba tun?" "Bitte komm mit mir, Alba" "< Abbruch >"
elseif AlbaLiebesRating > 8
MessageBox "Was soll Eure Gefährtin Alba tun?" "Begleite mich, Alba" "< Abbruch >"
else
MessageBox "Was wollt Ihr mit Eurer Sklavin machen?" "Mir nach!" "< Abbruch >"
endif
else

if AlbaLiebesRating > 30
MessageBox "Was soll Eure geliebte Alba tun?" "Warte hier einen Moment, Liebste" "Hast du Lust zum Plaudern?" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Abbruch >"
elseif AlbaLiebesRating > 16
MessageBox "Was soll Eure treue Freundin Alba tun?" "Warte hier auf mich, Alba" "Lass uns plaudern, Alba" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Abbruch >"
elseif AlbaLiebesRating > 8
MessageBox "Was soll Eure Gefährtin Alba tun?" "Warte hier, Alba" "Lass uns plaudern" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Abbruch >"
else
MessageBox "Was wollt Ihr mit Eurer Sklavin machen?" "Bleib' hier." "Wir müssen reden" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Abbruch >"
endif
Set SklavinChoice to 1
endif
Set SklavinChoice to 1
endif
endif
else
Message "Ihr könnt Alba im Schleichmodus nicht ansprechen"
endif
else
Activate
endif

End OnActivate


Begin GameMode

; Blindheit timern
if DINOAlba.AlbaIstBlind == 1
if BlindheitsTimerStart == 0
set BlindheitsTimerStart to 1
set BlindheitsTimer to 0
endif
set BlindheitsTimer to ( BlindheitsTimer + GetSecondsPassed )
if BlindheitsTimer > 15
Message "Alba schaut nicht mehr weg und wird wieder Verbrechen melden"
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
set BlindheitsTimer to 0
endif
else
set BlindheitsTimer to 0
set BlindheitsTimerStart to 0
endif

;# Fuer Upgrade Kompatibilität
if nureinmal== 0
if ( SklavinFolgtSpieler == 0 )
TMSklavinRef.SetActorValue Marksman 0
Wait TMSklavinFollow
Set SklavinChoice to 0
;# Müdigkeit resetten
set DINOAlba.AlbaLetzterSchlafTag to GameDaysPassed
endif
set nureinmal to 1
endif

;#########################################################
;########## Einmalig den Herrschaftsring adden
;#########################################################
if ( HerrschaftsringImSpiel == 0 )
if SklavinFolgtSpieler == 1
Player.AddItem 01004CCC, 1
;Player.AddItem TMSklavinRing,1
set HerrschaftsringImSpiel to 1
;# Müdigkeit resetten
set DINOAlba.AlbaLetzterSchlafTag to GameDaysPassed
endif
endif

;#########################################################
;########## Quest starten
;#########################################################

if SklavinErstmalsAngesprochen == 1
if QuestIstGestartet == 0
set QuestIstGestartet to 1
Set AlbaRekrutierungTag to GameDaysPassed
Set AlbaBegleitDauer to 0
StartQuest DINOAlba
endif
endif

;#########################################################
;########## Queststages aktualisieren
;#########################################################



;# Alba hat bis zur Bewusstlosigkeit gekämpft
if AlbaWarBewusstlos == 0
if TMSklavinRef.IsInCombat == 1
set MomGes to TMSklavinRef.GetAV Health
set MaxGes to TMSklavinRef.GetBaseAV Health
if MomGes < (MaxGes / 3)
set AlbaWarBewusstlos to 1
endif
endif
endif
;# Meldung ausgeben, wenn nicht mehr im Kampf
if AlbaWarBewusstlos == 1
if TMSklavinRef.IsInCombat == 0
set AlbaWarBewusstlos to 2
set DINOAlba.AlbaWarBewusstlos to 1
SetStage DINOAlba 27
set AlbaLiebesRating to AlbaLiebesRating + 2
set DINOAlba.AlbaLiebesRating to AlbaLiebesRating
endif
endif

;# Hat Schlafmenü das Kuscheln getriggert?
if AlbaKuschelt == 1
set AlbaKuschelt to 2
set DINOAlba.AlbaKuschelt to 1
SetStage DINOAlba 16
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 3
set AlbaKuschelt to 4
set DINOAlba.AlbaKuschelt to 2
SetStage DINOAlba 19
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 5
set AlbaKuschelt to 6
set DINOAlba.AlbaKuschelt to 3
SetStage DINOAlba 24
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 7
set AlbaKuschelt to 8
set DINOAlba.AlbaKuschelt to 4
SetStage DINOAlba 25
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 9
set AlbaKuschelt to 10
set DINOAlba.AlbaKuschelt to 5
SetStage DINOAlba 26
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 11 ;# BreakEven Point (Liebesrating 30+, also Liebe)
set AlbaKuschelt to 12
set DINOAlba.AlbaKuschelt to 6
SetStage DINOAlba 31
AddTopic AlbaFreiheit
set AlbaKuschelereignisEingetreten to 1
endif

endif

;#########################################################
;########## Check, ob im Kampf, dann Sneaking beenden
;#########################################################
if (TMSklavinRef.IsInCombat == 1 && TMSklavinRef.IsWeaponOut == 1)
SetForceSneak 0
endif

if (SklavinFolgtSpieler == 1)
;#########################################################
;########## Sneaking, wenn Player sneakt und NICHT im Kampf ist
;#########################################################
if Player.IsSneaking == 0
SetForceSneak 0
endif
if (Player.IsSneaking == 1 && TMSklavinRef.IsInCombat == 0)
SetForceSneak 1
endif
;#########################################################
;########## Waffe raus, wenn Player die Waffe zieht
;#########################################################
if (Player.IsWeaponOut == 1 && SklavinVermeideKampf == 0)
SetAlert 1
else
SetAlert 0
endif
;#########################################################
;########## Kleiner Helfer, damit das Flittchen dem Player folgt
;#########################################################
if TMSklavinRef.IsInCombat == 0
if (Player.GetPos z) > ((GetPos z) + 700)
MoveTo Player
elseif (player.GetPos z) < ((GetPos z) - 700)
MoveTo Player
endif
if (GetDistance Player > 5500)
MoveTo Player
endif
endif
endif



;#########################################################
;########## auswahlmenü abarbeiten
;#########################################################

if ( SklavinChoice == 1 )
Set SklavinButton to GetButtonPressed

if ( SklavinButton == 0 ) ;# Warten bzw. Folgen bei Minimenu
if ( SklavinFolgtSpieler == 1 )
TMSklavinRef.SetActorValue Marksman 0
Wait TMSklavinFollow
Set SklavinFolgtSpieler to 0
Set SklavinChoice to 0
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
StartConversation player, AlbaWarteHier
Return
elseif ( SklavinFolgtSpieler == 0 )
TMSklavinRef.SetActorValue Marksman 1
StopWaiting TMSklavinFollow
Set SklavinFolgtSpieler to 1
Set SklavinChoice to 0
StartConversation player, AlbaKommMit
;##################################################
;# Wenn sie zum ersten mal folgen soll, wird die Quest-Stage auf
;# 10 gesetzte und somit der erste Eintrag ausgegeben
;##################################################

if GetStage DINOAlba <10
SetStage DINOAlba 10
endif

Return
endif
elseif ( SklavinButton == 1 ) ;# Plaudern bwz. Abbruch bei Minimenu
if ( SklavinFolgtSpieler == 1 )
Activate
Set SklavinChoice to 0
Return
elseif ( SklavinFolgtSpieler == 0 )
Set SklavinChoice to 0
Return
endif
elseif ( SklavinButton == 2 ) ;# Inventar
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
TMSklavinContainerPlaced.Activate Player 1
Set SklavinChoice to 0
Return

elseif ( SklavinButton == 3 ) ;# Kleidung ung Waffen
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
TMSklavinClothContainerRef.RemoveAllItems
TMSklavinRef.RemoveAllItems TMSklavinClothContainerRef
TMSklavinClothContainerRef.Activate Player 1
Set SklavinChoice to 2
Return

elseif ( SklavinButton == 4 ) ;# Statistik

Set SklavinChoice to 0
set MomLev to TMSklavinRef.GetLevel
set MomGes to TMSklavinRef.GetAV Health
set MaxGes to TMSklavinRef.GetBaseAV Health
set MomMag to TMSklavinRef.GetAV Magicka
set MaxMag to TMSklavinRef.GetBaseAV Magicka
set MomentaneAusdauer to TMSklavinRef.GetBaseAV Fatigue
set MaximaleAusdauer to TMSklavinRef.GetBaseAV Fatigue
if AlbaBegleitDauer < 2
if (MomMag > MaxMag) && (MomGes > MaxGes) && (MomentaneAusdauer > MaximaleAusdauer)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten - ist also durch Magie künstlich erhöht, ihre Magie liegt bei %.0f von maximal %.0f Punkten - ebenfalls künstlich erhöht. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten. Auch dieser Wert ist durch Ausrüstung künstlich erhöht." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomMag > MaxMag) && (MomGes > MaxGes)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten - ist also durch Magie künstlich erhöht, ihre Magie liegt bei %.0f von maximal %.0f Punkten - ist also ebenfalls durch Ausrüstung künstlich erhöht. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomMag > MaxMag)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten, ihre Magie bei %.0f von maximal %.0f Punkten - ist also durch Ausrüstung künstlich erhöht. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomGes > MaxGes)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten - ist also durch Magie künstlich erhöht, ihre Magie liegt bei %.0f von maximal %.0f Punkten. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomentaneAusdauer > MaximaleAusdauer)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten, ihre Magie bei %.0f von maximal %.0f Punkten. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten - ist also durch Ausrüstung künstlich erhöht." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten, ihre Magie bei %.0f von maximal %.0f Punkten. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
endif
else
if AlbaLiebesRating >=24
if ( SameSex Player == 0 )
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich unsterblich in Euch verliebt zu haben. Wenn sie Euch ansieht, dann scheinen eure Augen ein unhörbares, geheimnisvolles Gespräch zu führen, und auf Albas Gesicht erscheint ein versonnenes Lächeln." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "So gefällt mir das"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich unsterblich in Euch verliebt zu haben, obwohl Ihr eine Frau seit. Wenn sie Euch ansieht, dann scheinen eure Augen ein unhörbares, geheimnisvolles Gespräch zu führen, und auf Albas Gesicht erscheint ein versonnenes Lächeln." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "So gefällt mir das"
endif
elseif AlbaLiebesRating >=18
if ( SameSex Player == 0 )
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich ein wenig in Euch verliebt zu haben. Wenn Sie Euch ansieht, dann geht eine Veränderung in ihrem Gesicht vor sich - sie scheint buchstäblich zu erstrahlen und in ihre großen Augen scheint neues Leben einzukehren." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Bin ich gut oder bin ich gut?"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich ein wenig in Euch verliebt zu haben, obwohl Ihr eine Frau seit. Wenn Sie Euch ansieht, dann geht eine Veränderung in ihrem Gesicht vor sich - sie scheint buchstäblich zu erstrahlen und in ihre großen Augen scheint neues Leben einzukehren." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Bin ich gut oder bin ich gut?"
endif
elseif AlbaLiebesRating >=14
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. n Albas Augen liegt eine angenehme Wärme. Sie scheint echte und tiefe Freundschaft für Euch zu empfinden." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Wer täte das nicht?"
elseif AlbaLiebesRating >=10
if ( SameSex Player == 0 )
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Albas Lächeln wirkt herzlich und dankbar. Wenn Sie Euch ansieht, dann hat sie einen Blick, der einen Mann wirklich nervös machen kann. Sie scheint in Euch nicht mehr nur einen Herrn, sondern einen potentiellen Liebhaber zu sehen." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Würde ich an ihrer Stelle auch tun"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Albas Lächeln wirkt herzlich und dankbar. Sie scheint in Euch nicht mehr nur ihre Herrin, sondern eine echte Gefährtin zu sehen." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Würde ich an ihrer Stelle auch tun"
endif
elseif AlbaLiebesRating >=5
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba lächelt schüchtern, wenn Sie Euch ansieht, und dieses Lächeln wirkt ehrlich. Offenbar scheint es ihr in Eurer Gegenwart zu gefallen. Ihr habt das Gefühl, dass Alba stets bestrebt ist, möglichst nahe bei Euch zu sein." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Ist ja kein Wunder, oder?"

else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Ihr Blick sagt, sie erwartet nichts, nicht viel von sich selbst, und nur manchmal etwas von ihrem Herrn, aber auch das wird wieder schief gehen. Doch wenn sie Euch ansieht ... ist da etwas in ihren Augen. Sie scheint sich ständig Gedanken über Euch zu machen." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Wundert mich nicht"
endif
endif
Return
elseif ( SklavinButton == 5 ) ;# Abbruch
Set SklavinChoice to 0
if ( SklavinFolgtSpieler == 1 )
AddScriptPackage "TMSklavinFollow"
StopWaiting TMSklavinFollow
endif
Return
endif

;#########################################################
; # Anziehen/Ablegen steuern
;#########################################################
elseif ( SklavinChoice == 2 )
short SklavinGlueckAlt
set SklavinGlueckAlt to TMSklavinRef.GetBaseActorValue Luck
TMSklavinRef.RemoveallItems
TMSklavinClothContainerRef.RemoveAllItems TMSklavinRef
TMSklavinRef.SetAV Luck 0
EvaluatePackage "TMSklavinClear"
TMSklavinRef.SetAV Luck 1
EvaluatePackage "TMSklavinPickup"
TMSklavinRef.SetAV Luck SklavinGlueckAlt
EvaluatePackage "TMSklavinPickup"
if ( SklavinFolgtSpieler == 1 )
StopWaiting TMSklavinFollow
endif
set SklavinChoice to 0
endif


;#########################################################
;########## Regenerieren, wenn nicht im Kampf
;#########################################################
if (TMSklavinRef.IsInCombat == 0)
set Regenerationstimer to Regenerationstimer + GetSecondsPassed
if Regenerationstimer > 20
set MomGes to TMSklavinRef.GetAV Health
set MaxGes to TMSklavinRef.GetBaseAV Health
if MomGes < MaxGes
if IsInCombat == 0
set MomGes to MomGes + 1
;ModAV Health MomGes
ModAV Health 2
endif
endif
;#########################################################
;###### Laune gegenüber Player verbessern lassen
;#########################################################
set MomentaneLaune to (TMSklavinRef.GetDisposition Player)
set MomentaneLaune to (MomentaneLaune + 5)
set MomentaneLaune to (MomentaneLaune + AlbaLiebesRating)
if MomentaneLaune >=100
set MomentaneLaune to 99
endif
ModDisposition Player MomentaneLaune
set Regenerationstimer to 0
endif
endif

;#######################################################################
;########## Sicherstellen, dass die Laune immer einigermaßen gut bleibt
;#######################################################################
set MomentaneLaune to TMSklavinRef.getdisposition Player
if MomentaneLaune < (30 + AlbaLiebesRating)
set MomentaneLaune to (30 + AlbaLiebesRating) - MomentaneLaune
if MomentaneLaune > 100
set MomentaneLaune to 100
endif
TMSklavinRef.moddisposition Player MomentaneLaune
endif
;#######################################################################
;# und das Ganze gleich nochmal... Scheint ein Bug in der Engine zu sein,
;# die das notwendig macht
;#######################################################################
set MomentaneLaune to TMSklavinRef.getdisposition Player
if MomentaneLaune < (30 + AlbaLiebesRating)
set MomentaneLaune to (30 + AlbaLiebesRating) - MomentaneLaune
if MomentaneLaune > 100
set MomentaneLaune to 100
endif
TMSklavinRef.moddisposition Player MomentaneLaune
endif

End GameMode


;# Beim Erscheinen des Schlafen-Menüs

;#########################################################
;#########################################################
;#########################################################


Begin MenuMode 1012
;# Wenn der Player schläft, leveln wir die Sklavin up.
If (SklavinFolgtSpieler == 1)
if ( IsPCSleeping == 1 )

;##################################################################
;## Sklavin zum Spieler bringen und gleichzeitig Health regenerieren
;##################################################################
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0

if ( GetDistance Player >= 400 )
TMSklavinRef.MoveTo Player, 128, 0, 0
If SklavinMagieVerbesserung == 1
set SklavinMagieVerbesserung to 0
Message "Alba hat sich Euch genähert, um neben Euch zu ruhen und ihre magischen Fähigkeiten zu verbessern."
endif
else
If SklavinMagieVerbesserung == 1
set SklavinMagieVerbesserung to 0
Message "Alba hat neben Euch geruht und ihre magischen Fähigkeiten verbessert."
endif
endif
ResetHealth
set DINOAlba.AlbaLetzterSchlafTag to GameDaysPassed


;# Alba kuschelt
set AlbaKuschelereignisEingetreten to 0
if AlbaKuschelt == 0
if AlbaLiebesRating > 8
set AlbaKuschelt to 1
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 2
if AlbaLiebesRating > 12
set AlbaKuschelt to 3
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 4
if AlbaLiebesRating > 16
set AlbaKuschelt to 5
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 6
if AlbaLiebesRating > 20
set AlbaKuschelt to 7
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 8
if AlbaLiebesRating > 25
set AlbaKuschelt to 9
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 10
if AlbaLiebesRating > 30
set AlbaKuschelt to 11
set AlbaKuschelereignisEingetreten to 1
endif
endif

;# Sonstige Nachtereignisse triggern
set AlbaBegleitDauer to (GameDaysPassed - AlbaRekrutierungTag)
if AlbaResume3 == 0
if AlbaBegleitDauer >= 14 && (AlbaKuschelereignisEingetreten == 0)
Set AlbaResume3 to 1
endif
endif
set DINOAlba.AlbaLiebesRating to AlbaLiebesRating
endif
endif
End MenuMode 1012

Rung
26.03.2007, 16:34
Hallo,

zuvor eine Warnung. Ich kenne das Plugin nicht, kann also keine Garantie auf das Gelingen dieses Scriptes geben. Am besten Du erstellst vorher eine Sicherheitskopie der *.esp-Datei, die Du im Falle des Nichtgelingens wiederherstellen kannst. ;)
Zuerst musst Du Albas Script durch Folgendes ersetzen:


Scriptname TMSklavinScript

short SklavinErstmalsAngesprochen
short HerrschaftsringImSpiel
short SklavinChoice
short SklavinButton
short SklavinButton2
short SklavinFolgtSpieler
short SklavinDoEquip
short SklavinFollowTemp
short SklavinVermeideKampf
short SklavinVermeideKampfAlt
float timer
short talked
short nightline
short sec
ref CRef

;#DINO
float Schleichtimer
float Regenerationstimer
short MomGes
short MaxGes
short MomLev
short PlayerLevel
short MomentaneEntfernung
short SklavinMagieVerbesserung
short MomentaneLaune
short MomMag
short MaxMag
short MomentaneAusdauer
short MaximaleAusdauer
short QuestIstGestartet
short AlbaRekrutierungTag
short AlbaBegleitdauer
short AlbaBegleitMonat
short AlbaLiebesRating
short AlbaInBruderschaft
short AlbaInAnvil
short AlbaInParadies
short AlbaWarBewusstlos
short AlbaReitetNicht
short AlbaKuschelt
short AlbaKuschelereignisEingetreten
short AlbaImKittchen
short AlbaImWolkenherrscher
short AlbaResume1
short AlbaResume2
short AlbaResume3
short AlbaResume4
float BlindheitsTimer
short BlindheitsTimerStart

short Albasetzen

short nureinmal


;#########################################################
; ## Auswahl bei Anklicken
;#########################################################
Begin OnActivate Player

if ( IsActionRef Player == 1 )
if TMSklavinRef.IsSneaking == 0
SetIgnoreFriendlyHits 1
if (TMSklavinIntroRef.GetUnconscious == 1 )
Message "Alba kann momentan nicht angesprochen werden."
Return
endif
if ( SklavinErstmalsAngesprochen == 0 )
TMSklavinIntroRef.Activate Player 1
Set SklavinErstmalsAngesprochen to 1
;#########################################################
;# Erstmal soll sie uns nicht folgen, da wir ja noch nix gesagt haben.
;#########################################################
Set SklavinFolgtSpieler to 0
TMSklavinRef.SetActorValue Marksman 0
Wait TMSklavinFollow
Return
elseif ( SklavinErstmalsAngesprochen == 1 )
set DINOAlba.AlbaLiebesRating to AlbaLiebesRating
SetNoRumors 1

AddTopic AlbaKampf
AddTopic AlbaKeinKampf
AddTopic AlbaWiegehtsEuch
AddTopic AlbaIchWillKlauen
;# AddTopic AlbaFreiheit ; DEBUG
RefreshTopicList

set AlbaBegleitDauer to (GameDaysPassed - AlbaRekrutierungTag)
set CRef to TMSklavinRef.GetCombatTarget
if ( TMSklavinRef.IsInCombat == 1 )
;Message "Die Sklavin befindet sich im Kampf und kann nicht angesprochen werden."
Activate
return
else
if SklavinFolgtSpieler == 0

if AlbaLiebesRating > 30
MessageBox "Was soll Eure geliebte Alba tun?" "Kommst du, Liebes?" "< Abbruch >"
elseif AlbaLiebesRating > 16
MessageBox "Was soll Eure treue Freundin Alba tun?" "Bitte komm mit mir, Alba" "< Abbruch >"
elseif AlbaLiebesRating > 8
MessageBox "Was soll Eure Gefährtin Alba tun?" "Begleite mich, Alba" "< Abbruch >"
else
MessageBox "Was wollt Ihr mit Eurer Sklavin machen?" "Mir nach!" "< Abbruch >"
endif
else

if AlbaLiebesRating > 30
MessageBox "Was soll Eure geliebte Alba tun?" "Warte hier einen Moment, Liebste" "Hast du Lust zum Plaudern?" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Hinsetzen/Aufstehen >" "< Abbruch >"
elseif AlbaLiebesRating > 16
MessageBox "Was soll Eure treue Freundin Alba tun?" "Warte hier auf mich, Alba" "Lass uns plaudern, Alba" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Hinsetzen/Aufstehen >" "< Abbruch >"
elseif AlbaLiebesRating > 8
MessageBox "Was soll Eure Gefährtin Alba tun?" "Warte hier, Alba" "Lass uns plaudern" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Hinsetzen/Aufstehen >" "< Abbruch >"
else
MessageBox "Was wollt Ihr mit Eurer Sklavin machen?" "Bleib' hier." "Wir müssen reden" "< Zum Inventar >" "< Kleidung und Waffen verändern >" "< Statistische Werte ansehen >" "< Hinsetzen/Aufstehen >" "< Abbruch >"
endif
Set SklavinChoice to 1
endif
Set SklavinChoice to 1
endif
endif
else
Message "Ihr könnt Alba im Schleichmodus nicht ansprechen"
endif
else
Activate
endif

End OnActivate


Begin GameMode

; Blindheit timern
if DINOAlba.AlbaIstBlind == 1
if BlindheitsTimerStart == 0
set BlindheitsTimerStart to 1
set BlindheitsTimer to 0
endif
set BlindheitsTimer to ( BlindheitsTimer + GetSecondsPassed )
if BlindheitsTimer > 15
Message "Alba schaut nicht mehr weg und wird wieder Verbrechen melden"
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
set BlindheitsTimer to 0
endif
else
set BlindheitsTimer to 0
set BlindheitsTimerStart to 0
endif

;# Fuer Upgrade Kompatibilität
if nureinmal== 0
if ( SklavinFolgtSpieler == 0 )
TMSklavinRef.SetActorValue Marksman 0
Wait TMSklavinFollow
Set SklavinChoice to 0
;# Müdigkeit resetten
set DINOAlba.AlbaLetzterSchlafTag to GameDaysPassed
endif
set nureinmal to 1
endif

;#########################################################
;########## Einmalig den Herrschaftsring adden
;#########################################################
if ( HerrschaftsringImSpiel == 0 )
if SklavinFolgtSpieler == 1
Player.AddItem 01004CCC, 1
;Player.AddItem TMSklavinRing,1
set HerrschaftsringImSpiel to 1
;# Müdigkeit resetten
set DINOAlba.AlbaLetzterSchlafTag to GameDaysPassed
endif
endif

;#########################################################
;########## Quest starten
;#########################################################

if SklavinErstmalsAngesprochen == 1
if QuestIstGestartet == 0
set QuestIstGestartet to 1
Set AlbaRekrutierungTag to GameDaysPassed
Set AlbaBegleitDauer to 0
StartQuest DINOAlba
endif
endif

;#########################################################
;########## Queststages aktualisieren
;#########################################################



;# Alba hat bis zur Bewusstlosigkeit gekämpft
if AlbaWarBewusstlos == 0
if TMSklavinRef.IsInCombat == 1
set MomGes to TMSklavinRef.GetAV Health
set MaxGes to TMSklavinRef.GetBaseAV Health
if MomGes < (MaxGes / 3)
set AlbaWarBewusstlos to 1
endif
endif
endif
;# Meldung ausgeben, wenn nicht mehr im Kampf
if AlbaWarBewusstlos == 1
if TMSklavinRef.IsInCombat == 0
set AlbaWarBewusstlos to 2
set DINOAlba.AlbaWarBewusstlos to 1
SetStage DINOAlba 27
set AlbaLiebesRating to AlbaLiebesRating + 2
set DINOAlba.AlbaLiebesRating to AlbaLiebesRating
endif
endif

;# Hat Schlafmenü das Kuscheln getriggert?
if AlbaKuschelt == 1
set AlbaKuschelt to 2
set DINOAlba.AlbaKuschelt to 1
SetStage DINOAlba 16
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 3
set AlbaKuschelt to 4
set DINOAlba.AlbaKuschelt to 2
SetStage DINOAlba 19
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 5
set AlbaKuschelt to 6
set DINOAlba.AlbaKuschelt to 3
SetStage DINOAlba 24
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 7
set AlbaKuschelt to 8
set DINOAlba.AlbaKuschelt to 4
SetStage DINOAlba 25
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 9
set AlbaKuschelt to 10
set DINOAlba.AlbaKuschelt to 5
SetStage DINOAlba 26
set AlbaKuschelereignisEingetreten to 1
elseif AlbaKuschelt == 11 ;# BreakEven Point (Liebesrating 30+, also Liebe)
set AlbaKuschelt to 12
set DINOAlba.AlbaKuschelt to 6
SetStage DINOAlba 31
AddTopic AlbaFreiheit
set AlbaKuschelereignisEingetreten to 1
endif

endif

;#########################################################
;########## Check, ob im Kampf, dann Sneaking beenden
;#########################################################
if (TMSklavinRef.IsInCombat == 1 && TMSklavinRef.IsWeaponOut == 1)
SetForceSneak 0
endif

if (SklavinFolgtSpieler == 1)
;#########################################################
;########## Sneaking, wenn Player sneakt und NICHT im Kampf ist
;#########################################################
if Player.IsSneaking == 0
SetForceSneak 0
endif
if (Player.IsSneaking == 1 && TMSklavinRef.IsInCombat == 0)
SetForceSneak 1
endif
;#########################################################
;########## Waffe raus, wenn Player die Waffe zieht
;#########################################################
if (Player.IsWeaponOut == 1 && SklavinVermeideKampf == 0)
SetAlert 1
else
SetAlert 0
endif
;#########################################################
;########## Kleiner Helfer, damit das Flittchen dem Player folgt
;#########################################################
if TMSklavinRef.IsInCombat == 0
if (Player.GetPos z) > ((GetPos z) + 700)
MoveTo Player
elseif (player.GetPos z) < ((GetPos z) - 700)
MoveTo Player
endif
if (GetDistance Player > 5500)
MoveTo Player
endif
endif
endif



;#########################################################
;########## auswahlmenü abarbeiten
;#########################################################

if ( SklavinChoice == 1 )
Set SklavinButton to GetButtonPressed

if ( SklavinButton == 0 ) ;# Warten bzw. Folgen bei Minimenu
if ( SklavinFolgtSpieler == 1 )
TMSklavinRef.SetActorValue Marksman 0
Wait TMSklavinFollow
Set SklavinFolgtSpieler to 0
Set SklavinChoice to 0
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
StartConversation player, AlbaWarteHier
Return
elseif ( SklavinFolgtSpieler == 0 )
TMSklavinRef.SetActorValue Marksman 1
StopWaiting TMSklavinFollow
Set SklavinFolgtSpieler to 1
Set SklavinChoice to 0
StartConversation player, AlbaKommMit
;##################################################
;# Wenn sie zum ersten mal folgen soll, wird die Quest-Stage auf
;# 10 gesetzte und somit der erste Eintrag ausgegeben
;##################################################

if GetStage DINOAlba <10
SetStage DINOAlba 10
endif

Return
endif
elseif ( SklavinButton == 1 ) ;# Plaudern bwz. Abbruch bei Minimenu
if ( SklavinFolgtSpieler == 1 )
Activate
Set SklavinChoice to 0
Return
elseif ( SklavinFolgtSpieler == 0 )
Set SklavinChoice to 0
Return
endif
elseif ( SklavinButton == 2 ) ;# Inventar
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
TMSklavinContainerPlaced.Activate Player 1
Set SklavinChoice to 0
Return

elseif ( SklavinButton == 3 ) ;# Kleidung ung Waffen
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0
TMSklavinClothContainerRef.RemoveAllItems
TMSklavinRef.RemoveAllItems TMSklavinClothContainerRef
TMSklavinClothContainerRef.Activate Player 1
Set SklavinChoice to 2
Return

elseif ( SklavinButton == 4 ) ;# Statistik

Set SklavinChoice to 0
set MomLev to TMSklavinRef.GetLevel
set MomGes to TMSklavinRef.GetAV Health
set MaxGes to TMSklavinRef.GetBaseAV Health
set MomMag to TMSklavinRef.GetAV Magicka
set MaxMag to TMSklavinRef.GetBaseAV Magicka
set MomentaneAusdauer to TMSklavinRef.GetBaseAV Fatigue
set MaximaleAusdauer to TMSklavinRef.GetBaseAV Fatigue
if AlbaBegleitDauer < 2
if (MomMag > MaxMag) && (MomGes > MaxGes) && (MomentaneAusdauer > MaximaleAusdauer)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten - ist also durch Magie künstlich erhöht, ihre Magie liegt bei %.0f von maximal %.0f Punkten - ebenfalls künstlich erhöht. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten. Auch dieser Wert ist durch Ausrüstung künstlich erhöht." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomMag > MaxMag) && (MomGes > MaxGes)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten - ist also durch Magie künstlich erhöht, ihre Magie liegt bei %.0f von maximal %.0f Punkten - ist also ebenfalls durch Ausrüstung künstlich erhöht. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomMag > MaxMag)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten, ihre Magie bei %.0f von maximal %.0f Punkten - ist also durch Ausrüstung künstlich erhöht. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomGes > MaxGes)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten - ist also durch Magie künstlich erhöht, ihre Magie liegt bei %.0f von maximal %.0f Punkten. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
elseif (MomentaneAusdauer > MaximaleAusdauer)
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten, ihre Magie bei %.0f von maximal %.0f Punkten. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten - ist also durch Ausrüstung künstlich erhöht." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von maximal %.0f Punkten, ihre Magie bei %.0f von maximal %.0f Punkten. Ihre Ausdauer liegt bei %.0f von maximal %.0f Punkten." MomLev MomGes MaxGes MomMag MaxMag MomentaneAusdauer MaximaleAusdauer "Weiter"
endif
else
if AlbaLiebesRating >=24
if ( SameSex Player == 0 )
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich unsterblich in Euch verliebt zu haben. Wenn sie Euch ansieht, dann scheinen eure Augen ein unhörbares, geheimnisvolles Gespräch zu führen, und auf Albas Gesicht erscheint ein versonnenes Lächeln." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "So gefällt mir das"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich unsterblich in Euch verliebt zu haben, obwohl Ihr eine Frau seit. Wenn sie Euch ansieht, dann scheinen eure Augen ein unhörbares, geheimnisvolles Gespräch zu führen, und auf Albas Gesicht erscheint ein versonnenes Lächeln." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "So gefällt mir das"
endif
elseif AlbaLiebesRating >=18
if ( SameSex Player == 0 )
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich ein wenig in Euch verliebt zu haben. Wenn Sie Euch ansieht, dann geht eine Veränderung in ihrem Gesicht vor sich - sie scheint buchstäblich zu erstrahlen und in ihre großen Augen scheint neues Leben einzukehren." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Bin ich gut oder bin ich gut?"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba scheint sich ein wenig in Euch verliebt zu haben, obwohl Ihr eine Frau seit. Wenn Sie Euch ansieht, dann geht eine Veränderung in ihrem Gesicht vor sich - sie scheint buchstäblich zu erstrahlen und in ihre großen Augen scheint neues Leben einzukehren." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Bin ich gut oder bin ich gut?"
endif
elseif AlbaLiebesRating >=14
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. n Albas Augen liegt eine angenehme Wärme. Sie scheint echte und tiefe Freundschaft für Euch zu empfinden." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Wer täte das nicht?"
elseif AlbaLiebesRating >=10
if ( SameSex Player == 0 )
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Albas Lächeln wirkt herzlich und dankbar. Wenn Sie Euch ansieht, dann hat sie einen Blick, der einen Mann wirklich nervös machen kann. Sie scheint in Euch nicht mehr nur einen Herrn, sondern einen potentiellen Liebhaber zu sehen." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Würde ich an ihrer Stelle auch tun"
else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Albas Lächeln wirkt herzlich und dankbar. Sie scheint in Euch nicht mehr nur ihre Herrin, sondern eine echte Gefährtin zu sehen." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Würde ich an ihrer Stelle auch tun"
endif
elseif AlbaLiebesRating >=5
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Alba lächelt schüchtern, wenn Sie Euch ansieht, und dieses Lächeln wirkt ehrlich. Offenbar scheint es ihr in Eurer Gegenwart zu gefallen. Ihr habt das Gefühl, dass Alba stets bestrebt ist, möglichst nahe bei Euch zu sein." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Ist ja kein Wunder, oder?"

else
MessageBox "Alba befindet sich auf Stufe %.0f. Ihre Gesundheit liegt bei %.0f von %.0f Punkten, ihre Magie bei %.0f von %.0f Punkten. Sie begleitet Euch seit %.0f Tagen. Ihr Blick sagt, sie erwartet nichts, nicht viel von sich selbst, und nur manchmal etwas von ihrem Herrn, aber auch das wird wieder schief gehen. Doch wenn sie Euch ansieht ... ist da etwas in ihren Augen. Sie scheint sich ständig Gedanken über Euch zu machen." MomLev MomGes MaxGes MomMag MaxMag AlbaBegleitDauer "Wundert mich nicht"
endif
endif
Return

elseif ( SklavinButton == 5 )
if ( GetSitting > 0 )
set Albasetzen to 0
else
set Albasetzen to 1
endif

evp

Return
elseif ( SklavinButton == 6 ) ;# Abbruch
Set SklavinChoice to 0
if ( SklavinFolgtSpieler == 1 )
AddScriptPackage "TMSklavinFollow"
StopWaiting TMSklavinFollow
endif
Return
endif

;#########################################################
; # Anziehen/Ablegen steuern
;#########################################################
elseif ( SklavinChoice == 2 )
short SklavinGlueckAlt
set SklavinGlueckAlt to TMSklavinRef.GetBaseActorValue Luck
TMSklavinRef.RemoveallItems
TMSklavinClothContainerRef.RemoveAllItems TMSklavinRef
TMSklavinRef.SetAV Luck 0
EvaluatePackage "TMSklavinClear"
TMSklavinRef.SetAV Luck 1
EvaluatePackage "TMSklavinPickup"
TMSklavinRef.SetAV Luck SklavinGlueckAlt
EvaluatePackage "TMSklavinPickup"
if ( SklavinFolgtSpieler == 1 )
StopWaiting TMSklavinFollow
endif
set SklavinChoice to 0
endif


;#########################################################
;########## Regenerieren, wenn nicht im Kampf
;#########################################################
if (TMSklavinRef.IsInCombat == 0)
set Regenerationstimer to Regenerationstimer + GetSecondsPassed
if Regenerationstimer > 20
set MomGes to TMSklavinRef.GetAV Health
set MaxGes to TMSklavinRef.GetBaseAV Health
if MomGes < MaxGes
if IsInCombat == 0
set MomGes to MomGes + 1
;ModAV Health MomGes
ModAV Health 2
endif
endif
;#########################################################
;###### Laune gegenüber Player verbessern lassen
;#########################################################
set MomentaneLaune to (TMSklavinRef.GetDisposition Player)
set MomentaneLaune to (MomentaneLaune + 5)
set MomentaneLaune to (MomentaneLaune + AlbaLiebesRating)
if MomentaneLaune >=100
set MomentaneLaune to 99
endif
ModDisposition Player MomentaneLaune
set Regenerationstimer to 0
endif
endif

;#######################################################################
;########## Sicherstellen, dass die Laune immer einigermaßen gut bleibt
;#######################################################################
set MomentaneLaune to TMSklavinRef.getdisposition Player
if MomentaneLaune < (30 + AlbaLiebesRating)
set MomentaneLaune to (30 + AlbaLiebesRating) - MomentaneLaune
if MomentaneLaune > 100
set MomentaneLaune to 100
endif
TMSklavinRef.moddisposition Player MomentaneLaune
endif
;#######################################################################
;# und das Ganze gleich nochmal... Scheint ein Bug in der Engine zu sein,
;# die das notwendig macht
;#######################################################################
set MomentaneLaune to TMSklavinRef.getdisposition Player
if MomentaneLaune < (30 + AlbaLiebesRating)
set MomentaneLaune to (30 + AlbaLiebesRating) - MomentaneLaune
if MomentaneLaune > 100
set MomentaneLaune to 100
endif
TMSklavinRef.moddisposition Player MomentaneLaune
endif

End GameMode


;# Beim Erscheinen des Schlafen-Menüs

;#########################################################
;#########################################################
;#########################################################


Begin MenuMode 1012
;# Wenn der Player schläft, leveln wir die Sklavin up.
If (SklavinFolgtSpieler == 1)
if ( IsPCSleeping == 1 )

;##################################################################
;## Sklavin zum Spieler bringen und gleichzeitig Health regenerieren
;##################################################################
ForceActorValue Blindness 0
set DINOAlba.AlbaIstBlind to 0

if ( GetDistance Player >= 400 )
TMSklavinRef.MoveTo Player, 128, 0, 0
If SklavinMagieVerbesserung == 1
set SklavinMagieVerbesserung to 0
Message "Alba hat sich Euch genähert, um neben Euch zu ruhen und ihre magischen Fähigkeiten zu verbessern."
endif
else
If SklavinMagieVerbesserung == 1
set SklavinMagieVerbesserung to 0
Message "Alba hat neben Euch geruht und ihre magischen Fähigkeiten verbessert."
endif
endif
ResetHealth
set DINOAlba.AlbaLetzterSchlafTag to GameDaysPassed


;# Alba kuschelt
set AlbaKuschelereignisEingetreten to 0
if AlbaKuschelt == 0
if AlbaLiebesRating > 8
set AlbaKuschelt to 1
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 2
if AlbaLiebesRating > 12
set AlbaKuschelt to 3
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 4
if AlbaLiebesRating > 16
set AlbaKuschelt to 5
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 6
if AlbaLiebesRating > 20
set AlbaKuschelt to 7
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 8
if AlbaLiebesRating > 25
set AlbaKuschelt to 9
set AlbaKuschelereignisEingetreten to 1
endif
endif
if AlbaKuschelt == 10
if AlbaLiebesRating > 30
set AlbaKuschelt to 11
set AlbaKuschelereignisEingetreten to 1
endif
endif

;# Sonstige Nachtereignisse triggern
set AlbaBegleitDauer to (GameDaysPassed - AlbaRekrutierungTag)
if AlbaResume3 == 0
if AlbaBegleitDauer >= 14 && (AlbaKuschelereignisEingetreten == 0)
Set AlbaResume3 to 1
endif
endif
set DINOAlba.AlbaLiebesRating to AlbaLiebesRating
endif
endif
End MenuMode 1012

Dann musst Du ein AI-Travel-Package erstellen, in dem als Location Object Type: Furniture angegeben ist.
Als Condition musst Du GetScriptVariable Albasetzen == 1 eingeben und das Package anschließend in die AI-Liste von Alba ziehen. Achtung: Das Package muss ganz oben stehen, sonst funktioniert es nicht.

Pcuser
26.03.2007, 17:49
Ok ich versuchs mal sehen schonmal danke

Pcuser
26.03.2007, 18:10
OK auf zur manöverkritik^^

1. Alba steht neben fünf stühlen aber rennt zum nächsten bett.
2. wenn ich zum aufstehen wieder drücke steht sie auf und legt sich gleich wieder hin.
3. dies kann ich verhindern wenn ich 2x afstehen zum aufstehen drücke. aber sie bleibt dann einfach stehen und folgt mir nichtmehr.

Kann man das noch hinbiegen?

Rung
26.03.2007, 18:29
Zuerst mal,

wenn nur 20 Minuten (oder weniger als etwa 2-3 Tage) zwischen Deinen Posts liegen, benutz bitte die Edit-Funktion.
Zum Plugin: Wie gesagt bin ich nicht wirklich mit der Materie vertraut. Wie man verhindert, dass sie nicht ins Bett steigt, weiß ich leider auch nicht, da Betten und Stühle beides Furniture sind.

Pcuser
26.03.2007, 18:33
K sry.
Zum thema:

Das mit bett bekomm ich zur not hin. Mach als ziel das ding vom annywhere sittable mod.

Bekommst du es hin dass sie normal aufsteht (vielleicht ne abfrage ob sie gerade sitzt wenn ja dann aufstehscript bzw normales starten) Orientier dich doch da dran was sie macht wenn man sagt dass man folgen soll, damit sie danach wieder kommt.

Ich zähl auf dich^^

Rung
26.03.2007, 18:39
Die Abfrage, ob sie schon sitzt, ist bereits drinnen:

elseif ( SklavinButton == 5 )
if ( GetSitting > 0 )
set Albasetzen to 0
else
set Albasetzen to 1
endif

evp

Return

Wie es aussieht, ist hier der Fehler, dass das Package nicht richtg abgefragt wird. (Ryan würde sich jetzt an die Stirn fassen)

Probier mal die obige Stelle mit der Folgenden zu ersetzen:
elseif ( SklavinButton == 5 )
if ( GetSitting > 0 )
set Albasetzen to 0
else
set Albasetzen to 1
endif

AddScriptPackage IDDeinesSitzPackages
evp

Return

Rung
26.03.2007, 18:55
Das hat jetzt aber mit dem Threadthema eher wenig zu tun.
Wenn Du im CS einen NPC mit 0 Lebensenergie erstellst, kannst ihn mit der Havoc-Taste umfallen lassen. Vielleicht hilft Dir das.

Pcuser
26.03.2007, 18:56
und was soll ich mit dem IDDeinesSitzPackages machen?

Rung
26.03.2007, 19:00
Da kommt die ID des Sitzpackages hin, das Du erstellt hast und das als Bedingung (condition) Albasetzen == 1 hat.

Pcuser
26.03.2007, 19:02
ah ok und ich versuch jetzt mal mit nem location radius zu verhinden dass sie mir wegläuft

EDIT: also funzt zwar immer noch net aer wenn man abbrechen drück steht sie braf auf und folgt^^

jetzt brauch ich nur noch hilfe beim problem mit bett bin mal was testen.

ps ist das das einzige was du am script geändert hast? dieser teil der oen in kurzform ist?

Edit 2: Also sie scheint die bettrolle so gern zu haben weil sie als erste im alphabet kommt -.-
wenn ich einen bestimmten stuhl z.b. als mögliche ziehle nenne funzt das wunderbar.

Also werde ich es wol nochmal mit dem annywhere sittable teil versuchen

Rung
26.03.2007, 19:43
Hallo,

den Radius klein zu halten hilft nicht? Das ist ärgerlich, weil mir sonst auch nichts einfällt. Du könntest höchstens noch ein Script schreiben, wo Du alle möglichen Stühle abfragst, aber das wäre ein immenser Aufwand für so einen kleinen Effekt.

Weiter oben im Script habe ich noch die Abfrage in der MessageBox ergänzt und die Lokale definiert. Sonst nichts.

Pcuser
26.03.2007, 19:51
Tja das wundert mich auch wenn ich radius mache geht sie wieder bis zur bettrolle und bleibt dann stehen.

@all und Rung

Also ich will das sie sich den nächsten stuhl bett usw aussucht um sich dorthinzulegen, weis jemand welche ai einstellungen das braucht?

@Rung besonders aber auch ai können
kannst du scripten dass bei befehl sie einen marker unter sich plaziert.
die ganzen NPCs führen aktion doch immer mit at marker aus auch wenn sie sich wohinsetzten

Rung
26.03.2007, 19:59
Ah, ich glaube der Fehler liegt ganz einfach im falschen AI_Package. Versuchs mal mit dem Find-Package (http://cs.elderscrolls.com/constwiki/index.php/Find_Package).

Pcuser
26.03.2007, 20:12
gute idee ich versuchs mal.
ne ich glaub travel befehl war besser.

Plz kann mal einer helfen, der sich mit AI auskennt?

Rung
26.03.2007, 20:27
Hm, aber das sollte eigentlich genau das sein, was Du suchst. Als Location nimm mal gar nichts, d.h. die Standardeinstellung 'Current Location'
Und bei Target musst Du 'Object Typ: Furniture' und den gewünschten Radius (300?) eingeben. Und vergiss nicht die Bedingung (Condition) Albasetzen == 1. Das sollte eigentlich funktionieren.

Pcuser
26.03.2007, 20:33
Aber sie geht dann nur kurz zum stuhl und tippt ihn an und geht weiter

Rung
26.03.2007, 20:38
Versteh ich nicht, im CSWiki steht, dass sie sich dann hinsetzen sollte:


Actor travels to within the specified Radius of the Location, then finds the target and "activates" it. The meaning of activate depends on the target.
Chair: Sit in it.

Pcuser
26.03.2007, 20:40
Jo versteh ich ja auch net.
Der travel befehl hat genau gepasst aber aber er geht nich nch entfernung sondern alphabet und das muss weg

Ich hab dein script mal umgeschrieben damit umgehe ich das lästige abfragen ob sie sitzt nun geht immerhin das aufstehen:



elseif ( SklavinButton == 5 )
if Albasetzen == 1
set Albasetzen to 0
else
set Albasetzen to 1
endif

AddScriptPackage "TMSklavinSitzen"
evp

Return


Eine Frage noch:
wie lautet denn die abfrage ob man indoor oder outdoor ist?

kenet_korva
27.03.2007, 15:20
IsInterior

Aber warum nutzt du denn AddSkripted package? Wenn du ihr das Package gleich gibst, würde es vielleicht funktionieren. Und was hast du bei der Dauer im Shedule bei den Packages eingestellt?

Pcuser
27.03.2007, 17:13
Es funktioniert ja. Das AddScriptPackage hat Rung hingemacht ka wieso

kenet_korva
27.03.2007, 17:51
Na dann ist es ja gut. :)
AddSkriptedpackage ist glaub ich genauso gut. Hab nur aus Gewohnheit heraus gesprochen da ich immer ausschließlich mit conditionierten Packages arbeite die aber schon in der Liste vorhanden sind.

Pcuser
27.03.2007, 19:35
ja bei mir ist das package auch schon in der Ai vom NPC (mit abfrage auf variable) aber doppelt hält besser^^

Rung
28.03.2007, 11:48
Ich hatte Dir das anfangs auch so (d.h. ohne AddScriptPackage) erstellt, aber Du sagtest darauf:
wenn ich zum aufstehen wieder drücke steht sie auf und legt sich gleich wieder hin [...] dies kann ich verhindern wenn ich 2x afstehen zum aufstehen drücke. aber sie bleibt dann einfach stehen und folgt mir nichtmehr Deshalb war die Idee, das Package per Script hinzuzufügen und so die Priorität des Packages sicher zu stellen. Warum das FindPackage nicht funkioniert, weiß ich nicht.

kenet_korva
28.03.2007, 11:51
Das leutet ein. Ich handhabe das meist so, dass ich alle anderen Packages ebenfalls mit einer Condition versehe die genau invers zu der des speziellen packages ist.

Rung
28.03.2007, 12:14
Ja genau,

so mache ich das auch, aber leider kenne ich das Plugin nicht. Und das wäre bei den vielen Variablen sicher auch nicht ganz einfach, kann ich mir vorstellen.

kenet_korva
28.03.2007, 18:53
Ich hab Alba und zu testzwecken auch mal im CS geöffnet. Das Skript hat auf jeden Fall genug Variablen. (Würde glaub ich sogar für zwei Compagnions rechen ;) )
Man müsste sehen wo der block ist der die ganzen Variablen für das jeweilige Package einstellt und das da drannhängen aber in fertigen Skripts rumzuhantieren hat bei mir meistens die Folge, dass es gar nicht mehr geht. ;)