Construction Set Skriptthread zum Construction Set

Hi, ich habe eine Frage, die weniger einen Script, als einen Befehl betrifft. Und zwar wolte ich mal ganz genau wissen, was jetzt "GetSecondsPassed" bedeutet. Ich weiß zwar wo man es richtig einsetzt und benutzt, doch habe ich keine Ahnung, was es jetzt eigentlich bewirkt.:ugly:

@ XaserIII: Ich würde es so machen, dass man einen Timer benutzt und einen Zufallsgenerator, der die eine zufällige Zahl ausgibt. Ich habe den Script schon im Kopf. Kannst du noch ungefair eine zeitspanne nennen? Also minimum und Maximum der Zeit, in der der Kristall den Blitz (Cast) abfeuert?
 
Zuletzt bearbeitet:
Dann müsste es so klappen. Wenn nicht, dann... eben nicht ;)

Code:
scn UnvorhersehbareAttacke

float timer
short Zeitsetzer

Begin Gamemode

If Zeitsetzer == 0
Set Zeitsetzer to 20 + 0.60 * getRandomPercant
Endif

if timer != Zeitsetzer
set timer to timer + getsecondspassed
elseif timer == Zeitsetzer
[Die Kristall-ID].cast [Die Blitzzauber-ID] [Der NPC]
set Zeitsetzer to 0
set timer to 1
endif 

End

Mfg Gildur

Edit: Ich habe eben noch den Script geändert, jetzt sind es 19 - 59 Sekunden, aber ich hoffe, das ist nicht so schlimm (vorrausgesetzt er klappt^^)
 
Zuletzt bearbeitet:
sieht gut aus.. aber muss vor die 20 nich auch noch ne 0. ? weil die 60 Secuden ahben doch auch eine davor..

und die Kristall ID ahbe ich auch weggeamcht, weil er das nicht als gamemode Command erkannte.. ich lege das script dan auf den Kristall.

außerdem kennt er "getRandomPercant" net
 
Zuletzt bearbeitet:
Oh, sorry. Das a am Schluss war falsch. :oops:
Das müsste demnach so lauten:
GetRandomPercent^^
(Natürlich ohne ^^) ;)
:sorry:
 
NP^^ich muss mich überhaupt bie dir für das Scirpt bedanken^^

aber eine sache noch.. selbst dann sagt der Invilied Objeckt Id bei:
cast, 00ahenzauber, 00ahnengeist
 
Ja, du musst für den Geist eine reference einrichten.
Ich dekne, du weißt wie das geht :p
Du nennst die Reference des Geistes zB. IchHabDich
Und im Script musst du die Reference im Script auch auch IchHabDich umändern
---------------------------------------------------------------------------------------
Im Script würde das dann so ausssehen:
Cast 00ahenzauber IchHabDich
 
Zuletzt bearbeitet:
hm. ok er kanns jetzt speichern, funktionieren tuts aber trozdem net... hm.. vill. liegs an der 20, das es net 0.20 is?
 
Ich denke, dass der GetRandomPercent-Befehl stimmt.
Wenn du möchtest, kannst du dich noch ein bisschen informieren.
Aber an der 20 liegt es glaube ich nicht. ich denke es liegt am Timer...
Deshalb würde ich den Script einfach mal ganz grob so umändern:
Code:
scn UnvorhersehbareAttacke

float timer
short Zeitsetzer
short aktivieren

Begin Gamemode

If aktivieren == 0
set timer to 61
set aktivieren to 1
Endif

If Zeitsetzer == 0
Set Zeitsetzer to 1 + 0.40 * getRandomPercant
Endif

if timer != Zeitsetzer
set timer to timer -getsecondspassed
elseif timer == Zeitsetzer
[Die Kristall-ID].cast [Die Blitzzauber-ID] [Der NPC]
set Zeitsetzer to 0
set timer to 61
endif 

End

So klappt es wahrscheinlich. Da ich das mit "+ GetSecondsPassed" noch nie gamacht habe, änderte ich es einfach so.

Mfg Gildur

Funktioniert es?^^
 
Zuletzt bearbeitet:
So, da mein CS ja wieder funktioniert, konnte ich endlich den Script selber mal ausprobieren, um zu gucken, warum das Teil nicht funktioniert. Und ich habe den richtigen gefunden :idea:
Ich habe einfach bei den EvilStones in den Ayleidenruinen nachgeguckt, den Script geändert, ncoh auf die Zufallszahl eingestellt und noch einiges anders.
Und übrigens war der Hauptfehler bei unserem vorherigen Script das hier:
elseif timer == Zeitsetzer

