15. Mai 2024, 05:04 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: Wo finde ich eine Modding-Einsteiger-Anleitung für SUM2  (Gelesen 2477 mal)

RalfMehring

  • Bilbos Festgast
  • *
  • Beiträge: 5
Hallo, wo finde ich eine Einsteiger-Modding-Anleitung für SUM2.

1. welche Grafikdateien/-Format wird für die Models verwendet
2. welches Soundformat für die Sounds
3. welches Soundformat für die Musik
4. wo ändere ich z.b. die HP der Olifanten(habe das per Finalbig in der ini-big gesucht, aber nicht gefunden)
5. wie kann ich ein neues Gebäude erstellen?
6. wo finde ich die hinterlegten Daten für NAMEN wie: "DAMAGE_ADD GOOD_HORSE_DAMAGE_ADD_LV L3" - also wenn ich die Werte dort nicht direkt ändern möchte, damit sie auch überall angepasst sind.
7. wie könnte ich beispielsweise das Auge Saurons verstärken in der Wirkung
8. was bedeutet "ThreatLevel"?
9. was bedeutet "MaxShudder" & was "MinBurstDelay"?
10. Warum sind da manchmal 2 oder 3 Werte, wie z.B. hier(440,600,300):
#define   MOUTH_OF_SAURON_LVL5_EXP _NEEDED             440 ;600 ; ; 300

solche Dinge wüsste ich gerne, damit ich mich einarbeiten kann. Aber so ganz ohne Eckpunkte geht das eben nicht.

danke! ...und bald kommt dann SUM3 als Mod von mir ;)
« Letzte Änderung: 30. Dez 2013, 04:15 von RalfMehring »

FG15

  • Administrator
  • Ringträger
  • *****
  • Beiträge: 5.278
Re:Wo finde ich eine Modding-Einsteiger-Anleitung für SUM2
« Antwort #1 am: 30. Dez 2013, 10:09 »
Hallo RafMehring, willkommen im Forum.

Ein gutes Einsteigetutorial zum allgemeinen Modding finde ich immer das hier: http://modding-union.com/cf/ems/modskintuts/dl6.php?URL=../../../files/ems/modskintuts/einheitentut.pdf. Da bekommt man ein paar Grundkenntnisse und findet außerdem uch alle wichtigen Programme.
Beim Coden ist es fast am Besten, man schaut sich mit FinalBig einfach die bereits existierenden Codes an und versucht diese nachzuvollziehen. Wenn dies nicht ganz klappt, kann man jederzeit auch noch nachfragen.

1. Bilder und Texturen sind im Format TGA oder DDS
Modelle sind im Format w3d

4. Bei HP sucht man in einem Object am Besten immer nach dem "Body"-Abschnitt da stehen dann die Health-Einträge. Hier vom Oliphanten:
Body = DelayedDeathBody ModuleTag_02
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = MORDOR_MUMAKIL_HEALTH ; BALANCE Mumakil Health
DoHealthCheck = No ; Don't want to get the delayed death behaviour when we die normally.
DelayedDeathTime = 5000
CanRespawn = No ; Unit can't get revived.
ImmortalUntilDeathTime = No ; Not immune to damage during rampage.  So you can keep him from running stuff over.
BurningDeathBehavior = Yes
BurningDeathFX = FX_CavalryBurningFlame
End
MaxHealth gibt hierbei das Leben an, welches der Oliphant hat wenn er volles Leben hat.

5. Ein neues Gebäude erstellt man indem man ein neues Object anlegt (meistens der übersichthalber in einer neuen Ini) in FinalBig. Dann sucht man sich ein Gebäudes, dass so ähnlich ist wie das, welches man erstellen möchte und kopiert sich dann erstmal sämtliche Einträge. Danach ändert man dann die Sachen, die man ändern möchte (z.B. Modell, CommandSet, Beschreibungstexte, Baukosten und Bauzeit, oder Leben). Zusätzlich sollte man, wenn ein Gebäude leveln kann in der Experiencelevels.ini einen neuen Eintrag anlegen.

6. DAMAGE_ADD ist hierbei der Name des Modifiers, der aussagt, dass der Schaden additiv erhöht werden soll. GOOD_HORSE_DAMAGE_ADD_LV L3 wird  in der data\ini\gamedata.ini definiert:
#define GOOD_HORSE_DAMAGE_ADD_LVL2 10Damit weißt man dann dem Namen den Wert 10 zu.

