Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Aura vom Hordenanführer?
#21
Du musst auch die einfachen Anführungszeichen bei der Konvertierung weglassen.

Aus
X'DA3C6B5C7FB503234C0A0BA1DAA93832'
wird dann
DA3C6B5C7FB503234C0A0BA1DAA93832
und zum Schluss
5c6b3cda-b57f-2303-4c0a-0ba1daa93832

Ist dir nicht aufgefallen, dass dein Identifikator zwei Zeichen weniger hat als der BLOB? Du musst auch nicht jedes Mal den Code posten. Nimm die Änderungen vor und teste dann einfach neu.
Zitieren
#22
(27.12.2023, 09:31)Lord Demon schrieb: Du musst auch die einfachen Anführungszeichen bei der Konvertierung weglassen.

Aus
X'DA3C6B5C7FB503234C0A0BA1DAA93832'
wird dann
DA3C6B5C7FB503234C0A0BA1DAA93832
und zum Schluss
5c6b3cda-b57f-2303-4c0a-0ba1daa93832

Ist dir nicht aufgefallen, dass dein Identifikator zwei Zeichen weniger hat als der BLOB? Du musst auch nicht jedes Mal den Code posten. Nimm die Änderungen vor und teste dann einfach neu.

Hab die Änderungen gerade gemacht, als du den Beitrag hier geschrieben hattest. Ist mir selber schon aufgefallen mit den '. Also die beiden Konvertierungen sind jetzt richtig.



5c6b3cda-b57f-2303-4c0a-0ba1daa93832

und 


2c839b3d-497d-e68e-b3da-0f7edadc8712




Also es kommt keine Fehlermeldung mehr beim starten. Allerdings passiert auch nichts wenn ich das Item benutze. 


Eingetragen sind jetzt in der Datenbank die 4 Scripte in _Scripts_Statements 


Und das Script unter _Scripts_ActionScripts


Zitieren
#23
Du hast falsche Einträge in der _Scripts_StatusEffectScripts vorgenommen.  In die Felder StatusEffectOnStartRef und StatusEffectOnStartBlock kommen GUID und BlockGUID des Statements mit der ModifyAttrinute Anweisung. In StatusEffectOnTriggerRef und StatusEffectOnTriggerBlock kommt jeweils X'00000000000000000000000000000000'.
Zitieren
#24
(27.12.2023, 10:57)Lord Demon schrieb: Du hast falsche Einträge in der _Scripts_StatusEffectScripts vorgenommen.  In die Felder StatusEffectOnStartRef und StatusEffectOnStartBlock kommen GUID und BlockGUID des Statements mit der ModifyAttrinute Anweisung. In StatusEffectOnTriggerRef und StatusEffectOnTriggerBlock kommt jeweils X'00000000000000000000000000000000'.

Habs geändert. Beim benutzen der Flasche passiert weiterhin nichts. Was ist als nächstes dran?


Zitieren
#25
Du könntest mal etwas genauere Angaben machen. Wie wendest du die Flasche an und auf wen? Einfach nur zu sagen, es passiert nichts, ist nicht wirklich hilfreich. Wenn ich helfen soll, muss ich schon deine exakte Vorgehensweise wissen.

Edit:
Du hast die Statements falsch zugeordnet. Das Actionscript ruft die AddStatusEffect Anweisung auf, der Statuseffekt das Statement mit der ModifyAttribute Anweisung.
Zitieren
#26
(27.12.2023, 19:37)Lord Demon schrieb: Du könntest mal etwas genauere Angaben machen. Wie wendest du die Flasche an und auf wen? Einfach nur zu sagen, es passiert nichts, ist nicht wirklich hilfreich. Wenn ich helfen soll, muss ich schon deine exakte Vorgehensweise wissen.

Edit:
Du hast die Statements falsch zugeordnet. Das Actionscript ruft die AddStatusEffect Anweisung auf, der Statuseffekt das Statement mit der ModifyAttribute Anweisung.

