Construction Set hilfe bei nem script

Londarus Trentos

Ehrbarer Bürger
hi,

damit mein mod fertig wird brauch ich noch hilfe bei dem script für das letzte item... es soll nur nachts eine eigenschaft hinzufügen und im morgengrauen wieder wegnehmen. das ganze auf ein item bezogen (in meinem fall ein bogen)
ich hab mich schonmal bei azuras script umgeguckt, da es ja auch dort um eine bestimmte zeit geht... nun gut jetzt zum punkt. so sieht der script bisher aus:
(jaja vllt ein paar unnütze codes aber ich wollt auf nummer sicher gehen^^)

Code:
ScriptName 1NachtschimmerSCRIPT

short nighttimer

Begin GameMode

if Gamehour >= 19 && Gamehour <= 7  && nighttimer == 0
     set nighttimer to 1
elseif Gamehour < 19 && Gamehour > 7 && nighttimer ==1
     set nighttimer to 0
elseif Gamehour < 19 && Gamehour > 7 && nighttimer ==0
     set nighttimer to 0
elseif Gamehour >= 19 && Gamehour <= 7  && nighttimer == 1
     set nighttimer to 1

Endif

if nighttimer == 1
 player.addspell 1NachtschimmerUNSICHTBAR
Endif

if nighttimer == 0
 player.removespell 1NachtschimmerUNSICHTBAR
Endif

End

so... um die zeit (also 19 uhr abends) wir einfach nicht die eigenschafft geaddet... woran liegts?

mfG L
 
hi,

wenn ich das richtig sehe, fügst du den zauberspruch nur deinem zauberbuch hinzu, wirkst ihn aber nirgends auf deinen char...

statt
Code:
player.addspell 1NachtschimmerUNSICHTBAR

einfach
Code:
player.cast 1NachtschimmerUNSICHTBAR player

dann sollts gehen..

hoffe, das hilft weiter..

mfG
 
so... um die zeit (also 19 uhr abends) wir einfach nicht die eigenschafft geaddet... woran liegts?
Ich bin zwar vollkommen im Eimer, aber vll. reicht die Konz. ja noch soweit, dass das hier gehen könnte... mussu ma gucken
Code:
Scriptname 1NachtschimmerSCRIPT

Float Delay
Short SpellFlag

Begin GameMode
    Set Delay To Delay + GetSecondsPassed
    If Delay > 5
        Set Delay To 0
        If Gamehour > 6 && Gamehour < 19 && SpellFlag == 1
            Player.RemoveSpell 1NachtschimmerUNSICHTBAR
            Set SpellFlag To 0
        ElseIf ( Gamehour >= 19 || Gamehour < 7 ) && Spellflag == 0
            Player.AddSpell 1NachtschimmerUNSICHTBAR
            Set SpellFlag To 1
        EndIf
    EndIf
End
nicht getestet
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Londarus Trentos
hi,

@AcidiouS

der zauber der geadeet werden sollte ist ja ne eigenschaft. das problem ist, dass erst gar kein zauber GEADDET wird...

@ seidenweber

ich probiers gleich mal uas, danke schonmal

mfG L

EDIT: thx seidenweber funzt perfekt =)

EDIT 2: mpf doch net. morgens geht der zauber weg und nach ca 5 sek. wieder hin und nach 5 seks wieder weg, was dann die ganze zeit so geht... liegt wahrscheinlich an GetSecondsPassed... ich schau mal nach...

EDIT 3: nachdem ich delay einfach weggemacht hab, gabs ein andres problem: nachdem der spell eigtl removt werden sollte wurde in jedem frame der zauber removt und geaddet... sah lustig aus xD... mal weiter ausprobieren

EIT 4 (^^) : so sieht nun der script aus, der auch klappt (hab ihn nur ein bischen geändert)

Code:
Scriptname 1NachtschimmerSCRIPT

Short SpellFlag

Begin GameMode
        If Gamehour > 6 && Gamehour < 19 && SpellFlag == 1
            Player.RemoveSpell 1NachtschimmerUNSICHTBAR
            Set SpellFlag To 0
        ElseIf ( Gamehour >= 19 || Gamehour < 6 ) && Spellflag == 0
            Player.AddSpell 1NachtschimmerUNSICHTBAR
            Set SpellFlag To 1
        EndIf
End

seit dem hat ich nur 2 back to desktop abstürze. vllt liegts daran vllt auch nur zufall. mal sehen. danke auf jedenfall =)
 
Zuletzt bearbeitet:
Probier den code mal, wenn Du magst.

Code:
Scriptname 1NachtschimmerSCRIPT

Float Delay
Short SpellFlag

Begin GameMode
    Set Delay To Delay + GetSecondsPassed
    If Delay > 5
        Set Delay To 0
        If GetCurrentTime > 7 && GetCurrentTime < 19 && SpellFlag == 1
            Player.RemoveSpell 1NachtschimmerUNSICHTBAR
            Set SpellFlag To 0
        ElseIf ( GetCurrentTime > 19 || GetCurrentTime < 7 ) && Spellflag == 0
            Player.AddSpell 1NachtschimmerUNSICHTBAR
            Set SpellFlag To 1
        EndIf
    EndIf
End