Seite 16 von 170 ErsteErste ... 61213141516171819202666116 ... LetzteLetzte
Ergebnis 226 bis 240 von 2537

Thema: PAE VI: Patch 6.1-6.13

  1. #226
    Registrierter Benutzer
    Registriert seit
    28.06.19
    Ort
    Leipzig
    Beiträge
    563
    Hallo Pie,

    was lange währt, wird endlich gut. Für ein so tolles Spiel lohnt sich das Warten. Bei einer komplexen Software ist das eben so. Überleg mal, wieviele Menschen sich bei den großen Herrstellern mit der Spieleentwicklung beschäftigen. Und für den Beta-Test zahlen die Kunden bei Steam noch Geld um die "Pre-Release"-Version spielen zu dürfen.

    btw, als gelehrnter BWLer muss ich sagen: mit mehr Marketing könntest du mit PAE bestimmt
    A) gut was verdienen und
    B) mehr Leute ansprechen.

    Wenn man z.B. sieht, was andere bei Steam als "Indie-Spiel" für 5-10 EUR anbieten, da kannst du für PAE locker 20 EUR verlangen.

    Oder frage doch mal "Tante Günna" aka "Günther Shadow" an.
    (https://www.youtube.com/channel/UCjT...yyWaWJAkpkDS5w)
    https://steamcommunity.com/id/GuentherShadow

    Das ist ein Youtuber im mittleren Alter, der recht professionell Lets Plays von Strategie-Spielen macht. Vielleicht hat er Lust drauf deine Mod vorzustellen und Bedarf an neuem "Content" (haben Youtuber ja immer ;-) ) Er ist auch auf Twitch und Steam zu finden.

    Auf jeden Fall, herzlichsten Dank für die viele Mühe, die ihr (du und deine Supporter) euch macht, um PAE noch perfekter zu gestalten.


    Grüsse Barcas.
    Geändert von Barcas (07. November 2019 um 14:02 Uhr)

  2. #227
    Schatten des Ostens Avatar von Kendogan
    Registriert seit
    08.03.14
    Beiträge
    15.214
    Mit einer Mod für ein fremdes Spiel Geld verdienen zu wollen ist (abseits von Lizenzen)... sportlich.

    Ich schau mir die neue Version nach meiner Prüfung an muss dann allerdings auch normales CIV fürs 88er üben

  3. #228
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Mir gehts ja nicht ums verdienen. Mir gehts darum, dass PAE nicht so bald in den Müll kommt und alles irgendwie umsonst war. Dass sich andere was abschauen und etliche Funktionen und Features in anderen Spielen vorkommen (Nebel, Naturkatastrophen, Rangeinheiten, Sklavensystem, etc....) und am besten aufgehoben wäre alles in einem Spiel.
    Ausserdem damit offiziell Geld zu verdienen wird nicht möglich sein. Die Rechte liegen bei firaxis und wenn ich ohne deren Einwilligung Geld verdiene... na Grüß Gott.... die Strafe möcht ich nicht zahlen....

    Nagut, wie kontaktiere ich diese Youtuber? Hab da auf die Schnelle kein Mail oder sonst was gefunden. Bei youtube bin ich auch nicht angemeldet, möcht ich auch nicht sein. meinen facebook account hab ich auch schon deaktiviert, weil ich zeitlich einfach nicht mehr dazu komme. Das ist ja mein Problem: die Zeit! Hätt ich Zeit würd ich mich womöglich mehr mit Marketing auseinandersetzen, ... PAE braucht einen Marketingbeauftragten!
    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. #229
    Registrierter Benutzer
    Registriert seit
    28.06.19
    Ort
    Leipzig
    Beiträge
    563
    Uhh, an solche Lizens-Probleme hab ich gar nicht gedacht aber da habt ihr natürlich recht.

    Ich hatte auch schon nach der E-Mail-Adresse von Tante Günna gesucht aber nix gefunden. In einem Video hat er sie mal genannt. Ich guck mal ob ich sie ausfindig machen kann. Vielleicht kann man ihn auch über seinen Steam-Account erreichen.
    Als weitere Idee ist mir noch Writting Bull eingefallen. Er macht hier im Forum und auch bei Youtube, etc. viel zu Civ VI.
    Eine, m.E. einfache Sache wäre es auch, noch mal einen Post auf der Hauptseite vom Forum zu platzieren. Fand es eigentlich Schade, dass die Ankündigung zur Veröffentlichung von PAE VI am nächsten Tag schon wieder verdrängt wurde.

    Grüße Barcas

  5. #230
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Ja, Writing Bull ist ja ein alter Fan von PAE. Damals hatte er eh ein Video über PAE gemacht. Den könnt ich wiedermal anschreiben, das stimmt.

    Die Youtuber werd ich schon irgendwie herausfinden. Du hast aber Recht, die schreiben ihre Kontaktdaten meistens sowieso ans Ende ihrer Videos....

    Forumsankündigung: ja, die kommt natürlich, aber erst wenn der Patch auch Hand und Fuss hat. Ich möchte tägliche Fixupdates ab so einem Zeitpunkt vermeiden!

    Ich denke, dass diese aktuelle Version jetzt die stabilste und bugfreieste bisher ist. Damit möcht ich dann wieder zu den fanatics und ins moddb. Die spanische CIV-Seite muss ich auch wieder anstupsen, sowie die französische.... auch von einer polnischen hab ich Kontaktdaten.... also ein bisschen Marketing mach ich eh, aber jemand der nur ausschließlich dafür Resourcen übrig hat, bei dem gings natürlich ab wie bei nem gottgegebenen Fegefeuer....
    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!

  6. #231
    Registrierter Benutzer
    Registriert seit
    28.06.19
    Ort
    Leipzig
    Beiträge
    563
    Bei Steam gibt es ja den Workshop, wo die Leute Ihre Mods zu einzelnen Games anbieten. Spiele grad auch Total War Rome II und da gibt es mega viele Mods für.
    Für CIV IV gibt es gar keine Angebote, da wäre PAE die erste Mod.

  7. #232
    Registrierter Benutzer Avatar von JohnDay
    Registriert seit
    26.12.12
    Beiträge
    4.819
    Leitfaden für einen Sozial Media Auftritt:

    Ich würde mit einer Facebook Seite anfangen als Tip. Du bräuchtest ein, zwei Leute die dort Fragen beantworten, oder darauf verweisen, dass der Ersteller die Frage selber beantworten sollte und es dafür etwas Geduld braucht. Das müssen also nicht mal Cracks in PAE sein. Arbeitsaufwand ca eine Stunde pro Tag für jeden, also auch für dich Pie. Es sollten dort immer wieder Feature angesprochen und erklärt werden mit Bildern. Das könnten die beiden Gehilfen machen.
    Wenn nur ein paar von hier das verlinken würden, könnte sich die Bekanntheit schon langsam ausbreiten.
    Als ein Gehilfe für die Facebook Seite auf deutsch würde ich mich anbieten, es würde aber mindestens noch einen mehr dazu brauchen. Im englischen Bereich möchte ich das nicht machen. Da müßte sich jemand anderes für finden.

    Schön wäre es, überhaupt ein Let´s Play mit der aktuellen Version auf YouTube zu haben, erstmal egal von wem. Hauptsache es ist gut zu finden über den Namen und die Leute können sich etwas ansehen. Das müßte auf Facebook natürlich verlinkt werden.

    Ein erklärender Text sollte beim Download mit dabei sein, der die Inhalte beschreibt und noch einmal erklärt. Quasi eine Inhaltsangabe wie bei dem TAC Team mod. Das könnte man mit Hilfe aller leicht hier auf der Seite zusammen schreiben. Jeder bringt etwas ein und das muss nur zusammen gefasst werden. Manches könnte man aus der Pedia kopieren dafür. Zunächst auf deutsch, besser wäre es, das natürlich auch auf englisch zu haben.

    Weitere Sozial Media Auftritte kann man später machen. Der Zeitaufwand steigt, wenn man da mehr machen möchte und an sich muß das zunächst gar nicht sein. Das oben genannte sind erstmal ganz grundsätzliche Sachen. Weitere Sozial Media Auftritte wären Instagram, Twitter und ähnliche Dienste.

    ---------------------------------------

    Es bräuchte also eine Inhaltsangabe für PAE in schriftlicher Form, was das Programm so alles hat und kann.
    Zwei Leute die Fragen beantworten und immer wieder etwas dort posten im deutschen Bereich auf Facebook, Plus deine Anwesenheit dort Pie. Ca eine Stunde pro Tag an Arbeitsaufwand.
    Zwei Leute die das im englischen Bereich machen und Fragen beantworten auf Facebook, Plus deine Anwesenheit dort Pie. Arbeitsaufwand auch hier ca eine Stunde pro Tag.
    Das Erstellen eines Let´s Plays von jemandem der eine angenehme Stimme hat. Erfahrung und oder Bekanntheit in dem Bereich wäre ideal, sind aber kein muss.

    Und dann läßt man das ganze einfach eine Weile laufen. Postet immer wieder eine Spielsituation und einen Screenshot. Beantortet eventuelle Fragen und läßt sich das entwickeln.

    Wegen Rechten bin ich mir gar nicht so sicher, Firaxis hatte glaube ich nur einen 10 Jahres Anspruch und den Quellcode bereits veröffentlicht. Die haben eventuell ihre Rechte schon aufgegeben. Das müßte man rechtlich prüfen, ist ja aber gar nicht dein Anspruch. Sprich darum geht es dir glaube ich gar nicht Pie. Geld willst du damit nicht verdienen, Spenden kann man aber ansprechen und damit sogar einen Teil der Unkosten decken auf Dauer. Das ist wahrscheinlich so etwas auch zu erreichen bei steigender Bekanntheit.

    Grüße John
    Geändert von JohnDay (07. November 2019 um 17:43 Uhr)

  8. #233
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.557
    Zitat Zitat von Pie Beitrag anzeigen
    Aber ich denke, der Hype geht schon spürbar zurück. Nicht zu verdenken bei einem 15 Jahre altem Spiel...
    Wer braucht Hypes?

    Das ist wie ein solider Oldtimer... wenn der gut gepflegt wird, hält der ewig.
    Und es wird immer eine Fangemeinde geben... Auch, wenn man irgendwann sein Benzin selber brennen muss

    Und der Wert steigt sogar


    @youtube
    Wenn Du mit WritingBull noch mal n Video hinbekommen würdest, wär natürlich ne gute Reichweite

  9. #234
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    Ich hab noch eine Kleinigkeit in PAE_City.py gefunden.

    Zeile 69/70:
    BtS ist da nicht verbuggt, du hast nen Denkfehler
    setBuildingHappyChange setzt den Wert von HappyChange genau auf den übergebenen Wert.
    getBuildingHappiness gibt die Gesamt-Happy durch das Gebäude zurück, inkl. Basiswert, Staatsreli... Dein beobachteter "Bug" kommt daher, dass der Provinzpalast von vornherein 1 macht, getBuildingHappiness ist also immer eins höher als der aktuelle HappyChange durch glückliche Statthalter.
    Du suchst getBuildingHappyChange, das ist allein der dynamische Anteil. Aber Achtung, das geht auf BuildingClass statt Building.
    Korrekt wäre also:
    PHP-Code:
            iBuilding gc.getInfoTypeForString("BUILDINGCLASS_PROVINZPALAST")
            
    iBuildingHappiness pCity.getBuildingHappyChange(iBuilding)
            
    pCity.setBuildingHappyChange(gc.getBuildingInfo(iBuilding).getBuildingClassType(), iBuildingHappiness iAddHappiness
    Zeile 1829 muss entsprechend auch
    iBuildingHappiness = pCity.getBuildingHappyChange(iBuilding)
    aufrufen und in Zeile 1811
    iBuilding = gc.getInfoTypeForString("BUILDINGCLASS_PROVINZPALAST")

    In Zeile 2294 bei der Pest wird es egal sein, die zählt ja nur einmal runter und verschwindet dann.


    Es funktioniert jetzt auch so, aber deine Korrektur mit -1 klappt halt nur, solang der Provinzpalast exakt 1 von sich aus macht.

    ------------------------------------------

    Bist du dir sicher mit +100% Forschung bei den großen Bibliotheken? Das ist irre viel. Ich hätte da eher die +25% GPP und +50% Forschung gelassen, GPP sind ja zumindest nicht dauerhaft aktiv.

    ------------------------------------------

    Thema Bronze und Eisen: Warum braucht der Spartiat (UNIT_SPARTA_2) nix davon?

  10. #235
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Ja, das lass ich jetzt so. so funktionierts ja. Und danke, klingt logisch, dass das an dem standard liegt, danke für den Hinweis! (werd ich mir aber eh nicht merken )

    und ich lass es deswegen so, weil die iBuilding Variable später auch noch gebraucht wird und ich da nicht wieder herumexperimentieren will.

    Ja, die 100% für die Große Bibliothek soll sein, weil das ist ein ganz spezielles Gebäude und das soll sie dauerhaft haben. Sonst ist sie ja auch nur genauso gut wie die Philosophenschulen. Die soll flashen!
    (und bei 50% mehr, tut sich in Wirklichkeit nicht wirklich viel, in meinen Städten)

    Spartiat 2: oh danke! vergessen. hab übersehen, dass der ja auch baubar ist und nicht nur ein upgrade! war vielleicht damals auch Absicht, dass der fix baubar sein soll. Aber ist doch logischer und für unsere Sammelsucht besser, wenn auch er nur mit Bronze oder Eisen baubar ist. Hast du Recht.
    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!

  11. #236
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    Nein, in den beiden Funktionen brauchst du iBuilding ansonsten nicht. Also lieber einbauen, sonst wunderst du dich wieder, wenn dem PP mal die Grund- gestrichen wird, dass das immer negativer wird
    Ich hab hier in den beiden betroffenen Codeblöcken die Variable dann auch gleich mal umbenannt, damit ist klar, was dort drin steht.

    PHP-Code:

        
    # Provinzhauptstadt Statthalter Tribut
        
    if iData1 == 678:
            
    # iData2 = iPlayer, iData3 = CityID, iData4 = Antwort [0,1,2] , iData5 = Tribut
            
    pPlayer gc.getPlayer(iData2)
            
    pCity pPlayer.getCity(iData3)
            
    iTribut iData5
            iTribut2 
    iData5 2

            iGold 
    pPlayer.getGold()
            
    bDoRebellion False
            iAddHappiness 
    = -2
            bPaid 
    False
            iRandRebellion 
    CvUtil.myRandom(100"iRandRebellion")

            if 
    iGold >= iTribut:
                if 
    iData4 == 0:
                    
    pPlayer.changeGold(-iTribut)
                    
    iAddHappiness 1
                    bPaid 
    True
                elif iData4 
    == 1:
                    
    pPlayer.changeGold(-iTribut2)
                    
    iAddHappiness 0
                    bPaid 
    True

            elif iGold 
    >= iTribut2:
                if 
    iData4 == 0:
                    
    pPlayer.changeGold(-iTribut2)
                    
    iAddHappiness 0
                    bPaid 
    True

            elif iGold 
    0:
                if 
    iData4 == 0:
                    
    pPlayer.setGold(0)
                    
    iAddHappiness 0

            
    # Happiness setzen (Bug bei CIV, Man muss immer den aktuellen Wert + die Aenderung setzen)
            
    iBuildingClassgc.getInfoTypeForString("BUILDINGCLASS_PROVINZPALAST")
            
    iBuildingHappiness pCity.getBuildingHappyChange(iBuildingClass)
            
    pCity.setBuildingHappyChange(iBuildingClassiBuildingHappiness iAddHappiness)

            
    # Chance einer Rebellion: Unhappy Faces * Capital Distance
            
    iCityHappiness pCity.happyLevel() - pCity.unhappyLevel(0)
            if 
    iCityHappiness 0:
                
    # Abstand zur Hauptstadt
                
    if not pPlayer.getCapitalCity().isNone() and pPlayer.getCapitalCity() is not None:
                    
    iDistance plotDistance(pPlayer.getCapitalCity().getX(), pPlayer.getCapitalCity().getY(), pCity.getX(), pCity.getY())
                else:
                    
    iDistance 20
                iChance 
    iCityHappiness * (-1) * iDistance
                
    if iChance iRandRebellion:
                    
    bDoRebellion True

            
    if bDoRebellion:
                
    CyInterface().addMessage(iData2True10CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_REACTION_NEG", (pCity.getName(),)), "AS2D_REVOLTSTART"2NoneColorTypes(7), pCity.getX(), pCity.getY(), TrueTrue)
                
    # Dies soll doppelte Popups in PB-Spielen vermeiden.
                
    if iData2 == gc.getGame().getActivePlayer():
                  
    popupInfo CyPopupInfo()
                  
    popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
                  
    popupInfo.setText(CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_REACTION_NEG", (pCity.getName(), )))            
                  
    popupInfo.addPopup(iData2)
                
    doProvinceRebellion(pCity)
            
    elif bPaid:
                
    CyInterface().addMessage(iData2True10CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_REACTION_POS", (pCity.getName(),)), "AS2D_BUILD_BANK"2NoneColorTypes(8), pCity.getX(), pCity.getY(), TrueTrue)
                
    szBuffer CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_THX_MAIN", (pCity.getName(), ))
                
    iRand CvUtil.myRandom(23"provinz_thx")
                
    szBuffer szBuffer CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_THX_"+str(iRand), ())

                
    # 1 Unit as gift:
                
    lGift = []
                
    # Auxiliar
                
    lGift.append(gc.getCivilizationInfo(gc.getPlayer(pCity.getOriginalOwner()).getCivilizationType()).getCivilizationUnits(gc.getInfoTypeForString("UNITCLASS_AUXILIAR")))
                if 
    pCity.canTrain(gc.getInfoTypeForString("UNIT_AUXILIAR_HORSE"), 00):
                    
    lGift.append(gc.getInfoTypeForString("UNIT_AUXILIAR_HORSE"))
                
    # Food
                #lGift.append(gc.getInfoTypeForString("UNIT_SUPPLY_FOOD"))
                # Slave
                
    if pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_SKLAVENMARKT")):
                    
    lGift.append(gc.getInfoTypeForString("UNIT_SLAVE"))
                
    # Mounted
                
    if pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_STABLE")):
                    
    lGift.append(gc.getInfoTypeForString("UNIT_HORSE"))
                    if 
    pCity.canTrain(gc.getInfoTypeForString("UNIT_CHARIOT"), 00):
                        
    lGift.append(gc.getCivilizationInfo(gc.getPlayer(pCity.getOriginalOwner()).getCivilizationType()).getCivilizationUnits(gc.getInfoTypeForString("UNITCLASS_CHARIOT")))
                    if 
    pCity.canTrain(gc.getInfoTypeForString("UNIT_HORSE_ARCHER"), 00):
                        
    lGift.append(gc.getCivilizationInfo(gc.getPlayer(pCity.getOriginalOwner()).getCivilizationType()).getCivilizationUnits(gc.getInfoTypeForString("UNITCLASS_HORSE_ARCHER")))
                    if 
    pCity.canTrain(gc.getInfoTypeForString("UNIT_HEAVY_HORSEMAN"), 00):
                        
    lGift.append(gc.getInfoTypeForString("UNIT_HEAVY_HORSEMAN"))
                
    # Elefant
                
    if pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_ELEPHANT_STABLE")):
                    
    lGift.append(gc.getInfoTypeForString("UNIT_ELEFANT"))
                    if 
    pCity.canTrain(gc.getInfoTypeForString("UNIT_WAR_ELEPHANT"), 00):
                        
    lGift.append(gc.getInfoTypeForString("UNIT_WAR_ELEPHANT"))
                
    # Kamel
                
    if pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_CAMEL_STABLE")):
                    
    #lGift.append(gc.getInfoTypeForString("UNIT_CARAVAN"))
                    
    if pCity.canTrain(gc.getInfoTypeForString("UNIT_ARABIA_CAMELARCHER"), 00):
                        
    lGift.append(gc.getInfoTypeForString("UNIT_ARABIA_CAMELARCHER"))
                    if 
    pCity.canTrain(gc.getInfoTypeForString("UNIT_CAMEL_CATAPHRACT"), 00):
                        
    lGift.append(gc.getInfoTypeForString("UNIT_CAMEL_CATAPHRACT"))

                
    # Choose unit
                
    iRand CvUtil.myRandom(len(lGift), "unitgift")

                
    # Dies soll doppelte Popups in PB-Spielen vermeiden.
                
    if iData2 == gc.getGame().getActivePlayer():            
                  
    # Auxiliars as gift:
                  #iAnz = 1 + CvUtil.myRandom(3, "Auxiliars as gift")
                  #if iAnz == 1: szBuffer = szBuffer + CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_THX_MAIN2_SINGULAR",("", ))
                  #else: szBuffer = szBuffer + CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_THX_MAIN2_PLURAL",(iAnz, ))
                  
    szBuffer szBuffer CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_THX_MAIN2", (gc.getUnitInfo(lGift[iRand]).getDescriptionForm(0),))
                  
                  
    popupInfo CyPopupInfo()
                  
    popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
                  
    popupInfo.setText(szBuffer)
                  
    popupInfo.addPopup(iData2)

                
    pPlayer.initUnit(lGift[iRand], pCity.getX(), pCity.getY(), UnitAITypes.NO_UNITAIDirectionTypes.DIRECTION_SOUTH
    PHP-Code:

    def provinceTribute
    (pCity):
        
    iBuildingClassgc.getInfoTypeForString("BUILDINGCLASS_PROVINZPALAST")
        
    iPlayer pCity.getOwner()
        
    pPlayer gc.getPlayer(iPlayer)
        
    bDoRebellion False
        
    # PAE III
        #iCityIntervall = gc.getGame().getGameTurn() - pCity.getGameTurnFounded()
        # if iCityIntervall > 0 and iCityIntervall % 30 == 0 and iPlayer != -1:

        # PAE IV: 33 (3%), PAE V: 50 (2%)
        #if not gc.getTeam(pPlayer.getTeam()).isHasTech(gc.getInfoTypeForString("TECH_POLYARCHY")) and CvUtil.myRandom(50, "provinceTribute") < 1:
        
        # PAE VI: alle 10 Runden, Chance 33%
        
    if not gc.getTeam(pPlayer.getTeam()).isHasTech(gc.getInfoTypeForString("TECH_POLYARCHY")):
          if 
    pCity.getGameTurnFounded() % 10 == gc.getGame().getGameTurn() % 10 and CvUtil.myRandom(3"provinceTribute") == 1:
            
    iGold pPlayer.getGold()
            
    iTribut pCity.getPopulation() * 10
            iTribut 
    += CvUtil.myRandom(iTribut 2"Tribut")
            
    iTribut2 iTribut 2
            iBuildingHappiness 
    pCity.getBuildingHappyChange(iBuildingClass)
            
    # Human PopUp
            
    if pPlayer.isHuman():
              
    # Dies soll doppelte Popups in PB-Spielen vermeiden.
              
    if iPlayer == gc.getGame().getActivePlayer():
                
    iRand CvUtil.myRandom(11"TXT_KEY_POPUP_PROVINZHAUPTSTADT_DEMAND_")
                
    szText CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_DEMAND_"+str(iRand), (pCity.getName(), iTribut))
                
    szText += CyTranslator().getText("[NEWLINE][NEWLINE]", ()) + CyTranslator().getText("TXT_KEY_POPUP_STATTHALTER_HALTUNG", ())
                
    szText += u": %d " % (abs(iBuildingHappiness))
                if 
    iBuildingHappiness 0:
                    
    szText += CyTranslator().getText("[ICON_UNHAPPY]", ())
                else:
                    
    szText += CyTranslator().getText("[ICON_HAPPY]", ())

                
    popupInfo CyPopupInfo()
                
    popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON)
                
    popupInfo.setText(szText)
                
    popupInfo.setData1(iPlayer)
                
    popupInfo.setData2(pCity.getID())
                
    popupInfo.setData3(iTribut)
                
    popupInfo.setOnClickedPythonCallback("popupProvinzPayment")

                if 
    iGold >= iTribut:
                    
    popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_ANSWER_1", (iTribut,)), "")
                if 
    iGold >= iTribut2:
                    
    popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_ANSWER_2", (iTribut2,)), "")
                if 
    iGold and iGold iTribut2:
                    
    popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_ANSWER_2_1", (iGold,)), "")
                
    iRand CvUtil.myRandom(10"TXT_KEY_POPUP_PROVINZHAUPTSTADT_ANSWER_3_")
                
    popupInfo.addPythonButton(CyTranslator().getText("TXT_KEY_POPUP_PROVINZHAUPTSTADT_ANSWER_3_"+str(iRand), ()), "")

                
    popupInfo.addPopup(iPlayer)
            else:
                
    # AI
                # Wenn iGold > iTribut * 3: 1 - 20%, 2 - 80%, 3 - 0%
                # Wenn iGold > iTribut * 2: 1 - 10%, 2 - 80%, 3 - 10%
                # Wenn iGold >= iTribut:    1 -  0%, 2 - 80%, 3 - 20%
                # Wenn iGold >= iTribut2:   1 -  0%, 2 - 70%, 3 - 30%
                # Wenn iGold > 0:           1 -  0%, 2 - 60%, 3 - 40%
                
    iAddHappiness = -1
                iRand 
    CvUtil.myRandom(10"provinceTribute2")
                
    iRandRebellion CvUtil.myRandom(100"provinceTribute3")
                
    bPaid False

                
    if iGold iTribut 3:
                    if 
    iRand 2:
                        
    pPlayer.changeGold(-iTribut)
                        
    iAddHappiness 2
                    
    else:
                        
    pPlayer.changeGold(-iTribut2)
                        
    iAddHappiness 1
                    bPaid 
    True

                elif iGold 
    iTribut 2:
                    if 
    iRand == 0:
                        
    pPlayer.changeGold(-iTribut)
                        
    iAddHappiness 2
                    elif iRand 
    9:
                        
    pPlayer.changeGold(-iTribut2)
                        
    iAddHappiness 1
                    bPaid 
    True

                elif iGold 
    >= iTribut:
                    if 
    iRand 8:
                        
    pPlayer.changeGold(-iTribut2)
                        
    iAddHappiness 1
                        bPaid 
    True

                elif iGold 
    >= iTribut2:
                    if 
    iRand 7:
                        
    pPlayer.changeGold(-iTribut2)
                        
    iAddHappiness 1
                        bPaid 
    True

                elif iGold 
    >= 0:
                    if 
    iRand 6:
                        
    pPlayer.setGold(0)
                        
    iAddHappiness 0

                
    # Happiness setzen (Man muss immer den aktuellen Wert + die Aenderung setzen)
                
    pCity.setBuildingHappyChange(iBuildingClassiBuildingHappiness iAddHappiness)

                
    # Chance einer Rebellion: Unhappy Faces * Capital Distance
                
    iCityHappiness pCity.happyLevel() - pCity.unhappyLevel(0)
                if 
    iCityHappiness 0:
                    
    # Abstand zur Hauptstadt
                    
    pCapital pPlayer.getCapitalCity()
                    if 
    pCapital is not None and not pCapital.isNone():
                        
    iDistance plotDistance(pCapital.getX(), pCapital.getY(), pCity.getX(), pCity.getY())
                    else:
                        
    iDistance 20
                    iChance 
    iCityHappiness * (-1) * iDistance
                    
    if iChance iRandRebellion:
                        
    bDoRebellion True

                
    if bDoRebellion:
                    
    doProvinceRebellion(pCity)
                
    elif bPaid:
                    
    eOrigCiv gc.getCivilizationInfo(gc.getPlayer(pCity.getOriginalOwner()).getCivilizationType())
                    
    # 1 Unit as gift:
                    
    lGift = []
                    
    lGift.append(eOrigCiv.getCivilizationUnits(gc.getInfoTypeForString("UNITCLASS_AUXILIAR")))
                    
    iUnit2 gc.getInfoTypeForString("UNIT_AUXILIAR_HORSE")
                    if 
    pCity.canTrain(iUnit200):
                        
    lGift.append(iUnit2)
                    
    # Food
                    
    lGift.append(gc.getInfoTypeForString("UNIT_SUPPLY_FOOD"))
                    
    # Slave
                    
    if pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_SKLAVENMARKT")):
                        
    lGift.append(gc.getInfoTypeForString("UNIT_SLAVE"))
                    
    # Mounted
                    
    if pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_STABLE")):
                        
    lGift.append(gc.getInfoTypeForString("UNIT_HORSE"))
                        
    lMounted = [
                            
    gc.getInfoTypeForString("UNIT_CHARIOT"),
                            
    gc.getInfoTypeForString("UNIT_HORSE_ARCHER"),
                            
    gc.getInfoTypeForString("UNIT_HEAVY_HORSEMAN")
                        ]
                        for 
    iUnit in lMounted:
                            if 
    pCity.canTrain(iUnit00):
                                
    lGift.append(eOrigCiv.getCivilizationUnits(iUnit))
                    
    # Elefant
                    
    if pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_ELEPHANT_STABLE")):
                        
    lGift.append(gc.getInfoTypeForString("UNIT_ELEFANT"))
                        if 
    pCity.canTrain(gc.getInfoTypeForString("UNIT_WAR_ELEPHANT"), 00):
                            
    lGift.append(gc.getInfoTypeForString("UNIT_WAR_ELEPHANT"))

                    
    iRand CvUtil.myRandom(len(lGift), "provinceTribute4")
                    
    CvUtil.spawnUnit(lGift[iRand], pCity.plot(), pPlayer)
        return 
    bDoRebellion

        
    # ***TEST***
        #CyInterface().addMessage(gc.getGame().getActivePlayer(), True, 10, CyTranslator().getText("TXT_KEY_MESSAGE_TEST",("Provinz-HS Tribut-PopUp (Zeile 4367)",1)), None, 2, None, ColorTypes(10), 0, 0, False, False) 

  12. #237
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Aber das soll doch negativ werden, wenn man seinen Forderungen nicht entspricht
    ... steh am Schlauch
    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!

  13. #238
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    Der PP gibt 1 , das ist in der Antwort von getBuildingHappiness enthalten.
    Wenn man nur die Hälfte zahlt, soll sich die nicht ändern, also iAddHappiness = 0.
    Angenommen, wir haben vorher einmal voll bezahlt, BuildingHappyChange steht also bei 1.
    Damit ist getBuildingHappiness = 2 und du setzt
    pCity.setBuildingHappyChange(iBuildingClass, getBuildingHappiness + iAddHappiness - 1)
    BuildingHappyChange steht weiterhin bei 1, hat sich also nicht geändert wie geplant.

    Das funktioniert aber nur, da der Grundwert vom PP gerade 1 ist. Änderst du den jetzt in der nächsten Version auf 0, kommt das bei raus:
    Aktueller Wert von BuildingHappyChange = 1
    Die Hälfte gezahlt, also iAddHappiness = 0
    getBuildingHappiness = 1
    pCity.setBuildingHappyChange(iBuildingClass, getBuildingHappiness + iAddHappiness - 1)
    BuildingHappyChange ist jetzt 0 = 1+0-1 und getBuildingHappiness damit auch 0.

    Die Option, nicht zu bezahlen, hab ich nicht einmal erwähnt. Aber das ist natürlich genauso:
    BuildingHappyChange X
    Grundwert Y
    getBuildingHappiness = Y + X
    pCity.setBuildingHappyChange(iBuildingClass, getBuildingHappiness() + iAddHappiness - 1)
    BuildingHappyChange = X + iAddHappiness + Y - 1

    Mit getBuildingHappyChange = X:
    pCity.setBuildingHappyChange(iBuildingClass, getBuildingHappyChange() + iAddHappiness)
    BuildingHappyChange = X + iAddHappiness

    Das ist offensichtlich nur das gleiche für Y == 1.

  14. #239
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Jetzt versteh ich. gut, probier ich das
    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!

  15. #240
    Registrierter Benutzer Avatar von klops
    Registriert seit
    20.05.16
    Ort
    Hannover
    Beiträge
    4.916
    Testet mal bitte noch jemand, ob das Problem mit den Schiffskämpfen noch besteht, oder ob überhaupt jemand anderes damit "zu kämpfen" hat?
    Angriffe führen meistens/fast immer(?) zu starken Beschädigungen des Angreifers, die nicht nur mit den Kampfchancen oder Gegentreffern erklärt werden können.

    1 Gegentreffer: Stärke von ungefähr 8 auf 5
    0 Gegentreffer: Stärke von ungefähr 4 auf 2
    ...bei 99% Angriffen.

    Hier hatte ich das schonmal aufgeschrieben:
    https://www.civforum.de/showthread.p...=1#post8335167

    Habe bei mir im letzten Zug statt der angeschlagenen Kontere dann lieber die frische und beförderte Triere angegriffen. In beiden Fällen wurde mein Schiff ca. zur Hälfte beschädigt. Gegen die Triere ist das ein fairer Kampfausgang, gegen die Kontere fühl ich mich verarscht

Seite 16 von 170 ErsteErste ... 61213141516171819202666116 ... LetzteLetzte

Berechtigungen

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