Seite 183 von 293 ErsteErste ... 83133173179180181182183184185186187193233283 ... LetzteLetzte
Ergebnis 2.731 bis 2.745 von 4386

Thema: Bugs, Abstürze, Probleme

  1. #2731
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Du hast also bei Marathon die Werte angepasst? Soll/Kann ich das so übernehmen?
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  2. #2732
    k Avatar von Sauron44
    Registriert seit
    19.06.08
    Ort
    hier
    Beiträge
    5.827
    Jo, kannst du.
    Ist aber nur für Marathon angepasst.
    Existenzkrise: Imaginärer Freund erhängt sich mit WLAN-Kabel.
    Jesus enterbt: Gott schreibt Neues Testament

  3. #2733
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Ok
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  4. #2734
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896

    MP-Problem bei Formationen gelöst

    Hallo Pie,

    Suite hatte im PB angemerkt, dass die Formationen immer wieder verschwunden waren, wenn er sich erneut eingeloggt hatte. Der Grund ist die benutzte Schleife über die betroffenen "selektierten Einheiten"

    Die sieht derzeit so aus:
    Code:
            iNumUnits = pPlot.getNumUnits()
            for i in range(iNumUnits):
                loopUnit = pPlot.getUnit(i)
                if loopUnit.IsSelected():
                   [...]
    Die Funktion IsSelected() ist nur auf dem lokalen Rechner des Spielers wahr! Dadurch wird die Formation gar nicht auf dem Host (PB-Server oder Host-Spieler im normalen MP). gesetzt.
    Mit folgender Änderung kann man das reparieren:
    Code:
            unitGroup = pUnit.getGroup()
            iNumUnits = unitGroup.getNumUnits()
            for i in range(iNumUnits):
                loopUnit = unitGroup.getUnitAt(i)
                if True:
                   [...]
    Ich habe den Code noch nach weiteren Aufrufen von IsSelected durchsucht. Glücklicherweise gibt es nur einen weiteren Aufruf in PAE_Unit.py. Korrigierte Fassung:
    Code:
    def doBlessUnits(iX, iY, iOwner):
        # pPlot = gc.getMap().plot(iX, iY)
        pPlayer = gc.getPlayer(iOwner)
        iPromo = gc.getInfoTypeForString("PROMOTION_BLESSED")
        iCost = 100
    
        # Fuer alle Einheiten dieser Gruppe
        unitGroup = pUnit.getGroup()
        iNumUnits = unitGroup.getNumUnits()
        for i in range(iNumUnits):
            if pPlayer.getGold() < iCost:
                break
    
            loopUnit = unitGroup.getUnitAt(i)
            if not loopUnit.isHasPromotion(iPromo):
                # Gold abziehen
                pPlayer.changeGold(-iCost)
                # Formation geben
                loopUnit.setHasPromotion(iPromo, True)
                loopUnit.finishMoves()
    Wenn du nichts an PAE_Unit.py geändert hast kannst du auch die Version aus dem Anhang nehmen, welche beide Änderungen enthält.
    Angehängte Dateien Angehängte Dateien

  5. #2735
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896

    Nochmal zum Handels-Popup

    Zitat Zitat von Pie Beitrag anzeigen
    @Ramk: sag mir dann auch bitte Bescheid, wie ich die Zeile im Python entsprechend ändern soll.
    Hier lag ich bei der Ursache des Fehlers daneben. Ich hatte einfach nur den rot markierten Teil vergessen.
    Ich trage diese Zeile nun zum Testen auch bei anderen Popups in PAE_Trade.py ein.
    Code:
    if gc.getGame().isPitbossHost() or iUnitOwner != gc.getGame().getActivePlayer():
    Durch das Vergessen wurde an der Stelle eine Exception geworfen und die Popups nicht generiert.

    Edit: Der aktive Player ist auf dem PitbossHost immer -1 außer im Rundenwechsel. Da durchläuft der Index die Spieler.
    Daher ist die elegantere Lösung eher:
    Code:
    if  iUnitOwner == gc.getGame().getActivePlayer():
        [Erzeuge Popup]
    Wird die Hilfs-Funktion dann auch außerhalb von onModNetMessage aufgerufen, z.B. im Rundenwechsel, klappt es auch dort mit der Popuperzeugung.
    Geändert von Ramkhamhaeng (17. August 2018 um 15:18 Uhr)

  6. #2736
    Registrierter Benutzer Avatar von klops
    Registriert seit
    20.05.16
    Ort
    Hannover
    Beiträge
    4.915

  7. #2737
    Jesper Portus
    Gast
    Ich hatte im PB schon zwei mal die Anzeige, Handelsstraße entstand wegen Handel von A nach B. Ich habe aber von A nach C gehandelt und kenne B nicht mal. Eine neue Handelsstraße ist auch nicht zu sehen.

  8. #2738
    Registrierter Benutzer Avatar von Suite
    Registriert seit
    05.07.13
    Beiträge
    8.877
    Dito. Ich fänds gut, wenn das Handelsstraßenfeature (übrigens wirklich gut prinzipiell) weniger random wäre, sondern man systematisch Handelsrouten planen könnte - mit entsprechend hohem Aufwand.

  9. #2739
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Hallo Pie,

    Ich habe den Code noch nach weiteren Aufrufen von IsSelected durchsucht. Glücklicherweise gibt es nur einen weiteren Aufruf in PAE_Unit.py. Korrigierte Fassung:
    Code:
    def doBlessUnits(iX, iY, iOwner):
        # pPlot = gc.getMap().plot(iX, iY)
        pPlayer = gc.getPlayer(iOwner)
        iPromo = gc.getInfoTypeForString("PROMOTION_BLESSED")
        iCost = 100
    
        # Fuer alle Einheiten dieser Gruppe
        unitGroup = pUnit.getGroup()
        iNumUnits = unitGroup.getNumUnits()
        for i in range(iNumUnits):
            if pPlayer.getGold() < iCost:
                break
    
            loopUnit = unitGroup.getUnitAt(i)
            if not loopUnit.isHasPromotion(iPromo):
                # Gold abziehen
                pPlayer.changeGold(-iCost)
                # Formation geben
                loopUnit.setHasPromotion(iPromo, True)
                loopUnit.finishMoves()
    Wenn du nichts an PAE_Unit.py geändert hast kannst du auch die Version aus dem Anhang nehmen, welche beide Änderungen enthält.
    Super
    Aber Vorsicht: pUnit ist in doBlessUnits nicht definiert, deshalb brauchts da folgende Änderungen:

    PAE_Units.py:
    PHP-Code:
    def doBlessUnits(pUnitiOwner): 
    EventManager.py:
    PHP-Code:
            # 752: bless units
            
    elif iData1 == 752:
                
    # iData1, iData2, ... , iData5
                # 752, iX, iY, iPlayer, iUnitID
                
    pUnit pPlayer.getUnit(iData5)
                
    PAE_Unit.doBlessUnits(pUnitiData4

    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Hier lag ich bei der Ursache des Fehlers daneben. Ich hatte einfach nur den rot markierten Teil vergessen.
    Ich trage diese Zeile nun zum Testen auch bei anderen Popups in PAE_Trade.py ein.
    Code:
    if gc.getGame().isPitbossHost() or iUnitOwner != gc.getGame().getActivePlayer():
    Edit: Der aktive Player ist auf dem PitbossHost immer -1 außer im Rundenwechsel. Da durchläuft der Index die Spieler.
    Daher ist die elegantere Lösung eher:
    Code:
    if  iUnitOwner == gc.getGame().getActivePlayer():
        [Erzeuge Popup]
    Wo muss ich das nun ändern? Und wirklich auf == wenn ich oben doch != mache?
    Ich find die Stelle ausserdem nicht mehr.

    Zitat Zitat von Jesper Portus Beitrag anzeigen
    Ich hatte im PB schon zwei mal die Anzeige, Handelsstraße entstand wegen Handel von A nach B. Ich habe aber von A nach C gehandelt und kenne B nicht mal. Eine neue Handelsstraße ist auch nicht zu sehen.
    Vielleicht handelst du Übersee. Dann wird versucht ne Strasse von der Hauptstadt aus zur Hafenstadt gebaut zu werden.
    Zitat Zitat von Suite Beitrag anzeigen
    Dito. Ich fänds gut, wenn das Handelsstraßenfeature (übrigens wirklich gut prinzipiell) weniger random wäre, sondern man systematisch Handelsrouten planen könnte - mit entsprechend hohem Aufwand.
    Mit der Straße als neue Voraussetzung kann mans dann planen.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  10. #2740
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zitat Zitat von Pie Beitrag anzeigen
    Aber Vorsicht: pUnit ist in doBlessUnits nicht definiert, deshalb brauchts da folgende Änderungen:
    Danke

    Wo muss ich das nun ändern? Und wirklich auf == wenn ich oben doch != mache?
    Ich find die Stelle ausserdem nicht mehr.
    Ursprüngliche Stelle war hier:
    Code:
     546 def doPopupAutomatedTradeRoute(pUnit, iType, iData1, iData2):
     547     iUnitOwner = pUnit.getOwner()
     548 
     549     # Dies soll doppelte Popups in PB-Spielen vermeiden.
     550     if iUnitOwner != gc.getGame().getActivePlayer():
     551         return
     552
    Ob man eleganter-weise mit != oder == prüft hängt für mich immer davon ab ob man an der Stelle im Code mit "return" abbrechen kann oder nicht. Mit return abzubrechen hat den Charme, dass man die Einrückung des folgenden Codes spart.

    Ich habe diese Prüfung noch bei anderen Popups eingefügt. Die ganze Liste kannst du finden, indem du nach dem grün markierten Kommentar in diesem Zip suchst. Grep liefert mir dafür folgende Stellen:
    Achtung Spoiler:
    Code:
    PAE_City.py-86-            popupInfo = CyPopupInfo()
    PAE_City.py-87-            popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
    PAE_City.py-88-            popupInfo.setText(CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_REACTION_NEG", (pCity.getName(), )))
    PAE_City.py:89:            # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_City.py-90-            if iData2 == gc.getGame().getActivePlayer():
    PAE_City.py-91-                popupInfo.addPopup(iData2)
    PAE_City.py-92-            doProvinceRebellion(pCity)
    PAE_City.py-93-        elif bPaid:
    --
    PAE_City.py-141-            popupInfo = CyPopupInfo()
    PAE_City.py-142-            popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
    PAE_City.py-143-            popupInfo.setText(szBuffer)
    PAE_City.py:144:            # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_City.py-145-            if iData2 == gc.getGame().getActivePlayer():
    PAE_City.py-146-                popupInfo.addPopup(iData2)
    PAE_City.py-147-
    PAE_City.py-148-            pPlayer.initUnit(lGift[iRand], pCity.getX(), pCity.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH)
    --
    PAE_City.py-173-            # Cancel button
    PAE_City.py-174-            popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_City.py-175-            popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_City.py:176:            # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_City.py-177-            if iData3 == gc.getGame().getActivePlayer():
    PAE_City.py-178-                popupInfo.addPopup(iData3)
    PAE_City.py-179-
    PAE_City.py-180-        # -- Einfluss verbessern --
    --
    PAE_City.py-223-                # Cancel button
    PAE_City.py-224-                popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_City.py-225-                popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_City.py:226:                # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_City.py-227-                if iData3 == gc.getGame().getActivePlayer():
    PAE_City.py-228-                    popupInfo.addPopup(iData3)
    PAE_City.py-229-
    PAE_City.py-230-            # Triumphzug
    --
    PAE_City.py-303-                # Cancel button
    PAE_City.py-304-                popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_City.py-305-                popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_City.py:306:                # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_City.py-307-                if iData3 == gc.getGame().getActivePlayer():
    PAE_City.py-308-                    popupInfo.addPopup(iData3)
    PAE_City.py-309-
    PAE_City.py-310-            # Goldkarren
    --
    PAE_City.py-531-                popupInfo.addPythonButton(gc.getReligionInfo(iReligion).getText(), gc.getReligionInfo(iReligion).getButton())
    PAE_City.py-532-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_INQUISITION_CANCEL", ("", )), "Art/Interface/Buttons/General/button_alert_new.dds")
    PAE_City.py-533-        popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_City.py:534:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_City.py-535-        if iPlayer == gc.getGame().getActivePlayer():
    PAE_City.py-536-            popupInfo.addPopup(iPlayer)
    PAE_City.py-537-
    PAE_City.py-538-    # pUnit.doCommand(CommandTypes.COMMAND_DELETE, -1, -1)
    --
    PAE_Mercenaries.py-49-
    PAE_Mercenaries.py-50-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py-51-        popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Mercenaries.py:52:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-53-        if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-54-            popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-55-
    PAE_Mercenaries.py-56-    # Hire Mercenaries
    --
    PAE_Mercenaries.py-128-
    PAE_Mercenaries.py-129-            popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py-130-            popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Mercenaries.py:131:            # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-132-            if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-133-                popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-134-
    PAE_Mercenaries.py-135-
    --
    PAE_Mercenaries.py-157-
    PAE_Mercenaries.py-158-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py-159-        popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Mercenaries.py:160:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-161-        if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-162-            popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-163-
    PAE_Mercenaries.py-164-    # Commission Mercenaries (mercenary size)
    --
    PAE_Mercenaries.py-193-
    PAE_Mercenaries.py-194-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py-195-        popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Mercenaries.py:196:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-197-        if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-198-            popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-199-
    PAE_Mercenaries.py-200-    # Commission Mercenaries (primary unit types)
    --
    PAE_Mercenaries.py-229-
    PAE_Mercenaries.py-230-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py-231-        popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Mercenaries.py:232:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-233-        if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-234-            popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-235-
    PAE_Mercenaries.py-236-    # Commission Mercenaries (siege units)
    --
    PAE_Mercenaries.py-274-
    PAE_Mercenaries.py-275-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py-276-        popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Mercenaries.py:277:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-278-        if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-279-            popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-280-
    PAE_Mercenaries.py-281-    # Commission Mercenaries (confirmation)
    --
    PAE_Mercenaries.py-334-        # Confirm
    PAE_Mercenaries.py-335-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_MERCENARIES_ASSIGN6_" + str(1 + CvUtil.myRandom(13, "TXT_KEY_POPUP_MERCENARIES_ASSIGN6_")), ("", )), ",Art/Interface/Buttons/Process/Blank.dds,Art/Interface/Buttons/Beyond_the_Sword_Atlas.dds,8,5")
    PAE_Mercenaries.py-336-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py:337:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-338-        if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-339-            popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-340-
    PAE_Mercenaries.py-341-    # Commission Mercenaries (confirmation)
    --
    PAE_Mercenaries.py-359-                popupInfo = CyPopupInfo()
    PAE_Mercenaries.py-360-                popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
    PAE_Mercenaries.py-361-                popupInfo.setText(CyTranslator().getText("TXT_KEY_MESSAGE_MERCENARIES_NOT_ENOUGH_MONEY", ("", )))
    PAE_Mercenaries.py:362:                # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-363-                if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-364-                    popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-365-        else:
    PAE_Mercenaries.py-366-            pPlayer.changeGold(-80)
    --
    PAE_Mercenaries.py-417-                popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_MERCENARY_TORTURE_YES2", (50, 25)), "")
    PAE_Mercenaries.py-418-                popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_MERCENARY_TORTURE_YES3", (25, 10)), "")
    PAE_Mercenaries.py-419-                popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Mercenaries.py:420:                # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-421-                if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-422-                    popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-423-
    PAE_Mercenaries.py-424-
    --
    PAE_Mercenaries.py-446-                popupInfo = CyPopupInfo()
    PAE_Mercenaries.py-447-                popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
    PAE_Mercenaries.py-448-                popupInfo.setText(CyTranslator().getText("TXT_KEY_MESSAGE_MERCENARIES_NOT_ENOUGH_MONEY", ("", )))
    PAE_Mercenaries.py:449:                # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-450-                if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-451-                    popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-452-        else:
    PAE_Mercenaries.py-453-            pPlayer.changeGold(-iGold)
    --
    PAE_Mercenaries.py-459-                    popupInfo = CyPopupInfo()
    PAE_Mercenaries.py-460-                    popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
    PAE_Mercenaries.py-461-                    popupInfo.setText(CyTranslator().getText("TXT_KEY_POPUP_MERCENARY_TORTURE3_1", (gc.getPlayer(iMercenaryCiv).getCivilizationShortDescription(0), )))
    PAE_Mercenaries.py:462:                    # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-463-                    if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-464-                        popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-465-                else:
    PAE_Mercenaries.py-466-                    CyInterface().addMessage(iPlayer, True, 10, CyTranslator().getText("TXT_KEY_POPUP_MERCENARY_TORTURE3_2", ("",)), None, 2, None, ColorTypes(8), 0, 0, False, False)
    PAE_Mercenaries.py-467-                    popupInfo = CyPopupInfo()
    PAE_Mercenaries.py-468-                    popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
    PAE_Mercenaries.py-469-                    popupInfo.setText(CyTranslator().getText("TXT_KEY_POPUP_MERCENARY_TORTURE3_2", ("", )))
    PAE_Mercenaries.py:470:                    # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Mercenaries.py-471-                    if iPlayer == gc.getGame().getActivePlayer():
    PAE_Mercenaries.py-472-                        popupInfo.addPopup(iPlayer)
    PAE_Mercenaries.py-473-
    PAE_Mercenaries.py-474-# Test for actually required techs and bonusses
    --
    PAE_Sklaven.py-449-        # Cancel button
    PAE_Sklaven.py-450-        popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Sklaven.py-451-        popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Sklaven.py:452:        # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Sklaven.py-453-        if pCity.getOwner() == gc.getGame().getActivePlayer():
    PAE_Sklaven.py-454-            popupInfo.addPopup(pCity.getOwner())
    PAE_Sklaven.py-455-
    PAE_Sklaven.py-456-# Entferne Sklaven aus der Stadt / unset city slaves
    --
    PAE_Trade.py-458-
    PAE_Trade.py-459-    popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_ACTION_CANCEL", ("", )), "Art/Interface/Buttons/Actions/Cancel.dds")
    PAE_Trade.py-460-    popupInfo.setFlags(popupInfo.getNumPythonButtons()-1)
    PAE_Trade.py:461:    # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Trade.py-462-    if iBuyer == gc.getGame().getActivePlayer():
    PAE_Trade.py-463-        popupInfo.addPopup(iBuyer)
    PAE_Trade.py-464-
    PAE_Trade.py-465-# --- End of trade in cities
    --
    PAE_Trade.py-546-def doPopupAutomatedTradeRoute(pUnit, iType, iData1, iData2):
    PAE_Trade.py-547-    iUnitOwner = pUnit.getOwner()
    PAE_Trade.py-548-
    PAE_Trade.py:549:    # Dies soll doppelte Popups in PB-Spielen vermeiden.
    PAE_Trade.py-550-    if iUnitOwner != gc.getGame().getActivePlayer():
    PAE_Trade.py-551-        return
    PAE_Trade.py-552-
    PAE_Trade.py-553-    if iType == 1 or iType == 4:


    Die Liste ist wahrscheinlich nicht vollständig. Da man die Änderung nicht bei jedem addPopup(...)-Aufruf einfügen darf muss man immer manuell nachgucken ob der Aufruf durch eine ModNetMessage erzeugt wird oder nicht.
    Daher habe ich nach ein paar Dateien abgebrochen.
    Wirklich wichtig sind eh nur die Aufrufe von Handelsrouten und Nahrungskarren, da diese Aktionen besonders häufig benutzt werden

  11. #2741
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Ok danke!
    Ich habs gemerged. Ein Ersetzen kam nicht in Frage, weil ich bei allen Dateien bis auf Mercenaries schon Änderungen und Korrekturen von letzter Woche drin hatte. Die fehlen dir auch noch (PAE_Trade). Ich hoffe du hast sowas wie WinMerge, damit du ganz einfach die Änderungen erkennen und dann fürs PB anpassen kannst.

    Ich schmeiss jetzt bald wieder ein größeres Bugfix-Paket raus. Ich teste noch ein bisschen und sofern alles geht, wird das auch für die fanatics das offizielle Bugfix.

    Soll ich dir die letzten paar Änderungen explitiz packen oder reicht es dir, wenn du auf letzte Änderungsdatum der Dateien schaust?

    Das wären noch die zusätzlichen Bugfixes:

    *Thorgal: Neue kleine Bugs:
    *-) Wenn Schiffe aus Städten heraus angreifen, können sie die Garnisonsbeförderung bekommen. Sieht merkwürdig aus.
    *-) Handelsstraßen entstehen nur auf bereits gebauten Straßen
    *-) Bei Eroberungen von Städten mit Handelsstrasse verschwindet diese.
    *Wunder: Wer das Orakel von Deplhi besitzt, sieht auf der Karte nun die Stellen, wo es zu Naturkatastrophen kam (aber als grauen Kriegsnebel)
    *Neben Holzfällerlager wird nun auch beim (Jagd)Lager kein Wald durch Einheitenbau gerodet
    *Überarbeitung Gladiatorensterben: Überprüfung alle 3 Runden, Chancenanpassung
    *Überarbeitung Sklavensterben: Überprüfung alle 4 Runden, Chancenanpassung
    *Statthalter nun unendlich baubar, kostet aber 3 Gold pro Runde (um Reserve-Units zu vermeiden)
    *Verbreitungsmöglichkeit: Plots mit unerforschten Resourcen werden nicht mehr fälschlicherweise auf der Karte als verbreitbar angezeigt
    *Mauern Babylons: 300% Verteidigung
    *Bezeichnung: Oliven statt Olivenöl
    *Kein Revoltenmalus wegen Statthalter mehr.
    *Bank: +25% Schiffsbau
    *Gamespeed Marathon angepasst
    *Weitere Option und Anpassung, wenn Vasall nach einer Tech verlangt:
    vormals:
    schenken: +1
    Normpreis: +0
    nix: -1
    Jetzt:
    Schenken: +1
    Halber Preis: +0
    Normpreis: -1
    nix: -2
    *Neuer InfoScreen (Ramk)
    *Pitboss Bugfixes (Ramk)
    *KI: erhöhte Chance auf Söldneraufträge von reicheren KIs
    Geändert von Pie (20. August 2018 um 04:09 Uhr)
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  12. #2742
    Jesper Portus
    Gast
    @Pie: Ja. Mit einem Reich, dessen Hauptstadt ewig weit weg ist. Das macht wenig Sinn, dass da dann am anderen Ende der Welt eine Straße wegen Handel hier entsteht.

  13. #2743
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zitat Zitat von Pie Beitrag anzeigen
    Ok danke!
    Ich habs gemerged. Ein Ersetzen kam nicht in Frage, weil ich bei allen Dateien bis auf Mercenaries schon Änderungen und Korrekturen von letzter Woche drin hatte. Die fehlen dir auch noch (PAE_Trade). Ich hoffe du hast sowas wie WinMerge, damit du ganz einfach die Änderungen erkennen und dann fürs PB anpassen kannst.

    Ich schmeiss jetzt bald wieder ein größeres Bugfix-Paket raus. Ich teste noch ein bisschen und sofern alles geht, wird das auch für die fanatics das offizielle Bugfix.

    Soll ich dir die letzten paar Änderungen explitiz packen oder reicht es dir, wenn du auf letzte Änderungsdatum der Dateien schaust?
    Ich nehme am liebsten das Gesamtpaket. Dann habe ich deinen jetzigen Mod-Stand und deinen neuen Mod-Stand und kann die Differenz berechnen lassen und in meinen Mod-Stand einfügen.
    Problematisch sind dann nur die Stellen, die du von mir schon eingefügt hast, weil die dann von uns beiden geändert worden sind. Das mag der Merge-Algorithmus von Git nicht Aber die Stellen werde ich schon erkennen.

  14. #2744
    Registrierter Benutzer Avatar von Suite
    Registriert seit
    05.07.13
    Beiträge
    8.877
    Was bedeutet denn genau "Gamespeed Marathon angepasst"?

  15. #2745
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Das müsste sich auf Saurons Anpassungen beziehen: https://www.civforum.de/showthread.p...=1#post8056086

Seite 183 von 293 ErsteErste ... 83133173179180181182183184185186187193233283 ... LetzteLetzte

Berechtigungen

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