Denn anscheinend war der rimer so schnell, dass er nicht mehr so viel Zeit hatte zu realisieren, dass der timer schon längst genau so groß war wie der Zeitsetzer. :lol:
Demnach habe ich einfach ein < - Zeichen benutzt. Demnach sieht der hoffentlcih fertige Script so aus:

Code:
scn UnvorhersehbareAttacke

short aktivieren
short Zeitsetzer
float time

begin gameMode

If Zeitsetzer == 0
set Zeitsetzer to 1 + 0.40 * getRandomPercent
Endif

	if aktivieren == 0
		if getDistance [NPCZielRef] < 700 && time <= 0
			set timer to 60
			set aktivieren to 1
		endif
	endif

	if timer < Zeitsetzer && aktivieren == 1
		if getDistance player < 700
			cast [ZauberID] [NPCZielRef]
			set aktivieren to 0
			set Zeitsetzer to 0
			set timer to 60
		endif
	endif

	if timer > 0
		set timer to timer - getSecondsPassed
	endif
	
end

Ich habe noch eine Entfernung hinzugefügt, in der der Geist zum Objekt sein muss. ;)
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Xaser
€ hast sich erledigt, habs mti ihm in ICQ abgesprochen das Script funzt jetzt !!!
 
Zuletzt bearbeitet:
Hallo,

also ich habe mir diesen Script ausgesucht:

scn GeistScript

begin ScriptEffectStart
saa 0.01
pms SE32GhostEffect
end

Ich verstehe den Script zwar nicht,aber ich habe ihn als Zauber benutzt und man wird zum Geist.So aber ich will auch das der Effekt wieder weg geht,wenn der Zauber abgelaufen ist.Dafür braucht man einen zweiten Block aber ich weiß nicht wie der aussehen soll.Kann mir jemand helfen?:huh:

Edit:Gibts vielleicht noch einen besseren Script?
 
Zuletzt bearbeitet:
Statt "Player.saa 0.01" solltest du einen Chamäleon-Effekt benutzen. Erstmal sieht der besser aus und zweitens ist "0.01" doch sehr, sehr durchsichtig. Da ist man fast unsichtbar. Meines Wissens hat das aber keinen Effekt darauf, ob einen NPCs erkennen können oder nicht, das ist bei einem Chamäleon-Effekt von 80-90% anders. Als Script-Effect kannst du ja weiterhin "SE32GhostEffect" benutzen. Dann läuft der Chamäleon-Effekt auch automatisch nach einer gewissen Zeit wieder aus und der Spieler wird normal.
 
  • Like
Reaktionen: Flava Sava
Folgendes Szenario: Per Script wird dem Spieler eine Frage gestellt. Ein Wolf wird "enabled", wenn der Spieler eine falsche Antwort gibt. Das klappt auch alles wunderbar. Der Wolf greift den Spieler an, dann ist er irgendwann nicht mehr. Wenn der Spieler jetzt die Frage zum zweiten Mal gestellt bekommt und wieder falsch antwortet, soll der Wolf wiederbelebt werden und den Spieler wieder angreifen.

Weder "WolfRef.ForceAV Health 73" noch "WolfRef.ModAV Health 73" funktionieren. Darf ich dem Wolf vielleicht nicht mehr "Health" geben als er in den Stats hat? Oder gibt es eine andere Möglichkeit, den Wolf wiederzubeleben?
 
NPC verschwinden lassen

Ich möchte einen NPC vor den Augen des Spielers verschwinden lassen. Ich habe ein paar Shader-Effekte auf ihn gelegt, bevor er verschwindet. Das sieht dann schonmal etwas besser aus. Trotzdem ist offensichtlich, was passiert, denn: Plopp, er ist weg. Das sieht nicht aus.

Was kann ich machen, um den NPC so verschwinden zu lassen als wenn es aussehen würde, dass er einen Zauber verwendet? Vor allem soll der Spieler zwar sehen, wie er verschwindet, aber er soll nicht einfach "Plopp-er-ist-weg"-verschwinden. ;)

Am besten wäre, wenn der NPC langsam durchsichtig wird und vor ihm langsam Nebel erscheint o.ä.
 
den Effect, den du benutzen willst, bewirkt der automatisch, dass der NPC langsam durchsichtiger wird, oder soll das komplett in den Script, dass der immer durchsichtiger wird?

Ps.: Soll der Chamäleon-Effekt benutzt werden?