Also, habe dass Item dem Start Charakter des Kriegers hinzugefügt. Nachdem starten des Spiels habe ich auf die Flasche rechtsklick gemacht und auf "Benutzen" geklickt.


Habe die beiden Statements jetzt geändert bzw. vertauscht. Sollte also richtig sein.



Edit: Bekomme jetzt eine Fehlermeldung, sobald ich das Item benutzen will.

Ist dieser Script überhaupt richtig bei einer Aura?

AddStatusEffect who="AimedEntity" id="Aurascript" showInConsole="true" actionSelection="script,quest,dialog" seCategory="all,item,statuseffect";




   



Edit 00:31

Habe den Script mal umgeschrieben zu


AddStatusEffect who="Hero" id="a1_horde_anfuehrer_aura" showInConsole="true" actionSelection="script,quest,dialog" seCategory="all,item,statuseffect";


Beim benutzen der Flasche hat dann mein Helden Charakter die Anführer Aura. Das wollte ich jetzt nur mal testen. Aber meine Aura soll ja Auswirkung auf die Gegner und nicht auf mich haben. Sonst könnte ich ja einfach alles von der Horden Anführer Aura duplizieren.
Zitieren
#27
Ich habe mir heute morgen die ganze Aurageschichte nochmal genau angeschaut. Du hast da doch noch einige Punkte übersehen, insbesondere beim Effekt. Die zwei Stunden, die ich dafür aufgewandt habe, wollte ich eigentlich nicht investieren, aber egal.

Der Aura Effekt, wie er im Spiel ist, wirkt zu einem bestimmten Zeitpunkt auf eine festgelegte Gruppe. Der Auraeffekt besteht auch aus zwei Teilen, der Aura und dem Buff. Im Code dazu steht, wann der Effekt angewendet werden soll, auf wen der Effekt wirkt und wie lange er anhalten soll.

Du hingegen möchtest einen Effekt erstellen, bei dem das Ziel von vornherein nicht feststeht, sondern variabel. Er soll also auf alle möglichen Gegner angewendet werden, unabhängig vom Wo und vom Wann. Er soll also wie eine Waffe oder ein Zauberspruch funktionieren. Nun verhält es sich aber so, dass, wenn ich einen Effekt anwenden will, ein eindeutiges Ziel angeben muss. Das Zeil "Hero" wendet den Effekt immer auf den Helden an. Es spielt keine Rolle, wer den Effekt auslöst. "AimedEntity", wie im obigen Beispiel, wendet den Effekt auf den Charakter an, der ihn auslöst. Ich sehe im Moment keine Möglichkeit deinen Wunsch umzusetzten. Wie schon gesagt, ich habe, ich heute Morgen intensiv damit auseinandergesetzt.

Wie du dich vielleicht erinnerst, habe ich dich gefragt, ob du in der Lage bist eigene Statuseffekte zu erstellen und du hast diese Frage mit "Ja" beantwortet. Leider habe ich feststellen müssen, dass du zwar einen Eintrag in der Tabelle _Scripts_StatusEffectScripts anlegen kannst, aber offensichtlich nicht weißt, welche Statements in welches Feld kommen. Irgendetwas irgendwo einzutragen klappt in den allermeisten Fällen nicht. Würdest du dich damit auskennen, hättest du nicht falsche und ungültige Einträge vorgenommen und auch gemerkt, dass im obigen Beispiel für einen Statusseffekt fehlt noch etwas fehlt, nämlich die Dauer dess Effekts. Aufgrund deiner positiven Aussage in Bezug auf Statuseffekte, habe ich nämlich diesen Aspekt vernachlssigt. Letztendlich hat mich das Ganze dann doch etwas geärgert. 

Mein Tipp: Wenn du weiterhin etwas in der Richtung modden möchtest, beschäftige dich intensiv mit den Statuseffekten. Schau dir die Einträge genau an und die dazugehörigen Statements genau an. Wirf auch einen Blick auf die Scripts, die den entsprechenden Effekt auslösen. Wenn du dann Fragen hast kannst du die gerne stellen. So wie das hier jetzt abgelaufen ist, läuft es darauf hinaus, dass ich den ganzen Code produziere und dazu habe ich absolut keine Lust. Dafür ist mir der Zeitaufwand, den ich investieren muss, einfach zu hoch.
Zitieren
#28
(28.12.2023, 11:29)Lord Demon schrieb: Ich habe mir heute morgen die ganze Aurageschichte nochmal genau angeschaut. Du hast da doch noch einige Punkte übersehen, insbesondere beim Effekt. Die zwei Stunden, die ich dafür aufgewandt habe, wollte ich eigentlich nicht investieren, aber egal.

Der Aura Effekt, wie er im Spiel ist, wirkt zu einem bestimmten Zeitpunkt auf eine festgelegte Gruppe. Der Auraeffekt besteht auch aus zwei Teilen, der Aura und dem Buff. Im Code dazu steht, wann der Effekt angewendet werden soll, auf wen der Effekt wirkt und wie lange er anhalten soll.

Du hingegen möchtest einen Effekt erstellen, bei dem das Ziel von vornherein nicht feststeht, sondern variabel. Er soll also auf alle möglichen Gegner angewendet werden, unabhängig vom Wo und vom Wann. Er soll also wie eine Waffe oder ein Zauberspruch funktionieren. Nun verhält es sich aber so, dass, wenn ich einen Effekt anwenden will, ein eindeutiges Ziel angeben muss. Das Zeil "Hero" wendet den Effekt immer auf den Helden an. Es spielt keine Rolle, wer den Effekt auslöst. "AimedEntity", wie im obigen Beispiel, wendet den Effekt auf den Charakter an, der ihn auslöst. Ich sehe im Moment keine Möglichkeit deinen Wunsch umzusetzten. Wie schon gesagt, ich habe, ich heute Morgen intensiv damit auseinandergesetzt.

Wie du dich vielleicht erinnerst, habe ich dich gefragt, ob du in der Lage bist eigene Statuseffekte zu erstellen und du hast diese Frage mit "Ja" beantwortet. Leider habe ich feststellen müssen, dass du zwar einen Eintrag in der Tabelle _Scripts_StatusEffectScripts anlegen kannst, aber offensichtlich nicht weißt, welche Statements in welches Feld kommen. Irgendetwas irgendwo einzutragen klappt in den allermeisten Fällen nicht. Würdest du dich damit auskennen, hättest du nicht falsche und ungültige Einträge vorgenommen und auch gemerkt, dass im obigen Beispiel für einen Statusseffekt fehlt noch etwas fehlt, nämlich die Dauer dess Effekts. Aufgrund deiner positiven Aussage in Bezug auf Statuseffekte, habe ich nämlich diesen Aspekt vernachlssigt. Letztendlich hat mich das Ganze dann doch etwas geärgert. 

Mein Tipp: Wenn du weiterhin etwas in der Richtung modden möchtest, beschäftige dich intensiv mit den Statuseffekten. Schau dir die Einträge genau an und die dazugehörigen Statements genau an. Wirf auch einen Blick auf die Scripts, die den entsprechenden Effekt auslösen. Wenn du dann Fragen hast kannst du die gerne stellen. So wie das hier jetzt abgelaufen ist, läuft es darauf hinaus, dass ich den ganzen Code produziere und dazu habe ich absolut keine Lust. Dafür ist mir der Zeitaufwand, den ich investieren muss, einfach zu hoch.


