Construction Set Der Scriptthread

hey, falls hier noch jemand reinschaut, hätt ich mal ne frage:
Code:
"objekt-ID"-> moveworld, Z, 100
ist das möglich?

danke im vorraus, luke

Edit: hat sich erledigt; antwortet ehh keiner :p
 
Zuletzt bearbeitet:
:eek: die selben meldungen wie ubp hab ich heute auch gekriegt!
komischer zufall...

aber was bedeuten sie? hab das vorher noch nie gelesen...
argh, ich habs rausgefunden... wie kann man nur so blind sein? o_O
der fehler entsteht, wenn verschiedene sachen den gleichen namen haben, bei mir wars ein journal-eintrag und ein script... gleicher name, nichts geht mehr. also einfach eins davon umbenennen und schon läuft die sache wieder rund.
 
  • Like
Reaktionen: Luke
Hi,

nach langer Zeit der Ruhe, muß ich mal wieder die Experten hier um einige kleine Scripte bitten!

Und zwar habe ich mir einige .wav-Dateien downgeloaded und möchte diese nun in Form von verschiedenen sound-activators in meine Mod einbringen. Dazu brauche ich verschiedene Scripte.

1. Ein sound soll immer dann erscheinen, wenn der Spieler einen Kampf beginnt und für die Zeit des Kampfes andauern.

2. Ein sound soll nur einmal abgespielt werden und dann enden.

3. Ein sound soll in bestimmten Zeitintervallen immer wieder abgespielt werden.

4. Brauche in script, das aus einem kurzen sound eine Endlosschleife macht.


PS: Eilt nicht!!!:-D


THX and greets, TheDaywalker!!!;)
 
1. Ein sound soll immer dann erscheinen, wenn der Spieler einen Kampf beginnt und für die Zeit des Kampfes andauern.

Dafür musst du die Battlethemes in Morrowind ersetzten (sonst fällt mir nichts ein). Du findest sie unter folgendem Pfad: ..\Morrowind\Data Files\Music\Battle\

2. Ein sound soll nur einmal abgespielt werden und dann enden.

Dafür gibt es die Befehle
- PlaySound, „Sound-ID“
Spielt den angegebenen Sound ab. Er erklingt dabei direkt neben dem Spieler.
- PlaySound3D, „Sound-ID“
Spielt den angegebenen Sound ab. Er erklingt dabei vom aufrufenden Objekt.

3. Ein sound soll in bestimmten Zeitintervallen immer wieder abgespielt werden.

Verwende dazu einen der oberen Befehle zusammen mit einem Timer.

Code:
begin my_script

float timer

set timer to timer + GetSecondsPassed

if (timer >= 10 )
  set timer to 0
  PlaySound "SoundID"
endif

end

4. Brauche in script, das aus einem kurzen sound eine Endlosschleife macht.

Auch dafür gibt es schon einen Befehl:

- PlayLoopSound3D, „Sound-ID“
Spielt den angegebenen Sound in einer Endlosschleife ab. Er erklingt dabei vom aufrufenden Objekt aus.
Um den Sound abzubrechen, wird der Befehl StopSound benötigt.
 
  • Like
Reaktionen: TheDaywalker
oh, erhabene scripter...

hey leute ich bin mal wieder hier, weil ich einen script brauche, der folgendes bewirken soll:

eine reihe von aktivators müssen nacheinander in der richtigen reihenfolge aktiviert werden, ansonsten gibts strafe (ein zauber oder so)

am besten so 5-6 activator wenns geht auch doppelt aktiviert; reihenfolge ist egal, sollte halt durcheinender sein (vllt mir per PN mitteilen)

herzlichen dank im voraus und möge die macht mit euch sein, luke
 
Gibt es einen Scriptbefehl um die Stufe des Spielers zu verändern?

Ich habe den Cheat setlevel xx gefunden und es damit mal ausprobiert, auch player->setlevel xx hab ich ausprobiert, funktioniert auch nicht. Habe testweise mal den Cheat Ingame ausprobiert, funktioniert auch nicht...
 
eine reihe von aktivators müssen nacheinander in der richtigen reihenfolge aktiviert werden, ansonsten gibts strafe (ein zauber oder so)

am besten so 5-6 activator wenns geht auch doppelt aktiviert; reihenfolge ist egal, sollte halt durcheinender sein

steht die Reihenfolge vorher schon fest oder wird die zur Laufzeit bestimmt ?
naja ich würde eben jedem Activator ein eigenes Script geben, und in einer globalen variable festlegen welche als letztes gerade aktiviert wurde, wenn die gleiche war garnichts tun und anstonsten halt überprüfen ob richtiger/falscher anchfolger

if (OnActivate == 1)
if (globaleVariable == MeineNummer)
set globaleVariable to (globaleVariable + 1)
elseif
... das gleiche für globale variable - 1, aber nicht hochzählen
else
...Strafe, ggf Reset von globaleVariable
endif

und bei letzten Activator dann halt das was passieren soll

