Seite 161 von 162 ErsteErste ... 61111151157158159160161162 LetzteLetzte
Ergebnis 2.401 bis 2.415 von 2421

Thema: BASE: SDK & Python Diskussion (Coder's Lair)

  1. #2401
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Seltsam. Die Funktion prüft nicht, wer wieviel Spionage in wen gesteckt hat, sondern nutzt EspionagePointsEver vom eigenen Team und vom anderen Team. D.h. die Kosten sinken, wenn ich insgesamt über das Spiel mehr Spionagepunkte generiert habe als das Ziel, unabhängig davon in wen? Wenn das so ist, dann ist das ganz schön beknackt.

    Ich meine, kleine Reiche sind dann extrem im Nachteil.
    Geändert von Cybah (11. Februar 2019 um 12:47 Uhr)
    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)

  2. #2402
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Das war schon immer so. Der Gedanke ist, jemand der auf viel Spionage setzt, ist später mehr im Vorteil. Deswegen gilt, einmal richtig auf Spionage setzten statt nur ein Bischen. Habe das einmal mit Lenin in einer alten Base-Version gemacht und das ging ab.

  3. #2403
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    An sich ja nicht verkehrt. Aber mehr Städte = mehr Spionage. Selbst bei 0% Regler.
    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)

  4. #2404
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Das bringt mich auf die Idee: Was hältst du davon, wenn man den Städteschnitt der Welt noch in die Formel einbaut? Also unter dem Schnitt -> Bonus, über dem Schnitt -> Malus. Bildet zwar auch nur den Status Quo ab und nicht das gesamte Spiel, aber besser als nichts?

    Oder mit Bevölkerung.

    Bisschen rechenaufwendig, das wäre der Nachteil.
    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. #2405
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Das ist doch schon durch die Stadtentfernungsboni fast schon mit drin. Kleine Reiche können billiger Aktionen machen, weil Abstand kleiner. Große Reiche haben durch größeren Abstand größere Kosten.

  6. #2406
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Zitat Zitat von rucivfan Beitrag anzeigen
    Das ist doch schon durch die Stadtentfernungsboni fast schon mit drin. Kleine Reiche können billiger Aktionen machen, weil Abstand kleiner. Große Reiche haben durch größeren Abstand größere Kosten.
    Abstand von was zu was? Hauptstadt zum Ort der Spionage?
    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)

  7. #2407
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Zitat Zitat von Cybah Beitrag anzeigen
    Abstand von was zu was?
    Abstand zu der Hauptstadt der Civ, die eine Spionageaktion macht

  8. #2408
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Edit hat nicht richtig gelesen, also reden wir vom selben.

    Also Abstand Spionage-Ort zur eigenen Hauptstadt. Ok.
    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)

  9. #2409
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Wenn ich eine Aktion mache und die Stadt ist weiter weg von meiner Hauptstadt in meinen riesen Reich, habe ich größere Kosten.

  10. #2410
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Es gibt mal wieder nen reproduzierbaren OOS. Bräuchte deine Hilfe. Hat nichts mit der KI zu tun (passiert bei ner Stadteroberung). Fehler tritt bereits mit 6.4 auf ohne meine neuesten Sachen vom nächsten Patch.
    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)

  11. #2411
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Du musst bis zum Wochenende warten.

  12. #2412
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Jo kein Ding.
    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)

  13. #2413
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Für den OOS Fehler angehängt SDK und Savegame. Passwort wie üblich bei uns.

    Dazu die aktuellen Assets nutzen: https://download.civforum.de/civ4/mo...beta/Assets.7z

    Wenn Spanien die Hethiterstadt Hattusa erobert (egal ob als Mensch oder als KI), gibt's den OOS reproduzierbar. Hatte testweise alles in Python und SDK auskommentiert, was mit Hethitern zu tun hat, trotzdem kam der OOS. Vielleicht hatte ich aber auch was übersehen. Wenn du mich brauchst für nen MP Test (die Fehlermeldungen im Singleplayer mit Debug DLL sehen harmlos aus), sag bescheid. Bzw. findest mich ja häufig in Mumble.

    Zu zweit gabs übrigens keinen OOS und zu dritt hatte auch nur einer OOS, soweit ich mich erinnere. Zu viert weiß ich gerade nicht mehr, wie viele da OOS hatten - also ob ein oder zwei Spieler.
    Angehängte Dateien Angehängte Dateien
    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)

  14. #2414
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    @rucivfan:

    CvCityAI.cpp

    PHP-Code:
        if ((eCurrentImprovement != NO_IMPROVEMENT) && (GC.getImprovementInfo(pPlot->getImprovementType()).getImprovementUpgrade() != NO_IMPROVEMENT))
        {
            
    // rucivfan_improvement_upgrade_bug_fix riubi[
            // old code[
            //iValue += 200;
            //iValue -= pPlot->getUpgradeTimeLeft(eCurrentImprovement, NO_PLAYER);
            // ]old code

            // new code[
            // aufrunden
            
    iValue += std::max(GC.getIMPROVEMENT_AI_MAX_TURNS_UPGRADE_TIME_VALUE(), (GC.getIMPROVEMENT_AI_MAX_TURNS_UPGRADE_TIME_VALUE() * pPlot->getUpgradeProgress()) /  std::max(1GC.getGameINLINE().getImprovementUpgradeTime(eCurrentImprovement)));
            
    // ]new code
            // ]rucivfan_improvement_upgrade_bug_fix riubi
        

    Was genau macht der Bugfix? Der verhindert offenbar, dass die Stadt automatisch die Hüttenfelder mit dem kürzesten Wachstum belegt, was in BTS/PAE usw. der Fall ist. Ist bei dir jetzt vielleicht ein Fehler drin?
    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)

  15. #2415
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Dort steht was von aufrunden. Woher nimmst du dass dies die Ursache ist?

    Meine Notizen sagen:
    rucivfan_improvement_upgrade_bug_fix riubi - behebt Hüttenwachstum-Bug ( nur Wert +100% * x funktionieren)

    Kann aus den Textstück allein nicht sagen woran es liegt. Aus dem nachsehen würde ich sagen, dass das Teilcodestück genau so gut funktionieren sollte wie der alte code aber eine definierte konstante nutzt. Vorausgesetzt die Konstante ist richtig definiert und abgerufen. Der alte Code kann nicht verwendet werden, weil der Bugfix als ganzes entfernt werden müsste. Dann wäre ein Wert von nur 10% Bonus auf Hüttenwachstum ohne funktion.

    Vorschlag Änderung zum Ausprobieren.


    PHP-Code:
        if ((eCurrentImprovement != NO_IMPROVEMENT) && (GC.getImprovementInfo(pPlot->getImprovementType()).getImprovementUpgrade() != NO_IMPROVEMENT))
        {
            
    // rucivfan_improvement_upgrade_bug_fix riubi[
            
    iValue += GC.getIMPROVEMENT_AI_MAX_TURNS_UPGRADE_TIME_VALUE();
            
    iValue -= pPlot->getUpgradeTimeLeft(eCurrentImprovementgetOwner());
            
    // ]rucivfan_improvement_upgrade_bug_fix riubi
        


    Das getOwner() ist wichtig. Im alten Code wurde auf Staatsformänderungen keine Rücksicht genommen. Ich hatte meinen Code nur darauf geprüft, dem alten Code zu entsprechen.
    Geändert von rucivfan (13. August 2020 um 09:24 Uhr)

Seite 161 von 162 ErsteErste ... 61111151157158159160161162 LetzteLetzte

Berechtigungen

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