Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 25

Thema: HOW TO - Feature: Fernangriff

  1. #1
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342

    Feedbackforum HOW TO - Feature: Fernangriff

    Wie bereits von einigen Spielern erkannt wurde, ist mein Mod Pie's Antikes Europa mit einer Fernangriffsmöglichkeit für alle Fernwaffen-Units ausgestattet. In einigen Mods oder Threads wurde diese Möglichkeit wieder verworfen, da es nicht richtig funzte, weil es scheinbar nicht richtig implementiert wurde.

    Da dies kein Geheimnis sein und bleiben soll, möchte ich euch diese Möglichkeit hier zum SELBERMACHEN bereitstellen. Es ist aber nur eine Möglichkeit, wie ich sie zu implementieren versucht habe. Meiner Meinung nach scheint es zu funktionieren aber trotzdem: Alle Angaben ohne Gewähr

    Ich freue mich natürlich, wenn ich dafür als Credit belohnt werde, sofern jemand dies wie folgt umsetzen möchte.

    Ich möchte niemanden langweilen, aber mir ist wichtig, dass ihr jeden Schritt zur Tat kennenlernt. Vielleicht hilft es euch für andere Projekte oder auch für andere Probleme, so auf die Lösung zu kommen.

    FERNANGRIFF / FERNKAMPF

    Wie bin ich auf die Idee gekommen?
    Ganz klar: Kamikazekatapulte... brrrr

    Was hat mich auf die Idee gebracht, dass es umsetzbar sein muss?
    Bomber (können Einheiten bombardieren). Das checkt auch die KI!

    Jetzt ist es so, dass wenn man Fernangriff reinmodded, oft die KI nicht damit umgehen kann! Das war dann die große Herausforderung für mich, einen Bogenschützen mit einem Bomber zu verschmelzen....


    ----- Kurzer Sicherheitshinweis -----
    BITTE: bevor ihr anfängt etwas zu modden, kopiert die zu ändernden Dateien in ein eigens erstelltes Mod.
    Wer zum ersten Mal modded, bitte hier informieren: http://www.civforum.de/showpost.php?...39&postcount=2
    Da ist kurz und bündig beschrieben was man tun kann, bevor man loslegt.
    Falls jemand trotzdem ein Beispiel möchte, kann ich das gern posten.
    -------------------------------------

    Welche Script/Programmiersprache wird verwendet:

    -) XML

    Was für Dateien werden bearbeitet:

    -) Assets/XML/Units/CIV4UnitInfos.xml


    Nehmen wir als Beispiel den Bogenschützen:
    Zu finden unter
    PHP-Code:
    <Class>UNITCLASS_ARCHER</Class> 
    Schritt 1: Richten wir ihm einen Fernkampfradius ein

    In diesem Fall 1 Feld (Standard ist 0). Bei 2 wären es 2 Felder, etc.
    Der Bomber hat 8.

    PHP-Code:
    <iAirRange>1</iAirRange
    Schritt 2: Wie stark soll die Einheit im Fernkampf sein.

    In diesem Fall ganz schwach, bekommt bei mir ne 1.
    Ein Jet hat 12, Bomber 16, etc.

    PHP-Code:
    <iAirCombat>1</iAirCombat
    Schritt 3: Wieviel Maximalschaden darf die Einheit verursachen?

    Das steht gleich unter AirCombat. Bei mir 50%.
    Auch Jet und Bomber haben 50%.

    PHP-Code:
    <iAirCombatLimit>50</iAirCombatLimit
    Setzt man iAirCombatLimit auf 100% dann kann die Einheit über Fernangriff getötet werden.
    Bei einer Stärke (iAirCombat) von 1 dauert es ewig. Beim Bomber (Fernangriffstärke von 16) reichen meist 2 Fernangriffe.


    So. Fast fertig. Jetzt können wir schon mal brav Fernangriff durchführen, aber was ist mit der KI?
    (Ich weiß nicht, ob folgendes bei anderen Mods berücksichtigt wurde. Ich habe da experimentiert und bin auf folgendes Ergebnis gestoßen.)

    Schritt 4: Der KI sagen, dass der Bogi nen Fernangriff durchführen kann.

    Das verschlang einige Experimental-Zeit! Da der Bomber für den Bogi keinen wirklich sinnhaften UNITAI-Typ besaß, versuchte ich es mit einem anderen UNITAI. Da fiel mir dieses UNITAI_COLLATERAL vom Katapult auf und testete es. Siehe da, UNITAI_COLLATERAL war scheinbar nicht nur für Kollateralzwecke tauglich, sondern auch für nen ganz normalen Fernangriff.

    Man gehe wieder ein bisschen hinauf zu den UnitAIs

    Original:
    PHP-Code:
         <UnitAIs>
           <
    UnitAI>
             <
    UnitAIType>UNITAI_ATTACK</UnitAIType>
             <
    bUnitAI>1</bUnitAI>
           </
    UnitAI>
           <
    UnitAI>
              <
    UnitAIType>UNITAI_CITY_DEFENSE</UnitAIType>
              <
    bUnitAI>1</bUnitAI>
            </
    UnitAI>
          </
    UnitAIs
    und ändert es auf (bezogen auf den Bogenschützen)

    PHP-Code:
          <UnitAIs>
            <
    UnitAI>
              <
    UnitAIType>UNITAI_COLLATERAL</UnitAIType>
              <
    bUnitAI>1</bUnitAI>
            </
    UnitAI>
            <
    UnitAI>
              <
    UnitAIType>UNITAI_CITY_DEFENSE</UnitAIType>
              <
    bUnitAI>1</bUnitAI>
            </
    UnitAI>
            <
    UnitAI>
              <
    UnitAIType>UNITAI_CITY_COUNTER</UnitAIType>
              <
    bUnitAI>1</bUnitAI>
            </
    UnitAI>
            <
    UnitAI>
              <
    UnitAIType>UNITAI_ATTACK</UnitAIType>
              <
    bUnitAI>1</bUnitAI>
            </
    UnitAI>
            <
    UnitAI>
              <
    UnitAIType>UNITAI_ATTACK_CITY</UnitAIType>
              <
    bUnitAI>1</bUnitAI>
            </
    UnitAI>
          </
    UnitAIs
    ACHTUNG: Diese Reihenfolge einhalten!
    Habe Collateral an die 2te Stelle gestellt und der Bogi war ziemlich fernangriffsfaul!
    Meiner Meinung nach erfolgt diese Reihenfolge der primären Aufgabe für die KI.
    Steht der UnitAIType übergeordneter, ist die Wahrscheinlichkeit größer, dass dies eintreffen wird.
    Wenn ich mich irre, nehm ich das wieder raus.
    Zum Original hat sich da einiges getan:
    UNITAI_COLLATERAL hab ich dem Katapult entnommen und soll bewirken, dass er die Einheit für Kollateralschadenszwecke verwenden soll.
    UNITAI_CITY_DEFENSE kommt bei mir an 2ter Stelle und bewirkt, dass sich die Einheit in ner Stadt verschanzt.
    UNITAI_CITY_COUNTER: ja zurückschlagen auf das belagernde Stack ist natürlich auch erlaubt
    UNITAI_ATTACK: Auch normal angreifen sollst du noch. Bringt ja nix, wenn du nur Pfeile verschießt.
    UNITAI_ATTACK_CITY kommt bei mir auch in Frage, aber an letzter Stelle natürlich.

    So. Das waren mal die wichtigsten Punkte. Jetzt kommt noch ein Zusatz, den ich eingebaut habe, der es macht, dass auch andere Einheiten durch die herumirrenden Pfeile getroffen werden bzw. Kollateralschaden nehmen.

    Schritt 5: Kollateralschaden auf mehrere Einheiten

    Das steht alles zum Glück untereinander:

    Standardmäßig ist das alles auf 0.

    PHP-Code:
          <iCollateralDamage>100</iCollateralDamage>
          <
    iCollateralDamageLimit>60</iCollateralDamageLimit>
          <
    iCollateralDamageMaxUnits>3</iCollateralDamageMaxUnits
    iCollateralDamage müsste bedeuten, dass eine Chance besteht, überhaupt Kollateralschaden anzurichten.
    Bei mir natürlich 100%. Ich habe beobachtet, dass der Schaden die Hälfte vom Schaden des Hauptverteidigers ist.

    iCollateralDamageLimit sollte der Maximalschaden bei den Nebenverteidigern sein (entspräche iAirCombatLimit)

    iCollateralDamageMaxUnits sind die Einheiten die zusätzlich neben dem Hauptverteidiger getroffen werden.

    In Summe wurde nun der Original-Bogenschütze eine Mischung zwischen Bogenschütze, Katapult und Bomber. hehe...

    So. Viel Spass mit dem Fernkampf nach Pie'schem Prinzip.
    Geändert von Pie (05. März 2010 um 13:44 Uhr)

  2. #2
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    "Habe Collateral an die 2te Stelle gestellt und der Bogi war ziemlich fernangriffsfaul!"

    lag das vielleicht eher an der eingestellten start-KI? oder ist die bei UNITAI_CITY_DEFENSE geblieben?


    iCollateralDamage steht übrigens für den schaden, den einheiten prozentual nehmen, wenn sie nicht das direkte ziel sind, sondern halt nur vom kollateralschaden getroffen werden.

    beispiel: 100 = ziel und andere einheiten nehmen gleich viel schaden, nämlich den iAirCombat-Wert.

    glaub ich zumindest.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  3. #3
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    ich hatte mir das auch gedacht. klingt auch logisch. war aber net so. ;(
    kann mich noch erinnern, dass da eigene posts waren, wo beim bogi der versprochene kollateralschaden nicht eintraf. hab das dann auf 100 gestellt und es ging. entweder n bug oder ne wahrscheinlichkeit.

  4. #4
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    also die standard-AI haste nicht verändert?
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  5. #5
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    nö. die hab ich gelassen. wenn du die Default_UNITAI auf collateral änderst, dann macht er nur mehr Fernangriff und greift fast nie an!

    wäre eine möglichkeit für fixe abwehranlagen.

  6. #6
    Registrierter Benutzer Avatar von .:Den:.
    Registriert seit
    07.02.10
    Ort
    Zwischen Italien und Deutschland
    Beiträge
    137
    Sehr schönes Tutorial, besonders das mit der KI!

    Nur folgende Frage: Im RoM Mod gibt es für Fernkampf noch eine Genauigkeit. Wenn die auf 50 ist, ist die Chance dass die Einheit trifft bei 50%. Ist das irgendwie möglichst einfach zu realisieren?
    "Man kann nicht sagen, die Menschheit mache keine Fortschritte, denn sie tötet in jedem Krieg mit neueren Methoden."

  7. #7
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    nein, das ist teil von dale's combat mod.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  8. #8
    Registrierter Benutzer Avatar von .:Den:.
    Registriert seit
    07.02.10
    Ort
    Zwischen Italien und Deutschland
    Beiträge
    137
    Zitat Zitat von Cybah Beitrag anzeigen
    nein, das ist teil von dale's combat mod.
    Heisst, es wir ein neuer Tag hinzugefügt?

    Ist der bei den Fanatikern Downloadbar?
    "Man kann nicht sagen, die Menschheit mache keine Fortschritte, denn sie tötet in jedem Krieg mit neueren Methoden."

  9. #9
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    nein, wäre schön, wenn das so wäre. dann hätte ichs vielleicht auch in base drin. dale's combat mod ist ein großes modpaket, dass einiges im kampfsystem umkrempelt. downloadbar ist's allerdings. musste einfach mal nach googeln (+ civfanativs).
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  10. #10
    Registrierter Benutzer Avatar von .:Den:.
    Registriert seit
    07.02.10
    Ort
    Zwischen Italien und Deutschland
    Beiträge
    137
    Schade, somit müsste man das mit der Genauigkeit rausnehmen, oder den ganzen Mod einbauen...
    "Man kann nicht sagen, die Menschheit mache keine Fortschritte, denn sie tötet in jedem Krieg mit neueren Methoden."

  11. #11
    Obersüchtler des *****s Avatar von InEx
    Registriert seit
    04.04.09
    Ort
    Nonkonformist
    Beiträge
    4.926
    du weißt nicht zufällig wie man der ki fernangriff mit schiffen schmackhaft machen könnte? "UNITAI_COLLATERAL" hilft da nichts, habs probiert.
    Zitat Zitat von Jake the Dog
    It´s fine, it´s fine.. Everything´s fine!

  12. #12

  13. #13
    Obersüchtler des *****s Avatar von InEx
    Registriert seit
    04.04.09
    Ort
    Nonkonformist
    Beiträge
    4.926
    GEM?
    Zitat Zitat von Jake the Dog
    It´s fine, it´s fine.. Everything´s fine!

  14. #14

  15. #15
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Hi InEx, auch nicht wenn das collateral-dings als erstes bei den unit_AIs steht?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •