Construction Set Befehl für Hauptskills

Oberscht

Gebannter Benutzer
Nabend
Ich versuch mich jetzt auch mal so als Skripter. Anfangen wollt ich mal mit nem einfachen Skript, welcher bei einem bestimmten Level einen von mir ausgewählten Nebenskill zu einem Hauptskill umwandeln soll und einen ausgewählten Hauptskill zu einem Nebenskill. Tjoar, was is da aber das Kommando für? Ich hab die Listen abgesucht, aber da war nix damit. Gibt es überhaupt einen Befehl für sowas?
Und dann noch ne Frage: Kann ich das irgendwie so skripten, dass das Auswahlfenster direkt im Anschluss des Levelaufstiegfensters und vor dem Aufstehen erscheint oder wär das zu kompliziert für nen b00n wie mich?
 
Ich kann dir die 1. beantworten: Skills sind größtenteils hardcoded, aber deine idee geht zumindest theoretisch. Du müsstest halt die klasse ändern, was aber bei den selbst erstellten net geht, sprich der spieler müsst eine boreingestellte habn. Hier ma n beispiel (nur die h-skills):

Urspr. Klasse, als bsp. der magier:
- Zerstörung
- Veränderung
- Wiederherstellung
- Illusion
- Mystik
- Beschwörung
- Alchemie

Wenn man dann z.B. net mehr alchemie, sondern schwertkampf habn will, musste n quest machen, dass wenn die klasse des spielers der magier is, UND er keine alchemie mehr sondern schwertkampf will, dann musste n skript machen, dass die klasse des spielers ändert, und zwar zu dieser:
- Zerstörung
- Veränderung
- Wiederherstellung
- Illusion
- Mystik
- Beschwörung
- SCHWERTKAMPF

Da es aber selbst so fast unzählige möglichkeiten gibt, macht es kaum sinn. Ein wenig cheaten, aber einfacher wäre:
"show ClassMenu"

Tut mir leid, wär bestimmt n nettes feature geworden...
 
  • Like
Reaktionen: Oberscht
Moment mal, so schnell aufgeben möcht ich dann doch nicht. Kann man mit nem Skript-Kommando das Klassenauswahlmenü öffnen? Kann man das evt. sogar modifizieren?
 
also die menu´s kannste nochma anzeigen lassen, allerdings muss der player dann selbst wählen.

siehe:
http://cs.elderscrolls.com/constwiki/index.php/ShowBirthsignMenu

da stehn die verschiedenen menu´s. hoffe das hilft dir
Hm, ich merk grad, dass die ganzen Skills nachm Showclassmenu resetted werden. So wird das nix:?
Zumindest für ein öffentliches Skript. Aber da ich selbst nen Klassenwechsel brauche (Mit Ritter bin ich ziemlich am Popo), möcht ich noch auf JNRs Beitrag kommen. Da hätt ich nämlich 2 Fragen: 1. Kann ich diesen Effekt statt auf ein Quest auf ein Buch skripten? 2. Werden bei sowas die Skills auch resetted?
 
Hm, ich merk grad, dass die ganzen Skills nachm Showclassmenu resetted werden. So wird das nix:?
Zumindest für ein öffentliches Skript. Aber da ich selbst nen Klassenwechsel brauche (Mit Ritter bin ich ziemlich am Popo), möcht ich noch auf JNRs Beitrag kommen. Da hätt ich nämlich 2 Fragen: 1. Kann ich diesen Effekt statt auf ein Quest auf ein Buch skripten? 2. Werden bei sowas die Skills auch resetted?

ShowClassMenu? Das is das gleiche wie oben, da kommt einfach das menü, wo man die klasse ändern kann. Geht auch mit der Konsole. Das skript fürn buch wär:
scn <Skriptname>

short DoOnce

begin OnEquip
showclassmenu
set.DoOnce to 1
end

