Construction Set Skriptthread zum Construction Set

Das heißt, es ist nicht möglich, ein Script zu erstellen, bei dem:

-Ein Pfeil geschossen wird (vom Spieler; mit Bogen)
-Die Einschlagsposition des Spielers abgefragt wird
-Der Spieler an die Position "gebeamt" wird

oder?
 
Ich weiß nicht, ob das geht, aber, wenn du auf den/die Pfeile ein Script legst, dass dafür sorgt, dass beim Aufprall dort ein Marker gesetzt wird, dann müsste es gehen. Wie man das anstellt, weiß ich aber nicht, wenns geht.
 
Das Teleportieren ist hier nicht das Problem... das Problem ist die Abfrage, wann der Pfeil den boden berührt. Und das klnigt nach einem typsichen OBSE-befehl.
 
1.frage: Wie kann ein NPC per script zu einen anderen NPC gehen der sich in einem Haus befindet (in der Nähe)?
2.frage: Wie kann ich einen Countdown erstellen der dann oben in der Leiste angezeigt wird und wie mach ich danach das die leiste wieder weg geht?

mfg Alpha80SG1
 
Zur 1. Frage: Das hat was mit Packages zu tun.
In dem Fall könntest du zum Beispiel das Wander-Package benutzen. Hier wird das genauer erklärt. >Klick<

Zur 2. Frage: Am besten verrätst du noch, unter welcher Bedingung der Countdown beginnen soll. Questerfüllung, Aufheben eines Gegenstandes, das Betreten einer Cell?

MfG Gildur
 
Zur 1. Frage: Das hat was mit Packages zu tun.
In dem Fall könntest du zum Beispiel das Wander-Package benutzen. Hier wird das genauer erklärt. >Klick<

Zur 2. Frage: Am besten verrätst du noch, unter welcher Bedingung der Countdown beginnen soll. Questerfüllung, Aufheben eines Gegenstandes, das Betreten einer Cell?

MfG Gildur

ein mann rennt in eine Cell ( Haus, siehe frage.1) und man muss einen umweg in das Haus nehmen und ihn in einem bestimmten Zeitlimmit töten bevor die verstärkung kommt.(der Mann die Cell dann, nicht mehr verlassen sondern den Player angreifen.Sobalt der player drine ist ^^.) 'Der Countdown beginnt sobalt der Mann eine QuestStage erreicht hat (setStage)'

mfg Alpha80sg1
 
Zuletzt bearbeitet:
Ich versuche mal aus deinem sehr verwirrtem Post herauszufiltern, was du eigentlich willst:

Eine QuestStage beginnt, der Mann rennt in eine Cell und du musst hinterher und ihn töten. Der Countdown beginnt beim Setzen der QuestStage bis.... du ihn getötet hast, oder? Wen ndem so ist, hier der (Quest-)Script:
Code:
scn QuestSCRIPT

float timer
short doonce

Begin GameMode
If GetStage [QuestID] == [HöheDerGesetztenStage,WennDerCountdownBeginnt] && doonce == 0
set timer to 60 ;Zeit zum Töten der Zielperson in Sekunden, nach belieben ändern
set doonce to 1
Endif

If doonce == 1

If timer > 0
set timer to timer - getsecondspassed
message "Ihr habt nur noch %.0f Zeit!" timer
Elseif timer <= 0
;Hier all das rein, was passieren soll, wenn man es nicht schafft.
Endif

If [ZielpersonREF].getdead
set doonce to 2
Endif

Endif

End

Das mit dem Laufen in die Cell... ich denke, das schaffst du mit dem verlinkten Tut.

MfG Gildur
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Alpha80SG1
Ich bins nochmal mit meinem Doppelgänger Script :D ich habe nochmal neu angefangen. Nur gibt es da ein paar Probleme: Wenn ich den Zauber öfter wirke dann folgen mir nicht alle sondern nur einer, sie Greifen mich sogar an wenn ich zu lange bei ihnen stehe, der eine verteidigt mich nicht.

- wenn ich den Zauber 2 mal oder öfter wirke folgt mir immer nur der zuletzt erschaffene, wenn der andere nun stirbt verschwindet er auch nicht
- der Doppelgänger verteidigt mich nicht
- sie greifen mich nach einiger Zeit sogar an o_O


Also hier ist der Script:

scn aaDoppelgaengerScript

ref clone
short clonehealth
short doonce
short cloneexists

Begin ScriptEffectStart
set doOnce to 0
End

Begin Scripteffectupdate

if (doonce == 0)
set clone to player.CreateFullActorCopy
set clonehealth to Player.GetBaseActorValue health / 4
clone.DuplicateNPCStats player
clone.SetActorValue health clonehealth
set clonehealth to 1
set cloneexists to 1
set doonce to 1
endif

if (doonce == 1) && (clonehealth == 1)
clone.SetActorFullName "Kage-Bunshin"
clone.ModActorValue Aggression 30
clone.ModActorValue Confidence 90
clone.ModActorValue Energy 90
clone.ModActorValue Responsibility 50
clone.AddScriptPackage aaDoppelGaengerFollow
SetIgnoreFriendlyHits clone
endif

if (clone.GetDead == 1)
clone.Disable
set cloneexists to 0
endif

End

Begin ScriptEffectFinish
End

Der Doppelgänger soll mich wie gesagt beschützen und mir brav hinterherlaufen.
Ich hoffe ihr findet die Fehler :)

MfG
Festos
 
...und schon wieder eine Frage:

(wie ihr vielleicht merkt, ist bei mir wieder die Hochsaison im Scripten ausgebrochen)

Ich bräuchte einen Teleportscript:

-Buch wird dem Inventar hinzugefügt
-Wenn das Buch dann gelesen wird:
- Messagebox: bla bla bla , "ja", "nein"
- bei ja: Teleportation zu X-Marker
- bei nein: nichts passiert; die messagebox wird geschlossen

wäre das möglich?
 
Code:
Scn TeleportScript

short button

begin OnActivate
Messagebox "Wollt ihr Teleportiert werden?", "Ja", "Nein"
activate
end

begin GameMode
set button to GetButtonPressed
if button == 1
player.moveto "Ref-ID des Markers"
elseif button == 2
{Wie hier der Befehl für "Schließen" aussehen muss, weiß ich nicht:? Vielleicht gehts einfach mit "close" oder wenn du den elseif-Teil weglässt.}
endif
end

Je nach Bedarf kannst du noch ein doonce einbauen.
 
Ich glaub da muss kein Befehl mehr hin. Wenn man das mit dem zweiten Button weglässt dann kann man auf nein drücken und die messagebox geht weg
 
{Wie hier der Befehl für "Schließen" aussehen muss, weiß ich nicht:? Vielleicht gehts einfach mit "close" oder wenn du den elseif-Teil weglässt.}

einfach button wieder zurücksetzten. ^^

Allerdings ist deine Abfrage falsch, Getbuttonpressed gibt für den ersten button den wert 0, für den 2. den wert 1 usw. aus.
Falls Button noch nicht bestimmt wurde wird er -1.

Code:
[...]
set button to GetButtonPressed + 1
if button == 1
set button to 0
player.moveto "Ref-ID des Markers"
elseif button != 0
set button to 0
endif
end
 
Zuletzt bearbeitet:
das liegt denkichma darann das mehr leute was zum prob von Akashas was wussten als zu deinem ,

PS: hast du irgendwo eingestellt das die typen angreifen und wenn ja WEN sie angreifen solln ^^ ???

PPS: ich kenn mich damit GARNICHT aus ^^ , is nur sone idee
 
Also Calcho, zuerst natürlich: es steckt keine böse Absicht dahinter, dass zu deinem Problem eine Weile nichts geschrieben wurde, es ist eher so, wie Oblivionzocker es geschrieben hat ;)

Also, zu deinem Script: dass sie sich nicht untereinander/den Spieler angreifen würde ich eine Faction erstellen, die mit "playerFaction" sowie untereinander mit einer "Interfaction Relation" von 100 "ausgestattet ist".

Dann eine kleine Frage: Soll es möglich sein, mehrere Doppelgänger zu beschwören? Falls nein würde ich in einer Quest die refVariable festlegen und das Script etwas modifizieren:

Code:
scn aaDoppelgaengerScript

short clonehealth
short cloneexists
ref CloneRef

Begin ScriptEffectStart
     if (QuestID.doonce == 0)
          set QuestID.doonce to 1
     elseif (QuestID.doonce != 0)
          set QuestID.doonce to 3
     endif
End

Begin ScriptEffectUpdate

          if (QuestID.doonce == 1)
                   set QuestID.clone to player.CreateFullActorCopy
          set CloneRef to QuestID.Clone
                   set clonehealth to Player.GetBaseActorValue health / 4
                   clone.DuplicateNPCStats player
                   clone.SetActorValue health clonehealth        
                   set clonehealth to 1
                   set cloneexists to 1
                   set QuestID.doonce to 2
     elseif (QuestID.doonce == 3)
          set CloneRef to QuestID.Clone
          CloneRef.kill
          endif

          if (QuestID.doonce == 2) && (clonehealth == 1)
          Clone.SetActorFullName "Kage-Bunshin"
          Clone.ModActorValue Aggression 30
                   Clone.ModActorValue Confidence 90
                   Clone.ModActorValue Energy 90
                   Clone.ModActorValue Responsibility 50
                   Clone.AddScriptPackage aaDoppelGaengerFollow
                   SetIgnoreFriendlyHits clone
          endif

end
Und um das mit dem Tod festzulegen würde ich noch in das Questscript einen kleinen GameMode-Block einbauen

Code:
scn QuestScript

ref Clone
short doonce

Begin GameMode
     if (Clone.getdead == 1)
          Clone.disable
          set Clone to 0
          set doonce to 0
     endif
end

/Edit: Mist, hab mir gerade nochmal dein ursprüngliches Problem durchgelesen undd festgestellt, dass du es anscheinend so beabsichtigst, dass man mehrere Klone erstellen kann... :/
ich muss mich dann wohl nochmal genauer damit befassen, um das Problem zu lösen...
 
Es funktioniert!

(wie immer)

Danke!

Zur Belohnung gibts einen Witz:

Ein Autofahrer wird angehalten:
Polizist: "Blasen Sie doch bitte mal in dieses Tütchen."
Autofahrer: "Aber...aber ich hab wirklich nichts getrunken..."
Polizist: "Das kann ja sein, aber die Pommes sind zu heiß!" :-D