Construction Set Skriptthread zum Construction Set

Brauche ein Skript

Hallo allezusammen,:?

Denn Skript den ich brauche ist ein bisschen komplex, also..:eek:

Der Spieler wird sagen wir mal getroffen von einem Faustschlag von einem Gegner. Wenn der Faustschlag getroffen hat soll er teleportiert werden.
Und so zu sagen wieder aufwachen." Also der Spieler bewusstlos geschlagen wurde". Ich kenn da nur den Skripbefehl "OnHit" aber der funktioniert nur bei NPC. Wie mach ich das am besten mit einem Spieler?:huh:


Bitte hilfe :)
 
Wenn es ein bestimmter Gegner ist, wüsste ich eine Möglichkeit... Du könntest dem Gegner folgendes Skript zuweisen:
Code:
scn name

short init

Begin GameMode
 if init == 0
  if player.isInCombat == 1
   if getCombatTarget == player
    if player.getAV health < player.getBaseAV health
     set init to 1
     ;do stuff
    endif
   endif
  endif
 elseif init == 1
  if player.isInCombat == 0
   set init to 0
  endif
 endif
end

Weiß aber nicht, ob's funktioniert...
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Chaos_of_Net
Jo danke, ich probier es mal aus.


Aber ich brauch noch ein weiteren Skript.
z.B ich komme in eine neue Welt mit Teleport.
Dann steht da eine Wache. Sie kommt auf mich zu und spricht mich an.


Wie mach ich es das der NPC auf mich zu geht. Sobalt er mich in einem bestimmten Radius sieht. Auf mich zu geht und anspricht?:huh:

Bitte hilfe :)
 
Zuletzt bearbeitet:
Zum Beispiel, indem du dem NPC folgendes Skript gibst ich gehe mal davon aus, dass es eine entsprechende Questgibt):
Code:
scn name

Begin GameMode
 if getStage <Quest-ID> == x
  if getDistance player <= y
   disablePlayerControls
   setStage <Quest-ID> z
   sayTo player <Topic-ID>
  endif
 endif
end
Die "PlayerControls" solltest du aber später im Dialog-Resultscript wieder "enablen"...
 
  • Like
Reaktionen: patricktyp
Hi Leute,
ich hab ein Problem mit einem Skript:

Ich habe einen NPC, der mir folgt und ich möchte , dass die Sachen, die ich im Skript habe, wie z.B. testtrigzone enabled wird, nur im Spiel funktioniert das nicht :?
Ist der Skript falsch?
Habe ich eine falsche Trigzone ( Trigzone02.nif )
Die Triggerbox ist auch enabled und ich habe echt keine Ahnung was ich noch falsch mache.



Code:
scn Testtrigzonescript2

short triggered 

Begin ontrigger player 	
	if triggered == 0 
		if ( aaaGunzQuest == 10)	
			enable testtrigzone1
			enable testtrigzone2
			enable aaaMinotaurLord1
			enable aaaMinotaurLord2
			enable aaaMinotaurLord3
			set triggered to 1 
		endif
	Endif
end

Hoffe ihr könnt mir helfen. :)
 
Will ein neues Projekt auf die Beine stellen: Guckt ihr hier!
Hab auch schon ein (finde ich) gutes Konzept auf die Beine gestellt, nur mit dem Scripten harperts. Vielleicht mag sich mal jemand per PN oder ICQ bei mir melden.
 
Hi Leutz,
ich habe ein Problem mit dem Skript, den Diarrhoe im Skriptthread für Chaos_of_Net geschrieben hat...
Das Cs meckert rum, wenn ich das Skript abspeichern will.
Es erkennt den Befehl if player.getAV health < player.getBaseAV nicht und spuckt diese Fehlermeldung aus: "Missing parameter Actor Value" ..
Wo liegt das Problem?
Was mache ich falsch? :huh::?
Hier der ganze Skript ;)

Code:
scn name

short init

Begin GameMode
 if init == 0
  if player.isInCombat == 1
   if getCombatTarget == player
    if player.getAV health < player.getBaseAV
     set init to 1
     	player.moveto aaaGunzTod
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	kill aaaGunzaltermann1
    endif
   endif
  endif
 elseif init == 1
  if player.isInCombat == 0
   set init to 0
  endif
 endif
end

mfg :)
 
Code:
scn name

short init

Begin GameMode
 if init == 0
  if player.isInCombat == 1
   if getCombatTarget == player
    if player.getAV health < player.getBaseAV Health
     set init to 1
     	player.moveto aaaGunzTod
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	kill aaaGunzaltermann1
    endif
   endif
  endif
 elseif init == 1
  if player.isInCombat == 0
   set init to 0
  endif
 endif
end
 
  • Like
Reaktionen: patricktyp
Hab den befehl jetzt eingefügt aber irgendwie wird die if Anweisung nicht ausgewertet :?

hier der Skript

PHP:
scn aaarmorbroken
long Status

begin GameMode
   set Status to Player.GetObjectHealth [aatestarmor]
    if ( Player.GetEquipped aatestarmor )
       message "if funktioniert"
       if ( Status <= 0.50 )
                message "Test Rüstung ist Beschädigt"
                Player.UnEquipItem aatestarmor
                Player.removeitem aatestarmor 1
                Player.AddItem aatestarmorbroken 1
                Player.EquipItem aatestarmorbroken
       endif
    endif
end
 
Worauf liegt denn der Script?

Und was meinst du mit "die if-Anweisung wurd nicht ausgewertet"?
Siehst du die Message nicht? Oder das im nächsten if-block?
 
  • Like
Reaktionen: robinH
So das Cs spuckt zwar dank SirTroy keinen Fehler mehr aus, aber der Skript funktioniert leider nicht. :cry:
Nochmal meine Absicht:
Ich folge einem NPC, dann werden meine Controls durch ein anderes Skript disabled. Das funktioniert auch. Jetzt sollen mich 3 Minotauren angreifen. Sobald mich einer der Drei auch nur einmal getroffen hat, soll ich in "Ohnmacht" fallen und an der an der selben Stelle wieder "aufwachen".
Jetzt sollen der NPC tot sein, ein neuer Tagebucheintrag kommen und die Minotauren weg sein.

Hier nocheinmal der Skript:
Code:
scn name

short init

Begin GameMode
 if init == 0
  if player.isInCombat == 1
   if getCombatTarget == player
    if player.getAV health < player.getBaseAV
     set init to 1
     	player.moveto aaaGunzTod
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	kill aaaGunzaltermann1
    endif
   endif
  endif
 elseif init == 1
  if player.isInCombat == 0
   set init to 0
  endif
 endif
end

Hoffe es kann einer weiterhelfen :)
mfg
 
@ patricktyp: player.moveto hat als Nebenwirkung eine return-funktion. Deswegen immer ans Ende:
Code:
scn name

short init

Begin GameMode
 if init == 0
  if player.isInCombat == 1
   if getCombatTarget == player
    if player.getAV health < player.getBaseAV
     set init to 1
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	aaaMinotaurLord2.disable
	kill aaaGunzaltermann1
     	player.moveto aaaGunzTod
    endif
   endif
  endif
 elseif init == 1
  if player.isInCombat == 0
   set init to 0
  endif
 endif
end

@ Orios das Auge: Du hast sie im Objekt Editor eingefügt? das sagt mir nicht viel. Der Script MUSS, damit er ausgeführt werden kann, auf einem Objekt liegen, dass in der Nähe des Spielers ist. Also zum Beispiel auf dem Schwert, das er bei sich trägt.
 
  • Like
Reaktionen: patricktyp
sry weiß nicht wie ich das am besten erkläre also Doppelklick auf der rüssi und im erscheinenden Editor unter Skript also da wo steht
ID
Name
Skript "hier"