Construction Set Skriptthread zum Construction Set

Irgendwie gibts da keine Playable Option. Das gibts nur bei Rüstung.



Und noch was:

Ich möchte ein Script schreiben, welches den Spieler selbst belegt und wodurch der Gegner, wenn er den Spieler schlägt, eine Eigenschaft zugefügt wird. Ich bin so weit, dass dies hier auf dem Spieler liegt:

Begin OnHit
addspell blaBrennen
End

Aber dem Gegner wird der Zauber daraufhin nicht hinzugefügt. GIbt es da eine Lösung?
 
Zuletzt bearbeitet:
Es heißt ja auch "<Referenz>.addSpell <Spell-ID>".
Willst du wirklich den Spieler mit einem Skript belegen? Das könnte zu Problemen mit anderen Mods führen...
 
Das Script wird erst aktiv, wenn der Spieler einen Ring anlegt. Nicht dauerhaft. Wie müsste die Referenz für sämtliche möglichen Angreifer lauten?
 
Funktionssuche

Hi zusammen,

ich bin auf der Suche nach einer Funktionsliste für alle (oder nahezu alle) OBSE- und Pluggy-Befehle. Das sind ja Skript-Extender, aber leider sind im CS-Wiki nicht alle aufgeführt. Bin nämlich auf der Suche, ob da nichts dabei ist, was ich nutzen könnte.

:bye:
 
Hi ich hab auch eine Skriptfrage

Der Skript soll folgendes tun .

Beim ersten Betätigen eines Activator soll eine Message Box kommen sowie eine Erhöhung der Queststage.

Dann soll man sobald man ein Item hat und wieder den Activator betätigt eine andere Messagebox kommen . Dem Spieler wird das bestimmte Item abgenommen und dafür ein andres gegeben .

Hoffe es ist verständlich .
 
Denke schon. :)

Code:
scn ...

short DoOnce

Begin onActivate

;1ste Aktivierung

If (DoOnce == 0) && (getstage <Quest-ID> == <Queststufe 1>)

MessageBox "Text 1"
setstage <Quest-ID> <Queststufe 2>

set DoOnce to 1

Endif

;2te Aktivierung

If (DoOnce == 1) && (getstage <Quest-ID> == <Queststufe 2>)
If player.getitemcount <ID des Gegenstandes> >= 1

MessageBox "Text 2"
player.removeitem <ID des Gegenstandes> <gewünschte Anzahl>

set DoOnce to 2

Else ;Spieler hat den Gegenstand nicht

Return

Endif
Endif
End

Ich bin übrigens jetzt davon ausgegangen, dass vor der Queststufe bei der ersten Aktivierung die Quest schon aktiv war. Deswegen die Quest-Stufen-Abfrage. Wenn sie noch nicht aktiv ist, setze hier einfach 0 ein oder lass es weg.
 
Code:
SCN ...

Short Right
Short Done

Begin OnActivate

if(done == 0)
   set Right to 1
endif

end

Begin GameMode

 if(right == 0)
     return
elseif(right == 1)
      if(player.getitemcount <Item>) && (Done == 0)
           player.removeitem <Item> 1
           player.additem <Item2> 1
           MessageBox "Bla"
           set Right to 0
           set Done to 1
          return
       endif
             MessageBox "Bla"
          if(getstage <Quest> <Stage>)
              setstage <Quest> <Stage>
          endif
              set right to 0
            return
  endif

end
mfg
Kahmul

EDIT: Da war jemand schneller...
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Anti_Held
Ich will allgemein lieber Quest Stage abfragen . Die sind jetzt schon in dem Script oder ?

Warum Spieler hat das Item nicht ?
Er soll den Activator doch nur benutzen können wenn er es hat

@ Kahmul Bei deinem fehlt die erste Box
 
Kahmul schrieb:
EDIT: Da war jemand schneller...

Aber dafür ist deins richtig(er).

Dabei hast du mir doch gestern ist das mit den doppelten If's bei Begin onActivates gesagt :headwall:

Anti_Held schrieb:
Warum Spieler hat das Item nicht ?
Er soll den Activator doch nur benutzen können wenn er es hat

Das dient nur der allgemeinen Ordnung.
Schließlich wäre es doch möglich, dass der Player das Item nicht hat.
Und wenn das eintritt, wird der Script an dieser Stelle unterbrochen.
 
@darkruler ein "return" ist aber eigentlich nicht nötig! schließlich bewirkt das skript auch nichts wenn man keienen befehl eingibt wie zb der "NonActivationScript" der geht auch nur

Scn NonActivationScript

Begin onactivate
;do nothing
end

also kannst du das "else return" weglassen^^
 
Danke.
Hab' grad einen Schreck bekommen.

So viele OBSE-Befehle :shock:

Verstehe ich Pluggy eigentlich richtig so, dass das Befehle sind, die mit INI-Dateien arbeiten?

[EDIT]
@Der W@ldmeister :

Ich meine mal gehört zu haben, dass solche Returns der Performance zuträglicher sind, weil Oblivion ingame dann nicht immer den kompletten Script durchackern muss, sondern dann dort aufhört.
 
Zu Pluggy: So wie ich das verstanden habe, arbeitet es hauptsächlich mit der .Ini-Datei.
Zu OBSE: Ich finds gut, dass da eine so reiche Auswahl besteht. Viel mehr Möglichkeiten fürs Skripten. :)

Zum Return: Ich könnte mir schon vorstellen, dass es performance freundlicher ist. Eben aus dem Grund, den DarkRuler schon genannt hatte.

*Ganz nebenbei auf Danke-Button hoff, für den Beitrag mit den Listen :-D*
 
  • Like
Reaktionen: TheDarkRuler
Zu Pluggy: So wie ich das verstanden habe, arbeitet es hauptsächlich mit der .Ini-Datei.
Zu OBSE: Ich finds gut, dass da eine so reiche Auswahl besteht. Viel mehr Möglichkeiten fürs Skripten. :)

Zum Return: Ich könnte mir schon vorstellen, dass es performance freundlicher ist. Eben aus dem Grund, den DarkRuler schon genannt hatte.

Gut, danke.
Übrigens ... da ich in der OBSE-Liste nicht ganz schlau geworden bin, frag' ich einfach mal direkt nach einer Funktion :

Gibt es eine Möglichkeit ingame die Zuweisung von ModelLists zu ändern? Ich will nämlich, dass ein Lich, welcher zuvor aus der Vanilla-Modellist seine NIF genommen hat, nach Benutzung eines Zaubers eine neue NIF, welche sehr viel dämonischer aussieht. Also quasi ein Push-Up für den Lich :D

Geht das?

Kahmul schrieb:
*Ganz nebenbei auf Danke-Button hoff, für den Beitrag mit den Listen :-D*

Button drück :p
 
Mit "SetBipedModelPathEx" funktioniert das (afaik :-D). Habe damit noch nicht viel gemacht.

Kleiner Tipp: Im Browser STRG + F drücken, dann kommt so eine Suchfunktion, mit der du die Seite durchsuchen kannst. ;)
Jedenfalls ist das bei Mozilla Firefox so. :lol:
 
  • Like
Reaktionen: TheDarkRuler
Moin .

Kann man irgendwie einen Script machen der folgendes bewirkt .

Wenn der Spieler ein bestimmtes Item nicht trägt kann er einem Npc nur pro Schlag max 2 Punkte Schaden machen .

Wenn das nur mit Obse geht ist es egal .