Construction Set Skriptthread zum Construction Set

Wow - wie im richtigen Leben. Erst bekommt man nix, und dann gleich drei Lösungsvorschläge. ;)

Vielen Dank an euch alle. Werde morgen alle drei ausprobieren und berichten.

Thanx


Edit:

Also es geht nicht um einen Shader Effect. Der NPC soll eine Animation abspielen, wenn er das Amulett erhält, er soll Tanzen. Wenn er dann angeklickt wird spätestens nach 360 sec soll es aufhören und das Amulett aus seinem Inventar verschwinden.

Ich beschreibe einmal die Situation:

In einem Palast stehen Tänzerinnen zur Unterhaltung. Der Player beginnt das Gespräch. Der Player möchte das für ihn getanzt wird. Ouest/Topic/Result Script kommt der Befehl hinein: NPC.additem TanzAmulett

Nun greift das Script, welches auf dem Amulett liegt.

Der NPC fängt an zu tanzen - für max 360 sec.
Der NPC hört mit dem Tanzen auf wenn: Er angeklickt wird ODER wenn 360sec vorbei sind.
Nun verschwindet das Tanzamulett aus dem Inventar des NPCs.
Es kann wieder von vorn beginnen.

Jeder Tänzer bekommt ein ganz bestimmtes Tanzamulett und eine ganz bestimmte Animation zugewiesen.

Hüstel.... Hüstel.......

Habt ihr mich vergessen?

Habe alle drei Scripte ausprobiert. Stehen im Post 2351, 2354 und 2355

Der Timer funktioniert nicht und das Amulett wird nicht entfernt. :cry:

Würdet ihr mir bitte weiterhelfen?
 
@Eddy leg doch mal den Script auf das Amulett.

@ Black: Ich würde beide Schalter mit einem Script versehen, dann wird das mit dem Überblick keinfacher

Code:
short activated1
short save
float timer

Begin OnActivate Player
If ( GetIsId RefIdActivator1 == 1 )
Set activated1 to 1

elseif ( GetIsID RefIdAct2 == 1 ) && ( RefIdActi1.activated1 == 1 )
Playsound o. StreamMusic IdderMusik

elseif ( GetIsID RefIdAct2 == 1 ) 
Playsound o. StreamMusic IdderMusik

elseif ( GetIsId RefIdAct2 == 1 ) && ( Player.GetItemCount IddesItems >= 1 )
Playsound o. Streammusik
Set timer to LängedesSoundfiles
Set save to 1
endif
end

Begin GameMode
if timer > 0 && save == 1
Set timer to timer - GetSecondsPassed

elseif timer <= 0 && save == 1
RedIdAct2.disable
endif
end
@ Carcha, ich hab dir dazu schon einen Vorschlag gemacht, direkt hinter deiner Post.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Blacklands
Hi Leute, ich habe wiedermal ein kleineres Problem:

Code:
scn aadoortoayleid

begin OnActivate
        if (player.GetItemCount 0100394c >= 1)
        activate
        elseif (player.GetItemCount 0100394c == 0)
        ?
        Message "Es fehlt die Besitzurkunde!"
    endif
end

Wenn der Spieler die besitzurkunde hat, soll er durch das Tor gehen können, wenn nicht, ... dann nicht:roll:. Ich weiß nicht was der Befehl für das verhindern des aktivierens ist. Kann mir da jemand helfen?

Schonmal danke im Voraus.
D.
 
Gar nichts, wenn ein OnActivate Script auf einem Aktivierbaren Object liegt, schaltet dieser sich immer vor, der Spieler wird dann nie das Object an sich aktivieren sondern immer nur den Script, genau aus diesem Grund hast du im ersten Block ja auch noch Activate als Befehl reingeschrieben. :)
 
  • Like
Reaktionen: <DannyBoy>
Hallo zusammen. Ich wüsste gerne, wie ich einer person sagen kann, sie solle an eine bestimmte Stelle gehen, dort mit den Armen gestikulieren und etwas sagen. dass soll sie aber nur einmal am tag machen (11-13) und sonst ausschließlich an einer anderen bestimmten stelle beten. Ist das möglich?
Und wie lasse ich diese Sprachdatein abspielen?
 
Hallo.

Ich benötige nochmal zwei Scripte:

1) Ich weiß, das es dazu schon diverse Threads gibt, aber kann mir jemand ein Script nennen, der ein Musik-Titel in einer Zelle abspielt, die normale Musik in dieser Zelle auschaltet und wenn der Player aus der Zelle rausgeht, dass die Musik wieder aufhört und die normale wieder aktiviert wird?

2) Das ist jetzt etwas schwerer: Ich bräuchte ein Script, der einem Projektil-Magic-Effect Schaden in höhe von 1000000 gibt. Infos, warum ich nicht einen normalen Magic-Effect umschreibe, kann man in dem zweiten Problem Link in meiner Signatur lesen.
 
@ Chuck, der Befehl heißt StreamMusic und funktioniert nur mit mp3's, für wav Datein nimmst du PlaySound.

2. Punkt, soviel Schaden geht nicht, irgendwo bei 36k ist die Grenze.
 
@ Chuck, der Befehl heißt StreamMusic und funktioniert nur mit mp3's, für wav Datein nimmst du PlaySound.
OK, aber ich bräuchte ein ganzes Script, wenn du so nett wärst. Ich kenne mich mit komplizieteren Script nicht aus.

