Modding Union

Modderecke => Coding => Thema gestartet von: Melkor Bauglir am 27. Sep 2014, 16:18

Titel: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 27. Sep 2014, 16:18
Hallo.
Ich habe vor kurzem angefangen, auch ein wenig zu modden und bin entsprechend unerfahren. Ergo versage ich gerade an folgendem Problem:
Ich versuche eine Fähigkeit für eine Einheit zu erstellen, die bei Aktivierung diese Einheit tötet und eine OCL auslöst. Da ich eigentlich keine Ahnung habe, wie so etwas funktioniert, habe ich mir einfach eine bestehende Fähigkeit genommen (Glorfindels Sternenlicht) und diese versucht zu ändern.

CommandSet MordorAufseherCommandSet_neu
    1    = Command_ToggleStance    
    4    = Command_SpecialAbilityAufseherArmeeverwaltung ;hier ist das Problem
    7    = Command_SpecialAbilityGlorfindelRingSwitch
    12    = Command_CaptureBuilding
    13    = Command_AttackMove
    14    = Command_Stop
    16      = Command_SetStanceBattle
    17      = Command_SetStanceAggressive
    18      = Command_SetStanceHoldGround
End
CommandButton Command_SpecialAbilityAufseherArmeeverwaltung
  Command               = SPECIAL_POWER
  SpecialPower          = SpecialAbilityGlorfindelStarlight
  TextLabel             = CONTROLBAR:SpecialAbilityArmeeverwaltung
  ButtonImage           = HSErestorMilitärStudien
  ButtonBorderType      = ACTION
  DescriptLabel         = CONTROLBAR:ToolTipSpecialAbilityArmeeverwaltung
  AutoAbility           = Yes
  InPalantir            = Yes
End
SpecialPower SpecialAbilityAufseherArmeeverwaltung
    Enum                        = SPECIAL_GENERAL_TARGETLESS_THREE
    ReloadTime                    = 120000
End
   Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GlorfindelStarlightEnabler
        SpecialPowerTemplate        = SpecialAbilityGlorfindelStarlight
        TriggeredBy                 = Upgrade_Level_1
        ObeyRechageOnTrigger        = Yes
    End

    Behavior = OCLSpecialPower ModuleTag_GlorfindelStarlight
        StartsPaused                = Yes
        SpecialPowerTemplate        = SpecialAbilityGlorfindelStarlight
        OCL                         = OCL_AufseherArmeeverwaltungEgg
        CreateLocation              = CREATE_AT_LOCATION
        SetModelCondition           = ModelConditionState:USER_2
        SetModelConditionTime       = 2.333
    End

    ; special AutoAbilityBehavior for starlight, as we need to target a bunch of allies.
    Behavior = AutoAbilityBehavior ModuleTag_StarlightAutoAbilityBehavior
        SpecialAbility              = SpecialAbilityGlorfindelStarlight
        MaxScanRange                = GLORFINDEL_STARLIGHT_RADIUS
        Query                       = 2 ANY ALLIES +HORDE                        ; 2 friendly hordes or an enemy
        Query                       = 1 ALL ENEMIES
    End

Das sind hintereinander die Einträge in der commandset.ini, commandbutton.ini, specialpower.ini und der .ini der Aufseher.
Problem ist, dass die Fähigkeit im Spiel zwar korrekt angezeigt wird (inkl. Bild und allem), sich allerdings überhaupt nichts tut, wenn man sie anklickt. (Die Objects, die erscheinen sollen, sind alle fertig, ebenso die Weapon die den Aufseher tötet -die wird durch die OCL ausgelöst.) Die Aufladezeit ist übrigens drin, weil ich testen wollte, wo der Fehler liegt. Und da sie nie ausgelöst wird, scheint sich die Fähigkeit wirklich nie zu aktivieren.

Sieht jemand den Fehler?

Vielen Dank im Voraus
Melkor Bauglir
Titel: Re:Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 27. Sep 2014, 17:09
Deine gezeigten Codes sehen alle richtig aus.
Zeige am besten mal den OCL, das Object und wenn du gerade dabei bist auch die Weapon.
Übrigens verstehe ich nicht ganz, wieso du eine neue SpecialPower gemacht hast, wenn du noch die von Glorfindel verwendest ;)
Titel: Re:Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 27. Sep 2014, 17:19
ObjectCreationList OCL_AufseherArmeeverwaltungEgg
        CreateObject
                ObjectNames     = AufseherKawuschObject
                Count           = 1
                Disposition     = LIKE_EXISTING
       End
End

ObjectCreationList OCL_ArmeeverwaltungKommandopunkteEgg
        CreateObject
                ObjectNames     = AufseherKommandopunkteObject
                Count           = 1
                Disposition     = LIKE_EXISTING
       End
End
Object AufseherKawuschObject
    Draw = W3DScriptedModelDraw ModuleTag_Draw
        DefaultModelConditionState
            Model = None
        End
    End
    KindOf = INERT IMMOBILE UNATTACKABLE
   
    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth = 1
    End
    Behavior = LifetimeUpdate ModuleTag_HatchTrigger
        MinLifetime = 0.0
        MaxLifetime = 0.0
    End
    Behavior = SlowDeathBehavior ModuleTag_HatchProcess
        DestructionDelay    = 10
        Weapon              = FINAL ArmeeverwaltungKawuschRadiusWeapon
    End
End
Weapon ArmeeverwaltungKawuschRadiusWeapon
    IdleAfterFiringDelay  = 0
    AttackRange           = 50
    WeaponSpeed           = 401
    RadiusDamageAffects   = ALLIES
    PreAttackDelay        = 2600
    PreAttackType         = PER_ATTACK
    FiringDuration        = 1400
  DamageNugget                        ; A basic Nugget that just does damage
    Damage        = 99999999999999999
    Radius        = 20.0
    DelayTime     = 0
    DamageType    = HERO
    DamageFXType  = SWORD_SLASH
    DeathType     = FADED
    DamageScalar  = 0% ALL -MordorAufseher ALLIES
  End
  WeaponOCLNugget
    WeaponOCLName = OCL_ArmeeverwaltungKommandopunkteEgg
  End
End

Wobei es mich wundern würde, wenn der Fehler da liegt. Die Fähigkeit hat ja eine Aufladezeit und die wird nie ausgelöst.

Gruß
Melkor

PS:
Zitat
Übrigens verstehe ich nicht ganz, wieso du eine neue SpecialPower gemacht hast, wenn du noch die von Glorfindel verwendest
Wie ich so drüber nachdenke, frage ich mich das auch gerade...  xD
Titel: Re:Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 27. Sep 2014, 17:35
Der OCL, Object und die Weapon scheinen Inordnung.

Der Fehler müsste sein, dass der Mordoraufseher nie das Upgrade Upgrade_Level_1 bekommt. Stattdessen bekommt er auf Stufe 1 das Upgrade Upgrade_ObjectLevel1, falls du das nicht in der experience.ini/inc geändert hast.
Titel: Re:Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 27. Sep 2014, 17:53
Da habe ich in der Tat nichts dran geändert.
Ich habe in dieser Zeile TriggeredBy   = Upgrade_Level_1 jetzt anstelle von Upgrade_Level_1 Upgrade_ObjectLevel_1 eingetragen. Leider hat sich dadurch nichts geändert.

Gruß
Melkor Bauglir


Edit:
So, in einem Versuch, den Fehler etwas einzugrenzen, habe ich einfach mal sämtliche Einträge in der .ini der Aufseher zu dieser Fähigkeit gelöscht; die Fähigkeit wäre damit überhaupt nicht mehr definiert, wenn ich das richtig sehe.
Nun ja, es hat sich absolut nichts geändert. :P Der Eintrag im CommandSet scheint also niemals überhaupt die Fähigkeit angesteuert zu haben -so erkläre ich mir das zumindest.
Titel: Re:Melkors Modding Fragen
Beitrag von: Ealendril der Dunkle am 27. Sep 2014, 23:53
Du bearbeitest hier ein Object, das überhaupt nicht verwendet wird. Der Aufseher ist bei uns eine Horde, die nur aus einem Object besteht: MordorAufseher_forHorde und dementsprechend MordorAufseherHorde. Grund dafür ist das Kombinierungssystem mit anderen Horden, was nur möglich ist, wenn der Aufseher selbst in einem Hordenfilter vorliegt.
Titel: Re:Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 25. Okt 2014, 15:34
Hallo nochmal!
Die Aufseher funktionieren jetzt in der Tat genau so, wie sie sollen -Vielen Dank dafür noch mal!
Ansonsten stehe ich gerade vor einem neuen Problem: Ich habe vor einiger Zeit versucht, Mordor eine neue Spellbookfähigkeit zu geben. Auch hier kenne ich mich nicht wirklich aus, habe also einfach die science.ini, die systemevil.inc und die specialpower.inc bearbeitet.

Sciene.ini:

Science SCIENCE_FlammendesOrodruin
  PrerequisiteSciences = SCIENCE_EVIL OR SCIENCE_MORDOR SCIENCE_Barricade OR SCIENCE_MORDOR SCIENCE_CalltheHorde
  SciencePurchasePointCost = EVIL_RANK_2_COST
  SciencePurchasePointCostMP = 15
  IsGrantable = Yes
End

Systemevil.inc:

    Behavior = OCLSpecialPower ModuleTag_FlammendesOrodruin
        SpecialPowerTemplate = SpellBookFlammendesOrodruin
        OCL                  = OCL_SpellBookFlammendesOrodruin
        CreateLocation       = CREATE_AT_LOCATION
        AvailableAtStart     = No
        RequirementsFilterMPSkirmish = SPELL_BOOK_REQUIREMENTS_FILTER
        RequirementsFilterStrategic = SPELL_BOOK_REQUIREMENTS_FILTER_STRATEGIC
    End

Specialpower.inc:

SpecialPower SpellBookFlammendesOrodruin
Enum = SPECIAL_SPELL_BOOK_RAIN_OF_FIRE
RequiredSciences = SCIENCE_FlammendesOrodruin
ReloadTime = SPELL_RECHARGE_TIME_TIER_1 ; in milliseconds
        InitiateSound           = SpellRainOfFireMS
        RadiusCursorRadius = 70.0
        ViewObjectDuration      = 10000
        ViewObjectRange         = 200
        Flags = RESPECT_RECHARGE_TIME_DISCOUNT WATER_OK
End

In die CommandSet.inc und die CommandButton.inc habe ich den Spell ebenfalls verfrachtet:
CommandSet MordorSpellBookCommandSet
    1 = Command_SpellBookGeneralView
    2 = Command_SpellBookUnitView

    3 = Command_SpellBookTaint
    4 = Command_SpellBookEndloseHorden
    5 = Command_SpellBookEyeofSauron

    6 = Command_SpellBookBarricade
    7 = Command_SpellBookCalltheHordeMod           
    8 = Command_SpellBookMorannonOrks             
    9 = Command_SpellBookHerrderErde               
   
   10 = Command_SpellBookFlammendesOrodruin ;Command_SpellBookEvilBombard
   11 = Command_SpellBookDarkness
   12 = Command_SpellBookMachtvergangenerZeitalter
   
   13 = Command_SpellBookBalrogAlly
   14 = Command_SpellBookHammerderUnterwelt    
End

CommandSet MordorSpellStoreCommandSet
    1 = Command_PurchaseSpellTaint
    2 = Command_PurchaseSpellEndloseHorden
    3 = Command_PurchaseSpellEyeofSauron

    4 = Command_PurchaseSpellBarricade
    5 = Command_PurchaseSpellCalltheHordeMod       
    6 = Command_PurchaseSpellMorannonOrks
    7 = Command_PurchaseSpellHerrderErde
   
    8 = Command_PurchaseSpellFlammendesOrodruin ;Command_PurchaseSpellEvilBombard
    9 = Command_PurchaseSpellDarkness
    10 = Command_PurchaseSpellMachtvergangenerZeitalter
   
    11 = Command_PurchaseSpellBalrogAlly
    12 = Command_PurchaseSpellHammerderUnterwelt   