7. Um die Wirkung des EyeofSauron zu verändern suchst du dieses Object in FinalBig (zum Suchen ist Notepad++ auch sehr hilfreich, aber damit darf man auf keinem Fall die Big bearbeiten).
In dem Object findest du dann folgende Einträge:
Behavior = AttributeModifierAuraUpdate ModuleTag_OrcTroopBonus
StartsActive = Yes ;If no, requires upgrade to turn on.
BonusName = GenericHeroLeadership
RefreshDelay = 2000
Range = 150.0 ; tuned to match size of eye, since QA complained the effect range is too far
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End

Behavior = SpecialPowerModule ModuleTag_EyeStarter
SpecialPowerTemplate = SpecialAbilityEyeOfSauronAntiCategory
UpdateModuleStartsAttack = No
AntiCategory = LEADERSHIP
AttributeModifier = EyeOfSauronAntiCategory ; Used for the anti category duration only.
AttributeModifierRange = 150.0
StartsPaused = No
End


Behavior = AttributeModifierAuraUpdate ModuleTag_FearMe
StartsActive = Yes ;If no, requires upgrade to turn on.
BonusName = EyeOfSauronFear
RefreshDelay = 1000
Range = 150.0
ObjectFilter = ANY +INFANTRY +CAVALRY
TargetEnemy = Yes
MaxActiveRank = 1 ;Only affects level 1 rank units
End
Was dich hierbei interessieren sollte sind die Einträge "BonusName"/"AttributeModifier" und "Range"/"AttributeModifierRange". Die 1. sind Verweise auf Einträge in der attributemodifier.ini, welche die direkten Auswirkungen beschreiben. Die Reichweiten kannst du direkt verändern.

8. ThreatLevel gibt eigentlich genau das an, was es auch sagt, die Bedrohungsstufe. Diese ist an einigen Stellen für die KI wichtig.

10. ";" und "//" sind die Symbole zum Auskommentieren. Dadurch ignoriert das Spiel die restliche Zeile dahinter, sodass man Kommentare dahinschreiben soll. In deinem Beispiel sind das ältere Einträge, die dahinter noch vermerkt wurden.

Ich hoffe, dass ich dir helfen konnte, und viel Glück bei deiner Mod.
« Letzte Änderung: 30. Dez 2013, 10:39 von FG 30.12 »

Prinz von Dol Amroth

  • Edain Ehrenmember
  • Held von Helms Klamm
  • *****
  • Beiträge: 1.262
Re:Wo finde ich eine Modding-Einsteiger-Anleitung für SUM2
« Antwort #2 am: 30. Dez 2013, 10:33 »
Eine wirkliche Anleitung gibt es eigentlich nicht. Es gibt auf der Seite hier mehrere Tutorials, die dir vor allem beim Coden meistens nur dir bei einer bestimmten Sache helfen. http://modding-union.com/?path=ems#t
1. Bilder gibt es mit "png" und jpg". Skinns, also Oberflächen sind dds und tga Dateien.
2. Die Sounds in der Audio.big haben alle das Format "wav"
3. In der Music.big sind haben die ganzen Dateien das Format "mp3".
4. Du gehst in die ini.big und dann in die ini der Olifanten unter /evilmen/mumakil Dort gibt es den Eintrag MaxHealth, der das maximale Leben anzeigt. MORDOR_MUMAKIL_HEALTH Diesen Eintrag musst du in der gamedata.ini suchen. In der Gamedata.ini sind generell Werte definiert. Das erkennst du daran, wenn irgendwo etwas Großgeschriebenes statt zB: einer Zahl steht.

#define MORDOR_MUMAKIL_HEALTH 8000 Und das kannst du dann in der gamedata.ini ändern.
5. Du musst in der ini.big oder in deiner eigenen ein neues File hinzufügen. Dort kannst du die neuen Codes für dein Gebäude reinschreiben, wobei es am hilfreichsten wäre, wenn du den größtenteils eines bisher bestehenden Gebäudes kopierst. Wenn du aber noch neue Modelle und Skins haben willst, dann musst du das mit anderen Programmen noch machen. (Ein ähnliches Tutorial, wo man neue Einheiten macht und einbindet findest du hier).
6. Solche Sachen sind wie oben schon beschrieben in der gamedata.ini
7. Du gehst in die ini des Saurons Auge. Dort sind dann 3 Modifier GenericDamageStackLeader ship, EyeOfSauronAntiCategory und EyeOfSauronFear. Die suchst du in der attributemodifier.ini. Du kannst dann die Dauer verlängern oder noch andere Modifierarten hinzufügen.

