Seite 171 von 271 ErsteErste ... 71121161167168169170171172173174175181221 ... LetzteLetzte
Ergebnis 2.551 bis 2.565 von 4063

Thema: Der Pythonthread

  1. #2551
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    iBonus = pPlot.getBonusType(-1)

    da bedarf es eines -1 (oder anderem INT, entspricht der Spieler-ID)

    und rucivfan hat auch recht. das gehört auch noch behoben.
    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. #2552
    Registrierter Benutzer Avatar von Baschdi
    Registriert seit
    21.02.07
    Beiträge
    1.109
    Kann gelöscht werden, versehentlich falschen Thread erwischt
    "Wir brauchen keine Opposition. Wir sind schon Demokraten." - Franz-Josef Strauss

    "Alles was du sagst, sollte wahr sein. Aber nicht alles was wahr ist, solltest du auch sagen." - Voltaire

    "Das erste Opfer des Krieges ist die Wahrheit." - Aischylos

    "Gestern war der Teufel hier, genau hier. Und es riecht hier noch immer nach Schwefel" - Chávez

    Die EU-Verfassung und die Verfassung der Bolivarischen Republik Venezuela

  3. #2553
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Frage...

    Das hier...

    PHP-Code:
    city.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_SEA_BASE'), 1
    ...hätte ich gerne um zwei bedingungen erweitert, das bei Civ A Gebäude A gesetzt wird...und bei Civ B Gebäude B...


    Vielleich so in der art...
    PHP-Code:
    city.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_SEA_BASE'), 1)
    if 
    pPlayer.getCivilizationType() != iCivA:
    city.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_A), 1) 
    Geändert von Monaldinio (18. Februar 2013 um 20:29 Uhr)
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  4. #2554
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.022
    Sind die Gebäude A und B von der selben Buildingclass (wie Kornspeicher und Inkaterasse), oder zwei ganz verschieden (wie Theater und Kolosseum)? Ich glaube, im ersten Fall wäre das Code einfacher.
    Und wie darf ich das verstehen "Bedingung... Gebäude gesetzt wird". Bei einer Bedingung wird ein Zustand abgefragt, das Gebäude ist vorhanden. Oder du willst eine Aktion auslösen, dass nämlich das Gebäude gebaut wird. Ich bin sicher, dass dir klar ist, was du willst, aber die Formulierung ist nicht eindeutig - und für den Code müsste ich wissen, was du brauchst.

    Edit: Ich glaube, ich habe verstanden. Du meinst, aus deinem Code soll werden "if Civ ist Typ A, setze Gebäude A, else setze Gebäude B"? Also der bestehende Code soll komplett geändert werden und nicht erweitert werden?

    Dann würde ich das entweder so machen:
    PHP-Code:
    if pCityOwner.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_A"):
        
    pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_A"),1)
    else:
        
    pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_B"),1
    Für den Fall, dass alle Civs außer A das Gebäude B bekommen sollen

    Oder, wenn beide Gebäude von der selben Buildingclass sind und immer diese Buildingclass gebraucht wird:
    PHP-Code:
    setNumRealBuilding(gc.getCivilizationInfo(pCityOwner.getCivilizationType()).getCivilizationBuildings(gc.getInfoTypeForString("BUILDINGCLASS_AB")),1
    In diesem Fall bekommt jede Civ das jeweilige Gebäude in dieser Buildingclass, wenn also A als Unique Building "BUILDING_A" hat und alle anderen BUILDING_B mit der selben Buildingclass, dann immer das zur Civ dazugehörige.
    Geändert von Kathy (18. Februar 2013 um 20:38 Uhr)

  5. #2555
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Ja, gebäude a und B sind von der Selbnen Bildingclass...sozusagen Unique gebäude.

    Das Problem ist das, diese beiden Gebäude sollen die allgemeine Wasserbasengrafik (siehe Zustandsabfrage) für die jewalige Civ ersetzen...

    Also ja, das Gebäude soll gebaut werden anstatt des standartgebäudes...

    Ich glaube das müsste der betreffende originalcode sein.


    PHP-Code:

    def onCityBuilt
    (selfargsList):
            
    'City Built'
            
    self.parent.onCityBuilt(selfargsList)
            
    city argsList[0]

            
    pPlot city.plot()
            
    pPlayer gc.getPlayer(city.getOwner())
            
    pTeam gc.getTeam(pPlayer.getTeam())
            
    pCapitalCity pPlayer.getCapitalCity()
            
    pStartEra gc.getGame().getStartEra()
            
    iRockyPolar gc.getInfoTypeForString('TERRAIN_ROCKY_POLAR')
            
    iRockyArid gc.getInfoTypeForString('TERRAIN_ROCKY_ARID')
            
    iRockyMoist gc.getInfoTypeForString('TERRAIN_ROCKY_MOIST')
            
    iRockyRainy gc.getInfoTypeForString('TERRAIN_ROCKY_RAINY')
            
    iFlatPolar gc.getInfoTypeForString('TERRAIN_FLAT_POLAR')
            
    iFlatArid gc.getInfoTypeForString('TERRAIN_FLAT_ARID')
            
    iFlatMoist gc.getInfoTypeForString('TERRAIN_FLAT_MOIST')
            
    iFlatRainy gc.getInfoTypeForString('TERRAIN_FLAT_RAINY')
            
    iHive gc.getInfoTypeForString('CIVILIZATION_HIVE')

            if 
    pPlot.isWater():
                
    city.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_SEA_BASE'), 1)
                if 
    pPlayer.isHuman() == False
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  6. #2556
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.022
    In diesem Fall müsste die zweite Version, die ich in meinen Beitrag reineditiert habe, zutreffen. Die Wirkung ist, dass, wenn z.B. CIVILIZATION_A und CIVILZATION_B ein Unique Building für diese Gebäudeklasse haben, dass sie eben dieses Unique Building bekommen und alle anderen das Standardgebäude dieser Buildingclass. pCityOwner müsstest du dann natürlich noch durch pPlayer aus deinem Code ersetzen.

  7. #2557
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Ich glaube das kommt dem am nächsten, es fehlt aber noch eine kleinigkeit..

    Für den Fall, dass alle Civs außer A das Gebäude B bekommen sollen
    PHP-Code:
    if pCityOwner.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_A"): 
        
    pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_A"),1
    else: 
        
    pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_B"),1
    Für den Fall, dass alle Civs, außer Civ a (bekommt gebäude A) und Civ B (bekommt Gebäude B) das gebäude C (standartgebäude) bekommen...
    müsste da dann nicht nur noch eine zweite if schleife rein`, von der selebn art?!?

    Ich glaube die Buildingclass wird nicht immer gebraucht, da unique Buildings doch nur ein bestehendes Gebäude erstetzen, die buildingclass wird doch beibehalten...nur building ändert sich...so mache ich das jedenfalls.
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  8. #2558
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.022
    Lies noch einmal genau: Wenn alle die selbe Buildingclass haben, nimmst du:
    PHP-Code:
    setNumRealBuilding(gc.getCivilizationInfo(pCityOwner.getCivilizationType()).getCivilizationBuildings(gc.getInfoTypeForString("BUILDINGCLASS_AB")),1
    Dann bekommt jeder das Gebäude aus dieser Buildingclass, das zu ihm gehört: CIV_A das BUILDING_UNIQUE_A, CIV_B das BUILDING_UNIQUE_B und alle anderen das Standardbuilding. Der andere Code ist nur dann interessant, wenn es um unterscheidliche Buildingclasses gehen würde.

  9. #2559
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Ahhhaa...ich versuchs mal...dein AB würde ich durch die entsprechende Buildinclass ersetzen richtig?!? Bei mir SEA_BASE...
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  10. #2560
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.022
    Genau. Der Befehl sucht für "BUILDINGCLASS_SEABASE" das passende Gebäude für die jeweilige Zivilisation. Damit ersparst du dir alle If-Schleifen.

  11. #2561
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Ne, klappt nicht...

    Denn genau das sollte ja im Prinzip das ganz normale Austauschen von Gebüden auch machen (über die CivilizationInfo), was áber auf dem Wasser irgenwie nicht funzt...

    Ich hatte vorhin rein probehalber mal das building_sea_Base in das Gebäude geändert was eingesetzt werden sollte building_wellen_sea_Base...das hat gefuntz...
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  12. #2562
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Diese Fehlermeldung habe ich bekommen...

    Ist genau die Zeile die ich eingesetzt habe...
    Offensichtlich möchte er, das ich noch etwas in den Definitionskopf definiere...

    Edit: Ich merke gerade das ich im falschen Thread bin...sorry Kathy!
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Monaldinio (18. Februar 2013 um 21:18 Uhr)
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  13. #2563
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.022
    Hast du auch pCity (oder wie sie heißt) davor?

    Und jetzt, wo du's sagst, ab mit dem Thema in den Pythonfaden.

  14. #2564
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    nein hatte ich nicht, im kopf der Def ist aber auch kein pcity definiert...nur ein city...

    PHP-Code:
    def onCityBuilt(selfargsList):
            
    'City Built'
            
    self.parent.onCityBuilt(selfargsList)
            
    city argsList[0]
    ###new argslist argument vvvvvvvvvvvv
            
    bOrbital argsList[1]

            
    ###neu orbitalcheck REMOVE!
            ##CyInterface().addImmediateMessage(str(bOrbital), "")

            
    pPlot city.plot()
            
    pPlayer gc.getPlayer(city.getOwner())
            
    pTeam gc.getTeam(pPlayer.getTeam())
            
    pCapitalCity pPlayer.getCapitalCity()
            
    pStartEra gc.getGame().getStartEra()
            
    iRockyPolar gc.getInfoTypeForString('TERRAIN_ROCKY_POLAR')
            
    iRockyArid gc.getInfoTypeForString('TERRAIN_ROCKY_ARID')
            
    iRockyMoist gc.getInfoTypeForString('TERRAIN_ROCKY_MOIST')
            
    iRockyRainy gc.getInfoTypeForString('TERRAIN_ROCKY_RAINY')
            
    iFlatPolar gc.getInfoTypeForString('TERRAIN_FLAT_POLAR')
            
    iFlatArid gc.getInfoTypeForString('TERRAIN_FLAT_ARID')
            
    iFlatMoist gc.getInfoTypeForString('TERRAIN_FLAT_MOIST')
            
    iFlatRainy gc.getInfoTypeForString('TERRAIN_FLAT_RAINY')
            
    iHive gc.getInfoTypeForString('CIVILIZATION_HIVE'
    ich würde es jetzt so machen..

    PHP-Code:
    city.setNumRealBuilding(gc.getCivilizationInfo(pCityOwner.getCivilizationType()).getCivilizationBuildings(gc.getInfoTypeForString("BUILDINGCLASS_SEA_BASE")),1
    nächste fehlermeldung...

    pCityOwner muss wohl auch noch in den Kopf der Definition...aber wie würde das aussehen..

    pCityOwner = argsList[1] ?????



    Edit: Hab es jetzt mal so eingefügt...wieder fehlermeldung (Screenshot 568)...

    ich höre lieber auf mit meinen experimenten...


    Mein Aktueller Code

    Achtung Spoiler:

    PHP-Code:

        def onCityBuilt
    (selfargsList):
            
    'City Built'
            
    self.parent.onCityBuilt(selfargsList)
            
    city argsList[0]
            
    ###new argslist argument vvvvvvvvvvvv
            
    bOrbital argsList[1]
            
    pCityOwner argsList[2]

            
    ###neu orbitalcheck REMOVE!
            ##CyInterface().addImmediateMessage(str(bOrbital), "")

            
    pPlot city.plot()
            
    pPlayer gc.getPlayer(city.getOwner())
            
    pTeam gc.getTeam(pPlayer.getTeam())
            
    pCapitalCity pPlayer.getCapitalCity()
            
    pStartEra gc.getGame().getStartEra()
            
    iRockyPolar gc.getInfoTypeForString('TERRAIN_ROCKY_POLAR')
            
    iRockyArid gc.getInfoTypeForString('TERRAIN_ROCKY_ARID')
            
    iRockyMoist gc.getInfoTypeForString('TERRAIN_ROCKY_MOIST')
            
    iRockyRainy gc.getInfoTypeForString('TERRAIN_ROCKY_RAINY')
            
    iFlatPolar gc.getInfoTypeForString('TERRAIN_FLAT_POLAR')
            
    iFlatArid gc.getInfoTypeForString('TERRAIN_FLAT_ARID')
            
    iFlatMoist gc.getInfoTypeForString('TERRAIN_FLAT_MOIST')
            
    iFlatRainy gc.getInfoTypeForString('TERRAIN_FLAT_RAINY')
            
    iHive gc.getInfoTypeForString('CIVILIZATION_HIVE')

            if 
    pPlot.isWater() and bOrbital==false:
                
                
    city.setNumRealBuilding(gc.getCivilizationInfo(pCityOwner.getCivilizationType()).getCivilizationBuildings(gc.getInfoTypeForString("BUILDINGCLASS_SEA_BASE")),1)
                if 
    pPlayer.isHuman() == False
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Monaldinio (18. Februar 2013 um 23:07 Uhr)
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  15. #2565
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    im setNumRealBuilding-Befehl musst du statt pCityOwner "pPlayer" einsetzen. Das war von Kathy bestimmt nur generell definiert, weil es sich eben um den Besitzer der Stadt handelt.
    argsList[1] und [2]: ich bezweifle, dass das richtig ist. würd ich weglassen. im sdk steht, wieviel variablen die funktion onCityBuilt mitschickt. Vielleicht ja nur [0]?!
    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!

Seite 171 von 271 ErsteErste ... 71121161167168169170171172173174175181221 ... LetzteLetzte

Berechtigungen

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