Construction Set Skriptthread zum Construction Set

Hallo Scripter!

Wisst ihr wie ich das Scripten soll:

Eine Tür soll so gesriptet werden, dass der Spieler stirbt, wenn man sie öffnen will.
Jedoch wenn der Spieler ein bestimmtes Item an hat (Robe), so lässt sich die Tür ohne Probleme öffnen.

Ich hoffe ihr könnt mir helfen:)
 
Hallo Scripter!

Wisst ihr wie ich das Scripten soll:

Eine Tür soll so gesriptet werden, dass der Spieler stirbt, wenn man sie öffnen will.
Jedoch wenn der Spieler ein bestimmtes Item an hat (Robe), so lässt sich die Tür ohne Probleme öffnen.

Ich hoffe ihr könnt mir helfen:)

Code:
scn ...

begin onActivate
if player.equipitem Roben-ID
activate
elseif
player.kill
endif
end

So sollte es funktionieren. :)
Du musst nur noch die Roben-ID eintragen.

Mfg Master of Worlds
 
  • Like
Reaktionen: kingu
Code:
scn ...

begin onActivate
if player.equipitem Roben-ID
activate
elseif
player.kill
endif
end

So sollte es funktionieren. :)
Du musst nur noch die Roben-ID eintragen.

Mfg Master of Worlds

An sich ist das richtig, aber die Condition "if player.equipitem <Object-ID>" existiert nicht. Benutze stattdessen "if player.getEquipped <Object-ID>".

Also:
Code:
scn name

Begin onActivate
 if player.getEquipped <Roben-ID> == 1
  activate
 else
  player.kill
 endif
end

Ps: @MoW: Wenn du "elseif" verwendest musst du auch angeben, was dieses "if" "beinhaltet (also die Kondition).
 
Wie schaffe ich es, dass ich per Script eine Betttrolle aktiviere. Also eine die ich aus dem Inventar hole und die per Script auf eine Refferenz hinweist in der die Sleepmat mit Animation liegt?

Könnte das Script auf der Bettrolle so lauten?

begin onActivate

....Ref.activate

End
 
Da ich mich mit scripten noch nicht wirklich auskenne, wollte ich Fragen, wie ein Script aussehen muss, der folgendes enthält:
Man braucht eine bestimmte Waffe, um den Gegner zu besiegen. Alle anderen Waffen sollen aber keine Wirkung zeigen. Vielen Dank schonmal.

grüße bertie
 
scn Name

begin onhit player ;-------------------Werde ich vom Spieler geschlagen...
if player.getequipped WaffenID == 0 ;...und ist dieser NICHT mit WaffenID ausgerüstet...
resethealth ;--------------------------...setze mein Health auf Ausgangswert
endif
end

begin onmagiceffecthit ;--------------Wenn ich von Zaubern getroffen werde...
resethealth ;--------------------------...setz mein Health auf Ausgangswert.
dispelallspells;-------------------------Optional - nimmt alle Zauber vom NPC, wie zum Beispiel Lähmung, Brandschaden und co.
end

Das Script kommt auf den NPC/die Kreatur. Einfach wie Toastbrot. Wenn ich dennoch einen Fehler gemacht habe, bitte aufzeigen.
 
Hi, ich hatte dies vor einiger Zeit schonmal angesprochen, ich habe allerdings keine Antwort bekommen die Funktioniert^^
Also:
ich suche einen Script den ich auf eine Münze legen kann, der bewirkt, das der Glückswert des Spielers um X erhöt wird solange er sie im INVENTAR hat. D.h. wenn er sie rauslegt soll der Wert zurückgehen und nicht (wie beim letzten Versuch) auf 16000 stehen oO

Da ich ein totaler n00b im scripten bin, bitte ausführlich :) (also ein ganzen script mit ende usw^^)

t4h im vorraus :)
 
Hey.

@shadows734:

Sollte etwa so gehen... (Habe jetzt mal als Glückserhöhung 10 genommen)

Code:
scn glücksmünzenscript

short habesie

begin gamemode

if (player.getitemcount MÜNZE 1 && habesie == 0)
modpca luck 10
set habesie to 1
endif

if (player.getitemcount MÜNZE 0 && habesie == 1)
modpca luck -10
set habesie to 0
endif

end

Oder (vielleicht sogar besser) thx CS Wiki: Ja, nimm lieber den. Da scheint alles abgedeckt zu sein.