9. Das kann ich selber nicht hunterprozentig sagen. Die beiden Sachen sind im Block StructureCollapsUpdate, also wenn ein Gebäude zerstört wird. MinBurstDelay ist dann die minimale Zeit, nach der das Gebäude explodiert oder in sich zusammenfällt. Laut Googletranslate, kann Shudder auch erzittern heißen. Ich würde den Wert aber immerso lassen. MaxShudder taucht 622 mal in der ini.big auf und 619 mal steht MaxShudder              = 0.6.
10. Alles in einer Zeile hinter ";" und "//" werden vom Programm ignoriert und nicht gelesen. Das kann man zu Anmerkungen nutzen. In deinem Fall könnte das heißen, dass das frühere Werte waren, damit man eine Art Vergleich hat. Es können auch Tests gewesen sein.
« Letzte Änderung: 30. Dez 2013, 10:39 von Prinz von Dol Amroth »
Ich bin der selbst ernannte Herrscher, oberster Befehlshaber und noch vieles anderes von Dol Amroth
oft in tunngle zu finden

RalfMehring

  • Bilbos Festgast
  • *
  • Beiträge: 5
Re:Wo finde ich eine Modding-Einsteiger-Anleitung für SUM2
« Antwort #3 am: 31. Dez 2013, 01:40 »
vielen dank für die ganzen Informationen. Jetzt macht das ganze richtig Freude.

2 Dinge habe ich noch nicht verstanden:

7. Saurons Auge
7. Du gehst in die ini des Saurons Auge. Dort sind dann 3 Modifier GenericDamageStackLeader ship, EyeOfSauronAntiCategory und EyeOfSauronFear. Die suchst du in der attributemodifier.ini. Du kannst dann die Dauer verlängern oder noch andere Modifierarten hinzufügen.
Das ist der enstprechende Code:
ModifierList GenericDamageStackLeadership
Category = LEADERSHIP ; SPELL
Modifier = EXPERIENCE 125%
Modifier = DAMAGE_MULT 125% // Multiplicitive.  Damage multiplied by this, will compound in multiple bonuses
Duration = 3000
FX = FX_GenericDamageLeadership ; ;FX_GenericLeadership
End
Kann ich denn einfach folgendes hinzufügen:
//This is the games Saurons Auge only bonus
ModifierList OnlySauronsEyeLeadership
Category = LEADERSHIP ; SPELL
Modifier = EXPERIENCE 0%
        Modifier = ARMOR 155%
Modifier = DAMAGE_MULT 10% // Multiplicitive.  Damage multiplied by this, will compound in multiple bonuses
Duration = 3000
FX = FX_GenericDamageLeadership ; ;FX_GenericLeadership
End

Und warum steht da Duration 3000 - gilt das nur, wenn ein Hero das auf Truppen ausgeprochen hat, oder auch bei Saurons Auge(wenn es bereits aufgehört hat zu erscheinen)? Hält es dann noch 30 Sekunden(ich nehme an, dass 3000 Ticks, 30 Sekunden sind)?

Darüberhinaus gibt es in der eyeofsauron.ini ein Feld: "MinLifetime" & "MaxLifetime". Welches hat denn Prioriät? Diese beiden oder das Feld: "Duration" in der attributemodifier.ini?

Und dann noch folgendes in der eyeofsauron.ini ändern:
BonusName = OnlySauronsEyeLeadership

An diesem Beispiel würde mich folgendes interessieren. Ist es möglich, diese verbesserte Produktivität eines Gebäudes zu erhöhen, wenn sich Saurons Auge darüber befindet? Als zusätzliches Attribut von Saurons Auge - so dass man die Wahl hat - entweder Truppen stärken ODER über ein Wirtschaftsgebäude gehen, damit dessen Produktivität steigt. Ich mag solche Entscheidungen zwischen Wirtschaft & Krieg immer gerne. Und sinngemäss würde es sogar zu dem Auge passen(auch wenn es mich erst einmal nur beispielhaft interessiert... denn ich hoffe mein eigenes "Auge" noch irgendwann hinzubekommen). Wenn Sauron guckt, dann arbeiten die halt fleißiger.

