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

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


Select Boards:
 
Language:
 


Autor Thema: Weaponsets in der map.ini  (Gelesen 2392 mal)

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Weaponsets in der map.ini
« am: 5. Jun 2019, 16:51 »
Melkor zum Gruße!

In den letzten Tagen habe ich endlich mal Zeit gefunden, ein paar unfertige Maps von mir zu entstauben. Dabei ist mir ein Problem aufgefallen, an dass ich mich durchaus erinnern kann, jedoch hat es mich persönlich nie sehr gestört.
Jetzt plane ich allerdings, einige Maps fertigzustellen und für andere zugänglich zu machen und ich denke, da sollte ich versuchen, Probleme möglichst zu entfernen, so auch das folgende:

Wenn ich beim erstellen einer beliebigen Map Y, einer Einheit X mithilfe der map.ini ein neues Weaponset (mit passender Weapon) gebe, und dann die Map Y spiele, verhält sich X so, als besäße sie gar kein Weaponset. Dieses Problem kann auf zwei Arten gelöst werden: Neu Starten, oder aber die Map verlassen, und, ohne das Programm zu schließen, sie erneut zu spielen.

Dabei scheint das Spielen anderer Maps völlig irrelevant zu sein.

Wenn ich das Programm schließe und wieder öffne, egal ob die Map in der Zwischenzeit verändert wurde, tritt das Problem von neuem auf.

Das heißt: Jedesmal wenn ich eine Map, auf der die Einheit X ein bearbeitetes Weaponset hat, zum ersten Mal nach öffnen des Spiels spiele, kann die Einheit X unter keinen Umständen angreifen.

Ich habe schon nach Lösungen dafür gesucht, allerdings noch keine gefunden. Weiß jemand, ob und wie dieses Problem lösbar ist? Gibt es überhaupt andere, die das Problem haben?

Gezeichnet,
Der einzig wahre Hexenkönig

PS: X kann hierbei Held oder Einzeleinheit sein, Bataillone habe ich noch nicht getestet.
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Weaponsets in der map.ini
« Antwort #1 am: 5. Jun 2019, 18:00 »
Bei Weapons muss man unterscheiden:
Bei Fernkämpfern:
Die weapons von Fernkämpfern kann man nur sehr bedingt (im allgemeinen nicht) verändern. Wenn du da was verändern willst, würde ich es immer über modifier machen.
Du erstellst also ein AttributeModifier, der durch das Upgrade Upgrade_AllFactionUpgrad e (glaub so heißt das) ausgelöst wird und kannst da über modifier attackspeed (die geht nur bei Fernkämpfern), range und schaden verändern.

Wenn du Nahkämpfern meinst:
Dann hast du was falsch gemacht. Kopier Mal den Code hier rein.^^

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Weaponsets in der map.ini
« Antwort #2 am: 5. Jun 2019, 18:46 »
Es handelt sich ausschließlich um Nahkampfwaffen.

Hier zwei Beispiele aus verschiedenen Versionen einer Mod:


Object EregionCelebrimbor
   WeaponSet
        Conditions        = None
        Weapon            = PRIMARY   CelebrimborHaldirSword
        AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
    End
End


Weapon CelebrimborHaldirSword
    LeechRangeWeapon          = Yes
    AttackRange                = 20.0
    MeleeWeapon                = Yes
    DelayBetweenShots          = HALDIR_SWORD_DELAYBETWEENSHOTS
    PreAttackDelay            = HALDIR_SWORD_PREATTACKDELAY
    PreAttackType              = PER_SHOT
    FireFX                    = FX_FeanorSwordHit
    FiringDuration            = HALDIR_SWORD_FIRINGDURATION
    RadiusDamageAffects        = ENEMIES NEUTRALS NOT_SIMILAR

    DamageNugget
        Damage                = 400
        Radius                = 20.0
        DelayTime              = 0
        DamageType            = HERO
        DamageFXType          = SWORD_SLASH
        DeathType              = Normal
    End

    DamageNugget
        Damage                = 100
        Radius                = 30.0
        DelayTime              = 0
        DamageType            = MAGIC
        DamageFXType          = MAGIC
        DeathType              = Normal
    End

    MetaImpactNugget
HeroResist   = .5
ShockWaveAmount    = 25.0
ShockWaveRadius    = 45.0
ShockWaveTaperOff = 0.75
ShockWaveZMult    = 1.2
    End
End

Object NoldorMaedhros

 WeaponSet
        Conditions                    = None
        Weapon                        = PRIMARY MaedhrosNewWeapon
    End

Weapon MaedhrosNewWeapon
    LeechRangeWeapon            = Yes
    AttackRange                 = 20.0
    MeleeWeapon                 = Yes
    DelayBetweenShots           = 1
    PreAttackDelay              = 500
    PreAttackType               = PER_SHOT
    FireFX                      = FX_GondorSwordHit
    FiringDuration              = 500
    RadiusDamageAffects         = ENEMIES NEUTRALS NOT_SIMILAR

   DamageNugget
        Damage                  = 440
        Radius                  = 10.0
        DelayTime               = 0
        DamageType              = HERO
        DamageFXType            = SWORD_SLASH
        DeathType               = Normal
        DamageScalar            = 80% NONE +HERO ENEMIES
    End

    MetaImpactNugget       
        HeroResist              = .70
        ShockWaveAmount         = 30.0
        ShockWaveRadius         = 15.0
        ShockWaveArc            = 120
        ShockWaveTaperOff       = 1
    End
End

In beiden Fällen tritt das gleiche Problem auf, und sie sind nur einige Beispiele in einer längeren Reihe.
Bei Weapons die "Hero_Mode" als Voraussetzung haben, oder die durch Fähigkeiten ausgelöst werden ist das Problem anscheinend nicht vorhanden (bzw bei "Hero_Mode" nur dann, wenn auch die Standardwaffe geändert wurde und die Einheit somit onehin nicht angreifen kann.

Gezeichnet,
Der einzig wahre Hexenkönig
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Weaponsets in der map.ini
« Antwort #3 am: 5. Jun 2019, 20:00 »
Zuerst die Weapon, dann das Objekt benutzen.
Grundsätzlich ist es bei einer map.ini immer so, dass es besser ist alles zu definieren, bevor es benutzt wird.
Hier also zuerst definieren was Weapon blabla ist und danach sagen "Benutze weapon blabla".
Ansonsten z.B. zuerst eine Specialpower definieren, dann der CommandButton dazu, dann das CommandSet wo der Button definiert ist, dann das Objekt, welches das CommandSet verwendet.
Es kann teilweise auch anders funktionieren, aber ich würde das immer so empfehlen. Teilweise kann man so sehr kuriose Sachen machen (z.B. CommandButtons mehrfach unterschiedlich verwenden)

No1Gamer

  • Gastwirt zu Bree
  • **
  • Beiträge: 140
Re: Weaponsets in der map.ini
« Antwort #4 am: 6. Jun 2019, 18:38 »
Ergänzend dazu würde ich sagen, dass beim 2. Objekt ein "End" fehlt.
And remember, respect is everything!

Only True Witchking

  • Elbischer Pilger
  • **
  • Beiträge: 191
  • Hinder me? Thou fool. No living man may hinder me!
Re: Weaponsets in der map.ini
« Antwort #5 am: 6. Jun 2019, 21:05 »
Hab deinen Tipp ausgetestet Gnomi, hat funktioniert!  (**)

Was das fehlende END betrifft, das ist einfach beim Kopieren verlorengegangen.
“In rode the Lord of the Nazgûl. A great black shape against the fires beyond he loomed up, grown to a vast menace of despair. In rode the Lord of the Nazgûl, under the archway that no enemy ever yet had passed, and all fled before his face."

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re: Weaponsets in der map.ini
« Antwort #6 am: 6. Jun 2019, 21:11 »
Merk dir einfach: Alles was du irgendwo verwendest, muss vorher definiert sein. Das ist eine der Grundregeln vom programmieren.^^