Seite 104 von 220 ErsteErste ... 45494100101102103104105106107108114154204 ... LetzteLetzte
Ergebnis 1.546 bis 1.560 von 3300

Thema: BASE: Trait-Diskussion (Anführermerkmale)

  1. #1546
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Ich teste mal.

  2. #1547
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Ergebnis: Man investiert Spionagepunkte, aber die Modernisierung bleibt auf ihren Niveau.

  3. #1548
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.456
    Das ist doof.
    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. #1549
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Vielleicht solltest du keine Spione ausschließen? Siehe unten in Rot.

    Code:
    # ZE: Financial Trait Start -----------------------------------------------------------------------------------------------
    			if iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE"):
    				iTraitFin = gc.getInfoTypeForString("TRAIT_FINANCIAL")
    				if (iTraitFin != -1 and pPlayer.hasTrait(iTraitFin)):
    
    					if not pPlot.isUnit():
    						if pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_RENAISSANCE") and iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE"):
    							pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_HAMLET"))
    						elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_INDUSTRIAL") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET")):
    							pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_VILLAGE"))
    						elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_MODERN") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
    							pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
    						elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_FUTURE") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
    							pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
    
    					else:
    						iTraitPro = gc.getInfoTypeForString("TRAIT_PROTECTIVE")
    						if (iTraitPro != -1 and not pPlayer.hasTrait(iTraitPro)):
    
    							bNoUpgrade = False			
    							for i in xrange(pPlot.getNumUnits()):
    								pUnit = pPlot.getUnit(i)
    								iUnitOwner = pUnit.getOwner()
    								pUnitOwner = gc.getPlayer(iUnitOwner)
    								iUnitOwnerTeam = pUnitOwner.getTeam()
    								if iTeam != iUnitOwnerTeam and pTeam.isAtWar(iUnitOwnerTeam):
    									if pUnit.getUnitCombatType() != -1 and pUnit.getUnitCombatType() != gc.getInfoTypeForString( 'UNITCOMBAT_SPY' ) and pUnit.getUnitCombatType() != gc.getInfoTypeForString( 'UNITCOMBAT_WORKER' ):
    										bNoUpgrade = True
    										break
    
    							if bNoUpgrade != True:
    								if pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_RENAISSANCE") and iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE"):
    									pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_HAMLET"))
    								elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_INDUSTRIAL") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET")):
    									pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_VILLAGE"))
    								elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_MODERN") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
    									pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
    								elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_FUTURE") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
    									pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
    # ZE: Financial Trait End -----------------------------------------------------------------------------------------------

  5. #1550
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Das Problem ist wirklich, eine andere Improvement zu setzen zählt immer als improvementBuilt.

    edit:

    Mögliche Lösung: else-Zweig in die Plündermethode.

  6. #1551
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.456
    Probier mal rum und gib mir dann den Code. Muss jetzt mal was vorbereiten zu morgen.
    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. #1552
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Wahrscheinlich ist die einzig beste Lösung oben das rot Markierte zu entfernen.

    Es wäre Hilfreich, wenn man wüste, ob auf oder abmodernisiert wird.

  8. #1553
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.456
    Das rot markierte zu entfernen hat doch gar keine Auswirkung. Der Code würde nur ausgeführt, wenn die Modernisierung per Plünderung entfernt würde. Aber das ist beim Spion ja nicht mal der Fall. Ich schlage vor, dass Spione per SDK keine schützenden Improvements mehr zerstören dürfen. Funktioniert ja eh nicht und dann verbrät man auch keine Spio Punkte.

    Edit: damit meine ich, dass onunitpillage gar nicht vom spion getriggert wird.
    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. #1554
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Es geht um Fin!

    Und zweitens: In onImprovementBuilt sitzt der proplematische Code. Diese wird immer beim Modernisierung setzen ausgelöst, also wenn ein Spion die Modernisierung ändert.

    Den Else-Zweig kann man nicht enfernen, weil eigene Einheiten sonst das Aufwerten der Hütten blockieren.

  10. #1555
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.456
    Ach so, jetzt kapier ichs. Der Spion reduziert die Gemeinde theoretisch zum Dorf und entfernt sie nicht komplett? Dann seh ich die Problematik.
    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. #1556
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Das Dorf wird wieder zur Gemeinde.

  12. #1557
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.456
    Zitat Zitat von rucivfan Beitrag anzeigen
    Ergebnis: Man investiert Spionagepunkte, aber die Modernisierung bleibt auf ihren Niveau.
    Das versteh ich jetzt trotzdem nicht. Aufgrund des Spions auf dem Plot dürfte der Code doch nicht ausgelöst werden (dein rot markiertes soll das "auf dem Niveau-Bleiben" doch verhindern). Also wenn Spion aufm Feld -> keine Wiederherstellung der Gemeinde.
    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. #1558
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.456
    "and pTeam.isAtWar(iUnitOwnerTeam)"

    Das dürfte der Knackpunkt sein. Spione können ja auch außerhalb des Krieges Modernisierungen zerstören. Oder funktioniert der Code nicht mal im Krieg?
    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. #1559
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Ich mach mal Krieg.

  15. #1560
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Im Krieg wurde es nicht geblockt.

Seite 104 von 220 ErsteErste ... 45494100101102103104105106107108114154204 ... LetzteLetzte

Berechtigungen

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