Wenn das menü bei jedem Lesen kommen soll, müsste die Zeilen mit "DoOnce" einfach weglassen.
Kannst ja ne klassenmod drausmachen. Mein größter wunsch wärn neue bilder für klassen^^ Noch n tipp: Wenn ihr eure eigene klasse (ingame) erstellt, bekommt eure klasse das bild der zuletzt ausgewählten.
Schade find ich halt, dass es keine weiblichen bilder gibt... vllt kannste ja ma welche suchen.
oder du machst klassenspezifische zauber oder quests...
 
ich schätze mal der befehl den jnr meint is SetClass. allerdings bezweifle ich das es dir den gewünschten erfolg gibt. ich hab mir aber etwas überlegt wie du dein ziel ''indirekt'' verwirklichen kannst. bin aber nich sicher ob es klappt.
sagen wir mal du würdest die klasse wechseln wolln, er resetet aber die werde dann würd ich zusätzlich je nachdem welche klasse er wählt mit getactorvalue vorher die werte kopiert und dann später mit setactorvalue hochsetzen... so zb

ref value

set value to getactorvalue strength + 5
setactorvalue strength value

wenne zb krieger ändern willst. hab setclass warrior allerdings mal inner konsole ausprobiert, dann meckert die konsole allerdings rum das es das ''item'' warrior nich gibt o_O muss man sich halt noch was dran überlegen^^
 
ich schätze mal der befehl den jnr meint is SetClass. allerdings bezweifle ich das es dir den gewünschten erfolg gibt. ich hab mir aber etwas überlegt wie du dein ziel ''indirekt'' verwirklichen kannst. bin aber nich sicher ob es klappt.
sagen wir mal du würdest die klasse wechseln wolln, er resetet aber die werde dann würd ich zusätzlich je nachdem welche klasse er wählt mit getactorvalue vorher die werte kopiert und dann später mit setactorvalue hochsetzen... so zb

ref value

set value to getactorvalue strength + 5
setactorvalue strength value

wenne zb krieger ändern willst. hab setclass warrior allerdings mal inner konsole ausprobiert, dann meckert die konsole allerdings rum das es das ''item'' warrior nich gibt o_O muss man sich halt noch was dran überlegen^^
Nun gut, dann hätte ich auch schon die Lösung für diesen Fall. Aber ich würd gern wissen, ob der überhaupt eintritt;)
 
Zuletzt bearbeitet:
Muss es net Set.Value heißen? Ich glaub bei Variablen muss vor dem Set/Get immer n Punkt sein, oder?
 
ich schätze mal der befehl den jnr meint is SetClass. allerdings bezweifle ich das es dir den gewünschten erfolg gibt. ich hab mir aber etwas überlegt wie du dein ziel ''indirekt'' verwirklichen kannst. bin aber nich sicher ob es klappt.
sagen wir mal du würdest die klasse wechseln wolln, er resetet aber die werde dann würd ich zusätzlich je nachdem welche klasse er wählt mit getactorvalue vorher die werte kopiert und dann später mit setactorvalue hochsetzen... so zb

ref value

set value to getactorvalue strength + 5
setactorvalue strength value

wenne zb krieger ändern willst. hab setclass warrior allerdings mal inner konsole ausprobiert, dann meckert die konsole allerdings rum das es das ''item'' warrior nich gibt o_O muss man sich halt noch was dran überlegen^^
Könnte es sein, dass die Klassen auf deutsch angegeben sind?

Edit: Seltsam. Hab grad JNRs Skript genommen und ShowClassMenu durch setclass Akrobat ersetzt. Als ich dann speichern wollte, hat das Teil dann die ganze Zeit an DoOnce (Unknown variable or function; Could not parse this line) und an der Zeile mit setclass (Mismatched Begin/End block starting on line 5) rumgemeckert. Jemand ne Ahnung, was da los ist?
 
Zuletzt bearbeitet:
Oh je, ein Problem reiht sich dem nächsten an. Nämlich hab ich jetzt so ne Notiz mit diesem Skript versehen und aufn Boden im Cheydinhalschloss hingeworfen, weil dort grad mein Savegame ist und ich den Befehl SetClass erstmal ausprobieren möchte, bevor ichs ernst angehe. Tjoar, jetzt hab ich das ganze als Plugin gespeichert, das Savegame geladen, aber ne Notiz lag da weit und breit keine rum. Was tun?
 