wenn du die Reihenfolge immer gleich haben willst, ist MeineNummer einfach eine Zahl, sonst musst du das wohl auch in einer globalen Var speichern, z.b.
die zahl 564321 für reihenfolge 1-2-3-4-6-5, und die nächste nummer ist immer der Zehnerrest der letzten (es würde auch der Sechserrest wenn man die Reihenfolge als Zahl im 6er-System schreibt, aber das wird unötig komplizert, die zahl wird wohl so und so eine long Variable werden)

Edit: mir fällt gerade ein das es in BM ja schon irgend wo so ein Rätsel gibt, mit den Musik-Stalaktiten, vielleicht einfach mal da nachsehn
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Luke
Gibt es einen Scriptbefehl um die Stufe des Spielers zu verändern?

Ich habe den Cheat setlevel xx gefunden und es damit mal ausprobiert, auch player->setlevel xx hab ich ausprobiert, funktioniert auch nicht. Habe testweise mal den Cheat Ingame ausprobiert, funktioniert auch nicht...

Sei bitte vorsichtig mit dem set-Attribute-Befehl. Dieser Befehl zementiert den jeweiligen Wert, so daß er nicht mehr anderweitig geändert werden kann.

Beispiel:

player->setMediumArmor, 50

setzt die Fertigkeit Mittlere Rüstung auf den Wert 50, der Spieler kann sie nicht mehr erhöhen.

player->modMediumArmor, 50

erhöht
die Fertigkeit Mittlere Rüstung um 50 Punkte.
 
zu meinem problem:

die reihenfolge ist vorgegeben

ich dachte man könnte das irgendwie so lösen:
Code:
begin meinscript1

if (  OnActivate == 1  )
  if (  globalevarable == 1  )
    set globalevariable to 2
  else
    [I]Strafe[/I]
  endif
endif
end
auf den ersten activator

Code:
begin meinscript2

if (  OnActivate == 1  )
  if (  globalevarable == 2  )
    set globalevariable to 3
  else
    [I]Strafe[/I]
  endif
endif
end
auf den zweiten activator
das heißt, wenn man den ersten activator noch nicht aktiviert hat wenn man den zweiten aktiviert, wird man bestraft

nur leider weiß ich nicht...
1. ...ob der script so überhaupt funktionieren würde
2. ...wie man mit globalen variablen umgeht bzw. wie man sie benutzt:?

hilfe bitte

mdmmes, luke
 
das sollt so schon funktionieren. Um eine global Variable zuerstellen:
im CS Gamyplay->Globals-> short markieren, new anklicken, dann hat diese von sich aus den Wert 0, jetzt kann man sie wie jede andere variable in allen Scripts/Dialogen verwenden
 
Globale Variablen musst du gerade nicht in Scripten deklarieren. Deswegen heißen sie ja global, weil man sie nicht lokal (also im Script) definieren musss :p
 
  • Like
Reaktionen: Luke
nein, die sind global deklariert, ne lokale mit gleichem Namen ist da kontraproduktiv

Globale Variablen musst du gerade nicht in Scripten deklarieren. Deswegen heißen sie ja global, weil man sie nicht lokal (also im Script) definieren musss :p

Darum sollte man beim Erstellen eigener Globals brav darauf achten, dass die Namen dieser Variablen möglichst so gewählt sind, dass kein anderer Modder auch nur auf die Idee käme, die gleiche Bezeichnung für seine Variable zu nehmen. Man stelle sich einfach vor was passieren würde, wenn eine Mod eine GlobalVar namens "doonce" deklariert oder wenn zwei Mods die gleiche Global für völlig verschiedene Sachen benutzen. Das gibt dann ggf. hervorragenden Schrott :lol:
 
  • Like
Reaktionen: Luke
Hi,

habe mal per SuFu gestöbert aber nicht das richtige gefunden.

Ich möchte gerne das eine bestimmte Anzahl bzw eine Auswahl von Schlickschreiterführern und Gondoliere nachts eine Fackel trägt. Ich weiß das es eine derartige Mod gibt, aber die deckt alle ab außer denen die ich neu hereinbringe.

Kann das durch ein Script geregelt werden?
 
also eigentlich tun das alle in der nacht selber, sofern sie eine fackel haben
 
da illidan immer noch nichts rein geschrieben hat mach ich das für ihn also wir brauchen einen script der bewirkt das steine von der decke fallen wenn man vorbeiläuft
 
Das Problem hat sich erledigt, sonst würde ichs ja hier reinschreiben, aber nun hätt ich eine neue Frage:
Ich will dass wenn man einen npc anspricht, er einen Ahnengeist beschwört, der zu einer Höhle geht, udn beim Höhleneingang verschwindet. Wenn man durch die Höhlentür geht kommt ein Film und dann ist man ein Werwolf, und wenn man ein Activator aktiviert wird man wieder normal.
 
also ich such ein script mit dem man sozusagen "wache" spielen kann
ich will halt dass ich leute ansprech und dann als thema "verbrecher" dasteht
und der jeweilige npc macht dann ne zufallsreaktion zwischen "ergeben,widersetzen und strafe zahlen"
also so wie es die wachen machen
gibts sowas?
und wenn nein kann das jemand machen?
mfg
sherogath
 
Zuletzt bearbeitet: