Hallo, ich habe eine >Idee< für einen Plugin im Kopf, jedoch noch einige Unklarheiten über einzelne Skripts und ähnliches:
1. Wie euch allen wahrscheinlich bekannt ist gibt es für jeden einzelnen Skill eine Art Counter, der bei jeder Anwendung des Skills ein wenig steigt und sobald dieser den Wert 100 erreicht gibt es einen Skill Up.
Gibt es skripttechnisch eine Möglichkeit diesen Counter zu modifizieren und zu inkrementieren?
2. Ich möchte anhand eines Dolches als Basis eine Art Werkzeug machen, ähnlich wie die Dietriche in Morrowind. Das heißt dieses Werkzeug soll keinerlei Schaden machen und auch keine Reaktionen bei Anwendung auf NPCs hervorrufen. Ist das umsetzbar?
3. Ist es möglich einem Objekt während des Spielverlaufs einen neuen Namen zuzuweisen?
Beispiel:
Container "Tonne" Name ändern zu-> Container "Holztonne"
4. Soweit ich die letzten Monate mitgekriegt habe ist es möglich geworden neue Animationen ins Spiel einzufügen. Geht dies auch bei Waffen? Ist es möglich meinem "Werkzeug", das auf einem Dolch basiert eine neue Animation zuzuweisen?
1. den skill kann man modifizieren, beim player: (Die Menge = Zahl die zum aktuellen Sill hinzugefügt wird (abziehen is ne negative zahl)), ABER wenn man das einmal auf den Spieler ausführt kann dieser Skill NICHT mehr durch anwendung verbessert werden! (nur noch durch training oder den befehl)
2. keinen schaden geht natürlich (damage des items auf 0) aber keine reaktion meines wissens nicht, da diese eigenschaft einer waffe (glaub ich) hardcoded ist (vieleicht würd des mit einem script gehn, aber mir fällt dazu nichts ein), obwohl vieleicht geht es wenn man die Reichweite (Reach) auf null setzt) dann könnte man teoretisch niemanden mehr treffen, aber des heißt auch wirklich nichts (ein skript auf diesem werkzeug zum beispiel könnte auch nicht auf ein ziel ausgeführt werden, da man es ja nicht treffen kann) (noch was: könnte aber auch sein, dass des spiel bei einer solchen einstellung abstürzt, hab da nähmlich schon mal so was bei der reichweite von bögen gehört, aber weiß nicht ob das auch für Nahkampfwaffen gilt)
3. geht mit einem Kommando für den Oblivion Script Extender, nähmlich:
Des gilt für Gegenstände die man ins inventar legen kann, genauere beschreibung hier.
4. Einem Bestimmten gegenstand eine Bestimmte animation zuzuweißen ist nicht möglich, man müsste alle animationen eines typs (zum beispiel normaler angriff mit einer klingenwaffe) ersetzen, des heist der spieler und alle npcs würden mit jeder waffe des typs diese animation ausführen. Es gäbe aber eine Möglichkeit, wenn man dieses Werkzeug nur bei bestimmten Zeitpunkten/Gegenständen (zum beispiel beim aktivieren eines bestimmten activators) zu benutzen in dem man die idle-Animation (in die das Werkzeug eingefügt ist, ähnlich wie die trankflaschen bei alchemieanimationen die manche npcs manchmal ausführen) des spielers manipuliert und wenn nötig den spieler in die richtige position bringt und die idle-animation nach ausführung zurücksetzt. Aber wie des genau geht entzieht sich leider meiner Kenntnis, tut mir leid! Ich weiß nur, dass es geht.
Könnte man nicht im CS einer Kopie eines Dietrichs die .nif Datei des Dolches zuweisen?
Weiß aber nicht, wie das dann mit den Animationen hinkommt, und ob das zu dem passt, was du vor hast.
nein so einfach geht des leider nicht, da es in der nif nicht vorgesehn ist, dass ein dietrich eine waffe ist, dafür fehlen die einstellungen in der nif, des würd sich ähnlich verhalten als wenn du einem kleidungsstück als world model des biped model (des ohne *_gnd.nif) geben würdest. Tut mir aber auch hier leid, wie man des richtig macht weiß ich auch hier nicht genau, da ich bis jetzt selber immer kläglich an NIFScope gescheitert bin.
Ok, das sieht leider schlecht mit der Umsetzung meiner Idee aus.
Meine Idee war es Sonden, wie sie aus Morrowind bekannt sind einzuführen, welche ebenso wie in Morrowind hantiert werden, um Fallen zu entschärfen.
Aber wie es aussieht sind bei dem Leveln eines Skills und dem Einfügen neuer Waffenanimationen starke Grenzen gesetzt, welche es leider unmöglich machen dies umzusetzen. Da muss ich das Konzept leider wieder verwerfen, aber danke für die Hinweise.
hmm, waffen entschärfen geht doch auch meißtens wenn man nen pfeil auf nen auslöser schießt. Zum ändern des skills, wär aber ne sichere möglichkeit wenn man einfach ne eigenschaft erstellt die den die gewünschte menge auf den skill festigt. den müsste man dan nur noch mit einem script auf dem gegenstand (läuft wenn er inventar kommt).
Hallo, ich habe eine >Idee< für einen Plugin im Kopf, jedoch noch einige Unklarheiten über einzelne Skripts und ähnliches:
1. Wie euch allen wahrscheinlich bekannt ist gibt es für jeden einzelnen Skill eine Art Counter, der bei jeder Anwendung des Skills ein wenig steigt und sobald dieser den Wert 100 erreicht gibt es einen Skill Up.
Gibt es skripttechnisch eine Möglichkeit diesen Counter zu modifizieren und zu inkrementieren?
...
Also: der Counter geht nicht bis 100, sondern bis zu einem Wert, der sich je nach Skilllevel nach einer folgender Formel berechnet:
Bei Benutzung wird der "Counter" dann um einen best. Anzahl erhöht (SkillUseIncrement).
Diesen Wert kann man mit SetSkillUseIncrement beeinflussen. Den aktuellen Wert erhält man mit GetSkillUseIncrement (für temporäre Beeinflussung, um den Standartwert nachher wieder herstellen zu können).
Den aktuellen Wert des "Counters" erhält man mit GetPlayerSkillUse, beeinflussen (Steigern um x SkillUseIncrements) kann man ihn mit IncrementPlayerSkillUse.
ACHTUNG: alles OBSE-Befehle
Um einen Skill direkt zu beeinflussen würde ich SetActorValue empfehlen, da ModActorValue (bzw. PC) einige Probleme hat.
Zitat von Invidious
2. Ich möchte anhand eines Dolches als Basis eine Art Werkzeug machen, ähnlich wie die Dietriche in Morrowind. Das heißt dieses Werkzeug soll keinerlei Schaden machen und auch keine Reaktionen bei Anwendung auf NPCs hervorrufen. Ist das umsetzbar?
...
Höchstens über eine Verzauberung mittels StopCombat & ModCrimeGold.
Wichtig wäre bei dem ModCrimeGold außerdem, über das GameSetting zu arbeiten welches die Strafe für einen einfachen Angriff bestimmt.
Zitat von Invidious
3. Ist es möglich einem Objekt während des Spielverlaufs einen neuen Namen zuzuweisen?
Beispiel:
Container "Tonne" Name ändern zu-> Container "Holztonne"
ACHTUNG: Ändert den Namen des Base Objects, d.h. dass alle Referenzen davon ab sofort so heißen. Um nur eine Referenz zu beeinflussen verwende die OBSE-Funktion SetName (bzw. ModName/CopyName/AppendToName)
Zitat von Invidious
4. Soweit ich die letzten Monate mitgekriegt habe ist es möglich geworden neue Animationen ins Spiel einzufügen. Geht dies auch bei Waffen? Ist es möglich meinem "Werkzeug", das auf einem Dolch basiert eine neue Animation zuzuweisen?
...
Nur generell für alle. Für eine Waffe ist nur eine Animation möglich, die die ganze Zeit abgespielt wird.
--
Ich kam, sah, und konnte meinen Augen nicht trauen
Wie die meisten OBSE-Funktionen ist (wahrscheinlich) auch SetName für einen Gebrauch mit Referenz-, als auch mit Object-ID ausgelegt.
sollte genauso funktionieren, wie
Wenn beides bereitgestellt wird, also z.B.:
sollte das Base Object "gewinnen", es würde also so wirken als ob die Referenz gar nicht angegeben wurde.
Ergo: ObjectID:ref kannst du einfach weglassen.
Bei dir sollte das Problem allerdings darin liegen, dass du myself nicht als Variable definiert hast.
Dazu schreibst du irgentwo vor das SetName (ich würde den Anfang des Script nach dem scn und dem ersten Begin-Block empfehlen, jeweils mit Leerzeilen abgegrenzt) einmal ref myself.
Damit das ganze auch funktioniert muss noch irgentwo vor das SetName-Kommando hin: set myself to GetSelf ;(zumindest solange dass ein ObjectScript auf dem gewünschten Object ist).
Zeig mal dein ganzes Script, dann geht die Fehlersuche eigentlich um einiges leichter.
--
Ich kam, sah, und konnte meinen Augen nicht trauen
Danke für den Hinwies, ich hatte für die myself-Variable versehentlich den Datentyp short anstatt ref gewählt.
Mir ist jedoch gerade aufgefallen, dass die SetName-Funktion anscheinend einen schweren Fehler hat:
Ändere ich den Namen eines Objektes zB. von "Name1" auf "Name2" funktioniert dies problemlos, lade ich danach meinen Spielstand neu wird immer noch "Name2" angezeigt.
Lässt sich dieser Fehler irgendwie verhindern? So wäre die Funktion ansonsten nicht für mich zu gebrauchen.
Einen Spielstand, wo du den Dateinamen noch nicht geändert hast?
Falls ja, versuch mal Oblvion zu beenden und erst nach einem Neustart den Save zu laden, dann sollte der Name wieder der alte sein.
Sollte das aber wirklich der Fall sein würde ich dir empfehlen, das im OBSE-Thread zu melden damit der Bug behoben werden kann.
--
Ich kam, sah, und konnte meinen Augen nicht trauen