28. Mär 2024, 23:20 Hallo Gast.
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge. Hierbei werden gemäß Datenschutzerklärung Benutzername und Passwort verschlüsselt für die gewählte Dauer in einem Cookie abgelegt.


Select Boards:
 
Language:
 


Autor Thema: Commandset bearbeiten  (Gelesen 5892 mal)

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Commandset bearbeiten
« am: 31. Mai 2018, 19:58 »
Während ich verschiedene Sachen mit der map.ini getestet habe, bin ich auf die Idee gekommen, einfach als Test Gildors Fähigkeiten zu verändern. Also habe ich versucht, Gildors Gesang mit Wort der Macht zu ersetzen. Sowas hatte ich noch nie gemacht, aber ich habe mir folgendes zusammengebaut:

CommandSet ImladrisGildorCommandSetNeuTest
1 = Command_ToggleStance
= Command_SpecialAbilityElfCloakGildor
    = Command_SpecialAbilityWordOfPowerEdain    ; SpecialAbilityGildorGesang
    = Command_SpecialAbilityGildorGnadenschuss
        7       = Command_ToggleFaramirWeapon
    12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16  = Command_SetStanceBattle
17  = Command_SetStanceAggressive
18  = Command_SetStanceHoldGround
End

Object ImladrisGildor
CommandSet = ImladrisGildorCommandSetNeuTest
End

Im Spiel erscheint die Fähigkeit auch so, wie ich es wollte, (Gildor ist Stufe 10) aber wenn ich den Button anklicke, passiert gar nichts.
Bei Tests mit anderen Helden und anderen Fähigkeiten lief es genauso ab. Also ist mir klar, dass sicherlich irgendwas in meinem Code fehlt, aber ich bin nicht dahinter gekommen, was das sein könnte.
Weiß vielleicht jemand, was ich noch hinzufügen muss?
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Commandset bearbeiten
« Antwort #1 am: 31. Mai 2018, 20:15 »
Zitat
Weiß vielleicht jemand, was ich noch hinzufügen muss?
Nö, das weiß niemand. :P

Die Lösung ist tatsächlich relativ simpel:

Ein CommandButton ist nichts weiter als ein Knopf, der eine Spellpower auslöst. Welche das ist, siehst du in der CommandButton.ini, dort ist jeder CommandButton genau beschrieben.
Was diese Spellpower für die jeweilige Einheit auslöst, muss in der Einheit direkt angegeben werden. Das sind dann Behaviors, die durch eine Spellpower ausgelöst werden.
Hoffe das erklärt dein Problem ein bisschen.^^

Rekudo93

  • Heiler von Imladris
  • **
  • Beiträge: 202
Re: Commandset bearbeiten
« Antwort #2 am: 1. Jun 2018, 00:20 »
Zitat
Weiß vielleicht jemand, was ich noch hinzufügen muss?
Zitat
Nö, das weiß niemand. :P
Doch ich weiß es  ;)

Ich gehe mal davon aus, dass du den "Worte der Macht"-Spell von Gandalf kopiert hast.
Suche in Gildors ini nach folgendem Eintrag:
        AnimationState                        = SPECIAL_WEAPON_ONE
            Animation
                AnimationName                = EUHaldir_SPCA
                AnimationMode                = ONCE
            End
            FrameForPristineBonePositions    = 60
            BeginScript
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("arrownock")
            EndScript
        End

Diesen musst du durch folgenden Code ersetzen:
        ;;; WORD OF POWER ANIMS ON FOOT ;;;
        AnimationState              =  SPECIAL_WEAPON_ONE
            StateName     = Attacking
            Animation
                AnimationName       = EUHaldir_TNTB
                AnimationMode       = ONCE
            End
            FXEvent                 = Frame:5 Name:FX_GandalfPreAttackBlast
        End

        AnimationState              =  SPECIAL_WEAPON_ONE WEAPONSET_TOGGLE_1
            StateName     = Attacking
            Animation
                AnimationName       = EUHaldir_TNTA
                AnimationMode       = ONCE
            End
            FXEvent                 = Frame:5 Name:FX_GandalfPreAttackBlast
        End

