Construction Set Skriptthread zum Construction Set

Ich brauche auch mal wieder etwas Hilfe.

Ich habe einen Skriptzauber erstellt und 30 Sekunden nachdem man diesen Zauber gewirkt hat, soll ein weiterer Skriptzauber auf den Spieler gezaubert werden.
Leider funktioniert das einfach nicht.

Code:
scn MoWsGhostDefend

Float Timer
Short Act 

Begin GameMode
	Set Timer to 30
	Set Act to 1
End

Begin GameMode
	If Act == 1
		SetGhost 1
		Set Timer to Timer - GetSecondsPassed
			If Timer == 0
				player.Cast MoWsGhostEffectlater player
			EndIf
	EndIf
End

Der zweite Zauber soll auf den Spieler gezaubert werden egal wo er sich befindet, leider merke ich nichteinmal ob der Timer richtig funktioniert.

Mfg Master of Worlds

Ich habe mein Skript nochmal komplett überarbeitet und es funktioniert nun. Also hat es sich somit erledigt. :yeah:

Mfg Master of Worlds
 
@ Yves
Probier es doch mal so:

Code:
Scriptname Script

Short Button
Short Exit

Begin OnActivate
    If IsActionRef Player
        Set Exit to 1
        MessageBox "Wollt ihr wirklich durch diese Tür?", "Ja", "Nein"
    Endif
End

Begin GameMode
    If Exit == 1
        Set Button to GetButtonPressed
        If Button == 0
            Player.Activate
        Else      
            Set Exit to 0
        Endif
    Endif
End

EDIT: Tipp: Hier wird so eine Art Script behandelt.
 
Zuletzt bearbeitet:
danke werd gleich Testen aber vorher muss ich ein anderes Prob lösen und zwar das:
Code:
scn FNHQTriggerboxQuestStages0120

short trigger

Begin onTrigger player

     if trigger == 0 && setStage FNHQ01 20
          FNGatetoFNAniamtion01.playGroup unequip 1
          set trigger to 1
     endif

End
Das soll Type Quest sein.
Hier einmal der Fehler:
Code:
---------------------------
Script Error
---------------------------
Script 'FNHQTriggerboxQuestStages0120', line 5:
Invalid block type for quest script.
---------------------------
OK   
---------------------------

Mfg yves
 
Ich denk mal, dass du keinen onTrigger Block, also den "Invalid Block Type" in deinem Script, auf eine Quest legen kannst. Denn zum triggern, brauchst du ein Objekt, auf welches das Script wirkt und mit dem der Player agieren kann.

Dein Script würde, so wie ich das sehe, auf eine Triggerbox gelegt, mehr Sinn machen. Also auch bei Type "Object" einstellen.
 
Ich habe es schon mal gepostet, da ihr gute Tips aber anscheinend gerne überseht, hier nochmal die Antwort. Die Syntax für den Activate-Befehl ist anders.
Code:
Scriptname Script

Short Button
Short Exit
ref myself

Begin OnActivate
      If IsActionRef Player
	Set Exit to 1
	set myself to getself
	Set Button to GetButtonPressed
	MessageBox "Wollt ihr wirklich durch diese Tür?", "Ja", "Nein"
      Endif
End

Begin GameMode
	If Exit
			Set Button to GetButtonPressed
		Elseif Button == 0
			myself.Activate Player
		Else
			Set Exit to 0
		Endif
	Endif
End
Ob man getself hier braucht, weiß ich nicht. Schaden tut es aber auch nicht.

Gildur
 
Hi. Ich hab ein paar fragen.

1.Kann man per skript das auf einer Waffe liegen soll mitzählen wie viele gegner, npcs, usw. man mit dieser waffe gekillt hat?

2.Kann man einen effekt per skript erstellen der ähnlich funzt wie seelenfalle, nur das die energie direkt in die waffe geht und nicht erst in einen seelenstein?

3.Kann man per skript die Verzauberung einer waffe ausser kraft setzen, also nicht löschen sondern nur blockkieren und dann per skript das auf einem zauber liegt wieder aktivieren?

Das wars erstma. Wäre echt schön wenn ihr mir helfen könntet
 
Zu 2) Das wäre mal eine gute Idee, dann muss man nicht immer Seelensteine mitschleppen, es gibt bloß nicht so viele Waffen mit Seelenfallenzauber, von Umbra mal abgesehen kenne ich keine.

Zu 3) Nimm einfach zwei Waffen mit.
 
Ich hoffe, man nimmt mir den Doppelpost nicht übel, aber es ist ja auch ein anderes Thema...
Ist es möglich par Script einen Zellreset zu erzwingen, sodass man nicht unbedingt die 3 Ingame-Tage abwarten muss?
 