Oh je, ein Problem reiht sich dem nächsten an. Nämlich hab ich jetzt so ne Notiz mit diesem Skript versehen und aufn Boden im Cheydinhalschloss hingeworfen, weil dort grad mein Savegame ist und ich den Befehl SetClass erstmal ausprobieren möchte, bevor ichs ernst angehe. Tjoar, jetzt hab ich das ganze als Plugin gespeichert, das Savegame geladen, aber ne Notiz lag da weit und breit keine rum. Was tun?

evtl. vergessen das plugin zu laden ? passiert mir öfters mal =) ansonsten als tipp würde ich dir empfehlen eine truhe an ne feste stelle platziern und dort immer alle gegenstände reinstellen. dann weißt auch immer wo du die neuen sachen findest
 
evtl. vergessen das plugin zu laden ? passiert mir öfters mal =) ansonsten als tipp würde ich dir empfehlen eine truhe an ne feste stelle platziern und dort immer alle gegenstände reinstellen. dann weißt auch immer wo du die neuen sachen findest
Nene, hab jetzt aus der Notiz ein Buch gemacht und zwischen die beiden Throne gelegt und endlich gefunden. Und eine schlechte Erfahrung gemacht. Denn auch Setclass resettet die Skills:(
Naja, da möcht ich dann doch auf die Idee zurückkommen, die Skills per Skript auf ihren ursprünglichen Zustand zu setzen. Nun würd ich da gern wissen: Bringen diese geskripteten Skillerhöhungen auch ein Level-Up?
 
obs nen levelup bringt weiß ich nicht, ich schätze fast schon... hrhr, wies aussieht wirst noch ne ganze menge probleme bekommen^^.
Naja, da möcht ich dann doch auf die Idee zurückkommen, die Skills per Skript auf ihren ursprünglichen Zustand zu setzen.

das is kein wirkliches problem (zumindest seh ich immo keins^^). musst jede art von skill als reference ablegen:
scn SkillsAktualisieren

ref Nahkampf
ref Schuetze
ref Zerstoerung
ref haltalleanderenskillsnoch
short aendern

begin OnActivate

set Nahkampf to player.getactorvalue Nahkampf
set Schuetze to player.getactorvalue Schuetze
set Zerstoerung to player.getactorvalue Zerstoerung
set haltalleanderenskillsnoch to player.getactorvalue haltalleanderenskillsnoch

;klassewechseln und dann:

set aendern to Nahkampf
if getIsClass == nahkaempfer ;gibts zwar nich is aber egal^^ als bsp halt
set aendern to aendern + 5
endif
player.setactorvalue Nahkampf aendern

set aendern to Schuetze
if getIsClass == bogenschuetze
set aendern to aendern + 5
endif
player.setactorvalue Nahkampf aendern

;usw für jeden einzelnen skill und dann je nach gewählter klasse ändern
;is halt fleißarbeit, aber durchaus machbar schätze ich =)

end
 
obs nen levelup bringt weiß ich nicht, ich schätze fast schon... hrhr, wies aussieht wirst noch ne ganze menge probleme bekommen^^.


das is kein wirkliches problem (zumindest seh ich immo keins^^). musst jede art von skill als reference ablegen:
:eek:
Du scheinst zu vergessen, dass ich n totaler Skriptnoob bin;)
Wobei, den ersten Teil versteh ich ja noch. Aber was hat es mit
set aendern to Nahkampf
if getIsClass == nahkaempfer ;gibts zwar nich is aber egal^^ als bsp halt
set aendern to aendern + 5
endif
player.setactorvalue Nahkampf aendern
auf sich?

Und kann man es so machen, dass die Skills erst dann aktualisiert werden, wenn ich das Klassenauswahlfenster schließe? Ich dachte mir nämlich, dass es dann doch einfacher wäre, statt GetClass einfach ShowClassMenu zu verwenden, weil bei beiden die Skills resetted werden, ich aber für GetClass noch ne Klasse im CS erstellen muss, was ich bei ShowClassMenu ja gleich im Spiel kann.
 