Jetzt sollte es eine Animation geben, erwarte aber keine Ani, wie Gandalf sie hat
Bei Problemen einfach nochmal melden. Ich habe den Code so wie ich ihn hier beschrieben habe, selbst nicht getestet, aber alle deine Probleme liegen an der fehlenden Animation.
An Edain SubMod

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.
- Albert Einstein

Die Tatsache, dass eine Meinung weit verbreitet ist, ist kein Beweis dafür, dass sie nicht völlig absurd ist.
- Bertrand Russell

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Commandset bearbeiten
« Antwort #3 am: 1. Jun 2018, 01:41 »
@gnomi
Bei einer Ini einer Custom map, die ich vor längerem heruntergeladen habe, hab ich folgendes gefunden:

Object HaradSuladan
CommandSet = EvilmenSuladanCommandSetNew
AddModule ModuleTag_BruderschaftEnabler
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_BruderschaftEnabler
        SpecialPowerTemplate      = SpecialAbilitySalemeSpawnHasharin
        TriggeredBy               = Upgrade_Level_4
    End
End

AddModule ModuleTag_OCLSpecialPowerBruderschaft
    Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerBruderschaft
        SpecialPowerTemplate      = SpecialAbilitySalemeSpawnHasharin
        OCL                       = OCL_SpawnBruderschaftEggNew
        TriggerFX                 = FX_SalemeSummonUnits
        CreateLocation            = CREATE_AT_LOCATION
        StartsPaused              = Yes
    End
End

Ist das ungefähr was du meinst?
Und wenn ja, wo kann ich die Informationen finden, die ich brauche?
Denn das was da steht, hab ich weder in specialpower.inc oder specialpower.ini gefunden, und auch nicht in einer Objectcreationlist, zumindest nicht als ein Ganzes.
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Commandset bearbeiten
« Antwort #4 am: 1. Jun 2018, 10:26 »
Zitat von:  Rekudo
Doch ich weiß es  ;)
Ich dachte es wäre offensichtlich, dass mein Kommentar nur ein Witz war...
Ebenso sind die Animationen nur ein nettes Gimmick, jedoch sind sie nicht das Problem, das oben beschrieben wird.

@ Truewitchking:
Genau das meine ich.
Naja, im allgemeinen ist Coding (vor allem am Anfang) nur ein "Zusammenkopieren von Sachen."
Behaviors sind imer bei Objekten.
Du hast z.B. den Button Command_SpecialAbilityWo rdOfPowerEdain.
Woher stammt der? Natürlich von Gandalf. Also muss Gandalf auch behaviors haben, die genau durch diesen Button ausgelöst werden. Also schaust du Mal bei Gandalf rein und suchst die dort.

in der specialpower wird nur die Specialpower beschrieben
In der objectcreationlist wird nur beschrieben was für Truppen bei bestimmten Fähigkeiten gespawnt werden.
Und wo wird beschrieben, wie ein spezielles Objekt mit einer specialpower umgeht? Richtig. In der Ini von diesem speziellen Objekt.^^

Rekudo93

  • Heiler von Imladris
  • **
  • Beiträge: 202
Re: Commandset bearbeiten
« Antwort #5 am: 1. Jun 2018, 19:27 »
Zitat
Ich dachte es wäre offensichtlich, dass mein Kommentar nur ein Witz war...
Sarkasmus in geschriebener Form ist immer etwas schwierig.

@TheOnlyTrueWitchking
Ich bin davon ausgegangen, dass du alle Codes bereits fertig hast.
Und wie Gnomi es schon angedeutet hat:
"Es gehört mehr dazu als nur Buttons zu kopieren!"

Einfach mal die einzelnen Codes durchgehen.

An Edain SubMod

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.
- Albert Einstein