Code:
scn glücksmünzenscript

begin OnAdd Player

modpca luck 10

end

begin OnDrop player

modpca luck -10

end

@ Nyarlat Ho Tep unten:
Thx,aber hat sich schon erledigt^^, danke
 
Zuletzt bearbeitet:
  • Like
Reaktionen: r4yn
16000? *Lach* Au weia. Was ist denn da durcheinander gekommen? Es wundert mich auch das Du keine Antwort bekamst. Das Script dazu ist recht einfach:

scn Glueckspfennig ;name des Scriptes

begin gamemode ; --------------------------------------Lasse bei jeder Frame das Script durchlaufen

if player.getitemcount (Editor ID der Münze) >= 1 ; ---Wenn Spielers Münzenmenge 1 oder größer ist
player.modav luck 5 ;------------------------------------setze den Wert Glück 5 nach oben
endif
end

begin ondrop ;--------------------------------------------Frage ab, wenn Spieler Münze fallen lässt
player.modav luck -5 ;-----------------------------------setze Glück 5 nach unten.
end

Falls ich Fehler gemacht habe, bitte aufzeigen.

Gruß,
N.

EDIT: Oh, zu langsam gewesen. @ Rakios: Äh. Poste doch mal Dein Script bitte. Eine Frage WAS spielt den Sound ab? Nicht zufällig Referenz, die bereits ab und zu sounds abspielt oder? Dann wird Dein sound eventuell abgebrochen um einen anderen zu abzuspielen.
 
Zuletzt bearbeitet:
Zur Liebe zur Performance und zum Vorbeugen von Fehlern:
Code:
scn Scriptname

Begin OnAdd player
player.modav luck 10
End

Begin OnRemove player
player.modav luck -10
End

Willst du wirklich Glück 16000, ersetzt du modav durch setav (in beiden Fällen) und die 10 und -10 in jeweils 16000 und -16000.

Gildur
 
Ich brauche ein Script, das einen Einrichtungsgegenstand (z.B. einen Schrank) durch einen anderen (ein anderer Schrank:D) austauscht, wenn man bei einem Händler einen bestimmten Gegenstand gekauft hat.
 
Hey,

Du stellst beide Schränke an die passende Stelle. Also da hin, wo sie im Spiel auch stehen sollen, ungeachtet, ob sie ineinander stehen.
Dann gibst du dem Schrank, der seit Beginn des Spiels dasteht, eine Referenz, zB. "OMFurniture" (ohne die Anführungszeichen) und machst anschließend ein Häckchen bei "Persistent Reference". Danach gibst du dem Schrank, der erst nach dem Kaufen des gewünschten Gegenstands erscheinen soll, eine Referenz, zB. "OMFurnitureDisabled" (die Referenz muss sich auf jeden Fall von der anderen unterscheiden). Dann setzt du noch einen Haken bei "Persistent Reference" und bei "Initialy Disabled".

Jetzt zum Gegenstand. Auf den musst du lediglich ein Script setzen:
Code:
scn Scriptname

short doonce

Begin OnAdd player
if doonce == 0
set doonce to 1
OMFurniture.disable
OMFurnitureDisabled.enable
endif
End

In den Zeilen mit disable und enable habe ich die Beispielreferenzen benutzt. Hast du andere genommen, musst du diese auch einsetzen.

Gildur
 
  • Like
Reaktionen: Oblivion master
Habe ein Pferd ( Horse) welches ich in der Stadt per AI an verschiedene Orte schicke. Nun kann man dieses Pferd auch reiten und mit Ihm die Stadt verlassen.

Doch sobald ich ausserhalb der Satdt absteige, rennt das Pferd zurück und möchte seine AI's in der Stadt ausführen.

Wie kann ich dem Pferd per Script sagen, dass es die AI's nur ausführt wenn es auch in der Stadtcelle ist?
 
Ist es eine bestimmte Cell? Es gibt den Befehl GetInCell, damit solltest du eigentlich was werden. (Ist auch als Condition zu finden, soweit ich weiß.)
 
  • Like
Reaktionen: robinH
Ok und gebe ich das jetzt als Skript in eine Quest oder gleich bei den AI's mit an.

Wenn ich es als Skript schreibe bräuchte ich doch noch die Steuerung auf das AI Package. Doch wie mache ich das. Hat jemand mal einen Beispielcode?