Construction Set Skriptthread zum Construction Set

Hi Leute,:) ich brauche ein Script für mein Pferdchen.:D Das Pferd ist in einem Seperaten WorldSpace und kann auch nicht durch Schnellreisen dort weg! Der WorldSpace ist sone Art großer Garten! Nun brauche ich ein Script falls das Pferd Sterben ;oder ich es irgendwo vergessen sollte , das es zum Stall bzw. zum X-Marker zurückkehrt! ;) Schonmal danke !!!

mfg Skoomadieb

Damit es nicht mehr sterben kann, könntest du es auf Essential stellen und so wird es dann nur Bewusstlos und steht später wieder auf.
Wenn du Essential nicht benutzt, kannst du folgendes Skript nutzen damit dein Pferd wiederbelebt wird sobald es stirbt.

Code:
scn ...

begin onDeath
Resurrect 1
end

So wird es automatisch nach dem Ableben wiederbelebt. :)


Dann kann man es noch ein wenig ausbauen.

Code:
scn ...

begin onDeath
moveto [Ref des X-Markers]
Resurrect 1
end

Nach dem Ableben wird es wiederbelebt und zurück zum Stall geschickt, also dieses Skript legst du schonmal auf dein Pferd, sofern Essential nicht benutzt wird. :)

Wenn du sicher gehen willst damit dein Pferd auch nicht verschwunden bleibt, wenn es mal verschwindet, kannst du noch einen Schalter erstellen und sobald du ihn betätigst wird dein Pferd sofort wieder in den Stall zurückgeschickt.

Code:
scn ...

short activated

begin onActivate
if activated == 0
[Ref des Pferdes].moveto [Ref des X-Markers]
playgroup forward 0
set activated to 1
else
[Ref des Pferdes].moveto [Ref des X-Markers]
playgrup backward 0
set activated to 0
endif
end

Dieses Skript kannst du auf deinen Schalter legen und dein Pferd müsste beim Aktivieren zurück in den Stall kommen. :)

Mfg Master of Worlds
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Skoomadieb
Danke Master of Worlds,das mit der Essential option habe ich mir auch schon überlegt. So braüchte ich nur über das Script zu regeln das daß Pferd nach ner Gewissen Zeit von alleine zum marker zurück geht bitte nicht telep. lassen!Villeicht so wie bei der Schattenstute. Könntest du mir villeicht ein solches Script schreiben???:oops: *liebguck* :)

mfg Skoomadieb
 
Zuletzt bearbeitet:
Du machst in der AI ein Wander Find Package und wählst als Ziel den Xmarker. Als Condition nimmst du eine Questvariable welche du nur noch hochsetzen musst wenn der Timer vorbei ist oder was weiß ich.

Ich brauch jetz uch nochma hilfe. Ich bin immer noch dabei zu versuchen den Player und einen NPC ne Animation abspielen zu lassen. Da Gildurs Script leider nicht geholfen hat, hab ich es nochmal komplett neu versucht.
Diesmal mit Delay weil ich damit abfrage wann der Player fertig mit der Ani ist.

Code:
Scriptname ZFinisherQuestScript

Short Done

;FinisherKey = 56 ; L-Alt

Ref PossibleTarget
Ref Target

Short Move

Begin GameMode
	If Delay != 0
		if(player.isIdlePlaying || player.isPowerAttacking || player.isCasting || player.isanimgroupplaying dodgeback || player.isAnimGroupPlaying dodgeForward)
			if(player.isAnimgroupPlaying blockAttack == 0 || iscontrolpressed 28 == 0)
				return
			endif
		else
			set delay to 0
		Endif
	Endif
	If IsKeyPressed2 56
		Message "Button press"
		Set PossibleTarget to GetCrosshairRef
			If PossibleTarget != 0
				If PossibleTarget.IsActor
					If PossibleTarget.IsCreature == 0
						If PossibleTarget.GetDead == 0
							Set Target to PossibleTarget
							Message "Target wurde bestimmt"
						Endif
					Endif
				Endif
			Endif
		If Target.GetDistance <= 10 && > 0
			Target.AddItem ZTFinisherRing 1
			Set Move to 1
			Player.PickIdle 1
			Target.Playgroup Idle 1
			Target.PickIdle 1
			Set Delay to 1
			DisablePlayerControl
			If Delay == 0
				Target.Kill
				Target.RemoveItem ZTFinisherRing 1
				Set Move to 0
			Endif
		Endif
	Endif