Die Tatsache, dass eine Meinung weit verbreitet ist, ist kein Beweis dafür, dass sie nicht völlig absurd ist.
- Bertrand Russell

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Commandset bearbeiten
« Antwort #6 am: 2. Jun 2018, 11:41 »
Danke an euch beide, es hat funktioniert. Es war ziemlich witzig, mit Gildor einen Orkklump weg zu sprengen. Wenn das doch nur im Multiplayer ginge. xD
Obwohl sein Overpowerter 3.8.1- Pfeil ja auch reicht, besonders wenn er danach in den Nahkampf wechselt und AoE Schaden verursacht.  :D
Ich habe auch seinen Mantel mit Schwertmeister ersetzt, was durch die Weaponsets schwieriger war, aber auch das hat geklappt.
Danke!
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Commandset bearbeiten
« Antwort #7 am: 6. Jun 2018, 12:38 »
Die folgende Frage hat zwar nichts mehr mit der Fragestellung zu tun, aber es geht immer noch um den gleichen Gildor.
Wenn ich ihn in Celebrimbor umbenennen will, muss ich ja folgendes ändern:
Object ImladrisGildor
DisplayName           = OBJECT:ImladrisGildor
Wird zu
Object ImladrisGildor
DisplayName           = OBJECT:ImladrisGildorCelebrimbor
In der map.str steht dann folgendes
OBJECT:ImladrisGildorCelebrimbor
"Celebrimbor"
End

Aber im Spiel, wenn ich auf Gildor halte, steht da nur:                                                                                             MISSING: OBJECT:ImladrisGildorCelebrimbo r

Muss ich da noch irgendwas anderes hinzufügen? Oder muss ich das nicht in die map. str, sondern wo anders hinschreiben? Oder kann man Helden nicht umbenennen? Letzteres wäre aber irgendwie unwahrscheinlich, immerhin übernimmt er ja die Änderung aus der map.ini.
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Commandset bearbeiten
« Antwort #8 am: 6. Jun 2018, 12:50 »
Kurze Antwort:
Es geht nicht.

Lange Antwort:
map.inis haben ihre Einschränkungen, z.B. lassen sich Fernkampfweapons nur bedingt ändern, man kann keine neuen commandbuttons erstellen oder - wie du gemerkt hast - neue Namen für irgendeine Einheit erstellen. Man kann nur bereits vorhandene strings verwenden, keine neuen erstellen.
Von daher: wenn du Glück hast gibt es genau den String schon, ansonsten Pech gehabt.^^

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Commandset bearbeiten
« Antwort #9 am: 6. Jun 2018, 17:52 »
Bedeutet dass dann, um das zu erreichen, müsste ich die ursprüngliche Big-Datei bearbeiten? :o
Wenn ja, welche Datei genau?
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Rekudo93

  • Heiler von Imladris
  • **
  • Beiträge: 202
Re: Commandset bearbeiten
« Antwort #10 am: 6. Jun 2018, 18:05 »
warum schreibst du
OBJECT:ImladrisGildorCelebrimbor
"Celebrimbor"
End
nicht einfach in die Normale str Datei und änderst es in der map.ini nur um??
Also ich habe es so schon gemacht (Modde aber SuM 1)
An Edain SubMod

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.
- Albert Einstein

Die Tatsache, dass eine Meinung weit verbreitet ist, ist kein Beweis dafür, dass sie nicht völlig absurd ist.
- Bertrand Russell

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Commandset bearbeiten
« Antwort #11 am: 6. Jun 2018, 18:16 »
Zitat
warum schreibst du nicht einfach in die Normale str Datei und änderst es in der map.ini nur um??
Vielleicht, weil man keine Mod machen will, sondern nur eine Map? :P Wenn ich für jede Map in meinem Mapordner, die eine eigene map.str hatte eine eigene Mod bräuchte, hätte ich weit über 300 solcher Mods.^^ Klar kann man die auch alle in eine map.str reinhauen (solange es nicht zwei Maps gibt, die die gleichen Namen verwenden), aber grundsätzlich ist ja map.str genau dafür da:
Man muss nicht für ein paar Texte, die man in einer selbsterstellten Map hat (die man evtl. auch veröffentlicht) das Grundspiel verändern, sondern kann alles kompakt da haben (und wenn andere Spieler das spielen, dann können sie einfach die map in den mapordner tun und müssen sich nicht um weiteres kümmern)

Zitat
Bedeutet dass dann, um das zu erreichen, müsste ich die ursprüngliche Big-Datei bearbeiten? :o
Wenn ja, welche Datei genau?
Ja, müsstest du.
In SuM I müsste es glaube ich die data\lotr.csf sein, da hab ich aber schon lang nichts mehr gemacht.
In SuM II ist es glaube ich die data\lotr.str in der ini.big, wenn du es auf deutsch installiert hast - im englischen ist die data\lostr.str auf jeden Fall im lang Ordner die englishpatch. (auch im addon ist es so)

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Commandset bearbeiten
« Antwort #12 am: 6. Jun 2018, 19:26 »
Danke Gnomi, werde ich demnächst austesten, wenn ich mal wieder Zeit hab.
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

No1Gamer

  • Gastwirt zu Bree
  • **
  • Beiträge: 140
Re: Commandset bearbeiten
« Antwort #13 am: 6. Jun 2018, 19:39 »
Bei SUM 1 ist es die German.big und der Pfad muss sein: lang\german\lotr.csf
Is aber egal in welcher big das drin ist, hauptsache sie wird nach german.big geladen.
And remember, respect is everything!

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Commandset bearbeiten
« Antwort #14 am: 13. Jun 2018, 18:22 »
@Gnomi/Rekudo93: Es hat bestens funktioniert. Danke.
@No1Gamer: Der Pfad stimmt auch für Adh.  Ich hätte da lange suchen können, hätte ich das nicht gewusst. Danke dafür.

Und schon bin ich auf eine neue Frage gestoßen 8-|. Die passt auch wieder zum Thema.
Bei Cirdans Fähigkeit "Narya" steht am Ende folgender Codeintrag:

    Behavior = ModelConditionUpgrade ModuleTag_DreadVisageModelCondition
        TriggeredBy               = Upgrade_Level_3
        AddConditionFlags         = USER_3
    End


Jetzt frage ich mich: Heißt USER_3, dass Cirdan Level 3 sein muss (wie es bei der Fähigkeit auch der Fall ist)? Oder gibt das etwas anderes an, und es ist nur ein Zufall, das USER_3 bei einer Level 3 Fähigkeit steht? Ich habe das bei keiner anderen Fähigkeit gefunden.

Der Hintergrund ist, dass ich die Fähigkeit für Level 1 setzen möchte, aber nicht sicher bin, ob ich das USER_3 in USER_1 ändern muss. Ich vermute es zwar, aber ich bin nicht 100% sicher. Im Spiel zeigt sich für mich kein sichtbarer Unterschied, aber es ist recht schwer genau zu erkennen, ob die Führerschaft tatsächlich funktioniert wie sie soll.
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Commandset bearbeiten
« Antwort #15 am: 13. Jun 2018, 20:00 »
Zitat
Jetzt frage ich mich: Heißt USER_3, dass Cirdan Level 3 sein muss (wie es bei der Fähigkeit auch der Fall ist)? Oder gibt das etwas anderes an, und es ist nur ein Zufall, das USER_3 bei einer Level 3 Fähigkeit steht? Ich habe das bei keiner anderen Fähigkeit gefunden.
"Zufall".
 Es gibt halt diese Flags, die man bei manchen Arten von Fähigkeiten braucht und da könnte man auch 1, 2 oder 4 eintragen, solange sie nicht für andere Fähigkeiten, die was anderes bewirken, auch benutzt werden.
Du solltest einfach USER_3 behalten können.

Rekudo93

  • Heiler von Imladris
  • **
  • Beiträge: 202
Re: Commandset bearbeiten
« Antwort #16 am: 14. Jun 2018, 12:43 »
Zitat
Der Hintergrund ist, dass ich die Fähigkeit für Level 1 setzen möchte, aber nicht sicher bin, ob ich das USER_3 in USER_1 ändern muss. Ich vermute es zwar, aber ich bin nicht 100% sicher. Im Spiel zeigt sich für mich kein sichtbarer Unterschied, aber es ist recht schwer genau zu erkennen, ob die Führerschaft tatsächlich funktioniert wie sie soll.
Du musst einfach aus Upgrade_Level_3 ein Upgrade_Level_1 machen.
Die Zeilen USER_3 werden für spezielle Fähigkeiten benötigt, welche z.B. eine eigene Animation brauchen. Nur dass du das System mit den USER_3 u.s.w. mal verstehst.
An Edain SubMod

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.
- Albert Einstein

Die Tatsache, dass eine Meinung weit verbreitet ist, ist kein Beweis dafür, dass sie nicht völlig absurd ist.
- Bertrand Russell