Scriptanfrage

Hi Leute,
ich würde auch ein Script benötigen. Die ersten 25 Seiten habe ich gelesen und leider nicht gefunden was ich suche.
Was soll das Script bewirken:
Wenn man seinen Spielstand geladen hat, soll es eine Quest mit Tagebucheintrag starten.
Ich bedanke mich für Antworten.
mfg.
Bernd009
 
@Diarrhoe:
Resetinterior sollte da klappen,allerdings darf der Player nicht in der Zelle sein wenn das passiert!

@Bernd009

Code:
scn [Skriptname]

short doonce

begin gamemode
if doonce == 0
setstage [QuestID] [Stage]
set doonce to 1
endif 
end
 
  • Like
Reaktionen: Bernd009
1.Kann man per skript das auf einer Waffe liegen soll mitzählen wie viele gegner, npcs, usw. man mit dieser waffe gekillt hat?

Ich kann dir eine Idee dazu geben,die Befehle fehlen mir gerade teilweise.

Also, du brauchst eine Variable, die sich immer um eins erhöht, wenn man mit der Waffe jemanden tötet. Das Script sollte im Prinzip auf die Waffe, sollte aber auch als Questscript möglich sein.

Wenn man mit der Waffe schlägt, wird dem Ziel eine Ref zugeordnet und man fragt ab, ob die Ref stirbt (GetDead).

Sollte dies der Fall sein, dann halt " set [Variable] to [Variable] + 1 ".

Dann kannst du beispielsweise noch über einen OnEquip-Block eine Nachricht ausgeben lassen, wie viele du getötet hast.

Genauer kann ich es dir gerade nicht sagen:(
 
Code:
scn SEDuskfangSpellEffectScript

ref Target
ref self

short KillingBlow

begin ScriptEffectStart

	set KillingBlow to 0
	set target to GetSelf
	set self to GetSelf

end

begin ScriptEffectUpdate

	if ( KillingBlow == 0 )
		if ( Target.GetDead == 1 )
			if ( SESwordDuskfangKills < 1 )
				Set SESwordDuskfangKills to ( SESwordDuskfangKills + 1 )
				Message "Abendzahn hat %.0f Leben ausgelöscht.", SESwordDuskfangKills
				Set KillingBlow to 1
			elseif ( SESwordDuskfangKills >= 1 ) && ( SESwordDuskfangKills < 11 )
				Set SESwordDuskfangKills to ( SESwordDuskfangKills + 1 )
				Message "Abendzahn hat %.0f Leben ausgelöscht.", SESwordDuskfangKills
				Set KillingBlow to 1
			elseif ( SESwordDuskfangKills == 11 )
				Set SESwordDuskfangKills to ( SESwordDuskfangKills + 1 )
				Message "Abendzahns Blutdurst wurde gestillt."
				Set KillingBlow to 1
			elseif ( SESwordDuskfangKills >= 12 )
				Set KillingBlow to 1
			endif
		endif
	endif

end
So wirds bei SI geregelt ;)
 
Also etwa so, wie ich das gedacht habe.

Müsste noch etwas umgeändert werden, damit das auch richtig hochgezählt wird.
Bei dem Schwert gibt es ja nur ein paar Stufen sowie zwei Versionen.

Mal sehen, vielleicht mache ich da gleich mal einen Versuch zu.
 
Wow danke. Werde es testen^^.

@Diarrhoe: Zu erstens war das ja auch für eine waffe gedacht und diese soll natürlich eine neue sein. Zu zweitens, ist ne böse gemeint, aber ich weis net genau ob das dein ernst ist. Das ist natürlich nicht die lösung die ich brauche. Ich hab das so vor, das das schwert die verzauberung hat, aber diese aus ist, also nicht funktioniert. Dann will ich per spell diesen aktivieren, aber nur für eine benutzung. Ich hätte da auch schon eine idee wie das einfach wäre. Kann man die Verzauberungsladung per spell aufladen? Dann mach ich einfach ne ladung von sagen wir mal 1000 der spell auf der waffe braucht genau diese menge und der spell lädt um 1000 auf. aber wie?
 
ich hab auch noch mal ne Frage:
man kann ja per addtopic topics einem NPC hinzufügen. aber kann man diese auch wieder entfernen?
 
Stell uner Conditions ein das das Topic nur kommen soll wen man den Quest hat also mit "GetStage" so wird das wenn man nicht mehr den einen Tagebucheintrag hat sondern einen weiter,das Topic automatisch nicht mehr angezeigt.
Mfg yves
 
  • Like
Reaktionen: Patta93