End

Die MessageBoxen hab ich nur als Überprüfung genommen. Es hakt aber schon bei der ersten. Sowie ich den Knopf drücke (L-Alt) passiert nichts. Wenn ich ihn dann 10 mal drücke kommt die MessageBox und dann nie wieder -.-

Vllt wisst ihr ja wies geht ich verzweifel hier langsam...
 
Wäre dann so etwas:
Code:
scn blabla

Begin OnActivate
 if blabla
  player.additem blabla
 endif
end
Variablen und ähnliches muss noch eingesetzt werden. Bin zu müde, um jetzt noch rauszusuchen, wie man feststellen kann, wie viel der Spieler von einem Item im Inventar hat. Aber das müsste bei der if-Abfrage hin und bei player.additem müsste die Id des Gegenstandes hin, den der Spieler bekommen soll.


hinter die id des Gegenstandes bei additem muss noch die zahl hin wie oft der gegenstand geaddet werdden soll ;). Also
Code:
scn blabla

Begin OnActivate
 if blabla
  player.additem blabla 1
 endif
end
sonst ist galub ich alles richtig :)
 
Geht das: Etwas nach einer bestimmten funktion einfügen? Genauere Erklärung: Spieler drückt einen Schalter, und ein gegenstand der vorher noch nicht da war befindet sich nun irgendwo auf der gewünschten stelle.

Ich hab da mal was von Initally Disabled gehört kann mir wer helfen?

Danke im Vorraus

Euer Fluffy
 
Damit es nicht mehr sterben kann, könntest du es auf ........

Code:
scn ...

short activated

begin onActivate
if activated == 0
[Ref des Pferdes].moveto [Ref des X-Markers]
playgroup forward 0
set activated to 1
else
[Ref des Pferdes].moveto [Ref des X-Markers]
playgrup backward 0
set activated to 0
endif
end

Dieses Skript kannst du auf deinen Schalter legen und dein Pferd müsste beim Aktivieren zurück in den Stall kommen. :)

Mfg Master of Worlds

Super Lösung. Und wie müsste es aussehen wenn das Pferd nicht zum Stall sondern zum Player kommen soll? Ich stelle mir das wie eine Art Ruf vor. Könnte man dann auf eine Tierpfeife legen.
 
@ jimmartens

Nein der spieler soll DURCH einen zauber einen xmarker auf die landkarte setzten. sobald er den zauber jedoch wieder verwändet verschwindet der alte xamrker und wird durch den neuen ersetzt
 
Ich Poste mein Problem nochmal.
Vielleicht kann mir jemand helfen

Geht das: Etwas nach einer bestimmten funktion einfügen? Genauere Erklärung: Spieler drückt einen Schalter, und ein gegenstand der vorher noch nicht da war befindet sich nun irgendwo auf der gewünschten stelle.

Ich hab da mal was von Initally Disabled gehört kann mir wer helfen?


PS: Wenn ich initially Disabled anmache dann sieht man diesen gegenstand jedoch! ;( Kann mir wer sagen was ich Falsch mache?


Danke im Vorraus

Euer Fluffy
 
hab eine Frage und zwar:
Ich habe ein Script bei dem alles Funktioniert doch am ende des Timers soll ein NPC "enable" geschaltet werden und eine Konversation gestartet werden, doch den NPC gibt es in 11 Varianten die Level variierend sind. (5,12,15,18,20,25,30,35,40,45,50) und soll auch bei dem entsprechenden level des Cahrs erscheinen und eine Konversation mit imh Starten, d.h wenn der Char level 9 ist soll der NPC level 5 kommen und Konversation gestartet werden ist der char 22 soll der NPC level 20 kommen und konversation gestartet werden und so weiter.
Hier das Script:

Code:
scn FNToronalPumpDes

float timer
short doonce

begin OnActivate

if doonce == 0
disableplayercontrols
FNToronalBridgeGigGateWay.playgroup backward 1
FNToronalPumpFor01.playgroup forward 1
FNToronalTank01.playgroup forward 1
FNToronalTank02.playgroup forward 1
FNToronalTank03.playgroup forward 1
set timer to 7
set doonce to 1
endif

End

begin GameMode

	if doonce == 0
		return

	endif

	if timer >= 0 && doonce == 1
		set timer to timer - getSecondsPassed

	endif

	if timer <= 0
         setStage FNHQ04 20
         enableplayercontrols
         FNtoronalCollisionBoxNoWay.enable
     endif

End


Mfg Yves
 
Ich Poste mein Problem nochmal.
Vielleicht kann mir jemand helfen

Geht das: Etwas nach einer bestimmten funktion einfügen? Genauere Erklärung: Spieler drückt einen Schalter, und ein gegenstand der vorher noch nicht da war befindet sich nun irgendwo auf der gewünschten stelle.

Ich hab da mal was von Initally Disabled gehört kann mir wer helfen?


PS: Wenn ich initially Disabled anmache dann sieht man diesen gegenstand jedoch! ;( Kann mir wer sagen was ich Falsch mache?


Danke im Vorraus

Euer Fluffy

Meinst du, dass du ihn im CS siehst oder im Spiel?
Im CS sieht man alle Gegenstände, auch die mit Initially Disabled.
 
hey hab noch ne frage.

hab ein script begonnen mit "Begin onDead Player" danach kommt ne message box, oder sollte kommen. Dem is aber nicht so; nachdem der spieler gestorben ist kommt wie gehabt das Lade fenster. warum ??
 
Hi, ich suche einen Scriptbefehl mit der die Editor ID des jeweiligen NPC der das Objekt benutzen will herausfindet und an seiner Stelle einfügt.

Vorgeschichte:)lol:):ich brauche ne Tür die für Wachen unzugänglich ist. Das mit dem für Wachen unzugänglich habe ich mit nem Scriptbefehl schon hinbekommen. Nun sollen aber alle anderen NPCs und auch ich hineinkommen.
Das bisherige Script:
scriptname KeineWachekommthierdurch
Begin OnActivate
If GetIsClass Guard == 1
return
else
moveto Markeroutcoming
endif
end
Im Script wird, da ich es auf die Tür gelegt habe, die Tür zum Marker mit der Editor ID "Markeroutcoming" bewegt. Anstatt der Tür soll nun aber der jeweilige NPC der sie benutzt dorthin teleportiert werden.

Ich hoffe ich hab mich nicht zu kompliziert ausgedrückt und verständlich, ist nicht ganz einfach nachzuvollziehen.

MfG Magger
 
Begin OnDeath Player muss es heissen, oder vertu ich mich da? Mich wundert dass keine Fehlermeldung kommt.
OnDeath Player ist ein Tod, der durch den Spieler herbeigeführt wurde (also wenn dir irgendein Bürger ins Ebenerzschwert rennt :D). Er hat schon recht mit OnDead, aber ich glaube das ist hardcoded und somit nicht änderbar.
 
ja aber bei der mod "der Senseman" hat der Modder es auch i-wie hibekommen nach dem ableben des players in wiederzubeleben indem der seneman auftaucht und ein paar worte an dich richtet von wegen du solltest vorsichtiger sein :D danach steht man auf einen hügel ohne seine Kleidung, was ich persönlich blöde finde. aber dafon haben wir es ja garnicht ^^
 
eine tür schließt du mit dem befehlt "Lock" dahinter kommt dann noch eine zahl von 1 - 100 glaub ich wars :roll: ^^ das gibt dann den wert an wie gut sie verschlossen seien soll aber ich glaub du willst wohl er das niemand hineinkommt auch mit diedrich. also nur lock dann ist sie unmöglich aufzubekommen. Mit dem befehl "Unlock" wird sie wieder geöffnet.

für die zeit hat ich auch mal was im kopf aber da müsst ich jetzt selbst wieder danach suchen. sorry.