Zuletzt bearbeitet:
set aendern to Nahkampf
if getIsClass == nahkaempfer ;gibts zwar nich is aber egal^^ als bsp halt
set aendern to aendern + 5
endif
player.setactorvalue Nahkampf aendern

das da oben ist ein beispiel wie du einen bestimmten skill hochsetzt je nachdem welche klasse du wählst. die klasse nahkaempfer gibt es nicht, ist nur ein beispiel, denn da ist es ja ziemlich deutlich das du vermutlich nahkampf hochsetzen willst ;)

also, zeile 1. setzt die variable aendern auf deinen aktuellen nahkampfskillwert, der in der variable nahkampf gespeichert ist

2. die if schleife fragt nur ob deine aktuelle klasse nahkaempfer ist und alles bis Zeile 4 wird nur dann ausgeführt wenn die bedingung erfüllt ist

3. setzt die variable aendern um 5 punkte hoch

4. ende der if bedingung

5. setzt deinen nahkampfskill auf aendern, aaaaaalso damit 5 punkte höher als vorher

Und kann man es so machen, dass die Skills erst dann aktualisiert werden, wenn ich das Klassenauswahlfenster schließe? Ich dachte mir nämlich, dass es dann doch einfacher wäre, statt GetClass einfach ShowClassMenu zu verwenden, weil bei beiden die Skills resetted werden, ich aber für GetClass noch ne Klasse im CS erstellen muss, was ich bei ShowClassMenu ja gleich im Spiel kann.

erstens: ne, ich glaube nicht das es einfacher wäre eine eigene klasse im showclass menü zu erstellen, da ich keine möglichkeit sehe eine im showclass erstelle klasse noch nachträglich zu ändern.

zweitens: es ist nicht nötig extra eine klasse im cs neu zu erstellen, kannst auch normale klassen benutzen. und GetIsClass kann das showclassmenu eh nich ersetzen^^
 
das da oben ist ein beispiel wie du einen bestimmten skill hochsetzt je nachdem welche klasse du wählst. die klasse nahkaempfer gibt es nicht, ist nur ein beispiel, denn da ist es ja ziemlich deutlich das du vermutlich nahkampf hochsetzen willst ;)

also, zeile 1. setzt die variable aendern auf deinen aktuellen nahkampfskillwert, der in der variable nahkampf gespeichert ist

2. die if schleife fragt nur ob deine aktuelle klasse nahkaempfer ist und alles bis Zeile 4 wird nur dann ausgeführt wenn die bedingung erfüllt ist

3. setzt die variable aendern um 5 punkte hoch

4. ende der if bedingung

5. setzt deinen nahkampfskill auf aendern, aaaaaalso damit 5 punkte höher als vorher
Nee, das is gar nicht nötig. Ich will eigentlich gar nix erhöhen oder verkleinern oder sonstwas mit meinem Skript, ich will einfach nur, dass ich ne andre Klasse habe;)

erstens: ne, ich glaube nicht das es einfacher wäre eine eigene klasse im showclass menü zu erstellen, da ich keine möglichkeit sehe eine im showclass erstelle klasse noch nachträglich zu ändern.

zweitens: es ist nicht nötig extra eine klasse im cs neu zu erstellen, kannst auch normale klassen benutzen. und GetIsClass kann das showclassmenu eh nich ersetzen^^
Hmn, wie meinst du das? Ich will eigentlich nur das ShowClassMenu öffnen, ne eigene Klasse erstellen, sie auch für meinen Char nehmen, das Menü schließen und dann das Skript meine (resetteten) Stats auf ihren ursprünglichen Status setzen lassen. Würde ich das mit "GetClass" tun, müsste ich im Vorfeld meine gewünschte Klasse im CS erstellen (Hab aufgrund von Noobtum beim Start Ritter genommen... Gerade darum möcht ich ja jetzt mit dem Skript meine Klasse wechseln), damit ich diese Klasse angeben kann.
Verstehst du?