Construction Set Skriptthread zum Construction Set

OnHit gibt es zwar, allerdings wird das ausgelöst, wenn man getroffen wird.

Außerdem müsst SchwertID hier eine Referenz sein, da es aber gerade von irgentwem gehalten wird ist das so nicht möglich.

Als Workaround könnte man folgendes Script probieren:
Code:
scn SchwertScript

float Angle
float x
float y
ref Container

Begin Gamemode
 set Container to GetContainer
 if ( Container.GetEquipped [ObjectID des Schwerts] )
  if ( Container.IsAttacking )
   Container.AddSpellNS [SpellID]
   if ( Container.GetIsReference Player )
    SelectPlayerSpell [SpellID]
    TapControl 7          ;Cast
   else
    set Angle to Container.GetAngle z
    set x to 10 * cos Angle
    set y to 10 * sin Angle
    TargetDummy.Disable
    TargetDummy.MoveTo Container x, y, 15
    TargetDummy.Enable
    Container.Cast [SpellID] TargetDummy
   endif
   Container.RemoveSpellNS [SpellID]
  endif
 endif
End
ACHTUNG: Benötigt OBSE v0015 (oder höher)
 
  • Like
Reaktionen: Waaat
  1. Skript schreiben, kannst Du so üernehmen wie es ist. Anstatt SpellId den Namen des Zaubers(z.B. VampDisease) eingeben. Anstatt ObjectID die Id des Schwertes eingeben.
  2. Schwert im CS öffnen und bei Skript das neue Skript auswählen
  3. Speichern.
  4. Plug-In aktivieren
  5. Fertig, spielen
 
Zuletzt bearbeitet von einem Moderator:
Bei meinem Script musst du alles was in eckigen Klammern [] steht durch die jeweilige ID ersetzten.

ObjectID ist die ID, die du deinem Schwert gegeben hast (der BaseForm).

SpellID ist die ID des Zaubers, der gewirkt werden soll.

Du musst auf jeden Fall darauf achten, das CS mit OBSE zu starten.
 
  • Like
Reaktionen: Waaat
:lol:
Das ist jetzt aber nicht dein Ernst, oder?
Zauber, Schriftrollen, Tränke?? Hast Du sicher auch schon mal gehört. Die kann man kaufen/lernen.;)

Soweit ich weiß gibt es ein PI mit Zaubern zur Levitation, aber das es in den Zauber läden welche gibt wusste ich noch nicht und außerdem möchte ich einen neuen Zauber zur Levitation machen und das weiß ich nicht. Ich meine einen Levitations effekt gesehen zu haben, doch das ist schon etwas länger her und heute habe ich keinen gefunden.
 
Da wäre z.B Auftrieb, nutzt den Federeffekt und ist ein Zauber.
 
Guten Tag

Da ich leider net Skripten kann, benötige ich 1 Skript

1. Die Schlossfackeln sollen ausgehen wenn man einen Schalter aktiviert.


Danke im Vorraus
 
Guten Tag

Da ich leider net Skripten kann, benötige ich 1 Skript

1. Die Schlossfackeln sollen ausgehen wenn man einen Schalter aktiviert.


Danke im Vorraus
So wird das nix. Welche Fackeln? In welchem Schloss? Du lieferst zu wenig Angaben um deinen "Wunsch" zu erfüllen.
 
Hallo, ich bin neu hier im Forum.:)
Da ich selber mal das Modding von Oblivion erlernen will, brauche ich eure Hilfe.
Ich versuche jetzt das Skripting zu verstehen und deswegen wollte ich mal wissen wie manche Variablen eigentlich ein Wert bekommen:?
Ich habe in manche Skripten eine Variable gesehen, die vorher nicht einem Wert zugeordnet wurde.
Später fand ich heraus, dass es die sogenannten globalen Variablen sind.
Aber als ich dann auf Gameplay>Globals gegangen bin, habe ich immer noch nicht verstanden wie das klappen soll.
Beispiel:
AganazaarChangeClothes
short
value:0

Aber wie versteht das Spiel diese Variable eigentlich?
Ich habe Variablen so verstanden, dass sie vorher etwas zu geordnet werden wie:
set weather to GetButtonPressed

Ich hoffe mal, dass ihr versteht, was ich meine.
 
Vaariablen benötigen bei der "Erstellung" keinen Wert. Sie erhalten da den Wert 0. Estellst Du eine Variable short my_var, heißt dass für das CS: short my_var = 0.

Eine globale Variable ist von allen anderen Skripten und auch von Dialog(option)en nutzbar. Sie steht allem zur Verfügung, was etwas mit Variablen tun kann. "Normale" Variablen, ohne den Zusatz global, gelten immer nur für das Skript, in dem sie stehen. Deshalb sieht man oft in Skripten eine Variable controlvar. Wäre die global, hätte man ein ernsthaftes Problem.
 
Bei Globalen Variablen ist das ganz einfach vorbestimmt:
In dem Menü in dem du diese erstellen kannst kannst du auch den Startwert festlegen.


Wenn aber in einem Skript beispielsweise:

Name

