Construction Set Skriptthread zum Construction Set

Hi,
ich hätte da mal eine Frage:
Gibt es eine Möglichkeit genau die Stelle mit einem X-Marker zu markieren, an der ein Projektil eines Zaubers aufschlägt?
Schon mal Danke im Voraus. :)
 
Das sollte mit Cast funktionieren. Syntax steht in dem link:)
Code:
[I]ZaubererID [/I]cast[I] ZauberID MarkerReferenceID[/I]
so ungefähr würde die Zeile dann aussehen. Allerdings kann der Zauberer nicht der Spieler sein.
lg
Dacri
 
Zuletzt bearbeitet:
@DaedraKing:
Auf den NPC:
Code:
scn name

Begin onDeath player

<Truhe-Ref>.addItem <Item-ID> 1
setStage <Quest-ID> <Stage>

end

@Hebrock:
Mit OBSE ist es leichter, ohne OBSE brauchst du da etwas mehr Skripting für und es funktioniert auch nicht so allgemein wie mit. Da ich keine Lust habe, das jetzt ausführlich zu erläutern verlinke ich einfach mal aufs CS-Wiki, wo das erklärt wird: KlickMich!
 
Ist egal. Man kann beides mit dem Trigger erfassen. Allerdings hat man das Problem, dass man die nicht unterscheiden kann. Das würde OBSE benötigen und wenn man das schon benutzt, kann man auch gleich einen anderen Ansatz über die Projektil-Funktionen verfolgen.
 
@blackHawk
Code:
ScriptName ...

doonce

Begin OnTrigger Player

if doonce == 0
   NPCRef.sayto player TopicID 1
   set doonce to 1
endif

end
Hast du es schon so versucht?
 
Ich kenne mich mit der Thematik nicht so aus, aber auf dem CS-Wiki-Artikel von SayTo sieht ein Standardskript ganz anders aus.

Code:
begin gamemode
	if timer > 0 
		set timer to timer - getsecondspassed
	elseif talk == 1
		set lastStage to CharacterGen.tauntStage
		set timer to SayTo player, CharGenTaunt2 1
		if getstage characterGen == 9
			set characterGen.convTimer to timer - .5
		endif
	endif
end
 
@ BlackHawk: Wenn du sayto verwendest, dann musst du die Dialoge im Reiter "Conversation" einfügen. Eine fehlende Vertonung sollte meines Wissens kein Problem sein, der Dialog wird dann eben nur zwei Sekunden angezeigt ;).
 
Welche Befehl muss ich verwenden, um die aktuelle Lebensenergie eines Actors um 25 zu erhöhen? hab im cs-wiki keinen passenden gefunden:huh:
 
Schlüssel

Hallo ich wollt fragen wie kann ich es ainstellen kann das nachdem ich mit einem Schlüssel z.B. eine Truhe geöfftent habe der Schlüssel aus dem Inventar entfernt würd.
 
Code:
scn scriptname

begin OnActivate
activate
player.removeitem schlüsselid 1
end

Zuerst öfnet das script mit Activate die Truhe/toot/whatever und dann wird der schlüssel entfernt.

Ansonsten gibts das im CS auch, z.B. da wo du ausm Knast ausbrichst, nachdem der Kaiser tot ist.

Du öffnest mit Baurus´s schlüssel das toor, dann isser weg...

LG
 
  • Like
Reaktionen: DaedraKing
Ich kenne mich mit der Thematik nicht so aus, aber auf dem CS-Wiki-Artikel von SayTo sieht ein Standardskript ganz anders aus.

Code:
begin gamemode
    if timer > 0 
        set timer to timer - getsecondspassed
    elseif talk == 1
        set lastStage to CharacterGen.tauntStage
        set timer to SayTo player, CharGenTaunt2 1
        if getstage characterGen == 9
            set characterGen.convTimer to timer - .5
        endif
    endif
end

Das soll ein Standartscript sein? Der bezieht sich ja auf eine Quest.

@Hebrock:

Das ist mir klar, aber es will dennoch nicht funktionieren.
 
Hi,
ich hab ein merkwürdiges Problem mit diesem Script unten. Es soll herausfinden, in welche Richtung der Spieler blickt, dazu sind verschiedene Marken in einem Raum verteilt, die nie alle gleichzeitig gesehen werden können.



Code:
scn AHebDirectionTest

short direction

Begin gameMode

if (player.getLos AHebScan3==0) && (player.getLos AHebScan4==0) && (player.getLos AHebScan7==0) && (player.getLos AHebScan8==0 )
		set direction to 6	
elseif (player.getLos AHebScan1==0) && (player.getLos AHebScan2==0) && (player.getLos AHebScan5==0) && (player.getLos AHebScan6==0 )
		set direction to 5	
elseif (player.getLos AHebScan2==0) && (player.getLos AHebScan3==0) && (player.getLos AHebScan6==0) && (player.getLos AHebScan7==0 )
		set direction to 1
elseif (player.getLos AHebScan1==0) && (player.getLos AHebScan2==0) && (player.getLos AHebScan3==0) && (player.getLos AHebScan4==0 )
		set direction to 3
elseif (player.getLos AHebScan5==0) && (player.getLos AHebScan6==0) && (player.getLos AHebScan7==0) && (player.getLos AHebScan8==0 )
		set direction to 4
elseif (player.getLos AHebScan1==0) && (player.getLos AHebScan4==0) && (player.getLos AHebScan5==0) && (player.getLos AHebScan8==0 )
		set direction to 2
					
else
set direction to 0
endif

end


Das Problem ist, dass es bis zum letzten elseif wunderbar funktioniert. Die Schlussfolgerung wäre jetzt, dass in der Zeile was faul ist. Wenn ich aber den letzte "Elseif-Block" nach oben verschiebe, dann funktioniert dieser zwar, aber wieder die unterste Zeile nicht. Je nach Anordnung, sind sogar manchmal die letzten beiden Elseif-Blöcke davon betroffen.
Hat jemand eine Idee, was da los sein könnte?
 
Zuletzt bearbeitet:
Hallo ich brauch mal wieder eure Hilfe. Und zwar brauch ich ein SKript das wenn ich die V-Taste drücke und zwar nur diese Taste gedrückt halte, dass um Spieler ein Activator ist in diesem fall eine Kugel und der Spieler in diesem Moment ein bestimmte Pose (such mir noch eine aus) macht und das 4 Punkte Magicka pro Sekunde aufgeladen werden. Hoffe dies ist möglich.


MFG
Sammael666