19. Nov 2017, 15:23 Hallo Gast.
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge


Select Boards:
 
Language:
 

News:



Autor Thema: Melkors Modding Fragen  (Gelesen 6841 mal)

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Melkors Modding Fragen
« 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

Offline Prinz von Dol Amroth

  • Edain Team
  • Held von Helms Klamm
  • *****
  • Beiträge: 1.265
Re:Melkors Modding Fragen
« Antwort #1 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 ;)
Ich bin der selbst ernannte Herrscher, oberster Befehlshaber und noch vieles anderes von Dol Amroth
oft in tunngle zu finden

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re:Melkors Modding Fragen
« Antwort #2 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

Offline Prinz von Dol Amroth

  • Edain Team
  • Held von Helms Klamm
  • *****
  • Beiträge: 1.265
Re:Melkors Modding Fragen
« Antwort #3 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.
Ich bin der selbst ernannte Herrscher, oberster Befehlshaber und noch vieles anderes von Dol Amroth
oft in tunngle zu finden

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re:Melkors Modding Fragen
« Antwort #4 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.
« Letzte Änderung: 27. Sep 2014, 19:55 von Melkor Bauglir »

Offline Ealendril

  • Edain-Gründer
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 19.999
Re:Melkors Modding Fragen
« Antwort #5 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.

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re:Melkors Modding Fragen
« Antwort #6 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]

Offline Ealendril

  • Edain-Gründer
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 19.999
Re:Melkors Modding Fragen
« Antwort #7 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.

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re: Melkors Modding Fragen
« Antwort #8 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

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re: Melkors Modding Fragen
« Antwort #9 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
« Letzte Änderung: 28. Jul 2015, 13:50 von Melkor Bauglir »

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re: Melkors Modding Fragen
« Antwort #10 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

Offline FG15

  • Administrator
  • Bezwinger der Toten
  • *****
  • Beiträge: 3.917
Re: Melkors Modding Fragen
« Antwort #11 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.

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re: Melkors Modding Fragen
« Antwort #12 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.

Offline Prinz von Dol Amroth

  • Edain Team
  • Held von Helms Klamm
  • *****
  • Beiträge: 1.265
Re: Melkors Modding Fragen
« Antwort #13 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.
Ich bin der selbst ernannte Herrscher, oberster Befehlshaber und noch vieles anderes von Dol Amroth
oft in tunngle zu finden

Offline Melkor Bauglir

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.195
Re: Melkors Modding Fragen
« Antwort #14 am: 2. Aug 2015, 20:33 »
Danke! :) Das wurde von mir natürlich nicht gemacht.