Construction Set Script für Zauberbuch

FourOne

Abenteurer
Mahlzeit!
Ich möchte gerne ein Zauberbuch erstellen [Thread] mit dem ich mein eigenes im Spiel entlasten kann [Für die bessere Übersicht]. D.h. man soll Zauber in dem Buch ablegen können und auch wieder aufnehmen oder löschen können.

1.Ist es grundsätzlich möglich über den Befehl "player.deletespell x" das ganze gleichzeitig in einem Buch abzulegen und hinterher wieder mit "player.addspell x" wieder aufzunehemen?
2. Und wenn ja würde das auch mit selbst erstellten klappen?
3. Und könnte man auch eine Funktion zum löschen einbauen?

Wenn einer Tipps bei der Umsetzung geben kann Bitte melden ;)
Mfg, Four One.
 
ob es grundsätzlich möglich ist ein buch zu scripten was genau deine anforderungen erfüllt bin ich mir momentan noch nicht so sicher, zumindest habe ich momentan noch keine konkrete vorstellung wie das realisierbar ist. wenn du es stattdessen bei nem npc machen würdest wäre es auf jedenfall möglich, wenn auch sehr... umfangreich das zu scripten... werde mir gleich das mal näher anschaun, guggen ob ich ne möglichkeit finde^^

Edit:

also, folgende probleme die ich sehe. es wäre als erstes erstmal ziemlich umfangreich zu scripten, da du für jeden einzelnen zauber eingie bedingungen angeben muss. dann fast eine messagebox maximal 10 buttons, das heißt du bräuchtest mehrere messageboxes. weiterhin ist es für bessere übersicht sinnvoll das die messagebox erkennt welche zauber du hast, bzw welche du hinterlegt hast. ich geb mal nen beispiel ohne das die messagebox weiß welche zauber du hast und welche sich momentan im buch befinden. könnte ungefähr so aussehen für sagen wir mal den zauber feuerball, da ich grad die EditorID vom feuerball nich zur hand hab sagen wir mal einfach der zauber heißt im editor auch feuerball^^

scn ZauberAblage

ref Button01
ref Button02
ref Button03

begin OnActivate

messagebox "Wollte ihr einen Zauber eurem Inventar...", "hinzufügen", "entfernen"
set Button01 to getbuttonpressed
if Button01 == 2
messagebox "Welche Art von Magie ist euer Zauber?", "Zerstörung", "Veränderung", "undsoweiter"
;maximal 10 buttons pro messagebox^^
set Button02 to getbuttonpressed
if Button02 == 1
messagebox "Welchen Zerstörungs-Zauber wollt ihr entfernen?", "Feuerball", "wasweißich", "undsoweiter"
set Button03 to getbuttonpressed
if Button 03 == 1
player.removeSpell Feuerball
messagebox "Der Zauber wurde entfernt!", "ok"
endif
if Button 03 == 2
player.removeSpell wasweißich
messagebox "Der Zauber wurde entfernt!", "ok"
endif
endif
if Button02 == 2
messagebox "Welchen Veränderungs-Zauber wollt ihr entfernen?", "button1", "button2"
;die buttons halt ähnlich wie oben nur dann veränderungszauber
endif
endif

end
naja, man sieht is ne schwere geburt und ne ganze menge arbeit wenne das für jeden spell machen kannst. mit dem OBSE (oblivionscriptextender) wird ne funktion die das ganze erleichtern würde --> getplayerspell ...die funktion ermöglicht den zauber zu erkennen den der sieler grad als aktiven spell ausgewählt hat würde das entfernen abkürzen, nicht jedoch das hinzfügen welches ähnlich lang aussehen würde wie oben...^^
scn OBSEspellentfernenScript

ref aktZauber

begin OnActivate

set aktZauber to GetPlayerSpell
player.removeSpell aktZauber

end

das ersparrt die funktionen in der button02 und button03 schleife, also schon ne große abkürzung. button01 auszuführen is dennoch sinnvoll, hab ich oben aber weggelassen, denn meine finger sind schon müde vom schreiben und ausserdem mag ichs nich noch unübersichtlicher mahcen wies ist. ich hoffe du kannst dem oben folgen, is ziemlich unübersichtlich und umfangreich aber ich denke das prinzip wird ganz gut deutlich (und auch der umfang^^). so... öhm, das wars ersma was ich dazu zu sagen bzw zu schreiben hab.

mfg det kaninchen
 
Zuletzt bearbeitet:
  • Like
Reaktionen: FourOne
Das ist doch schonmal ein super Anfang :clap:
Also ich finde das sieht sehr umsetzbar aus, auch wenn es natürlich viel Arbeit erfordert.
Leider läuft das ganze ja logischerweise nur mit Zaubern die ich im Script integriere, d.h. das alle Zauber aus diversen Mods & Selbst erstellte damit nicht funzen :cry:
Auch das mit den 10 Zaubern pro Messagebox stört mich doch sehr denn es sollte vom Stil her schon wie das Orginal Zauberbuch sein. Wenn ich diese Messageboxes hätte dann wäre es ja wie bei Abacus dem Tagebuch.

Aber ich denke ich werde mal diesen Scriptextender laden und mal schauen was da noch geht. Ich bräuchte halt einen Befehl der egal welchen Zauber aufnimmt und wieder ausspuckt.

Idee: Vom Stil her könnte man das auch wie bei den Händlern bauen [Also das Kaufmenü].

Mfg, Four One.
 
was man probieren könnte wäre tatsächlich jedes mal einem npc die skills zu geben (das würde gehen), den npc irgendwo hinbauen wo man ihn nich findet, bzw ihn dauerhaft unsichtbar machen (geht auch) und sein service menu via script zu öffnen (da bin ich mir nicht sicher ob das geht)
 
Da ich das ganze in die Geheime Halle einbauen würde könnte man das schon als sichtbaren NPC einbauen. Dann aber so das ich zu Ihm hin muss Zauber abgeben und holen, denn es wird sowieso einen Teleport Zauber für die Halle geben.

Noch ein paar Fragen:
1. Gäbe es denn bei einem NPC die Möglichkeit Ihm auch wirklich alle Zauber zugeben und auch zurück zu erhalten für umsonst [Auch die aus Plugins & selbst erstellte]
2. könnte man sie alle vor Ort auch löschen [als Alternative könnte ich mir auch das Script vom Plugin Spell Delete vorstellen]

Mfg, Four One.

EDIT: Das mit der Alternative ist so gemeint das es mir ohne Script Extender lieber wäre.
 
Zuletzt bearbeitet:
zumindest ist es möglich das wennu nen bestimmten spell aus deinem inv löscht ihm den zu verpassen. würde es schon mit obse vorschlagen weil es das um ne menge erleichtert (zumindest da ich nich weiß ob und wie man zauber direkt ausm inventar löscht). wie du die kosten von dem spell auf 0 setzt weiß ich auch nicht^^