short beispielvariable

begin onactivate
etc

steht, so ist das eine variable, welche nur in diesem einem skript zur verfügung steht und standardmäßig den wert 0 hat.

Ich hoffe auf das geantwortet zu haben was du meintest *g*, wenn nicht rückmelden ;o)

edit:
gäbe auch questvariablen, die ziehe ich den normalen globals auf jedenfall vor
ist aber ein wenig umfangreicher^^

edit2:
short -32,768 bis 32,767

long -2,147,483,648 bis 2,147,483,647

float 1.18E-38 bis 3.40E38 (7 stellen angezeigt)

@vampirlord: doch, klar wird das was, die angaben reichen völlig aus^^

scn fackelskript

short doonce
begin onactivate

if doonce == 0
fackela.disable
fackelb.disable
set doonce to 1
elseif doonce == 1
endif
end

Es ginge auch anders, aber ich hab atm grad keine zeit in der wiki zu suchen.
manche lichter kann man nämlich wirklich ausschalten ;o)

hier musst du 2 fackeln auf den gleichen fleck stellen, eine en die andere disabled, werden einfach ausgetauscht.
persistent reference auf die fackeln ;)
EDIT: das skript natürlich auf den schalter
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Friedolin2
Bei Globalen Variablen ist das ganz einfach vorbestimmt:
In dem Menü in dem du diese erstellen kannst kannst du auch den Startwert festlegen.


Wenn aber in einem Skript beispielsweise:

Name

short beispielvariable

begin onactivate
etc

steht, so ist das eine variable, welche nur in diesem einem skript zur verfügung steht und standardmäßig den wert 0 hat.

Ich hoffe auf das geantwortet zu haben was du meintest *g*, wenn nicht rückmelden ;o)

edit:
gäbe auch questvariablen, die ziehe ich den normalen globals auf jedenfall vor
ist aber ein wenig umfangreicher^^

edit2:


@vampirlord: doch, klar wird das was, die angaben reichen völlig aus^^



Es ginge auch anders, aber ich hab atm grad keine zeit in der wiki zu suchen.
manche lichter kann man nämlich wirklich ausschalten ;o)

hier musst du 2 fackeln auf den gleichen fleck stellen, eine en die andere disabled, werden einfach ausgetauscht.
persistent reference auf die fackeln ;)
EDIT: das skript natürlich auf den schalter
Ja, sorry, ich habs auf ein feriges Skript bezogen. Man sollte hinzufügen, dass hier fackela und fackelb durch die entsprechenden IDs ersetzt werden sollten.
 
Ah, danke Leute:good: Ich habe nicht erwartet so schnell eine Antwort zu bekommen. Hut ab!
Jetzt habe ich es mit den Globals verstanden.
Ich werde in nächster Zeit wohl viele Fragen bezüglich skripten stellen.
Keine Sorge ich habe mir die Tutorials schon durchgelesen und versucht zu verstehen.
 
Ich weiß das die Frage schon oft durchdiskutiert wurde, allerdings glaube ich, das es bisher darauf keine Antwort kam oder ich finde einfach die passenden Threads nicht.

Frage ist, ob es per Script möglich ist, einzelne Körperteile nur für den Spieler auszuwechseln, wenn zb. ein Ring angelegt wurde. Wollte eigentlich eine Mod machen, wo man sich zu einem Dämon oder sowas machen kann, und den weg über Rüstungsteile finde ich irgendwie..."billig" ^^

zb. liegt der standardpfad ja glaube ich bei "characters/_male/*.nif"
Vielleicht könnte man das per Script irgendwie ändern, zb. auf "characters/_male/*2.nif" ...wenn möglich halt am besten nur für den Charakter der das Item angelegt/im Besitz hat.

Hab gesehen, das es Dinge gibt wie "fMaleLowerBodyModel" wo der Pfad angegeben ist zur Nif, im CS, allerdings lassen sich diese scheinbar nicht per Script ändern, jedenfalls nicht von mir :\

Gibts da mittlerweile Möglichkeiten? Vielleicht mit OBSE?
 
Hm...entschuldige wenn ich mich irre, aber glaube das da ist dauerhaft, allerdings sollte es nur sein, nachdem ein Item angelegt oder ein Zauber gewirkt wurde :\
 
Guten Tag

Da ich leider net Skripten kann, benötige ich 1 Skript

1. Die Schlossfackeln sollen ausgehen wenn man einen Schalter aktiviert.


Danke im Vorraus
Im Prinzip musst du nur jede Fackel auf Persistant Reference setzen und ihnen eine Reference ID verpassten (z.B.: ArcTorch01, ArcTorch02, ...)
Dann auf den Schalter ein Script
Code:
scn blabla

short burning

Begin OnActivate
     if burning == 0
          ArcTorch01.RemoveFlames
          ArcTorch02.RemoveFlames
             .
             .
             .
          set burning to 1
     elseif burning == 1
          ArcTorch01.AddFlames
          ArcTorch02.AddFlames
             .
             .
             .
          set burning to 0
     endif
end
 
  • Like
Reaktionen: Friedolin2