Construction Set Skriptthread zum Construction Set

Ich muss nochmal nerven. Seit drei Tagen zerbrech ich mir den Kopf über folgendes Problem. Ich möchte einen NPC dazu bringen, sobald eine bestimmte Quest Stage erreicht ist und der Spieler eine bestimmte Zelle betritt, den Spieler mit einem ganz bestimmten Greeting anzusprechen. Ich hab schon zig Varianten ausprobiert, ich glaub in den letzten Tagen hab ich Oblivion so oft an und aus gemacht wie in der ganzen Zeit zuvor...ich möchte außerdem, dass der NPC auf den Spieler zu rennt. Also nutze ich eine Find Package mit Always Run und dem Target Player. Das Script auf dem NPC sieht momentan ungefähr so aus:

Code:
Scn Ansprechen
If GetStage [Quest1] >= 120 && Player.GetInCell [Cell]
    AddScriptPackage FindPlayer
    EVP FindPlayer
EndIf

If GetStage [Quest2] >= 10
    RemoveScriptPackage FindPlayer
EndIf

End

Momentan klappt es garnicht. Der NPC kommt nicht auf mich zu und wenn ich ihn anspreche sagt er auch nichts. Die Themen sind aber in seiner Dialog Box vorhanden und die Conditions stimmen auch. Ein Greeting muss ich ja auch noch extra hinzufügen. Ich hatte ihn mittels StartConversation schon soweit, dass er auf mich zukommt jedoch nur im normalen gehen und nicht im Rennen. Hat einer von euch vielleicht einen Tip?
 
Du hast ja gar keine Begin-End-Blöcke :eek:

Ich würds so machen.
Du sagst, dass es beim Zelleneintritt passieren soll.

Mach einfach ne TriggerBox.
Darauf dann der Script hier.

Code:
scn ...

short Triggered

Begin onTrigger player

 If Triggered == 0
  If (getStage QuestID >= QuestStufe)

   NPC-Referenz.StartConversation player
   Set Triggered to 1

 Else
   Return
  Endif
Else
 Return
Endif
End
 
  • Like
Reaktionen: General von Cyrodiil
Oh sorry, die hab ich nur jetzt vergessen. Im richtigen sind sie natürlich drin. In dem Fall wär es kein Wunder.:lol:
Danke erstmal für deinen Vorschlag!
Momentan sieht mein Script so aus(die Abfrage nach dem einen Quest hab ich erstmal noch rausgelassen):

Code:
Scn Ansprechen
Short DoOnce

Begin Game Mode

If ( DoOnce == 0 ) && ( Player.GetInCell [Cell] )
    StartConversation Player
    Set DoOnce to 1
Endif

End

Funktioniert: NPC kommt auf mich zu wenn ich Zelle betrete und beginnt Gespräch

Funktioniert nicht: 1. rennt nicht
2. sagt nur Standartbegrüßung(habe auch schon ein neues Thema erstellt und dieses per Script hinzugefügt, in dem Fall sagt er jedoch "Ich habe nichts zu sagen")
 
1. Ist beim aktuellen Topic des NPCs ein Haken bei irgendwas mit "run"?
2. "GamMode" wird zusammengeschrieben.
3. "GetInCell" kannst du weglassen, da das Skript des NPCs eh nur ausgeführt wird, wenn der Spieler sich in seiner Zelle befindet.
 
Hallo, ich brauche ein Script das auf ein activator gelegt wird. Das bewirkt: 1. Eine Messagebox auslöst. 2. das eine Fertigkeit erhöht. Alles passiert aber nur einmal beim weiteren aktivieren passiert nichts. (bitte ganzen Script, danke)
 
Ja GameMode hab ich nur aus Versehen getrennt geschrieben. Also die Topic ID bringt auch nichts, hab es bereits mit Greeting und einem extra neu erstellten Topic ausprobiert. Bei Greeting sagt er wie gesagt nur Standarttext, beim neuen Topic nur "Ich habe nichts zu sagen". Beim Thema ist auch nix mit Run angehakt und wenn ich es mache macht es auch keinen Unterschied...echt merkwürdig das ganze...
 
Habe auch eine Frage:

Ich habe ein paar NSCs irgendwo tot hingelegt (Leben, Ausdauer + Magicka auf 0).

Was müsste ich fürn Script schreiben, damit sie beim Triggern wieder auferstehen? Also damit sie "richtige" Gegner sind?
 
Ich bin jetzt kein scripter oder sowas, aber die meisten consolenbefehlre sind doch scripte oder? Vielleicht gehts ja dann mit etwas in der art
Code:
Begin OnTrigger
Resurrect REF
end
Ist noch lange nicht fertig, aber wie gesagt, ich bin keins cripter. ist mir nur so grade in den kopf gekommen, dass es funktionieren könnte und ich will auch mal antworten und ned immer nur doof fragen.
LG
 
  • Like
Reaktionen: TheDarkRuler
Resurrect würde aber nicht auf die 0-Werte wirken.
Egal, habs jetzt umgangen.

Doch ein Problem hab ich noch:
Womit bekommt man die Referenz von dem raus, was durch eine TriggerZone stapft?
 
@DR Das sollte eigentlich mit GetActionRef funktionieren.

Zu deinem anderen Problem mit, das könnte man über die Ausdauer machen. Glaub bei der Leichengrube in SI bei dieser Hexerin die den Torwächter erschaffen hat wurde das so gemacht.
 
  • Like
Reaktionen: TheDarkRuler
Ja GameMode hab ich nur aus Versehen getrennt geschrieben. Also die Topic ID bringt auch nichts, hab es bereits mit Greeting und einem extra neu erstellten Topic ausprobiert. Bei Greeting sagt er wie gesagt nur Standarttext, beim neuen Topic nur "Ich habe nichts zu sagen". Beim Thema ist auch nix mit Run angehakt und wenn ich es mache macht es auch keinen Unterschied...echt merkwürdig das ganze...

Arghh! Ich meinte natürlich beim aktuellen Package.

Zum Topic... hast du vielleicht irgendwelche Bedingungen für das Topic nicht erfüllt?
 
will hier mal kurz dazwischen fragen:
Kann mir jemand erklären, wie ich einen Script(Zauber)mache mit dem sich der SPieler ein Tier (nicht Bär, ich weis des gibts schon) zb. einen Wolf beschwören kann? Um das ganze noch zu verkompliezieren;)sollte der Wolf aber nicht wieder verschwinden, sondern stadtdessen dem spieler solange folgen, bis er stirbt. geht das mit einem zauber, oder ist es da klüger, einen Wolf irgendwo hin zu plazieren und summonable zu machen? und wenn, wie sürde das dann gehen?
 
Zuletzt bearbeitet:
Schon wieder Ich^^

hat jemand eine Idee weshalb dieses Script nicht fuktioniert:

Code:
Begin GameMode

set teleporter to 1
                set button to GetButtonPressed
set cost to 1

elseif button == 0 && teleporter == 1 && cost == 1
     messagebox "Reisen nach Skingrad kostet 100 Septim!" , "Ja" , "Nein"
elseif button == 0 && teleporter == 1 && cost == 1 && player.getitemcount 0000000F <= 100
     player.removeitem 0000000F 100
     player.moveto aaaSkingradMarker01

elseif button == 1 && teleporter == 1 && cost == 1
     set teleporter to -1
elseif button == 0 && teleporter == 1 && cost == 1 && player.getitemcount 0000000F > 100
     messagebox "Ihr habt nicht genug Geld!" , "Ok"
elseif button == 0 && teleporter == 1 && cost == 1
      set teleporter to -1
Das Script geht noch weiter weswegen der begin/end block nicht vollständig ist^^
 
Sry mein vorheriger post war 2 mal drin und ich bekomm ihn seltsamer weise nicht gelöscht :?
 
Zuletzt bearbeitet:
Hi, ich brauche einen Script, für ein Buch! nachdem man es gelesen hat, wird man zu einem x Marker teleportiert und bekommt etwas Feuerschaden ab, nur wegen dem Effekt deshalb nicht sehr viel man soll nicht sterben.
is das möglich, dass man den Feuerschaden abbekommt, kurz bevor man teleportiert wird und nochmal wenn man da ist?

g Käse