CreamyCewie
Bürger
Code:
Begin OnTriggerActor && IsActorRef Player
parent.activate
end
Begin OnTriggerActor && IsActorRef Player
parent.activate
end
[SIZE=2]
scn Name
float Jetzt
float Zeitpunkt
short Wiederholung
Long Random
Begin ScriptEffectUpdate
set Jetzt to ( GameDaysPassed + GameHour / 24 )
if Zeitpunkt >= Jetzt
set Wiederholung to ( Wiederholung + 1 )
set Zeitpunkt to ( Jetzt + Wiederholung )
elseif Wiederholung == 0
set Wiederholung to 1
set Zeitpunkt to ( Jetzt + Wiederholung )
Set Random to GetRandomPercent
If Random >= 0 && Random < 24
MessageBox "text"
Elseif Random >= 25 && Random < 48
MessageBox "text"
Elseif Random >= 49 && Random < 74
MessageBox "text"
Elseif Random >= 74 && Random < 99
MessageBox "text"
Elseif Random == 99
MessageBox "text"
Endif
endif
End
[/SIZE]
scn 01minetriggerdoor
Begin OnTriggerActor && IsActorRef Player
parent.activate
End
scn 01minetriggerdoor
Begin OnTriggerActor && IsActorRef Player
GetparentRef.activate
End
scn 01minetriggerdoor
ref tempRef
Begin OnTriggerActor && IsActorRef Player
set tempRef to getParentRef
tempRef.activate
End
[SIZE=2]scn Name[/SIZE]
[SIZE=2]float Jetzt [/SIZE]
[SIZE=2]float Zeitpunkt [/SIZE]
[SIZE=2]short Wiederholung [/SIZE]
[SIZE=2]Long Random[/SIZE]
[SIZE=2]Begin ScriptEffectUpdate [/SIZE]
[SIZE=2] set Jetzt to ( GameDaysPassed + GameHour / 24 )[/SIZE]
[SIZE=2] if Zeitpunkt >= Jetzt [/SIZE]
[SIZE=2] set Wiederholung to ( Wiederholung + 1 ) [/SIZE]
[SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE]
[SIZE=2] elseif Wiederholung == 0 [/SIZE]
[SIZE=2] set Wiederholung to 1 [/SIZE]
[SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE]
[SIZE=2] Set Random to GetRandomPercent[/SIZE]
[SIZE=2] If Random >= 0 && Random < 24[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random >= 25 && Random < 48[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random >= 49 && Random < 74[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random >= 74 && Random < 99[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random == 99[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Endif[/SIZE]
[SIZE=2] endif[/SIZE]
[SIZE=2]End[/SIZE]
[SIZE=2]scn Name[/SIZE]
[SIZE=2]float Jetzt [/SIZE]
[SIZE=2]float Zeitpunkt [/SIZE]
[SIZE=2]short Wiederholung [/SIZE]
[SIZE=2]Long Random[/SIZE]
[SIZE=2]Begin ScriptEffectUpdate [/SIZE]
[SIZE=2] set Jetzt to ( GameDaysPassed + GameHour / 24 )[/SIZE]
[SIZE=2] if Zeitpunkt >= Jetzt [/SIZE]
[SIZE=2] set Wiederholung to ( Wiederholung + 1 ) [/SIZE]
[SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE]
[SIZE=2] elseif Wiederholung == 0 [/SIZE]
[SIZE=2] set Wiederholung to 1 [/SIZE]
[SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE]
[SIZE=2] Set Random to GetRandomPercent[/SIZE]
[SIZE=2] If Random >= 0 && Random < 24[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random >= 25 && Random < 48[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random >= 49 && Random < 74[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random >= 74 && Random < 99[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Elseif Random == 99[/SIZE]
[SIZE=2] MessageBox "text"[/SIZE]
[SIZE=2] Endif[/SIZE]
[SIZE=2] endif[/SIZE]
[SIZE=2]End[/SIZE]
scn TrigZonePLAYER01SCRIPT
; Activates linked Parent object once
short triggered
ref target
ref mySelf
begin onTrigger player
if triggered == 0
set triggered to 1
set target to getParentRef
set mySelf to getSelf
target.activate mySelf 1
endif
end
begin onReset
set triggered to 0
end
Also, ich hab jetzt zwei versionen des Scripts ausprobiert, und keine der beiden funktioniert richtig. Bei der Vorgabe, von Diarrhoe erscheinen die MessageBoxen dann pausenlos...Es soll ja nur Alle 24 Stunden passieren. Und bei der Version, von mir (Ich hab nur die beiden bedingungen ungedreht...keine ahnung warum ) passiert das ganze nur einmal, es soll aber jeden Tag wieder passieren. Hab auch versucht Wiederholung wieder auf 0 zu setzen...Aber es hat ned gewirkt.(Hat bei keiner Version was geändert)
Code:[SIZE=2]scn Name[/SIZE] [SIZE=2]float Jetzt [/SIZE] [SIZE=2]float Zeitpunkt [/SIZE] [SIZE=2]short Wiederholung [/SIZE] [SIZE=2]Long Random[/SIZE] [SIZE=2]Begin ScriptEffectUpdate [/SIZE] [SIZE=2] set Jetzt to ( GameDaysPassed + GameHour / 24 )[/SIZE] [SIZE=2] if Zeitpunkt >= Jetzt [/SIZE] [SIZE=2] set Wiederholung to ( Wiederholung + 1 ) [/SIZE] [SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE] [SIZE=2] elseif Wiederholung == 0 [/SIZE] [SIZE=2] set Wiederholung to 1 [/SIZE] [SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE] [SIZE=2] Set Random to GetRandomPercent[/SIZE] [SIZE=2] If Random >= 0 && Random < 24[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random >= 25 && Random < 48[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random >= 49 && Random < 74[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random >= 74 && Random < 99[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random == 99[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Endif[/SIZE] [SIZE=2] endif[/SIZE] [SIZE=2]End[/SIZE]
Ich bin für den Script leider eindeutig zu blöd, weil ich keine Ahnung habe, was da Eigentlich bewirkt wird mit dem Timer. :cry:Code:[SIZE=2]scn Name[/SIZE] [SIZE=2]float Jetzt [/SIZE] [SIZE=2]float Zeitpunkt [/SIZE] [SIZE=2]short Wiederholung [/SIZE] [SIZE=2]Long Random[/SIZE] [SIZE=2]Begin ScriptEffectUpdate [/SIZE] [SIZE=2] set Jetzt to ( GameDaysPassed + GameHour / 24 )[/SIZE] [SIZE=2] if Zeitpunkt >= Jetzt [/SIZE] [SIZE=2] set Wiederholung to ( Wiederholung + 1 ) [/SIZE] [SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE] [SIZE=2] elseif Wiederholung == 0 [/SIZE] [SIZE=2] set Wiederholung to 1 [/SIZE] [SIZE=2] set Zeitpunkt to ( Jetzt + Wiederholung )[/SIZE] [SIZE=2] Set Random to GetRandomPercent[/SIZE] [SIZE=2] If Random >= 0 && Random < 24[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random >= 25 && Random < 48[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random >= 49 && Random < 74[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random >= 74 && Random < 99[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Elseif Random == 99[/SIZE] [SIZE=2] MessageBox "text"[/SIZE] [SIZE=2] Endif[/SIZE] [SIZE=2] endif[/SIZE] [SIZE=2]End[/SIZE]
Noch paar Infos zu den Umständen, vl hilft das noch... Der spieler betätigt einen Activator, bekommt eine Krankheit mit einigen Eigenschaften und diesem Script. Alle 24 Stunden soll der Skript dann eben eine MessageBox senden ( zufällig) und noch entsprechende Eigenschaftebn ändern. Das ganze immer wieder, alle 24 Stunden, solange, bis man die Krankheit nicht mehr hat.
Und könnte mir bitte jemand den script so abändern, dass da jetzt alle 24 Stunden was passiert? weil ich brings selber einfach ned zam...:?
danke!
lg
Dacri
Das liegt vermutlich an dem Minuszeichen... Erstell mal eine weitere Variable, deren Wert du auf -1* alte Variable setzt und schreib dann "ModAV2 <NEUE VARIABLE>"
scn name
long health
long magicka
long fatigue
long pHealth
long pMagicka
long pFatigue
long pBaseHealth
long pBaseMagicka
long pBaseFatigue
long tempVar
float fQuestDelayTime
Begin GameMode
if fQuestDelayTime
let fquestdelaytime := 0.001
endif
if isKeyPressed3 50
Message "Ihr übertragt Eure Energie!"
let pHealth := player.getAV health
if pHealth > 10
player.modAV2 health -10
let health += 10
elseif pHealth > 1
let tempVar := ( pHealth - 1 )
[B] player.modAV2 health -tempVar[/B]
let health += tempVar
endif
let pMagicka := player.getAV Magicka
if pMagicka > 10
player.modAV2 magicka -10
let magicka += 10
elseif pMagicka > 0
[B]player.modAV2 magicka -pMagicka[/B]
let magicka += pMagicka
endif
let pFatigue := player.getAV fatigue
if pFatigue > 10
player.modAV2 fatigue -10
let fatigue += 10
elseif pFatigue > 1
let tempVar := ( pFatigue - 1 )
[B] player.modAV2 fatigue -tempVar[/B]
let fatigue += tempVar
endif
Message "Im Ring: Lebenspunkte: %.0f / Magicka: %.0f / Ausdauer: %.0f" health, magicka, fatigue
elseif isKeyPressed3 49
Message "Ihr gewinnt Energie aus dem Ring!"
let pHealth := player.getAV health
let pBaseHealth := player.getBaseAV health
if pHealth <= ( pBaseHealth - 10 )
player.modAV2 health 10
let health -= 10
elseif pHealth < pBaseHealth
player.modAV2 health 10
let health -= ( pBaseHealth - pHealth )
endif
let pMagicka := player.getAV magicka
let pBaseMagicka := player.getBaseAV magicka
if pMagicka <= ( pBaseMagicka - 10 )
player.modAV2 magicka 10
let magicka -= 10
elseif pMagicka < pBaseMagicka
player.modAV2 magicka 10
let magicka -= ( pBaseMagicka - pMagicka )
endif
let pFatigue := player.getAV fatigue
let pBaseFatigue := player.getBaseAV fatigue
if pFatigue <= ( pBaseFatigue - 10 )
player.modAV2 fatigue 10
let fatigue -= 10
elseif pFatigue < pBaseFatigue
player.modAV2 fatigue 10
let fatigue -= ( pBaseFatigue - pFatigue )
endif
Message "Im Ring: Lebenspunkte: %.0f / Magicka: %.0f / Ausdauer: %.0f" health, magicka, fatigue
endif
end