End
CommandButton Command_SpellBookFlammendesOrodruin
    Command             = SPELL_BOOK
    SpecialPower        = SpellBookFlammendesOrodruin
    Options             = NEED_TARGET_POS
    TextLabel           = CONTROLBAR:SpellBookFlammendesOrodruin
    ButtonImage         = SBEvil_RainofFire
    ButtonBorderType    = ACTION
    DescriptLabel       = CONTROLBAR:ToolTipSpellBookFlammendesOrodruin
    RadiusCursorType    = RainOfFireRadiusCursor
    CursorName          = AttackObj
    InvalidCursorName   = GenericInvalid
End

CommandButton Command_PurchaseSpellFlammendesOrodruin
    Command             = PURCHASE_SCIENCE
    ButtonBorderType    = UPGRADE
    ButtonImage         = SBEvil_RainofFire
    Science             = SCIENCE_FlammendesOrodruin ;SCIENCE_EvilBombard
    TextLabel           = CONTROLBAR:FlammendesOrodruin
    DescriptLabel       = CONTROLBAR:TooltipFlammendesOrodruin
    RadiusCursorType    = RainOfFireRadiusCursor
End

Ich sollte vielleicht noch erwähnen, dass Mordors Sperrfeuer auf Dol Guldur durch eine andere Fähigkeit ersetzt ist.

Nun zum Fehler bei dem Ganzen: Das Spiel lässt sich problemlos starten, allerdings stürzt es ohne eine Fehlermeldung ab, wenn ich ein Spiel mit irgendeinem bösen Volk starte.
Weiß irgendjemand hier vielleicht weiter?


Gruß
Melkor Bauglir

PS: Aktuell teste ich alle Dinge mit Rohan. [uglybunti]
Titel: Re:Melkors Modding Fragen
Beitrag von: Ealendril der Dunkle am 4. Nov 2014, 12:08
Wenn ein Volk direkt beim Laden abstürzt, dann ist es meistens ein Fehler im Spellbook (wie du richtig erkannt hast). Bei den hier gezeigten Codes sehe ich gerade keinen Fehler, poste bitte mal den OCL + das Object.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 16. Jul 2015, 23:03
Lang, lang ist's her, seitdem ich hier das letzte Mal eine Frage stellte. ;)

Also: Dieses Mal geht es nicht so sehr um ein konkretes Problem beim Coden (auch, wenn ich dort auch noch ein paar habe), stattdessen folgende generelle Frage:
Ich habe in meiner Freizeit mittlerweile ein wenig herumprogrammiert, damit aber angefangen, als Edain 3.8.1 noch aktuell war. Da nun ja schon 4.1 draußen ist, wollte ich eigentlich meine Ergebnisse auf diese Version übertragen. Gibt es hierbei eine konfortablere Version, als sämtliche Änderungen aus ihren eigenen .inis zu kopieren und sie in den Dateien von Edain 4.1 einzufügen?


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 27. Jul 2015, 22:33
Edit: Problem gelöst!

Ich habe wieder ein neues / altes Problem und zwar erneut mit dem Spellbook. Da ich ja bereits wusste, welches Problem da auftreten kann, bin ich eigentlich enorm sorgfältig vorgegangen, allerdings existiert nun der genau gleiche Bug wie davor (das Spiel stürzt ohne Fehlermeldung bzw. nur dem generischen "Runtime-Error" ab, wenn ich ein Spiel mit einem bösen Volk starte).

Also: Mein Ziel war es, die Fähigkeit "Dunkler Schleier", die aktuell Saurons Mund besitzt, ins Spellbook zu verfrachten und dafür "Endlose Horden" zu entfernen.
Ich habe also in der Science.ini folgendes geändert:

Bei den jeweiligen darauffolgenen Sciences habe ich natürlich auch den nötigen Eintrag übersetzt. Hierbei folgende Problematik: "SCIENCE_EndloseHorden" wird zusätzlich von SCIENCE_MorannonOrcs benötigt, dort habe ich die Bedingung "SCIENCE_EndloseHorden" ersatzlos entfernt:

Anschließend habe ich in der Specialpower.inc folgendes verändert:

Da der Schleier über einen Modifier aktiviert wird (über den Umweg einer Weapon) habe ich die Fähigkeit genauso wie "Industrie" aufgebaut. Das ist der Eintrag aus der Systemevil.inc:

Dann in der CommandSet.inc

und in der CommandButton.inc

diese Einträge geändert bzw. hinzugefügt. (Die CommandButtons sind wieder nach dem gleichen Schema wie der Spellbook-Zauber "Industrie" aufgebaut.)

Der Modifier ist dann einfach:
ModifierList SpellBookDunklerSchleierBonusMS
    Category = SPELL
    Upgrade  = Upgrade_RaiseShield
    Duration = 0
End

Von diesen Einträgen (und der Beschreibung in lotr.str abgesehen) besteht meine gesamte .big-Datei aus nichts weiterem. Ich habe ferner in den veränderten Dateien keine weiteren Einträge von "Endlose Horden" finden können.
Ich habe alles jetzt mal möglichst ausführlich geschildert, entschuldigt bitte den langen Post.

Würde mich sehr über Hilfe freuen,
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 2. Aug 2015, 18:30
Ich habe einmal eine Frage: Wie kann man beschworenen Helden ein Level zuweisen? Ich finde hierfür immer Einträge dieser Art:
    Behavior = ExperienceLevelCreate ModuleTag_MPLevelBonus
        LevelToGrant = 5
    End
Die Sache ist, dass mein beschworener Held, generell überhaupt kein Level besitzt (in der Heldenleiste steht dann eine 0 beim Level, wie bei Nazgûl).

Ich würde mich sehr freuen, wenn jemand mir helfen könnte. :)


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 2. Aug 2015, 18:39
Das liegt daran, dass deinem Helden vermutlich ein Eintrag in der experiencelevels.ini fehlt. Nur dort festgelegte Level können überhaupt angenommen werden. Wurde kein Level für den Helden angegeben kann dieser auch keins haben und ist damit automatisch auf Level 0.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 2. Aug 2015, 20:09
Aber mein Held ist der Edain Gorbag und der hat (habe ich gerade nachgesehen), einen Eintrag in der experience.inc.
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 2. Aug 2015, 20:23
Wenn dein Gorbag beschworen wird, dann wird dies vermutlich ein Childobject sein. Und die Childobjecte müssen auch extra in der experience.ini stehen, wenn sie ein Level haben sollen.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 2. Aug 2015, 20:33
Danke! :) Das wurde von mir natürlich nicht gemacht.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 5. Aug 2015, 18:05
Während sämtliche Fähigkeiten bei mir jetzt funktionieren, hat sich ein sehr merkwürdiger Bug ereignet.
Aktuell ist Shagrat ein regulärer Held, der Gorbag beschwören kann und zusätzlich auf Stufe 10 in einen anderen Gorbag umwandelt. (Gorbag erhält ein Upgrade, ruft dadurch einen veränderten Gorbag und stirbt dann.)

Entsprechend ist Gorbag in Mordors Heldenliste auch nicht mehr verankert, da dort nun Shagrat steht. Nun konnte ich allerdings in der DG Festung (und nirgendwo sonst), nachdem Shagrat seine 10er Fähigkeit eingesetzt hatte, verschiedene Gorbags wiederbeleben. Diese besaßen aber das Original-Fähigkeitenset aus Edain (was sie bei mir in keiner Form besitzen) bzw. nachdem glaube ich 2 Gorbags auf dem Feld waren, konnte ich nur noch temporäre Gorbags von Shagrats 10er Fähigkeit wiederbeleben.
Das klingt jetzt sicherlich etwas kompliziert und verwirrend, aber weiß irgendjemand, wie man das verhindern kann? Ich sollte noch hinzufügen, dass Gorbag aktuell, wenn er stirbt, nicht aus der Heldenleiste verschwindet und auch das übliche "Gorbag ist gefallen!" erscheint, falls das etwas damit zu tun hat.

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 5. Aug 2015, 19:26
Also ganz nachvollziehen kann ich es noch nicht, deswegen wäre deine mordor playertemplate, dein DG-Festung CommandSet und am besten auch noch deine Gorbag ini ganz hilfreich.

Außerdem könntest du statt dem sterben und spawnen von Gorbag ein MountedTemplate benutzen (wie Edain es unteranderem bei den Ringhelden benutzt).
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 5. Aug 2015, 23:00
Glaub mir, ich saß auch eine Weile lachend vor dem Bildschirm, als ich einen Gorbag nach dem nächsten ausbilden konnte. ;)

Also: Hier ist der Eintrag aus der playertemplate.ini zu den Helden
    BuildableHeroesMP            = CreateAHero MordorShagrat MordorGothmog_mod GasthausKhamul MordorNazgul_CGmod MordorNazgul_CGmod2 MordorMouthOfSauron_mod MordorWitchKingPferd MordorMollok

und im Spoiler verbergen sich Gorbags Fähigkeiten und die verwendeten ChildObjects:

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 6. Aug 2015, 17:38
Aus deinen gezeigten Codes kann man nicht viel draus schließen, was zu diesem merkwürdigen Bug führt. Deswegen stell am besten mal die gesamte Shagrat und Gorbag ini hierein.
Auch das CommandSet der DolGuldur Festung ist wichtig, da du ja dort die Gorbags bauen konntest.

Hast du noch irgendwas am SpellStore geändert oder ein anderes CommandSet angegeben, denn wenn dort etwas nicht passt, kann es zu Problemen beim Helden bauen führen.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 7. Aug 2015, 22:27
Während ich nicht wirklich verstanden habe, wie der Bug so auftreten konnte, habe ich ihn jetzt gelöst, d.h. er trat nicht wieder auf. Ich vermute, es lag daran, dass ich diesen Eintrag
    Behavior = RespawnUpdate ModuleTag_RespawnUpdate
    End
noch nicht hinzugefügt hatte, als der Bug eintrat. Tut mir leid, ich fürchte, der Code, den ich gepostet habe, war nicht mehr aktuell. :(

In der DG Festung habe ich nichts geändert. Ansonsten weiß ich nicht, was der SpellStore genau ist, also habe ich dort vermutlich nichts geändert.
Nochmal Entschuldigung für die Umstände.

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 12. Aug 2015, 18:43
Ich habe vor kurzen dem Hexenkönig eine neue Fähigkeit verpasst, die allerdings bei Benutzung das Spiel zum Absturz bringt (üblicher Runtime-Error).
Die Fähigkeit soll bei Benutzung alle Einheiten und Helden um den Hexenkönig betäuben und die Gebäude im Zielgebiet schwächen.

;---------------------------------------------------------
; Zermalmende Worte
;---------------------------------------------------------

    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_WitchkingWorteEnabler
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteMS
        TriggeredBy                 = Upgrade_Held1RespawnLevel ;Upgrade_Held6RespawnLevel
        ObeyRechageOnTrigger        = Yes
    End

    Behavior = SpecialPowerModule ModuleTag_WitchkingWorteStarter
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteMS
        StartsPaused                = No
        UpdateModuleStartsAttack    = Yes
    End
   
    Behavior = ActivateModuleSpecialPower ModuleTag_WitchkingWorteMover
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteMS
        StartAbilityRange           = ANGMAR_NECRO_WELL_OF_SOULS_START_RANGE
        EffectRange                 = 65
TriggerSpecialPower         = ModuleTag_WitchkingWorteSchwächen TARGETPOS
TriggerSpecialPower         = ModuleTag_WitchkingWorteVerharrenTrigger OBJECTPOS
    End

    Behavior = SpecialPowerModule ModuleTag_WitchkingWorteSchwächen
        SpecialPowerTemplate          = SpecialAbilityWitchkingWorteBlast
        UpdateModuleStartsAttack      = Yes
        StartsPaused                  = No
    End

    Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WitchkingWorteBlastWeaponFireUpdate   
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteBlast
        WhichSpecialWeapon          = 2
        SkipContinue                = Yes
        UnpackTime                = 700
        PreparationTime             = 1   
        PackTime                = 100
        FreezeAfterTriggerDuration  = 250 ; Hold AI for this long after we fire.
        StartAbilityRange           = ANGMAR_NECRO_WELL_OF_SOULS_START_RANGE
        EffectRange                 = 65
        SpecialWeapon               = WitchKingWorteDebuffWeapon
    End

    Behavior = SpecialPowerModule ModuleTag_WitchkingWorteVerharrenTrigger
        SpecialPowerTemplate          = SpecialAbilityWitchkingWorteVerharren
        UpdateModuleStartsAttack      = Yes
        StartsPaused                  = No
    End

    Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WitchkingWorteVerharrenWeaponFireUpdate   
        SpecialPowerTemplate       = SpecialAbilityWitchkingWorteVerharren
        SpecialWeapon              = WitchkingWorteVerharrenStartWeapon
    End

SpecialPower SpecialAbilityWitchkingWorteMS
    Enum                = SPECIAL_ARROW_STORM
    ReloadTime            = 1 ; MOUTH_OF_SAURON_DOUBT_RECHARGE_MS
    RadiusCursorRadius        = 65
    InitiateAtLocationSound     = WitchKingScreechMS
    Flags                = NEEDS_OBJECT_FILTER
    ObjectFilter            = NONE +STRUCTURE NEUTRAL ENEMIES
End

SpecialPower SpecialAbilityWitchkingWorteBlast
    Enum                    = SPECIAL_WORD_OF_POWER
    ReloadTime                = 1
End

SpecialPower SpecialAbilityWitchkingWorteVerharren
    Enum                    = SPECIAL_WORD_OF_POWER
    ReloadTime                = 1
End

Ich habe eine solche Fähigkeit übrigens noch nie gecodet, in der man mehrere SpecialPower-Module aufruft, also kann mir da durchaus einfach ein recht simpler Fehler passiert sein.


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 12. Aug 2015, 19:05
Also der Teil beim Hexenkönig sieht richtig aus. Beim ActivateModule hast du auch die richtigen TriggerSpecialPower angegeben.

Bei den SpecialPowers würde ich für das Enum generell SPECIAL_GENERAL_TARGETLE SS verwenden, wie es auch sonst bei den activatedummi specialpowers ist. Für den Spielabsturtz ist das aber nicht verantwortlich.

Zeig mal deine Weapon.

PS: Wenn die Fähigkeit auf Einheiten, Helden und Gebäude wirken soll, wieso hast du dann in der SpecialPower nur Gebäude als Voraussetzung?
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 12. Aug 2015, 20:09
Er soll sie auf Gebäude wirken, aber als Begleiterscheinung der Fähigkeit sollen alle nahen Einheiten und Helden kurz innehalten.

Weapon WitchKingWorteDebuffWeapon
    IdleAfterFiringDelay  = 0
    AttackRange           = ANGMAR_NECRO_WELL_OF_SOULS_START_RANGE
    WeaponSpeed           = 801      ; dist/sec
    HitPercentage         = 100        ; When this weapon is used it will hit exactly 100% of the time.
    DelayBetweenShots     = 500    ; time between shots, msec
    PreAttackDelay        = 200   
    PreAttackType         = PER_ATTACK    ; Do the delay each time we attack a new target
    FiringDuration        = 1000
    AntiAirborneVehicle   = Yes
    AntiAirborneMonster   = Yes
    RadiusDamageAffects   = ENEMIES NOT_SIMILAR

    AttributeModifierNugget
         AttributeModifier    = WitchKingWorteDebuff
         Radius               = 65
         SpecialObjectFilter  = ANY +STRUCTURE ENEMIES
    End 
End

Weapon WitchkingWorteVerharrenStartWeapon
    RadiusDamageAffects        = ENEMIES ALLIES
    DelayBetweenShots      = 4000            ; time between shots, msec
    PreAttackDelay        = 0 ;PreAttackDelay+FiringDuration = UseWeaponTiming = Yes duration
    PreAttackType          = PER_SHOT
    FiringDuration        = 0

       WeaponOCLNugget
             WeaponOCLName = OCL_WitchkingVerharrenMS
       End
End

Weapon WitchkingVerharrenFinalWeapon
    RadiusDamageAffects       = ENEMIES ALLIES
    LeechRangeWeapon          = Yes
    CanFireWhileMoving        = No
    AttackRange               = 30.0
    MeleeWeapon               = Yes
    WeaponSpeed               = 799999.2        ; dist/sec (huge value == effectively instant)
    DelayBetweenShots         = ANGMAR_SHADE_LAMENT_DELAYBETWEENSHOTS     ; time between shots, msec
    PreAttackDelay            = ANGMAR_SHADE_LAMENT_PREATTACKDELAY     ; 433 is natural time of the stabbing animation.
    PreAttackType             = PER_SHOT ; Do the delay each time we attack a new target
    FiringDuration            = ANGMAR_SHADE_LAMENT_FIRINGDURATION         ; min 600 for anim
    DamageDealtAtSelfPosition = Yes                ; A melee based AoE.  Arc radiates from me, not them
 
    ParalyzeNugget   
          Radius         = 350
          Duration      = 4000
          SpecialObjectFilter    = NONE +HERO
    End
    LuaEventNugget                        ; Sends a lua script event out
        LuaEvent        = BeUncontrollablyAfraid
        Radius            = 350
        SendToEnemies    = Yes
        SendToAllies    = Yes
        SendToNeutral    = Yes
    End
End
ObjectCreationList OCL_WitchkingVerharrenMS
    CreateObject
        ObjectNames          = WitchkingVerharrenPing
        Count                = 1
    End
    CreateObject
        ObjectNames          = WitchkingVerharrenWeaponPing
        Count                = 1
    End
End
Object WitchkingVerharrenPing
    Draw = W3DScriptedModelDraw ModuleTag_Draw
        DefaultModelConditionState
            Model = None
        End
    End
    KindOf = INERT IMMOBILE UNATTACKABLE INERT_SHROUD_REVEALER

    Behavior = AttributeModifierAuraUpdate ModuleTag_DreadVisageAddition
        StartsActive             = Yes
        BonusName                = SauronsAugeLeadership
        RefreshDelay             = 2000
        Range                    = 350
        TargetEnemy              = Yes
        AntiCategory             = LEADERSHIP BUFF
        ObjectFilter             = ANY +INFANTRY +CAVALRY -STRUCTURE -BASE_FOUNDATION +HERO +HORDE +MONSTER +MACHINE
    End
    Behavior = AttributeModifierAuraUpdate ModuleTag_DreadVisageAddition2
        StartsActive             = Yes
        BonusName                = SauronsAugeLeadership
        RefreshDelay             = 2000
        Range                    = 350
        TargetEnemy              = No
        AntiCategory             = LEADERSHIP BUFF
        ObjectFilter             = ANY +INFANTRY +CAVALRY -STRUCTURE -BASE_FOUNDATION +HERO +HORDE +MONSTER +MACHINE ALLIES
    End
   
    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth = 1
    End
    Behavior = LifetimeUpdate ModuleTag_HatchTrigger
        MinLifetime = 5000
        MaxLifetime = 5000
    End
    Behavior = SlowDeathBehavior ModuleTag_HatchProcess
        DestructionDelay    = 100
    End
End

Object WitchkingVerharrenWeaponPing
    Draw = W3DScriptedModelDraw ModuleTag_Draw
        DefaultModelConditionState
            Model = None
        End
    End
    KindOf = INERT IMMOBILE UNATTACKABLE INERT_SHROUD_REVEALER

    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth = 1
    End
    Behavior = LifetimeUpdate ModuleTag_HatchTrigger
        MinLifetime = 100
        MaxLifetime = 100
    End
    Behavior = SlowDeathBehavior ModuleTag_HatchProcess
        DestructionDelay    = 100
        Weapon              = FINAL WitchkingVerharrenFinalWeapon
    End
End

Ist ein bisschen umfangreich, weil ich nicht wusste, wie ich sonst Furchtresistenzen von meinen eigenen Truppen entfernen kann.


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 12. Aug 2015, 21:00
In dem Code habe ich auch keine Fehler gesehen. Dann zeig mal deinen CommandButton und die AttributeModifier.


Nach etwas nachdenken, habe ich auch dein Eggsystem verstanden.
Bist du dir sicher, dass das mit deinen AttributeModifierAuraUpd ates so richtig ist. Denn ich dachte, wenn man kein ALLIES/ENEMIES hinzufügt, dann würde ALLIES genommen. Inwieweit davon AntiCategory betroffen ist, weiß ich nicht genau, denn das wird ja im Originalspiel öftersverwendet gegen Feinde auch wenn die eigentliche Führerschaft auf Verbündete geht.

Wofür brauchst du eigentlich das KindOf INERT_SHROUD_REVEALER, bzw. was macht dies genau. Denn bei meinen Eggs verwende ich bis auf INERT_SHROUD_REVEALER die gleichen KindOfs.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 13. Aug 2015, 02:14
Also bei Saurons Auge (das ja auch schon seit Ewigkeiten Führerschaften aufhebt) stehen Führerschaft und AntiCategory in 2 unterschiedlichen Modulen, das sollte also klappen. INERT_SHROUD_REVEALER ist steht dort noch drin, weil ich faul wie ich bin andere Objekte kopiert und bearbeitet habe und das KindOf bei soetwas häufiger nicht so wichtig ist. Ich habe es jetzt mal entfernt. ;)
CommandButton Command_SpecialAbilityWitchKingWorteMS
      Command                   = SPECIAL_POWER
      SpecialPower              = SpecialAbilityWitchkingWorteMS
      Options            = NEED_TARGET_POS CONTEXTMODE_COMMAND
      TextLabel                 = CONTROLBAR:WitchkingWorteMS
      ButtonImage               = UCGrond_Cloud
      CursorName        = Bombard
      RadiusCursorType    = EarthquakeRadiusCursor
      InvalidCursorName    = GenericInvalid
      ButtonBorderType          = ACTION
      DescriptLabel             = CONTROLBAR:ToolTipWitchkingWorteMS
      InPalantir                = Yes
      AutoAbility        = No
End
ModifierList WitchKingWorteDebuff
    Category = WEAPON
    Modifier = ARMOR -50%
    Duration = 20000
End

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 22. Aug 2015, 20:12
Dieses Mal hätte ich eine ganz andere Frage: Wo findet man eigentlich den Aufbau einer Festung / eines Lagers? Konkret geht es mir darum, dass ich die Zitadelle ersetzen möchte, aber nicht weiß, wo die Struktur eines Lagers definiert wird.
(Bzw., sollte das in den bse.-Dateien stehen, wüsste ich nicht wie man die liest oder bearbeitet.)

Vielen Dank schon einmal!
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Ealendril der Dunkle am 23. Aug 2015, 15:58
Ist definiert über die bse, die mit dem Worldbuilder geöffnet wird.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 26. Aug 2015, 00:02
@Ealendril: Verspätet noch einmal vielen Dank! :)

Eine weitere Frage hätte ich noch: Kann man es für beliebige Gebäude einstellen, dass sie bei Beschwörung aus dem Boden wachsen und nicht einfach langsam sichtbar werden? (Also etwa wie bei "Einsamer Turm", der wächst ja aus dem Boden und ist nicht plötzlich da.)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 20. Dez 2015, 13:01
Mal wieder eine Frage: Ich arbeite momentan an einer Einheit, die in zwei verschiedenen Modi gespielt werden kann. Im einen ist sie völlig normal, kann sich bewegen und kämpfen, im zweiten ist sie immobil, dafür soll permanent eine FireWeapon aktiviert werden & die Umgebung etwas anders aussehen.
Momentan habe ich versucht, das über einen Mount zu lösen, da ich mich damit aber gar nicht auskenne, und es irgendwie auch nach komplettem Overkill aussieht, das Mountsystem des Hexenkönigs auf eine normale Einheit zu übertragen, hätte ich mal eine Frage, ob man das auch einfacher lösen kann.
Ansonsten besteht momentan das Problem, dass ich die Einheit nicht zurückmounten lassen kann, d.h. einmal aktiviert bleibt sie immobil, der Umgebungseffekt funktioniert ferner gar nicht.

Hier einmal die Codes:

Ich hoffe einmal, es kann mir jemand weiterhelfen.


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 20. Dez 2015, 14:01
Warum das zurück mounten nicht klappt, kann ich dir leider nicht sagen. Der von dir gepostete Teil sieht korrekt aus. Du könntest am besten mal die beiden Objecte posten.