Damit das Thema hier nicht als komplett "fehlgeschlagen" sein soll. Würde ich es super finden, wenn du mir wenigstens helfen könntest eine "mögliche" Aura mit einem positiven Effekt zu erstellen. Also das die Aura auf meinen Helden gewirkt wird und als Ziele meine Gruppenmitglieder betroffen werden. Es gibt ja nur 5 Gruppenmitglieder, die müsste man alle in den Script reinschreiben als Ziele. Also eine einfache "Kopie" der vorhandenen Aura


Muss ich dafür alle Datensätze aus der vorhandenen Aura duplizieren und abändern?


Aber nur, wenn du mir weiterhin helfen möchtest. Das ganze Thema geht hier schon seit fast 8 Tagen.
Zitieren
#29
Um das Thema nochmal kurz anzusprechen und (zumindest für mich) zufroidenstellend und erfolgreich abzuschließen. Eine Aura lässt sich wie folgt umsetzen. (Die Aura des Hordenanführers gibt ja schon alles vor. Der Code muss an einigen Stellen nur angepasst werden, da die Aura jetzt um den Helden wirken soll und nicht um einen NPC.

  1. Man erstellt ein beliebiges Item.
  2. Das Item aktiviert ein Script, das ein Statement mit einer AddStatusEffect Anweisung mit der Aura aufruft.
  3. Der Aura Effekt ruft lediglich ein Statement auf.
  4. Dieses Statement enthält eine Schleifenanweisung (loopaction) in der ein weiterrs Script aufgerufen wird. Bei der Aura für den Hordenanführer ist in dieser Anweisung eine Abruchbedingung angegeben, die besagt, dass die Schleife beendet werden soll, wenn der Hordenanführer tot ist. Bei einer Aura um den Helden ergibt das keinen Sinn, da der Held gar nicht sterben kann. Ansonsten würde man eine Endlosschleife produzieren und das ist eigentlich nie eine gute Idee. Insofern halte ich eine Schleife mit einer festen Anzahl an Durchläufen für sinnvoller.
  5. Das von der Schleife aufgerufene Script aktiviert ein Statement, das eine RunActionScriptInRadius Anweisung enthält, die ein weiteres Script aufruft. Dieses Statement benötigt eine Condition, damit der anzuwendende Effekt nur auf Gegner wirkt. Ohne diese Condition würde der Effekt auf Gegner und Helden wirken.
  6. Diese Script ruft dann den gewünschten Statuseffekt auf. Wobei hier euch fast jede beliebige Aktion möglich ist. Zum Testen habe ich eine Aura erstellt, die alle zehn Sekunden den Gegnern einen Ignifaxius Schaden von 2W20 +20 zufügt. ( Ich war zum Testen im Dunkelwald) Man kann auch Gegner einfach verschwinden lassen. (Sollte man im tatsächlichen Spiel besser nicht machen, das dies auf jeden Fall zu Plotstoppern führt.)
Zitieren
#30
Hier noch der vollständige Code plus Erklärungen. Vielleicht hat ja jemand Lust es auszuprobieren.

Zuerst wird ein beliebiges Item erstellt, mit dem die Aura aktiviert wird. In das Feld ScriptOverride wird ein ActionScript eingetragen. Items sind in den meisten Fällen Verbrauchsgegenstände, werden also nach der Benuzung aus dem Inventar entfernt. Damit das nicht passiert, muss das Feld CanDestroy den Wert 0 bekommen.

Eintrag für statica1


Eintrag für Savegame


ActionScript und Statement, die den Auraeffekt auf den Helden anwenden.


Danach wird ein Eintrag in _Template_Statuseffects erstellt. Ich habe dazu einfach den Effekt, der auf den Hordenanführer angewendet wird, dupliziert und nur die Id geändert.


Dann wird ein Eintrag mit der gleichen Id in der Tabelle _Scripts_StatusEffectScripts erstellt. In die Felder StatusEffectOnTriggerRef und StatusEffectOnTriggerBlock werden die GUID und die BlockGUID des Statement mit der Schleifenanweisung eingetragen.


Die Schleife ist ein einfaches Statement. LoopAction ist die Anweisung für eine Schleife, count="10" legt die Anzahl der Schleifendurchläufe fest und script="SetScript_aura_loop.xml" ist das ActionScript, das bei jeden Schleifendurchlauf aufgerufen werden soll.


Das ActionScript ruft ein weiteres Statement auf.


Dieses Statement enthält eine RunActionScriptInRadius Anweisung, die dafür sorgt, dass ein weiteres ActionScript aufgerufen wird. radius="30" legt den Durchmesser der Aura fest, also den Wirkungsbereich der Aura. Mit WaitAction duration="10" wird eine Pause von 10 Awkunden festgelegt. Je nachdem, welche Aktion im aufgerufenem ActionScript durchgeführt wird, sollte die Pausendauer angepasst werden.


Ds letze ActionScript ruft dann das Statement auf, das die innerhalb der Aura durchzuführende Aktion beschreibt.


Dieses Statement ist etwas komplexer als die bisherigen. Hier ist nicht nur eine einfache Anweisung enthalten, sondern in diesem Fall ist das Durchführen der Anweisung von einer Bedingung abhängig. Der Verweis auf die Tabelle  erfolgt in der Conditionzeile des Statements. ConditionGUID und ConditionBlockGUID werden als Identifikatoren angegeben, d. h. beide Werte müssen für den Eintrag in _Scripts_Conditions in BLOBs umgewandelt werden. Die Bedingung besagt, dass die Aktion des Statements nur auf NPCs angwendet werden soll, die dem Helden nicht freundlich (stance="Friendly") gesinnt sind. (Könnte man eventuell auch anders formulieren, ich bin der Sache nicht weiter auf den Grund gegangen.)


Wenn die Begingung zutrifft soll die Aktion ausgeführt werden. Hurt ist die Anweisung, dass jemandem Schaden zugefügt werden soll. Das Argument who="AimedEntity" bestimmt, wem der Schaden zugefügt weden soll. Bei der Aura bezieht sich AimedEntity auf jeden nicht freundlich gesinnten NPC. fixedDamage="20" legt einen festen Schaden von 20 TP fest, dice="20" legt die Art des Würfels fest, in diesem Fall eben ein W20. Hier könnte auch 6 oder 3 stehen, dann wäre es entsprechen ein W6 bzw. ein W3 an variablem Schaden. diceAmount="2" legt die Anzahl der Würfel fest, die gerollt werden sollen.


Statt einer Hurt Anweisung können natürlich auch andere Aktionen durchgeführt werden. Der Eintrag TransferEntity location="_graveyard_" entryPoint="hellgate" snapToGround="false" actionSelection="script,quest,dialog" seCategory="all,item,transfer"; lässt alle Gegner einfach verschwinden und AddStatusEffect who="AimedEntity" id="burning" showInConsole="true" actionSelection="script,quest,dialog" seCategory="all,item,statuseffect"; setzt alle Gegner in Brand.

Ein solch mächtiges Artefakt würde ich natürlich niemals einem Helden einfach so geben. Ich würde die Aura/das Item noch so anpassen, dass sie nur von Magieanwendern und nur dreimal benutzt werden kann.
Zitieren
#31
Da ich mit der Aura noch nicht wirklich glücklich war, habe ich sie nochmal überarbeitet. Voraussetzung für den Einsatz ist jetzt dass sie nur vom Helden aktiviert werden kann. Außerdem muss der Held magisch begabt sein und der Einsatz kostet 40 AsP. Eine Abfrage ob ausreichend AE vorhanden ist, habe ich natürlich auch eingebaut. Die Aura funktioniert jetzt also im Prinzip wie ein Zauber.

Jetzt fehlt eigentlich nur noch eine Quest, während der man in den Besitzt des Artefakts gelangt.

Zitieren




Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste