Construction Set Skriptthread zum Construction Set

Wiederbelebung nur in eigener Mod

Hallo, könnt ihr mir bitte helfen?

Ich möchte, dass wenn der Avatar, in einem neuen Interior von mir, stirbt wieder zum Leben erweckt wird und an einem Ausgangspunkt (X-Marker) steht.
Damit möchte ich mich von dem Original Spiel abgrenzen, damit dies nicht immer passieren kann.

Wenn es noch andere Möglichkeiten geben sollte, bitte melden. Danke
 
Könntest es mal so probieren, aber ich weis nicht, ob der Ladebildschirm vorher einsetzt. Musst Du eben ausprobieren:

(Ist ein Quest-Skript)

Code:
SCN ...

Float fQuestDelayTime

Long Health

Begin GameMode

if(player.getincell <interior>)
      set fquestdelaytime to 0.01
   else
         set fquestdelaytime to 5
        return
endif

      if(player.getav health <= 0) ; oder "player.getdead"
           set health to player.getbaseav health
           player.modav health health

           Player.MoveTo <MarkerRef>
      else
             return
      endif

end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Meclaton
Reisen mit dem Boot

Hallo ich ich brauche eure Hilfe.
Wisst ihr wie ich mit dem Boot wenn ich es aktiviere ausuchen kann ob ich nach Anvil oder Leyawin fahre?
Ich habe schon das hier versucht:


Code:
scn 00BootWolkenturm2Script

short button

Begin OnActivate
MessageBox"Wohin wohlt ihr reisen?","Anvil","Leyawin"

end

begin gamemode
if player. ==0
;auswahl Anvil
player. moveto XmarkerAnvil 1
elseif player ==1
;auswahl Leyawin
player. moveto Xmarkerleyawin 1
endif
end
 
Würde es so machen:

Code:
SCN ...

Short Button
Short Once

Begin OnActivate

if(isactionref player)
     if(once == 0)
           set once to 1
           messagebox "Wohin wollt Ihr reisen?" "Anvil", "Leyawiin"
     else
              return
     endif
else
        return
   endif

end

Begin GameMode

if(once == 1)
     set button to getbuttonpressed
    if(button == -1)
          set once to 0
         return
    elseif(button == 0)
          set once to 2
          player.moveTo <MarkerAnvil>
    elseif(button == 1)
          set once to 2
          player.moveTo <MarkerLeyawiin>
    endif
 elseif(once == 2)
            set once to 3
           return
   else
              return
 endif

end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: tommi
soo zurück nach laaaanger Zeit bräuchte ich bitte mal wieder Hilfe!

Ich will dass, wenn der Spieler einen Gegenstand aufhebt, sein Glück um 15 verringert wird. Sobald er es wegwirft soll das wieder zurückgesetzt werden.
UND zusätzlich wenn das Amulett einem NPC ins Inventar gegeben wird soll eben jener NPC einen schnellen Tod erleiden...


Code:
scn aaaPech

short has
short doonce
ref ActionRef

Begin OnAdd
	set ActionRef to GetActionRef
	if has == 0 && isActionRef player
		messagebox "Dieser Anhänger wird bringt jedem der ihn bei sich hat Pech. Ihr solltet es einem Feind unbemerkt in die Tasche stecken.."
		player.ModActorValue luck -15
		message "Euer Glück hat sich um 15 Punkte verringert."
		set has to 1
	else
	kill ActionRef
endif
end

Begin OnDrop
	if has == 1 && isActionRef player
		messagebox "Ihr fühlt euch erleichtert."
		player.ModActorValue luck 15
		message "Euer Glück hat sich um 15 Punkte erhöht."
	set has to 0
	else
	endif
end

Allerdings passiert hierbei gar nix, und ich hab keine Ahnung warum :cry:
 
Schreib's mal so:

Code:
scn aaaPech

short has
short doonce
ref Container

Begin OnAdd
    set Container to GetContainer
    if has == 0 && container == player
        messagebox "Dieser Anhänger wird bringt jedem der ihn bei sich hat Pech. Ihr solltet es einem Feind unbemerkt in die Tasche stecken.."
        player.ModActorValue luck -15
        message "Euer Glück hat sich um 15 Punkte verringert."
        set has to 1
    elseif has == 0 && container != player
    Container.kill
endif
end

Begin OnDrop
    if has == 1 && Container == player
        messagebox "Ihr fühlt euch erleichtert."
        player.ModActorValue luck 15
        message "Euer Glück hat sich um 15 Punkte erhöht."
    set has to 0
    endif
end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Akasha
erstmal ein herzliches Danke für die extrem schnelle Antwort!!^^

Wenn ich als Spieler das Amulett aufnehme bzw ablege funktioniert alles wie geplant. Allerdings zeigt es keine Wirkung wenn es ein NPC im Inventar hat.

hmm...
 
Habe eine Frage.
Gibt es eine Möglichkeit durch PlaceAtMe erzeugte Referenzen zu löschen? :? Denn moveto ist echt etwas arg umständlich bei einem Beschwörungszauber, wenn man bis zu 3 Viecher rufen will. :?
 
Habe eine Frage.
Gibt es eine Möglichkeit durch PlaceAtMe erzeugte Referenzen zu löschen? :? Denn moveto ist echt etwas arg umständlich bei einem Beschwörungszauber, wenn man bis zu 3 Viecher rufen will. :?

Du könntest auf die Kreaturen ein Skript legen, das sie bei ihrem Tod in eine Platzhalterzelle (in der du einen x-marker platziert hast) teleportiert und diese dann resetet.

Bsp.:

begin OnDeath

moveto.deineplatzhaltermarkerref
ResetInterior deineplatzhalterzelle

end

Das Ganze benötigt lediglich OBSE (ab v18 soweit ich weiß)
Ich hoffe ich konnte helfen. :)

Liebe Grüße,
Eydis

Edit: Disable löscht die Objekte nicht.
 
Zuletzt bearbeitet:
Dass sie nicht gelöscht werden ist ja der Nachteil an "placeatme". Deshalb benutzen den Befehl auch viele nicht...

Edit: Aber warum ist es so wichtig, dass die REF gelöscht wird:huh:
 
Oh mann, das klingt übels kompliziert.
Und leider auch recht negativ.

Deswegen frage ich jetzt so.
Kann mir jemand einen MoveTo-Befehl für 3 Referenzen (einfach mal Ref01, Ref02, Ref03 um es einfach zu machen) schreiben, womit man bis zu 3 Referenzen gleichzeitig rufen kann.
 
Ich verstehe die Frage nicht richtig...

Code:
Ref01.moveto player
Ref02.moveto player
Ref03.moveto player

Aber das wird wohl nicht deine Frage gewesen sein. Kannst du die vielleicht noch etwas konkretisieren?