Construction Set Skriptthread zum Construction Set

Nein, das würde heißen, dass die Anzahl weniger als 0 ist :lol:.
Naja, sag bescheid, wenn der Script immer noch nicht klappt.

mfg Kahmul
 
nö, aber hab ja bis jetzt noch nichts verändert, dein tipp mit der referenz war ja bereits richtig, hatte ne entsprechende referenz benutzt.
Vieleicht muss ich die blöde variable streichen? bis gleich


Edit: geht immer noch nicht :(
 
Zuletzt bearbeitet:
Mal schauen ob ich dem Spam ein Ende setzen kann:

Frage von Silvers:
wie is der skript ,damit man nur einen zauber ausführen muss ,damit man eine waffe beschwören kann und diese sofort ausgerüset wird,natürlich soltle sie nach dem zauber auch wieder verschwinden

Antwort:
Code:
scn Scriptname

Begin ScriptEffectStart
player.additem SchwertID 1
player.equipitem SchwertID
End

Frage von Almalexian:
scn Testsortiererscript
short sortierer
Begin OnActivate
if player.GetItemCount AlkanetFlower == 1
player.removeItem AlkanetFlower 1
Testreferenz.additem AlkanetFlower 1
endif
end

Weiß jemand, was mit diesem Script nicht stimmt? Er soll Alkanetblumen aus dem Inventar nehmen und sie in einen Schrank verfrachten ( später natürlich noch anderes Zeugs )

Antwort:
Du kannst nicht alle Zutaten aus dem Inventar entfernen lassen, es sei denn du willst OBSE benutzen. Ansonsten, um den Script weiter oben zu vervollständigen, müsstest du es so schreiben:
Code:
scn Scriptname

short numitems

Begin OnActivate
if player.getitemcount AlkanetFlower > 0
    set numitems to player.getitemcount AlkanetFlower
    player.removeitem AlkanetFlower numitems
    Testreferenz.additem AlkanetFlower numitems
endif
End
 
  • Like
Reaktionen: robinH und Almalexian
Mit dieser Zeile wird die Variable numitems zum Wert von player.getitemcount AlkanetFlower gesetzt. Im Klartext: Die Variable erhählt den Zahlenwert der AlkanetFlowers die der Spieler im inventar hat. Bsp.Du hast 0 im inventar dann ist Numitems=0 hast du aber acht im inventar ist numitems=8
 
  • Like
Reaktionen: Almalexian
Habe auch nochmal eine Frage zu einem Scriptbefehl:
setActorRespawns
Wird der Respawn dann nur für den NPC mit der passenden REF geändert, oder werden alle NPC's mit der gleichen Abstammung geändert?
Beispiel: Der NPC Sam ist 5x im Spiel verteilt, wird jetzt nur Sam mit refID "Sam1" geändert, oder alle Sams?
 
Nach langer Oblivion Abstinzenz, habe ich mich entschlossen wieder zu spielen und auch ein bisschen, für mich selbst, zu modden.

Nun bin ich jedoch auf ein Problem gestoßen. Ich wollte ein Skript auf eine Waffe legen, welches bewirkt, das ich Schaden bekomme, solange die entsprechende Waffe gezogen ist. Ich habe es geschafft, das beim Ziehen der Waffe eine Eigenschaft auf mich gelegt wird, die Schaden verursacht. Diese Eigenschaft verschwindet auch wieder, sobald ich die Waffe wegstecke.

Jedoch, und das ist mein Problem, wird dieser Effekt nur einmal aktiviert. Soll heißen, nachdem ich die Waffe einmal gezogen habe, ist sie harmlos.

Könntet ihr mir e.v helfen, und einmal dieses Skript überfliegen?

scn ZTyrfingdmg

ref Posessor

Begin Gamemode
set Posessor to GetContainer
if ( Posessor.IsWeaponOut == 1 )
Posessor.AddSpell ZWaffenhunger
else
Return
endif
End

Begin Gamemode
if (Posessor.IsWeaponOut == 0 )
Posessor.RemoveSpell ZWaffenhunger
else
Return
endif
End

Wer Lust hatt, könnte mir auch e.v. bei Variationen des obigen Skripts helfen.

a) Ist die Waffe einmal gezogen worden, kann sie nicht mehr weggesteckt werden, solange bis man eine Kreatur getötet hatt.

b)Tötet der Träger der Waffe innerhalb von 30 Sekunden keine Kreatur, stirbt er selber.

Aufjedenfall bedanke ich mich schon einmal im Voraus! ;)
 
Zuletzt bearbeitet:
Habe auch nochmal eine Frage zu einem Scriptbefehl:
setActorRespawns
Wird der Respawn dann nur für den NPC mit der passenden REF geändert, oder werden alle NPC's mit der gleichen Abstammung geändert?
Beispiel: Der NPC Sam ist 5x im Spiel verteilt, wird jetzt nur Sam mit refID "Sam1" geändert, oder alle Sams?

"Sam1" ist ja eine klar definierte Referenz, also sollte der Befehl nur ihn betreffen.
Die verteilten Sam's haben auch alle verschieden Editor IDs.

Mfg Master of Worlds
 
  • Like
Reaktionen: bjoernret
Die Sams müssten eigentlich alle die gleiche EditorID haben, gibt doch nur einen Sam, eben nur mehrfach in Cyrodiil verteilt, oder?

Sorry, die EditorID meinte ich nicht. Die ObjectID (hieß die so :?), z.B. ich habe einen NPC und ich setze ihn in die Welt.
Er hat z.B. die ObjectID 0100E14D, dann plaziere ich ihn nochmal. Dann habe ich also 2x den selben NPC der zweite hat aber eine andere ObjectID, nämlich die 0100E14E.
Ich hoffe jetzt ist verständlich. :)

Mfg Master of Worlds
 
  • Like
Reaktionen: bjoernret
Nobu, zu deinem Script: Zuerst möchte ich anmerken, dass eine Return-funktion am Ende eines Blocks nicht nötig ist. Außerdem kannst du die beiden Gamemode-blöcke zusammenfassen. Weiterhin ist es nötig festzustellen, ob auch wirklich das richtige Schwer gezogen ist. Andernfalls würde bei jeder beliebigen Waffe der Benutzer Lebenspunkte verlieren, und das wäre ja nicht zweckmäßig.
Code:
scn ZTyrfingdmg

ref owner
short equipped

Begin OnEquip
set equipped to 1
End

Begin OnUnequip
set equipped to 0
End

Begin Gamemode
If equipped == 0
    return
else
    set owner to GetContainer
    if ( owner.IsWeaponOut == 1 )
        owner.AddSpell ZWaffenhunger
    elseif (owner.IsWeaponOut == 0 )
        owner.RemoveSpell ZWaffenhunger
    endif
endif
End
Anmerkung: ZWaffenhunger sollte eine Duration von 0 haben, damit der Zauber so lange ausgeführt wird, bis er per Script wieder entfernt wird.
Zu den Erweiterungen: Das ist, denke ich, möglich, allerdings nicht einfach. Da würde ich dir nur helfen, wenn du es wirklich brauchst/willst.

Gildur
 
  • Like
Reaktionen: Nobu
Alles klar, danke sehr. Ich werde es gleich testen, sobald ich wieder an meinem Gaming Pc bin.

Nein, die Erweiterungen sind nicht nötig. Ich habe sie nur ebenfalls aufgeführt für den Fall, das man sie leicht hätte hinzufügen könnte.

Danke ebenfalls für die ausführliche Kritik. :)
 
hä? du willst einfach ne deadrawaffe beschwören?? das ist ein Zauber Typ ^^ musste einfahc nen neuen spell machen.. und frag jetzt bitte nicht "wie geht das"
 
Sorry, die EditorID meinte ich nicht. Die ObjectID (hieß die so :?), z.B. ich habe einen NPC und ich setze ihn in die Welt.
Er hat z.B. die ObjectID 0100E14D, dann plaziere ich ihn nochmal. Dann habe ich also 2x den selben NPC der zweite hat aber eine andere ObjectID, nämlich die 0100E14E.
Ich hoffe jetzt ist verständlich. :)

Mfg Master of Worlds

Danke, jetzt habe ich es verstanden :)
 
Habe Heute festgestellt das der OBSE 17 Fehler bei manchen Scripten hat.
Denn Einige lassen sich nicht abspeichern. Keine Ahnung warum, aber der CS meckert immer das der Endblock nicht stimmt, obwohl es mit OBSE 16 wunderbar klappt. Teste als nächstes mal OBSE18. Mal schauen ob es da wieder geht. So ist der OBSE17 überhaupt nicht zu gebrauchen.

Bestätigt: OBSE18 hat den selben gavierenden Fehler und ist somit auch nicht zu gebrauchen. Ich weiss das das eine Beta ist. Jetzt stellt sich die Frage, wie erfahren die Entwickler, dass die Version diesen schwerwiegenden Fehler hat.

Thema wird an anderer Stelle weiter besprochen
http://www.scharesoft.de/joomla/forum/showthread.php?p=657630#post657630
 
Zuletzt bearbeitet:
Ich habe eine Frage zu Variablen.

Mal angenommen ich habe die Variable short Testvariable in einem Script mit 1 definiert, also set Testvariable to 1 wenn ich mich nicht irre.

Wenn ich jetzt in einem anderen, also einem völlig neuen script abfrage
if Testvariable == 1, würde er mir ja oder nein sagen?

Im Klartext, kann man eine in einem vorherigen script definierte Variable auch in dem nächsten script verwenden?