2. Punkt, soviel Schaden geht nicht, irgendwo bei 36k ist die Grenze.
Das ist egal. Hauptsache ist, dass das Ziel damit sofort getötet werden kann, zumindest extrem verletzt. Auch hier bräuchte ich ein ganzes Script.
 
Ich habe zwei Fragen:

1. Wie kann man im Script einstellen, dass der Player eine bestimmte an Gold haben muss um das Script auszuführen?
2. Gibt es eine Möglichkeit einzustellen das ein Script nur zB. 5 mal am Tag benutzt werden kann?

Lg Tholor
 
Für Tholor:

Also zur ersten Frage:

Code:
scn [SCRIPTNAME]

Begin [JEWEILIGER ANFANG]
	if player.getitemcount Gold001 >= [BENÖTIGTE GOLDMÜNZEN]
		{DAS WAS NACHER PASSIEREN SOLL}
	endif
end

Zur Zweiten Frage:

Code:
scn [SCRIPTNAME]

short zeit
short counter

Begin [JEWEILIGER ANFANG]
	if zeit == 0
		{DAS WAS NACHER PASSIEREN SOLL}
		set counter to ( counter + 1 )
	endif
end

Begin Gamemode
	if counter == 5 
		set zeit to 1
	elseif GameHour == 0
		set zeit to 0
		set counter to 0
	endif
end

Für Chuck

Das erste Problem:

Code:
scn [SCRIPTNAME]

Begin gamemode
	if player.GetInCell [ZELLE] == 1
		StreamMusic (PlaySound) [MUSIK]
	endif
end

Bin mir nicht ganz sicher ob das funktioniert aber kannst's ja mal ausprobieren.
Zum Zweiten Problem kann ich dir leider nicht helfen(Wie schon gesagt)

Hoffe ich konnte helfen;) (Beide jetzt)
mfg
Trisaster
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Tholor
Code:
scn Kill

ref target
short notarget

Begin ScriptEffectStart
Set target to GetSelf
If ( Target != Player ) && ( target.GetEssential == 0 )
target.kill
else 
Set notarget to 1
endif
end

Begin ScriptEffectUpdate
If ( notarget == 0 )
target. kill
endif
end

Begin ScriptEffectFinish
If ( notarget == 0 )
target. kill
endif
end

So sähe das ganze für eine Verzauberung aus, jedes Ziel, das davon betroffen ist, wäre sofort tot, ausgenommen, Ziele die Essential sind oder der Player selbst.

Du könntest aber auch einfach eine neue Waffe erstellen, und bei Damage "99999999" eintragen, das Cs stuzt den Wert dann automatisch auf den maximalen Wert runter (367nochwas glaub ich).

@ Den musik Script, bei StreamMusic muss meine ich noch die Verzeichniss angabe dazu.
 
So sähe das ganze für eine Verzauberung aus, jedes Ziel, das davon betroffen ist, wäre sofort tot, ausgenommen, Ziele die Essential sind oder der Player selbst.
Sorry, aber ich brauche einen Script für einen vollständigen Magic-Effect und keine Verzauberung:( Aber wenn's nicht geht, dann lass ich den Feuerball einfach ganz aus.

Du könntest aber auch einfach eine neue Waffe erstellen, und bei Damage "99999999" eintragen, das Cs stuzt den Wert dann automatisch auf den maximalen Wert runter (367nochwas glaub ich).
Davon hab ich schon mehr als genug:ugly:

@ Den musik Script, bei StreamMusic muss meine ich noch die Verzeichniss angabe dazu.
Ich hab mal einwenig selbst mit dem Script herum experimentiert, aber etwas fehlt:

Code:
Scn AktivierenbeiAktivierung

Begin OnActivate

If player.GetInCell >>Cellen-ID<<
    StreamMusic ">>Titel-Pfad<<
endif

End

Da fehlt ganz eindeutig etwas, da wenn ich auf die Tür klicke, die den Script aktivieren solll, wenn man auf der "anderen Seite" ist, nichts passiert. Bestimmt wegen des BeginOnActive, denke ich mal.

Edit: Hab eben Trisasters Beitrag verlesen. Würde das funktionieren, wenn ich Begin OnActivate durch Begin Gamemod ersetzen würde?

Und ganz nebenbei: Die Musik Datei hat 224k Kbits/sek., aber Oblivion kann (glaube ich ) nur 194 abspielen. Und ich hab mal gelesen, das man die Zahl mit dem Windows Mediaplayer senkbar ist. Wie macht man das?
 
Zuletzt bearbeitet:
1. Richtig, mit OnActivate Funktioniert das nicht, dafür brauchst du GameMode.

2. Versuch mal das Programm hier ---> Klick!

3. Du kannst den Verzauberungsscript auch als Zauber nehmen.
 
  • Like
Reaktionen: Chuck Norris
1. Richtig, mit OnActivate Funktioniert das nicht, dafür brauchst du GameMode.

2. Versuch mal das Programm hier ---> Klick!

3. Du kannst den Verzauberungsscript auch als Zauber nehmen.

1. Okay, ich probier es mal aus.

2. Danke:)

3. Das wäre aber trotzdem nur ein normaler Kill-Zauber (glaube ich). Und wo wäre dann der Shader, das Projektil und der Sound?
 
Och, da gibts ein paar wege,

1. Ein DummyZauber der noch hinzugefügt wird z.B. ein Feuerball mit 0 Schaden.

2. Unter beim Scripteffect, kann man den Typ der Zauberschule einstellen, und damit auch den Effekt

3. Du erstellst einen komplett neuen Magic - Effect ( Gameplay--> Magic Effect)