Generell müsstest du das ganze auch nicht über einen Mount machen. Du könntest es über einen WeaponToggle machen (Command_TogglePalantir1), wo du dann durch die Modelcondition WEAPONSET_TOGGLE_1, gegebenenfalls noch durch ein XML,Lua-Upgrade, den gewünschten Effekt aktivierst.

Bei einer permanente Weapon oder für das permanente Beschwören eines Objectes, würde ich einfach ein FireWeaponUpdate verwenden. (Fire Delay im FireWeaponNugget gibt hier allesdings nur den ersten Delay an. Den generellen Intervall musst du in der Weapon bei DelaybetweenShots angeben).
Bei deinem SpawnBehavior hast du immer nur ein Object gleichzeitig.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 20. Dez 2015, 14:49
Zitat
Bei einer permanente Weapon oder für das permanente Beschwören eines Objectes, würde ich einfach ein FireWeaponUpdate verwenden. (Fire Delay im FireWeaponNugget gibt hier allesdings nur den ersten Delay an. Den generellen Intervall musst du in der Weapon bei DelaybetweenShots angeben).
Das FireWeapon Modul in der immobilen / eingenisteten Form funktioniert fehlerfrei, die Probleme sind wirklich das Zurückmounten und dass das Spinnennetz nicht angezeigt wird.

Zitat
Bei deinem SpawnBehavior hast du immer nur ein Object gleichzeitig.
Wie meinst du das? So wie ich mir das vorgestellt habe, ruft die eingenistete Brutmutter das Spinnennetz. Das bleibt zwar permanent hat aber den Eintrag "DieOnMastersDeath = Yes", also dachte ich, es würde verschwinden, wenn ich die Brutmutter zurückmounte, weil das Ausgangsobject dann ja weg ist. Nur erscheint es halt überhaupt nicht. ;)
Hier ist noch mal der Code vom Netz:

Wie macht man das denn über mithilfe von WeaponToggle? (Sorry, ich kenne mich damit wirklich kaum aus.) Bisher habe ich das nur dafür verwendet, um das WeaponSet selber zu ändern, allgemeine Eigenschaften habe ich so noch nicht überarbeitet.


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Ealendril der Dunkle am 20. Dez 2015, 21:48
Objecte mit einer Geschwindigkeit von 0 (oder gestunnt) können nicht mounten. Mounten ist ein Bewegungsfilter, auch wenn das Object an der gleichen Stelle verharrt. Du wirst dir dafür also eine andere Methode überlegen müssen.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 23. Dez 2015, 20:42
Aha, vielen Dank. Wenn ich so drüber nachdenke, macht es auch wirklich Sinn, ansonsten würden einige Fähigkeiten etwas unglücklich gekontert werden können.
Dann probiere ich es mal mit einer anderen Herangehensweise. ;)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 26. Dez 2015, 13:37
Alsoooo: Ich habe das Spinnennetz-System nun zwar ganz anders umgesetzt, aber es funktioniert einwandfrei und passt ebenfalls. Allerdings bereitet mir eine Sache Kopfzerbrechen: Ich dachte mir, dass das Spinnennetz Spinnen darin tarnen sollte, also habe ich folgenden Eintrag hinzugefügt:
    Behavior = InvisibilityUpdate ModuleTag_BroadcastCamouflage
        InvisibilityNugget
            InvisibilityType    = CAMOUFLAGE
            DetectionRange      = 10
        End
        UpdatePeriod            = 1000
        Broadcast               = Yes
        BroadcastRange          = 75
        BroadcastObjectFilter   = ANY +MordorSpiderling +MordorSpiderling_Summoned +MordorBrutmutterMordorsubmod +WildZuchtspinnen ALLIES
        StartsActive            = Yes
    End
Das komische ist, dass das Modul überhaupt keine Wirkung auf die Spinnen hat, jedoch z.B. Orks (als ich sie dort testweise eintrug) korrekt unsichtbar machte. (Der klassische Objectfilter ELVEN_MIST_OBJECT_FILTER folgt übrigens dem exakt gleichen Aufbau wie mein verwendeter BroadcastObjectFilter.)

Weiß da jemand, woran das liegen könnte? Spinnen haben ja bereits einen Unsichtbarkeitseintrag in ihrer eigenen .ini, da sie neben Bäumen unsichtbar werden.


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 8. Jan 2016, 22:34
Nochmal eine Frage:
Weiß wirklich niemand, was der Fehler an dem Tarn-Modul sein könnte? Es kommt mir eigentlich nur so vor, als würde ich Tarnung allgemein noch nicht ganz verstanden haben, denn der Code funktioniert ja auf anderen Einheiten völlig fehlerfrei.

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 17. Jan 2016, 00:00
Also, ich habe deinen Code, der auch richtig aussah, testweise mal der MordorZidatelle gegeben einen MordorFighter und eine MordorSpiderling als Starteinheit gesetzt und die Spinne wurde bei mir getarnt.
Vielleicht hast du nicht genau hingesehen, denn die Tarnanimation ist ja nicht durchgängig durchsichtig oder du hast andere Spinnenobjecte beschwören lassen.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 17. Jan 2016, 00:19
Ich habe es mittlerweile auch zum Laufen gekriegt, nachdem ich in meiner Verzweiflung zwischenzeitlich ungefähr auf der ganzen Karte alle meine Objekte hab tarnen lassen, um visuelle Fehler auszuschließen. :D Die Probleme mit der Unsichtbarkeit waren auch der Grund, warum das DG-Update so auch sich hat warten lassen. Der Fehler war tatsächlich ziemlich vertrackt: Bei der Brutmutter stand ein kurzer Codetext dazu, dass sie sich in der Nähe von Bäumen tarnt. Nachdem ich den entfernt hatte, ging es^^ Ich bin nicht ganz sicher, woran das gelegen hat, vermute aber, dass es daran liegt, dass die Unsichtbarkeit bei FIRING_ANY oder so deaktiviert wird -und der Spinnensummon läuft über eine Weapon.
Und bei den anderen Spinnen hatte ich Depp vergessen, die Horde einzutragen. Eigentlich verstehe ich es auch immer noch nicht, aber was soll's: Es läuft ja... ;)

Gruß
Melkor Bauglir

Edit: Trotzdem vielen Dank an dich! Es kam nur so lange keine Antwort, dass ich das Problem nicht mehr als gelöst gemeldet habe. Sorry, dafür! ;)
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 29. Jan 2016, 23:16
Ist es eigentlich möglich, Gebäude direkt Horden respawnen zu lassen. Als ich versucht habe, dies über das übliche SpawnBehavior zu coden, hat es nämlich nicht funktioniert. (Ich rede natürlich nicht von einer periodisch genutzten OCL oder so, die Horde sollte schon nur in begrenzter Anzahl vom Gebäude generiert werden, wie z.B. bei einem Bewohner-System.)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 30. Jan 2016, 12:41
Ich habe es eben ausprobiert und es geht tatsächlich nicht bei Horden. Wusste ich vorher auch noch nicht.
Die einfachste Möglichkeit ist, dass du statt deiner Horde ein Egg beschwörst, welches die eigentliche Horde beschwört. Das Egg muss dann nur mit sterben, wenn die Horde stirbt. Das könnte man über ein Attachupdate regeln. Das Egg attached die Horde, die sie beschworen hat. Das hat den großen Vorteil, dass das Egg automatisch stirbt, wennn das attachede Object stirbt.
Ein Nachteil hierran wäre, dass es zu kleinen Problem kommen kann, da das Egg vielleicht das falsche Object attached und eine Horde von 2 Eggs attached wurde. Dies hängt davon ab, in welchem Abstand es nachgespawnt werden soll und wie viele gleichzeitig existieren.
Object PvDAEgg
Draw = W3DScriptedModelDraw ModuleTag_01 ;;Zum Testen bekommen alle meine Eggs das Ringdesign.
DefaultModelConditionState
Model = TheRing
ParticleSysBone NONE OneRing
;ParticleSysBone NONE OneRingAura
Shadow = SHADOW_ADDITIVE_DECAL
ShadowSizeX = 200
ShadowSizeY = 200
ShadowTexture = MUCatapultFP02
ShadowMaxHeight   = 200
ShadowOverrideLODVisibility = yes
End
IdleAnimationState
Animation
AnimationName = THERING.THERING
AnimationMode = LOOP
End
End
End
Behavior = ObjectCreationUpgrade CreateTheMoat
TriggeredBy = Upgrade_MordorFaction
Delay = 0.0
ThingToSpawn = MordorFighterHorde_Summoned;;
End
    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth    = 1
    End
    Behavior = AttachUpdate ModuleTag_Attach
        ObjectFilter            = NONE +MordorFighterHorde_Summoned
        ScanRange               = 0.5
        AlwaysTeleport          = Yes
        AnchorToTopOfGeometry   = Yes
    End
End

Eine andere Möglichkeit die Eggs zu zerstören, wenn die Horde stirbt, wäre diese hier. Ich hatte generell schonmal ein spezielles lizensiertes System für mich entwickelt, wo es nötig war genau ein Egg zu vernichten, wo es mehrere Eggs von diesen gleichzeitig gab und diese auch zum Teil exakt auf der selben Stelle sich befinden.
Das System hat bei mir fehlerfrei geklappt.

Das PvDAZerstörenObject müsste dann bei der gewünschten Horde übder ein slowdeath OCL beschworen werden.
Object PvDAZerstörenObject
Draw = W3DScriptedModelDraw ModuleTag_01 ;;Zum Testen haben alle meine Eggs das Ringdesign.
DefaultModelConditionState
Model = TheRing
ParticleSysBone NONE OneRing
;ParticleSysBone NONE OneRingAura
Shadow = SHADOW_ADDITIVE_DECAL
ShadowSizeX = 200
ShadowSizeY = 200
ShadowTexture = MUCatapultFP02
ShadowMaxHeight   = 200
ShadowOverrideLODVisibility = yes
End
IdleAnimationState
Animation
AnimationName = THERING.THERING
AnimationMode = LOOP
End
End
End

    KindOf    = INERT IMMOBILE UNATTACKABLE
    Behavior = AttachUpdate ModuleTag_Attach
        ObjectFilter            = NONE +PvDAEgg
        ScanRange               = 99999999
        AlwaysTeleport          = Yes
        AnchorToTopOfGeometry   = Yes
    End
    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth    = 1
    End

    Behavior = LifetimeUpdate ModuleTag_HatchTrigger
        MinLifetime = 1000.0
        MaxLifetime = 1000.0
    End

    Behavior = FireWeaponUpdate ModuleTag_DamageHandler
        FireWeaponNugget
            WeaponName = PvDAZerstörungsWeapon
            FireDelay = 100
            OneShot = Yes
        End
    End
End

Weapon PvDAZerstörungsWeapon
LeechRangeWeapon = Yes
AttackRange = 99999999
MeleeWeapon = No
DelayBetweenShots = 99999;zur Sicherheit
PreAttackDelay = 0
PreAttackType = PER_SHOT
FiringDuration = 0
RadiusDamageAffects = ALLIES;NONE +PvDAEgg ALLIES;klappt nicht

DamageNugget                        ; A basic Nugget that just does damage
Damage = 1000000
Radius = 1.0
DamageType = CHOP
DeathType = NORMAL
SpecialObjectFilter = NONE +PvDAEgg ALLIES
ForceKillObjectFilter = NONE +PvDAEgg ALLIES
End
End

Das PvDAEgg sähe dann so aus:
Object PvDAEgg
Draw = W3DScriptedModelDraw ModuleTag_01 ;;Zum Testen bekommen alle meine Eggs das Ringdesign.
DefaultModelConditionState
Model = TheRing
ParticleSysBone NONE OneRing
;ParticleSysBone NONE OneRingAura
Shadow = SHADOW_ADDITIVE_DECAL
ShadowSizeX = 200
ShadowSizeY = 200
ShadowTexture = MUCatapultFP02
ShadowMaxHeight   = 200
ShadowOverrideLODVisibility = yes
End
IdleAnimationState
Animation
AnimationName = THERING.THERING
AnimationMode = LOOP
End
End
End
    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth    = 1
    End
KindOf    = PRELOAD CAN_CAST_REFLECTIONS PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT ATTACK_NEEDS_LINE_OF_SIGHT NOTIFY_OF_PREATTACK GRAB_AND_DROP
;INERT IMMOBILE; UNATTACKABLE ;;Brauchen nun natürlich andere KindOf's. Einige sind davon bestimmt zu viel, aber lieber zu viel als zu wenig.
    ArmorSet
        Conditions      = None
        Armor           = ChopArmor ;;Und eine ChopArmor wäre nicht schlecht.
        DamageFX        = NormalDamageFX
    End
Behavior = ObjectCreationUpgrade CreateTheMoat
TriggeredBy = Upgrade_MordorFaction
Delay = 0.0
ThingToSpawn = MordorFighterHorde_Summoned;;
End
End
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 30. Jan 2016, 14:03
OK, dann habe ich bei meinem System offenbar keine offensichtliche Methode übersehen. ;) Ich habe damals halt erst gefunden, dass das Bewohnersystem nicht funktioniert und dann ohne weiter nachzuforschen, gleich ein anderes System angewandt: Ich selbst nutze momentan nämlich ein ähnliches System wie deine erste Idee, allerdings mit einem SlavedObject, das über die Horde beschworen wird und halt den "DieOnMastersDeath"-Eintrag besitzt -dieses kann sich aber nicht bewegen und bleibt daher neben dem Gebäude liegen. (Stirbt die Horde, stirbt das Object und macht über ein SlowDeathBehavior das Object kaputt, das ich von meinem Gebäude spawnen lasse, das dann die Horde per OCL beschwört. Und DAS Object kann ich ja ganz regulär neu erscheinen lassen.)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 8. Mär 2016, 00:38
Also, ich hätte da noch einmal zwei kleinere Fragen:
1. Ich habe momentan einen Gebäudesummon, der dahingehend seltsam ist, dass man ihn wirklich überall hin wirken kann -z.B. kann ich ihn mitten auf meine eigenen Gebäude setzen. Weiß jemand, wie man das ändern kann?
2. Bei vielen Spellgebäuden ist es ja so, dass sie beim Beschwören nicht einfach erscheinen, sondern ihre Aufbauanimation immer noch abgespielt wird, indem sie z.B. aus dem Boden wachsen. Kann man das irgendwo einstellen oder funktioniert das eh nur bei dafür irgend geeigneten Gebäuden?

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 8. Mär 2016, 10:31
1.
Das musst du in der SpecialPower festlegen, wo man den Summon wirken kann. So hat der Einsame Turm folgenden Eintrag:
Flags = NO_FORBIDDEN_OBJECTS RESPECT_RECHARGE_TIME_DISCOUNT
ForbiddenObjectFilter = NO_SUMMON_STRUCTURE_NEAR_OBJECT_FILTER
ForbiddenObjectRange = SPAWN_LONE_TOWER_DECAL_RADIUS

2.
Im OCL ist der UseJustBuiltFlag entscheidend. Die Gebäude haben allerdings einen extra Eintrag in ihrem Object, dass die Animation abgespielt wird. Ich nehme an, dass die meisten Gebäude diese Animation nicht standardmäßig haben.
ObjectCreationList OCL_GondorSpellBookSpawnLoneTower
CreateObject
ObjectNames = GondorSentryTower_Independant
Count = 1
UseJustBuiltFlag = Yes ; turn on the JUST_BUILT model condition.
JustBuiltDuration = LONE_TOWER_BUILD_TIME ; Keep JUST_BUILT on for time it takes to build.
StartingBusyTime = LONE_TOWER_BUILD_TIME
ClearRemovables = Yes
End
End

Object GondorSentryTower
    ModelConditionState = JUST_BUILT
        Model = GBBtlTwrM_A
    End
    AnimationState            = JUST_BUILT
        StateName                = JustBuilt
        Animation                = GBBtlTwrM_A
            AnimationName        = GBBtlTwrM_A.GBBtlTwrM_A
            AnimationMode        = ONCE
            AnimationBlendTime    = 0
            AnimationSpeedFactorRange = 2.2 2.2
        End
        Flags = START_FRAME_FIRST
    End
[...]
End
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 8. Mär 2016, 22:51
Vielen Dank schonmal!

Was den JustBuiltFlag betrifft, so habe ich den lustigerweise ständig verwendet, nur eben nie den logischen Sprung gemacht, einmal in der .ini des Objects nachzusehen, ob der Eintrag dort irgendwo auftaucht.

Was allerdings das Gebäudestapelproblem betrifft, so bin ich mir nicht ganz so sicher ob das reicht. Natürlich löst ein Mindestabstand zu anderen Gebäuden das Problem grundsätzlich, allerdings können normale Gebäude überhaupt nicht auf unpassierbares Gelände gewirkt werden (bereits bebautes Gelände ist ja gewissermaßen unpassierbar^^), obwohl sie keinen spezifischen Mindestabstand zu diesem Gebäudetyp besitzen.
Bei diesem einen Gebäudesummon besteht nur irgendwie das Problem, dass das Feld einfach niemals rot wird und ich theoretisch die Fähigkeit überall hin wirken kann -sie wird dann zwar aufgrund der Reichweite der Fähigkeit in der .ini der Einheit nicht ausgeführt, aber es ist doch arg unschön.


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 28. Mär 2016, 23:10
Noch einmal eine Frage: Gibt es eine Möglichkeit, ein (sichtbares, wohlgemerkt!) Objekt so zu gestalten, dass man auf ihm bauen kann? Konkret ist es nicht nur sichtbar, sondern hat auch noch den Eintrag COMMANDCENTER, hat aber weder eine Geometry, noch habe ich vergessen das NO_COLLIDE hinzuzufügen und Einheiten ignorieren das Object auch korrekt. Nur Gebäude kann ich eben nicht direkt auf ihm errichten, was schade ist, weil es ein System unnötig verkompliziert. ;)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 15. Nov 2016, 23:58
Dumm, di dumm, es ist als wäre ich nie weg gewesen...

Also, nach längerer Zeit stelle ich mir folgende Frage: Ich versuche momentan verzweifelt, Orkgruben die Möglichkeit zu geben, an ihnen Truppen auflösen zu können. (Genau wie bei Festungen, wo man ja auch Truppen für Geld entlassen kann.)
Die funktioniert aber gar nicht, die Truppen laufen auf das Gebäude zu, werden unanwählbar und verharren dann endlos in einer Laufanimation, ohne zu verschwinden (und Rohstoffe zu gewähren).
Weiß hier jemand Rat bzw. gibt es einen Eintrag, den Gebäude brauchen, um Truppen entlassen zu können?

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 16. Nov 2016, 11:54
Beim Mordor Schlachthaus, welches das SlaughterHordeContain verwendet, steht folgender Code mit einer Anmerkung:
  KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE NEED_BASE_FOUNDATION CASTLE_KEEP GARRISONABLE_UNTIL_DESTROYED FS_CASH_PRODUCER CAN_ATTACK GARRISON IGNORE_FOR_VICTORY;for the slaughterhordecontain
Meine Vermutung wäre jetzt das KindOf GARRISON gewesen, allerdings klappt es auch mit folgenden KindOfs
PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY NEED_BASE_FOUNDATION ATTACK_NEEDS_LINE_OF_SIGHT CAN_ATTACK MADE_OF_WOOD
Vielleicht musst du auch den EntryOffset überarbeiten, da die Einheiten nicht richtig zu dem Punkt kommen. (Beim SlaughterHordeContain wird dieser normalerweise weggelassen.)
Poste sicherheitshalber auch mal deinen ganzen Code.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 16. Nov 2016, 20:48
    Behavior = CitadelSlaughterHordeContain ModuleTag_SlaughterMe
        PassengerFilter                   = ANY +MordorAufseherHorde +MordorAufseherHorde_Structure2 +MordorAufseherHorde_Structure3
        ObjectStatusOfContained           = UNSELECTABLE ENCLOSED
        CashBackPercent                   = SUBMOD_MORDOR_KASERNE_CASHBACK_PERCENT
        ContainMax                        = 99;// give it a huge capacity, just in case player sends his whole army in at once
        AllowEnemiesInside                = No
        AllowAlliesInside                 = No
        AllowNeutralInside                = No
        AllowOwnPlayerInsideOverride      = Yes
        EnterSound                        = MordorSlaughterhouseEnterSound
        EntryOffset                       = X:-5.0 Y:-5.0 Z:0.0 ;sollte der Punkt sein, an dem man die Kontrolle über die Einheit verliert
        EntryPosition                     = X:40.0 Y:0.0 Z:0.0  ;sollte der Punkt sein, an dem die Einheit tatsächlich verschwindet
       
        ExitOffset                        = X:-5.0 Y:-5.0 Z:0.0
    End
Der EntryOffset ist übrigens vollkommen irrelevant; ich habe den bei der Festung spaßeshalber einmal irgendwo in die Pampa verlegt, die Einheiten liefen dann zu diesem Punkt und verschwanden.
MordorAufseherHorde_Stru cture2 und MordorAufseherHorde_Stru cture3 sind ChildObjects der von MordorAufseherHorde.

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Prinz von Dol Amroth am 17. Nov 2016, 10:00
Wie wäre es dann noch mit der Einheit, welche in der Horde drinnen ist ;)
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 17. Nov 2016, 20:43
OK, wäre eine Idee. xD
Funktioniert jetzt auch einwandfrei und alles scheint gut zu sein. Vielen Dank!

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 28. Nov 2016, 19:26
Noch einmal eine Frage: In der .ini jedes Helden existiert ja bekanntermaßen dieses Module "RespawnUpdate". In diesem besteht der Eintrag, wonach man unter "RespawnRules" schreiben kann "AutoRespawn = Yes". Naiv, wie ich bin, habe ich angenommen, dass dies bedeutet, dass der Held automatisch wiederbelebt wird -nur ist dem nicht so (es ändert sich, um exakt zu sein, überhaupt nichts).
Gibt es bei diesem Module irgendetwas zu beachten oder ist das einer von EAs legendär berüchtigten Fehlern, wo sie etwas niemals richtig implementiert haben?

Gruß
Melkor Bauglir

PS: Wenn niemand eine Antwort findet -eine erschöpfende Suche ist es vermutlich nicht wert. Ich kann das Problem auch anders lösen, allerdings ist es dann zweifellos weniger schön. ;)
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 28. Nov 2016, 19:38
Ich habe bereits mehrfach mit dem Autorespawn herumexperimentiert und nichts finden können.
Titel: Re: Melkors Modding Fragen
Beitrag von: Rekudo93 am 29. Nov 2016, 18:44
ich habe auch schon mal mit diesen Zeilen herumexperimentiert.

Es ändert sich bei mir nix (modde  SuM 1)

ich erkläre mal die zeilen:

    Behavior = RespawnUpdate ModuleTag_RespawnUpdate
        DeathAnim            = DYING               
        DeathFX            = FX_AragornDieToRespawn         
        DeathAnimationTime        = 3933               ;Länge der Todesanimatuion
        InitialSpawnFX            = FX_GaladrielResurrection       ;Hauptsächlich der Sound der abgespielt wird. Zu finden in der FXList!
        RespawnFX            = FX_GaladrielResurrection      ;das selbe wie eins oberdrüber
        RespawnAnimationTime        = 2000               ;Zeit die angibt, wieviele Milliasekunden nach dem Tode der Button in der Feste wieder auftaucht
        AutoRespawnAtObjectFilte r    = NONE +CASTLE_KEEP ;Der Ort wo die Person Wiederbelebt werden kann
        ButtonImage            = HIGaladriel ;Das Buttonbild des Helden

        RespawnRules =    AutoSpawn:No        Cost:5500        Time:120000        Health:100%       
        RespawnEntry =    Level:2             Cost:5550        Time:120000                       
        RespawnEntry =    Level:3             Cost:5600        Time:120000
        RespawnEntry =    Level:4             Cost:5650        Time:120000
        RespawnEntry =    Level:5             Cost:5700        Time:180000
        RespawnEntry =    Level:6             Cost:5750        Time:180000
        RespawnEntry =    Level:7             Cost:5800        Time:180000
        RespawnEntry =    Level:8             Cost:5850        Time:180000
        RespawnEntry =    Level:9             Cost:5900        Time:180000
        RespawnEntry =    Level:10            Cost:5950        Time:180000
    End

AutoSpawn kann ich bei mir auf Yes oder No stellen, das ändert bei mir nichts.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 3. Dez 2016, 11:32
OK, vielen Dank an euch. Dann werde ich mein Problem anders lösen (ist wie gesagt kein furchtbares Drama).

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 3. Dez 2016, 11:40
Was genau willst du denn machen? Je nachdem was es ist, kann ich dir vielleicht trotzdem helfen.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 3. Dez 2016, 23:46
Also: Ich arbeite momentan am 3.8.1-Sauron. Um über zwei Ecken den Gorthaur-Zauber zu schwächen, muss man dem Nekromanten erst zusätzlich einen Körper kaufen, damit er selber ins Kampfgeschehen eingreifen kann, Sauron soll aber direkt verfügbar sein, damit das Levelsystem ohne Verzögerung genutzt werden kann.
Damit sind sämtliche Kosten auf den Körper (ein Upgrade) ausgelagert, während der körperlose Sauron erst einmal wirklich nur zum EP-Erhalt wichtig ist. Als solches wäre es halt sehr schön gewesen, wenn er sich automatisch wiederbeleben würde; es hätte das System etwas, naja, flüssiger gemacht.

In dem Zusammenhang noch eine ganz andere Frage: Das Weiterleiten von EP von Nazgûl zu Sauron läuft, wenn ich das richtig verstanden habe, über den Eintrag
    ReplaceModule ModuleTag_DefaultShareExp
       Behavior = ShareExperienceBehavior ModuleTag_DefaultShareExp_Nekromant
          Radius            = 100000.0
          ObjectFilter      = ANY +MordorNekromantSauron +MordorSauron_mod +MordorAnnatar +MordorGorthaur +MordorSauronWerwolf +MordorGorthaurVampir +MordorSauron
          DropOff           = 1.0
       End
    End
in der .ini jedes Nazgûl (bzw. Saurons Mund), was den Default-Eintrag überschreibt (alle anderen Einheiten teilen ihre EP nur mit nahen Helden). Ich würde nun ganz gerne auch Einheiten Mordors, an Saurons Erfahrungsgewinn teilhaben lassen (und dies vorzugsweise erst mit einem Upgrade aktivieren, aber dies kommt später). Wenn ich aber genau diesen Eintrag in die .ini einer Horde schreibe, passiert schlichtweg gar nichts -weder erhält Sauron die EP, noch erhalten nahe Helden keine EP mehr! (Was sie ja eigentlich nicht mehr tun sollten: Im Module, dass das Default-Module ersetzt
    InheritableModule
        ; This will farm out any experience we gain to nearby units.
        Behavior = ShareExperienceBehavior ModuleTag_DefaultShareExp
            Radius            = 200.0 ;100.0
            ObjectFilter      = ANY +HERO -MordorNekromantSauron -MordorSauron_mod -MordorAnnatar -MordorGorthaur -MordorSauronWerwolf -MordorGorthaurVampir -MordorSauron
            DropOff           = 1.0            ; Must be one or zero.
        End
    End
wird ja explizit keine EP mehr an Heden weitergeleitet.) Kann mir hier jemand auf die Sprünge helfen, was ich an dem System falsch verstanden habe?

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 4. Dez 2016, 21:37
Interessant. Es wirkt tatsächlich so, als könnte man das ShareExperienceBehavior bei Horden nicht einfach überschreiben. Bei Gebirgstrollen existiert nämlich z.B. überhaupt kein Problem damit, die leiten ihre EP nun munter an den Nekromanten weiter.
Mir ist für dieses Problem allerdings auch eine Lösung eingefallen, hoffen wir 'mal, dass die so funktioniert, wie ich mir das vorstelle. ;)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 4. Dez 2016, 22:20
Bei Sauron habe ich direkt jetzt auch keine Idee.

Ich würde bei der Erfahrung den Eintrag in der Einheit nicht in der Horde ersetzten, da ja die Einhieten diejenigen sind die kämpfen. Das deckt sich auch mit den Einzeleinheiten.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 10. Dez 2016, 01:29
Ich hätte da noch einmal eine andere Frage: Jedes Ressourcengebäude hat ja üblicherweise einen Produktionsradius um sich, der auch bereits angezeigt wird, wenn man das Gebäude platzieren will. Bei Isengarts Schmelzöfen ist dies interessanterweise nicht der Fall, entsprechend wollte ich dies ändern.
Ich hatte jetzt erwartet, dass der Eintrag
    Behavior = TerrainResourceBehavior ModuleTag_NewMoney
        Radius           = ISENGARD_FURNACE_MONEY_RANGE        ; How far we try to claim ground
        MaxIncome        = 10 ;ISENGARD_FURNACE_MONEY_AMOUNT        ; If we were to get all we wanted, how much we would earn.  Linear slope to 0 at 0% claim
        IncomeInterval   = ISENGARD_FURNACE_MONEY_TIME        ; How often (in msec) we give that much money
        Visible          = Yes
    End
dafür verantwortlich ist, konkret das "Visible = Yes" (in Edain ist diese Zeile auskommentiert). Dies ist aber anscheinend nicht der Fall, denn nichts hat sich geändert (und bei Mordor haben Schlachthäuser diesen Eintrag überhaupt nicht).
Weiß hier jemand die Lösung?

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 11. Dez 2016, 12:24
Da ich mich noch nicht damit beschäftigt habe, weiß ich auch nicht direkt woran es liegen könnte. Meine Vermutung wäre aber, dass folgendes Behavior noch wichtig ist, da es im Originalspiel immer bei Rohstoffgebäuden vorhanden war, in Edain aber nicht mehr.

ClientBehavior = TerrainResourceClientBehavior ModuleTag_NewMoneyClient
End

Was das Visible angeht, so ist Yes vermutlich der Standardwert, weshalb er weggelassen werden kann.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 15. Dez 2016, 20:10
Und eine weitere Frage (daraus resultierend, dass ich unerfahren mit allen FX bin). ;)
Ich habe Mornamarth auf Stufe 10 einen Waffenwechsel verpasst und möchte nun, dass man diesen an einer FX erkennt. Der Waffenwechsel selber funktioniert schonmal, sowohl das hin- wie zurückschalten.
Ich wollte hierbei diesen Eintrag nutzen, weil er gut passte und schon vorhanden war:
        ModelConditionState = USER_3
            ParticleSysBone  = None BlackRiderFlare FXTrigger:NONE Persist:SPAWN PersistID:100
        End
USER_3 habe ich mit WEAPONSET_TOGGLE_1 ersetzt. Die FX wurde dann auch aktiviert, sie verschwand aber nicht mehr, als ich zurückwechselte. Daher habe ich versucht, das System, welches Edain häufig nutzt (Waffenwechsel über SpecialAbilityBerserkerL ightTorch (oder so) einzubinden), womit man ja auch einen Modifier während des Waffenwechsels vergeben kann. Dieser sieht so aus:
ModifierList MornamarthBlutundEisenBonus
    Category = FORMATION
    ;ModelCondition = USER_3
    Duration = 0
Modifier = DAMAGE_MULT 500%
    FX         = FX_MornamarthEisenOptik
End
Der Schadensmodifier ist ein Test, es stellt sich nämlich heraus, dass der Modifier niemals zugefügt wird. Die FX enthält den BlackRiderFlare, welchen ich ja auch haben wollte. Dies sollte hiermit geschehen:
    Behavior = WeaponChangeSpecialPowerModule BlutundEisen
        SpecialPowerTemplate      = SpecialAbilityBerserkerLightTorch
        FlagsUsedForToggle        = WEAPONSET_TOGGLE_1
        ToggleOnAttributeModifier = MornamarthBlutundEisenBonus
    End

Kann mir hier jemand weiterhelfen? Vielen Dank schon einmal! :)


Edit: Das Problem des fehlenden Produktionskreises der Schmelzöfen liegt übrigens an dem WallHub-Behavior. Das Spiel wird vermutlich Probleme damit haben, mehrere unabhängige Kreise (einmal den WallHub- und einmal den Produktionskreis) gleichzeitig anzuzeigen. Das ist natürlich extrem ärgerlich. :-|


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 15. Dez 2016, 20:34
Ich habe mich  vor kurzem selber mit dem Problem mit dem nicht funktionierenden Modifier beim WeaponChangeSpecialPower Module auseinandergesetzt, da es bei mir auch nicht funktioniert hat. Die Lösung ist, dass du einen Delay brauchst, damit der Modifier funktioniert.

    Behavior = WeaponChangeSpecialPowerModule THING
        SpecialPowerTemplate     = SpecialAbilityKnifeFighter
        FlagsUsedForToggle    = WEAPONSET_TOGGLE_1
        ToggleOnSleepFrames     = 10
        ToggleOffSleepFrames     = 10
        ToggleOnAttributeModifier  = TaurielBowFighterBonusOff
        ToggleOffAttributeModifier = TaurielBowFighterBonusOn
    End

Ah, das mit den WallHubs ist interessant.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 15. Dez 2016, 20:58
Hmm, das hat leider nur semi-gut funktioniert. Die FX wird jetzt korrekt ausgelöst (ich habe sie auch wieder nur über
        ModelCondition          = USER_3und
        ModelConditionState = USER_3
            ParticleSysBone  = None BlackRiderFlare FXTrigger:NONE Persist:SPAWN PersistID:100
        End
eingebaut).
Allerdings verschwindet der Effekt nicht, wenn ich zurückwechsel, was mich so erstmal wundert: BlackRiderFlare ist mWn quasi äquivalent mit Saurons Flammen-FX (in 4.x) und die verschwinden ja auch, wenn man zur normalen Form wechselt. Und dann funktioniert der Angriffsmodifier nicht (mit beiden WeaponSets).

Edit: Um das zu konkretisieren: Der Angriffsbonus funktioniert auch nicht, wenn ich alle anderen Einträge aus dem Modifier lösche. (Das war doch mWn ein Problem mit dem FORMATION-Eintrag, dass irgendwie manchmal einige Boni/Mali nicht durchkamen. Ich meine mich da vage an etwas zu erinnern, als an der Beta gearbeitet wurde.)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 17. Dez 2016, 19:31
Nun ja, mein System funktioniert jetzt irgendwie. Ich bin nicht komplett zufrieden, weil es mir unelegant vorkommt, aber da es genau macht was es soll, und ich keine Lust habe, mich 4 Stunden mit einer doofen FX herumzuärgern, nur um Eleganz vorliegen zu haben, werde ich es dabei lassen. ;)
Noch einmal vielen Dank für den Tipp mit dem Delay, da wäre ich sicher nicht drauf gekommen!  :)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 26. Dez 2016, 13:56
Moin, moin. Ich hätte da noch 2 kleinere Fragen:
1. In Weapons findet man bisweilen dieses "AcceptDamageAdd = Yes / No". Was bedeutet das eigentlich? Mir fällt nämlich nur immer wieder auf, das in praktisch allen DOT-Weapons dort ein "No" steht.
2. Ist es möglich, einen Modifierkreis (wie ihn z.B. Statuen oder Brunnen haben) auch anzuzeigen, wenn man gerade ein anderes Gebäude des gleichen Typs baut? Nicht nur wäre das praktisch, weil man dann wüsste, ob sich 2 Brunnen z.B. überlappen; es würde mein Schmelzofenproblem auch lösen. ;)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 26. Dez 2016, 14:15
1. Ob Schadensmodifier den Schaden des Nuggets betreffen oder nicht.
Bei der anderen Frage weiß ich direkt keine Antwort.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 2. Jan 2017, 01:50
Nur um da einmal nachzuhaken: Der Eintrag "HighPriority = Yes / No" bei Wirtschaftsgebäuden ist vollkommen nutzlos bzw. einfach ohne jede Funktion, oder?
Ich habe das jetzt mehrfach überprüft und es macht überhaupt keinen Unterschied, auf was der Eintrag gesetzt wurde, wichtig ist wirklich nur, wann ich das Wirtschaftsgebäude zeitlich gesehen gebaut habe. (Ich habe bei Mordors Schlachthaus, was hierfür am ehesten betroffen sein sollte sogar noch einmal explizit "HighPriority = No" hinzugefügt, damit es da keine Probleme mit dem Default-Wert geben kann.)
Auch wenn die Frage, fürchte ich, nicht unglaublich interessant sein sollte bzw. in Edain 4.x sogar völlig bedeutungslos ist, würde es mich schon interessieren, ob ich mit dieser Befürchtung gerade Recht habe. ;)

