Ergebnis 1 bis 5 von 5

Thema: Python- Frage: Gebäude erzeugt höheren Commerce durch Wunder

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115

    Python- Frage: Gebäude erzeugt höheren Commerce durch Wunder

    Wieder mal eine Python-Frage
    Betroffende Datei: CvEventManager.py

    Platyping fügt seinem Wunder "Bolshoi" folgendes Feature hinzu:
    Durch den Bau des Wunders wird der kulturelle Ausstoß jedes Theaters um +2 erhöht.

    Ich habe mir die entsprechenden Codes angesehen und frage mich, wordurch der commerce Culture (und nicht z.B. Research) hier definiert wird?
    Wie müsste der Code aussehen, wenn z.B. zwei zusätzliche Forschungspunkte pro Theater generiert werden soll?

    Läßt sich das Ganze auch auf Yields ummünzen wenn man den Code *.setBuildingYieldChange verwendet?


    Code:
    ## Bolshoi Start ##
    		if iBuildingType == gc.getInfoTypeForString("BUILDING_BOLSHOI"):
    			bc_theatre = gc.getInfoTypeForString("BUILDINGCLASS_THEATRE")
    			pPlayer = gc.getPlayer(pCity.getOwner())
    
    			(loopCity, iter) = pPlayer.firstCity(false)
    			while(loopCity):
    				loopCity.setBuildingCommerceChange (bc_theatre, 2, 2)
    				(loopCity, iter) = pPlayer.nextCity(iter, false)
    ## Bolshoi End ##
    Code:
    ## Bolshoi Start ##
    		pPlayer = gc.getPlayer(city.getOwner())		
    		if pPlayer.getBuildingClassCount(gc.getInfoTypeForString("BUILDINGCLASS_BOLSHOI")) == 1:
    			city.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 2)
    ## Bolshoi End ##
    Code:
    ## Bolshoi Start ##
    		if city.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_BOLSHOI")):
    			pPlayer = gc.getPlayer(iPlayer)
    			(loopCity, iter) = pPlayer.firstCity(false)
    			while(loopCity):
    				loopCity.setBuildingCommerceChange(gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 0)
    				(loopCity, iter) = pPlayer.nextCity(iter, false)
    ## Bolshoi End ##
    Code:
    ## Bolshoi Start ##
    		pPlayer = gc.getPlayer(iPreviousOwner)
    		pPlayer2 = gc.getPlayer(iNewOwner)
    		if pCity.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_BOLSHOI")):
    			(loopCity, iter) = pPlayer.firstCity(false)
    			while(loopCity):
    				loopCity.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 0)
    				(loopCity, iter) = pPlayer.nextCity(iter, false)
    			(loopCity, iter) = pPlayer2.firstCity(false)
    			while(loopCity):
    				loopCity.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 2)
    				(loopCity, iter) = pPlayer2.nextCity(iter, false)
    		else:
    			pCity.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 0)
    			if pPlayer2.getBuildingClassCount(gc.getInfoTypeForString("BUILDINGCLASS_BOLSHOI")) == 1:
    				pCity.setBuildingCommerceChange (bc_theatre, 2, 2)		
    ## Bolshoi End ##

  2. #2
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450


    mit der Funktion gibts z.B. Zusatzhammer in BASE für industriell.
    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
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Ok, aber in welcher Stelle in dem Code wird denn defniniert, dass der Ausstoss an Kultur gesteigert wird und nicht z.B. an Forschung oder Spionage?

    Das ist mir hier völlig unklar.

  4. #4
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Es wird die CIV4CommerceInfo.xml benutzt.

    Der erste Eintrag hat 0, der zweite 1, der dritte 2 usw.

    Der dritte Eintrag ist Kultur, deshalb kann man einfach die Zahl 2 benutzen. Ich benutze der Übersicht halber in meinem Code aber auch lieber CommerceTypes.COMMERCE_CULTURE anstelle der Zahlen.

    In "setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 2" gibt die erste 2 an, dass Kultur gesteigert wird. Die zweite 2 ist dann der Betrag.
    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
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Super, genau das wollte ich wissen!

    Vielen Dank!

Berechtigungen

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