5. Gebäude erstellen
kann ich kein Object von den Gebäuden im Spiel verwenden, die nicht für die Völker genutzt werden? Kann mir Jemand eklären - grob, wie ich da vorgehen muss?

Folgender Wert ist mir noch aufgestossen:
"WILD_LUMBERMILL_MONEY_TI ME             6000"
Was bedeutet dieses?

11. Texteinblendungen
Kann man per Tastendruck einen Hinweistext einblenden? Kann man überhaupt Tastendrücke definieren für z.B. neue Gebäude?
« Letzte Änderung: 31. Dez 2013, 02:19 von RalfMehring »

FG15

  • Administrator
  • Ringträger
  • *****
  • Beiträge: 5.278
Re:Wo finde ich eine Modding-Einsteiger-Anleitung für SUM2
« Antwort #4 am: 31. Dez 2013, 10:49 »
Saurons Auge
Die Veränderung des Bonuses wäre möglich. Die Einheiten hätten dann nur noch 10% ihres Schadens aber 255% Rüstung wenn es das ist, was du willst.

Die Duration gibt an, wie lange der Bonus für die Einheit erhalten bleibt. Zeitangaben sind dabei in Millisekunden angegeben, sodass diese 3000 in Wirklichkeit nur 3 Sekunden sind. Also wirkt der Bonus sobald eine Einheit diesen erhält 3 Sekunden lang. Schaut man in die EyeofSauron.ini dann findet man direkt bei dem Attributemodifer auch noch den Eintrag
RefreshDelay = 2000Dieser gibt an, dass der Bonus alle 2 Sekunden vergeben wird. Dadurch gibt das Auge alle 2 Sekunden den Bonus für alle nahen Truppen, der für 3 Sekunden hält.

MinLifetime und MaxLifetime beziehen sich auf die Verweildauer von SauronsAuge. Dieses verschwindet zu einem zufälligen Zeitpunkt zwischen der Min und der Max-Zeit. Dieses hat also nichts mit der direkten Bonusdauer zu tun.

Man könnte zwar theoretisch die Produktion eines Gebäudes über den richtigen Attributmodifier Eintrag erhöhen, doch diese Art von Rohstoff-Boni führt zu Bugs und ist deshalb nicht zu empfehlen.


Gebäude erstellen
"WILD_LUMBERMILL_MONEY_TI ME 6000"
Dieser Eintrag gibt an, dass die "Geldzeit" des Sägewerks 6 Sekunden beträgt. Der Eintrag wird allerdings nirgendwo sonst im Spiel benutzt ;)

Wir nehmen an, du willst ein neues Gebäude erstellen, das aussieht wie ein Gebäude Bruchtals auf der Bruchtalkarte, z.B. des Pavillions (Elronds Garten) und dieser soll eine neue Elbenkaserne sein, welche nur die Lanzenträger bauen kann.

Als erstes suchst du dir die Elbenkaserne und kopierst sämtliche Einträge in eine neue Ini. Dann änderst du den Objektnamen in den Namen deines neuen Gebäudes.
Dann suchst du das Objekt dessen Modell du benutzen möchtest. Von diesem kopierst du den kompletten "Draw"-Block und ersetzt den in der Kaserne durch den neuen.
Wenn der Pavillion auch noch ein "SelectPortrait =" besitzt oder ein "DisplayName  = " dann kopierst du diese auch. Anschließend hast du eigentlich schon ein neues Gebäude mit anderem Aussehen, aber den gleichen Eigenschaften wie die Kaserne.

Wir nehmen an, du willst jetzt nur die Lanzenträger in dem Gebäude verfügbar machen. Dann suchst du dir das CommandSet der Kaserne, kopierst dieses und gibst ihm einen neuen Namen und löschst alle Baubefehle, bis auf den gewünschten raus. Anschließend gibst du unter CommandSet in deinem Gebäude das neue CommandSet an.


Texteinblendungen
Du kannst nicht direkt über eine Taste eine Texteinblendung machen, soweit ich weiß. Auch kannst du keine globalen Sachen, wie dass man den nächsten Baumeister auswählt neudefinieren. Du kannst nur die Schnelltasten für Fähigkeiten oder das Bauen von Einheiten in Gebäuden definieren und vergeben.


MfG FG15