Gruß
Melkor Bauglir

PS: Vielen Dank FG15! Sind damit additive Schadensmodifier mit eingeschlossen? (Das wäre für mich die Erklärung, warum das in allen DOT-Nuggets immer auf "No" gesetzt wird. xD)
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 2. Jan 2017, 10:35
Ich hätte angenommen, dass dadurch später gebaute Gebäude so tun, als ob sie vorher schon dagewesen wären, und damit die Produktion des Rohstoffgebäudes beeinflussen. Aber wenn du das getestet hast, und es nicht so ist, dann hat EA einmal mehr toten Code eingebaut.

Ja, weder multiplikative noch additive soweit ich weiß.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 2. Jan 2017, 15:10
Ja, ich war selber etwas enttäuscht. Aber sowas bringt EA irgendwie häufiger. 8-|

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 3. Jan 2017, 22:51
Edit: Hat sich geklärt!

OK, ich hätte 'mal wieder eine kurze Frage: Was definiert ein Gebäude als Rohstoffgebäude in dem Sinne, dass es zum Inflationslimit hinzuzählt? Ist das der Eintrag RESOURCE_MODIFIER_OBJECT _FILTER in der playertemplate.ini oder hat das was mit den KindOf-Einträgen im Gebäude selber zu tun? (Also z.B. FS_CASH_PRODUCER und ECONOMY_STRUCTURE, wobei ich hier jetzt auch nicht mehr kennen würde.)
Vielen Dank für jedwede Hilfe! :)

Edit: Und wo ich schon einmal zur Fragestunde schreite: Gibt es eigentlich eine Möglichkeit, dass man bestimmte Gebäude nur in einem bestimmten Abstand voneinander errichten kann? Bei Nebels Tunneln war es mWn so und ich hätte keine Ahnung, wie man so etwas einrichten könnte. Ansonsten müsste ich umdisponieren und das dann entstehende System dürfte merklich umständlicher ausfallen. ;)

Gruß
Melkor Bauglir

PS: Hintergrund ist, dass ich das gammlige SuM-Wirtschaftssystem um einige neue Systeme bereichern möchte, dafür aber in einem dieser Systeme sehr viele ""Wirtschaftsgebäude"" gleichzeitig einbauen muss, um es balancen zu können.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 4. Feb 2017, 22:03
Ich habe wieder einmal eine Frage: Ich wollte Arwens Aragorn-Summon überarbeiten, sodass er nur noch temporär erscheint, dafür aber sein Level mit jeder Beschwörung zunimmt.
Das System ist insofern umgesetzt, als das Arwen definitiv jedes Mal ein anderes Object beschwört. Allerdings bleibt Aragorn / Streicher IMMER auf Level 1. (Ich habe ihn wie üblich als Object in der ExperienceLevels.inc hinzugefügt und immer ein
    Behavior = ExperienceLevelCreate ModuleTag_MPLevelBonus
        LevelToGrant = 3
        MPOnly       = Yes
    End
mit dem entsprechenden Level eingefügt.)
Zu erwähnen wäre noch, dass der Imladris-Streicher nicht als Held definiert ist (mit RespawnUpdate). Weiß hier jemand, wo das Problem liegen könnte?


Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 15. Feb 2017, 15:03
Hat echt niemand eine Idee? Irgendwie fühle ich mich nämlich von Streicher leicht verarscht: Andere Helden erhalten problemlos ihr richtiges Level, nur auf ihm ist bringt dieser Eintrag einfach absolut nichts, obwohl das Object exakt gleich dem anderer beschworener Helden aufgebaut ist!

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 15. Feb 2017, 15:11
Könntest du auch mal die Experience Einträge mit reinstellen?
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 15. Feb 2017, 15:23
#define STRONG_WARRIOR_HERO_GOOD DwarvenDain DwarvenDainErebor DwarvenDain_mod DwarvenDwalin LothlorienCeleborn DwarvenOin RohanGimli DwarvenGimliRohanGimli DwarvenGimliMod DwarvenGimliMod_forMM DwarvenGimli ElvenGlorfindel ElvenElrond RohanTheoden RohanTheodenCavalry RohanTheoden_mod RohanTheoden_modCavalry ImladrisGlorfindel ImladrisGlorfindel_forArnor DwarvenThorin DwarvenThorin_Kampagne RohanAragorn_HK GondorElendil GondorIsildur_Mod GondorIsildur_OneRing LothlorienCirdan RohanHammerhand RohanFortressRohanHammerhand DwarvenDurin LothlorienGilGalad LothlorienEreinion DunedainStreicher DunedainStreicher_Summoned1 DunedainStreicher_Summoned2 DunedainStreicher_Summoned3 DunedainStreicher_Summoned4
DunedainStreicher ist der Edain-Streicher von Imladris, die vier folgenden sind ChildObjects von mir. An STRONG_WARRIOR_HERO_GOOD selber habe ich nichts hierfür wichtiges geändert (nur die Modifier für höhere Level gesenkt).

Ansonsten ist dies ein solcher Streicher:
ChildObject DunedainStreicher_Summoned1 DunedainStreicher
    IsTrainable = No
    CommandPoints = 0
    ;EquivalentTo = DunedainStreicher

    KindOf = +SUMMONED
   
    Behavior = ProductionUpdate ProductionUpdateModuleTag
        GiveNoXP = Yes
    End

    Behavior = RespawnUpdate ModuleTag_RespawnUpdate
    End

    Behavior = ExperienceLevelCreate ModuleTag_MPLevelBonus
        LevelToGrant = 3 ;1
        ;MPOnly       = Yes
    End

    Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
        MinLifetime      = 90000
        MaxLifetime      = 90000
        DeathType        = FADED
    End   

    Behavior = SlowDeathBehavior ModuleTag_FadeDeath
        DeathTypes = NONE +FADED
        FadeDelay = 0
        FadeTime = 2500
        DestructionDelay = 2500
        Sound = INITIAL SpellGenericUnsummonFasterMS
        DeathFlags = DEATH_2
    End

    Behavior = ObjectCreationUpgrade ModuleTag_EnableStreicher2
        TriggeredBy     = Upgrade_AllFactionUpgrade
        Delay           = 0
        ThingToSpawn    = LiebeStreicherPing1
    End
End


Gruß
Melkor Bauglir

Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 15. Feb 2017, 16:26
Kann da keinen Fehler feststellen.
Was mir aber in den Codes aufgefallen ist, ist dass sämtliche Helden die das System in Edain benutzen, ihr Level in der Experience ini auf genau das beschworene Level festgelegt haben.

Hast du ansonsten mal das Level-Up System durch Upgrades versucht?
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 15. Feb 2017, 17:14
Tausend Dank dir, es hat funktioniert! :)
In der Umsetzung, die ich jetzt gewählt habe, ist
ExperienceLevelCreateübrigens ein inaktiver Eintrag. Scheint irgendwie das übergeordnete Thema dieses Threads zu werden... xD

Zitat
Hast du ansonsten mal das Level-Up System durch Upgrades versucht?
Wie meinst du das eigentlich? (Das System sagt mir so nämlich gar nichts.)

Gruß
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 15. Feb 2017, 17:17
Gut zu wissen, habe das auch erst vor kurzem benutzt.

Ich meinte sowas:
    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel2
        TriggeredBy     = Upgrade_Held2RespawnLevel   
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 2   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel3
        TriggeredBy     = Upgrade_Held3RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 3   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel4
        TriggeredBy     = Upgrade_Held4RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 4   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel5
        TriggeredBy     = Upgrade_Held5RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 5   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel6
        TriggeredBy     = Upgrade_Held6RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 6   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel7
        TriggeredBy     = Upgrade_Held7RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 7   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel8
        TriggeredBy     = Upgrade_Held8RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 8   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel9
        TriggeredBy     = Upgrade_Held9RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 9   ;zu erreichendes Level
    End

    Behavior = LevelUpUpgrade ModuleTag_RespawnLevel10
        TriggeredBy     = Upgrade_Held10RespawnLevel
        RequiresAllTriggers = Yes
        LevelsToGain    = 1   ;Levelerhöhung
        LevelCap        = 10   ;zu erreichendes Level
    End
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 15. Feb 2017, 17:31
Ach so, ja. Ich muss gestehen, dass ich dieses System vollkommen vergessen habe, obwohl ich es schon ziemlich häufig überarbeitet habe. Liegt wohl daran, dass es meist von Gebäuden genutzt wird. ;)

Gruß
Melkor Bauglir

PS: BTW, ist damit die 2. Version meiner Submod fertig! Zwar wird dies vermutlich keiner sehen, aber ich möchte es dennoch sagen! :D
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 1. Apr 2021, 11:55
*Staub wegwisch*

Ich habe doch nochmal Edain ausgepackt und wollte in einer Submod zur aktuellen Version einige Sachen ändern. Das ganze ist leider direkt im ersten Schritt gescheitert, denn ich habe ein Problem: FinalBIG vermurkst ziemlich sicher alle Umlaute in den von mir bearbeiteten Inis, denn wann immer mein BIG-Archiv irgendeine Edain-INI enthält, in der ein Umlaut auftaucht (was so ziemlich alle sind, zumindest alle wichtigen), bekomme ich Fehlermeldungen und das Spiel startet nicht. Nehme ich die Submod wieder aus dem ADH-Verzeichnis, startet Edain auch wieder problemlos. Da die Umlaute nicht von mir kommen, sondern aus den Original-Edaindateien sind, lässt sich am Vorhandensein der Umlaute auch nicht viel ändern.
Und es muss irgendein technischer Fehler sein: Ich habe einmal testweise in die BIG-Datei nur eine einzige INI geschrieben, die einfach nur aus Edain kopiert war - das Spiel beschwert sich trotzdem und startet nicht. Vermutlich korrumpiert FinalBIG aus irgendeinem Grund alle Dateien, die ich ändere, weil es mit den Umlauten nicht klarkommt.

Hatte jemand dieses Problem schon einmal und weiß, wie man das lösen kann? (Ich schätze mal, das ist gar nicht wirklich eine Codingfrage, eher eine Frage zu FinalBIG. Aber ich hatte diesen Thread noch. ;))


Gruß,
Melkor Bauglir

PS: Die Fehlermeldungen sind sowas wie
Titel: Re: Melkors Modding Fragen
Beitrag von: Elendils Cousin 3. Grades am 1. Apr 2021, 12:28
Das könnte daran liegen, dass die von dir veränderten .inis falsch kodiert sind, das passiert manchmal. Falls du Notepad++ benutzt (wovon ich einfach mal ausgehe), kannst du das rechts unten in der Ecke sehen. Dort sollte als zweites von rechts ANSI stehen. Du kannst auch oben zwischen View und Language auf Encoding gehen, wo es dir ebenfalls angezeigt wird. Ich hatte das Problem auch schonmal, wo eine oder mehrere .incs irgendwie auf UTF-8 umgestellt waren, in dem Fall musst du das ganze Ding dann auf ANSI konvertieren.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 1. Apr 2021, 13:44
Ah, das könnte es tatsächlich sein, danke Elendil. :) Ich nutze zwar tatsächlich den normalen Windows Editor, weil der Default ist, wenn ich in FinalBIG Inis mittels Str+E öffne, aber in Notepad++ war UTF-8 eingestellt, also würde es mich nicht wundern, wenn es für den Editor gleich gleich gewesen wäre.

Allerdings startet Edain jetzt (mit der Fehlermeldung aus dem 1. Post) allgemein nicht mehr, auch Neuinstallation von Edain hat nichts gebracht. Ich vermute, irgendwelche Restdateien sind noch im ADH-Ordner, aber in AppData konnte ich weder unter "Local/.../VirtualStore" noch unter "Roaming/..." etwas finden. Gibt es noch weitere Ecken, wo sich solche Dateien verstecken können? (Wundert mich übrigens, dass die überhaupt da sind, ich habe die Dateien nie im ADH-Ordner selbst bearbeitet.)
Und interessant, wo so überall Probleme auftauchen können, früher auf dem alten Laptop hatte ich sowas irgendwie nie^^

Gruß,
Melkor Bauglir

Edit: Kommando zurück, ich bin einfach blind wie ein Maulwurf!  xD
Titel: Re: Melkors Modding Fragen
Beitrag von: Elendils Cousin 3. Grades am 1. Apr 2021, 15:38
Ich weiß auch nicht, wie dieser Fehler auftritt, der war bei mir damals dann auch einfach irgendwie.. da [ugly]
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 2. Apr 2021, 16:15
Zitat
Ich weiß auch nicht, wie dieser Fehler auftritt, der war bei mir damals dann auch einfach irgendwie.. da  [ugly]
Ja, die Wunder des Computers...  xD

Ich konnte das Problem von oben jetzt vollständig lösen, stehe nun aber vor einem neuen: Ich wollte alle Karten zu Lagerkarten machen, also konkret auf Festungskarten die Festung durch ein Lager ersetzen.
Da ich noch nie mit .bse-Dateien oder dem Worldbuiler gearbeitet habe, habe ich einfach mal naiv die "bases\rohan_camp\rohan_camp.bse" aus der edain_maps.big extrahiert und in der Submod-BIG unter dem Namen "bases\rohan_castle\rohan_castle.bse" eingefügt. Meine Erwartung war natürlich, dass (da die Submod später gelesen wird) einfach die Edain-Festung von der Submod-Festung (also eben dem Edain-Lager) überschrieben wird und man somit fertig wäre. Es passiert aber absolut nichts, Festungen bleiben Festungen^^ (Dass ich mit Rohan angefangen habe, ist reiner Zufall gewesen, ich habe einfach gerade an der Fraktion gearbeitet. Ich suche also nach einer allgemeinen Lösung.)

Weiß jemand, was ich hierbei falsch gemacht habe bzw. hätte tun müssen?

Gruß,
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 2. Apr 2021, 17:00
Ich habe quasi gar keine Ahnung von Basen, aber ich hätte erwartet, dass dein Ansatz funktionieren sollte.

Was du aber stattdessen machen kannst, ist die Objekte zu ändern, welche die Basen entpacken und das FestungsPlot Objekt (wie auch immer das genau heißt) einfach die Lagerbasen statt den Festungsbasen entpacken zu lassen für jedes Volk.
Titel: Re: Melkors Modding Fragen
Beitrag von: Rekudo93 am 3. Apr 2021, 11:56
Zitat
Was du aber stattdessen machen kannst, ist die Objekte zu ändern, welche die Basen entpacken und das FestungsPlot Objekt (wie auch immer das genau heißt) einfach die Lagerbasen statt den Festungsbasen entpacken zu lassen für jedes Volk.

Was FG15 damit meint, ist schaue mal in der data\ini\object\civilian\civilianbuildings.ini, dort sind alle Festungs- und Lager-Bases definiert.
Wenn du Probleme damit hast, schicke mir bitte die Civilianbuildings.ini des Edain-Mods, ich kann das Spiel auf Win 10 leider nicht mehr spielen (scheiß Windows  :-|), ich werde es dir dann schnell anpassen.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 3. Apr 2021, 12:53
Zitat
Was du aber stattdessen machen kannst, ist die Objekte zu ändern, welche die Basen entpacken und das FestungsPlot Objekt (wie auch immer das genau heißt) einfach die Lagerbasen statt den Festungsbasen entpacken zu lassen für jedes Volk.
Danke für den Tipp, das hat funktioniert. Es hat allerdings einen kleineren Bug zur Folge, nämlich das man auf Festungskarten jetzt (bei 1k Startressourcen) mit 4k Startressourcen startet, weil die Festung eben 3k mehr kostet als ein Lager. Das lässt sich natürlich lösen, indem man die Entpackkosten von Lagern aus Festungsplots auf die von Festungen setzt, aber dann kosten Lager wiederum auf (Edain-)Festungskarten 5k und auf (Edain-)Lagerkarten 2k. Ich bin gerade am Überlegen, das einfach als Feature zu deklarieren^^ xD
(Wobei es mich schon interessieren würde, wo der Bug eigentlich herkommt. Es sieht ja danach aus, als würde zu jeder Karte irgendein Skript, o.ä. laufen, das zum Spielbeginn einmalig jedem Spieler Ressourcen gibt und diese sofort für die zu entpackende Festung / das zu entpackende Lager ausgibt.)

Zitat
Wenn du Probleme damit hast, schicke mir bitte die Civilianbuildings.ini des Edain-Mods, ich kann das Spiel auf Win 10 leider nicht mehr spielen (scheiß Windows   :-|), ich werde es dir dann schnell anpassen.
Vielen Dank für das Angebot, aber es hat wie gesagt schon (weitestgehend) funktioniert.  :)

Gruß,
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Rekudo93 am 3. Apr 2021, 18:50
Das ist schön zu hören, dass es geklappt hat.
Mit den Rohstoffkosten, es gibt bei den Lager und Festungsplot doch immer folgenden Anhang:
CastleToUnpackForFaction  = Gondor  Castle_GondorSW GONDOR_FLAG_CASTLE_UNPACK_COST Die Zeile GONDOR_FLAG_CASTLE_UNPACK_COST ist die Kostenmenge und kann Beispielsweise wie folgt abgeändert werden
CastleToUnpackForFaction  = Gondor  Castle_GondorSW 100 Jetzt kostet die GondorFestung nur noch 100 Rohstoffe. Du müsstest alle Lager und Festungsplots durchschauen und überall 1000 hinten dran setzen. Sollte eigentlich so funktionieren.
Ansonsten käme mir noch die Idee die Anfangsrohstoffe zu verändern, per Script auf jeder Karte Rohstoffe abziehen, wäre allerdings eine Riesenarbeit...
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 3. Apr 2021, 19:24
Zitat
Mit den Rohstoffkosten, es gibt bei den Lager und Festungsplot doch immer folgenden Anhang:
Ah, da muss ich mich missverständlich ausgedrückt haben: Genau das ist der Bug! ;) Wenn man diesen Eintrag ändert (die Kosten der Base, die auf Festungsplots entpackt wird, also z.B. auf die Kosten eines normalen Lagers, das aus einem Lagerplot entpackt wird, ändert), dann kosten natürlich alle Lager, die man neu baut nur noch (in diesem Falle) 2000 Rohstoffe, aber das gilt eben auch für das Startlager, mit dem man startet.
Das heißt, man entpackt jetzt zum Spielbeginn auf (Edain-)Festungskarten eine Base, die 3k weniger kostet als normal (eben die 2k statt der 5k), und hat plötzlich magisch 3k Startressourcen mehr^^

Mit anderen Worten habe ich aktuell das Problem, dass entweder zwar alle Lager gleichviel (eben 2k) kosten, aber man dafür auf Festungskarten mit 3k Rohstoffen zu viel startet, oder Lager auf Festungskarten (bzw. präziser: Lager, die aus Festungsplots entpackt werden) 5k statt der normalen 2k kosten. Das entsteht gewissermaßen aus dem Problem, dass ich sozusagen jetzt zwei Typen von Lagern habe, Festungslager und Lagerlager. xD

... Himmel, was für ein Chaos^^

Gruß,
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: Elendils Cousin 3. Grades am 3. Apr 2021, 22:59
(Wobei es mich schon interessieren würde, wo der Bug eigentlich herkommt. Es sieht ja danach aus, als würde zu jeder Karte irgendein Skript, o.ä. laufen, das zum Spielbeginn einmalig jedem Spieler Ressourcen gibt und diese sofort für die zu entpackende Festung / das zu entpackende Lager ausgibt.)
Genau das ist der Fall, wenn ich Gnomi da noch richtig im Kopf habe.
Titel: Re: Melkors Modding Fragen
Beitrag von: Gnomi am 4. Apr 2021, 10:51
Jop, das ist richtig. So funktioniert auch die KI.
Das Entpacken von Festungen/Lagern/Siedlungen verbraucht immer Rohstoffe, egal ob es per Skript oder per normalen Mausklick passiert.
Darum wird hier immer das entsprechende Geld vergeben und sofort verbraucht. So baut die KI auch ihre Gebäude.
Also das wirst du bei allen Objekten, die auf einer "Fahne" gebaut werden so haben.
Titel: Re: Melkors Modding Fragen
Beitrag von: Melkor Bauglir am 5. Apr 2021, 15:37
Zitat
Jop, das ist richtig. So funktioniert auch die KI.
Das Entpacken von Festungen/Lagern/Siedlungen verbraucht immer Rohstoffe, egal ob es per Skript oder per normalen Mausklick passiert.
Darum wird hier immer das entsprechende Geld vergeben und sofort verbraucht. So baut die KI auch ihre Gebäude.
Also das wirst du bei allen Objekten, die auf einer "Fahne" gebaut werden so haben.
Interessant. Steht dieser "geschenkte" Geldbetrag irgendwo in der gamedata?

Ich habe übrigens herausgefunden, warum das mit den Bases nicht funktioniert hat: Als "normale" Submod, die die edain_data.big überschreiben sollte, hat die Submod-BIG weniger vorangestellte Unterstriche als die edain_maps.big. Wobei die Lösung von FG / Rekudo ohnehin effizienter ist, weil man nur eine Datei statt ca. 9 überschreiben muss. :)

Ansonsten habe ich letztens etwas am Spellbook herumgeschraubt und mir ist dabei aufgefallen, wie extrem komplex das Edain-System hinter den Kulissen eigentlich ist, um (meines Verständnisses nach) das wechselseitige Freischalten der beiden zentralen T3-Zauber zu ermöglichen. Gibt es da eigentlich einen Grund für, warum die betroffenen Zauber in jeder Map-INI separat stehen? Gefühlt ist das doch extrem wartungsineffizient, weil ihr jedesmal ca. 100 Map-INIs umändern müsstet, was ja auch schon zwischen Versionen vorgekommen sein muss (siehe Mordors Aufseher; die Science hat sich da ja geändert). Würde das nicht mit einem include-Befehl merklich einfacher gehen, der Spellbook-Overhead in jeder Map-INI ist ja ohnehin auf allen regulären Karten gleich?

Gruß,
Melkor Bauglir
Titel: Re: Melkors Modding Fragen
Beitrag von: FG15 am 5. Apr 2021, 18:16
Zitat
Ansonsten habe ich letztens etwas am Spellbook herumgeschraubt und mir ist dabei aufgefallen, wie extrem komplex das Edain-System hinter den Kulissen eigentlich ist, um (meines Verständnisses nach) das wechselseitige Freischalten der beiden zentralen T3-Zauber zu ermöglichen. Gibt es da eigentlich einen Grund für, warum die betroffenen Zauber in jeder Map-INI separat stehen? Gefühlt ist das doch extrem wartungsineffizient, weil ihr jedesmal ca. 100 Map-INIs umändern müsstet, was ja auch schon zwischen Versionen vorgekommen sein muss (siehe Mordors Aufseher; die Science hat sich da ja geändert). Würde das nicht mit einem include-Befehl merklich einfacher gehen, der Spellbook-Overhead in jeder Map-INI ist ja ohnehin auf allen regulären Karten gleich?
Die science.ini erlaubt nur eine rein hierarchische Definition. Es können als Voraussetzung nur Sciences benutzt werden, die oberhalb der Science stehen, die diese benutzt. Neudefinition sind auch nicht möglich.

Entsprechend ist es nicht möglich es anders zu ändern, als durch mein System. Allerdings habe ich, nachdem das zweite mal alle map.inis neuangepasst werden mussten, ein Programm geschrieben, dass das für mich erledigt. Deshalb auch das komische Format um die map.ini-includes.
Titel: Re: Melkors Modding Fragen
Beitrag von: Gnomi am 6. Apr 2021, 00:31
Zitat
Interessant. Steht dieser "geschenkte" Geldbetrag irgendwo in der gamedata?
Nein, der steht in der library, genauer der spieler.map.