Seite 273 von 274 ErsteErste ... 173223263269270271272273274 LetzteLetzte
Ergebnis 4.081 bis 4.095 von 4103

Thema: Der Pythonthread

  1. #4081
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.654
    Ok danke. Ich lass es dann so. Ja, auch beim Laden eines Spielstandes gehts. Ich bin super zufrieden damit.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  2. #4082
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    Zitat Zitat von Pie Beitrag anzeigen
    Edit: Kommando retour. Die Höhen-Einstellungen bei normalen Labeln und Scroll-Label sind derart different.... mein Scrollbalken war viel zu weit unten, also aus dem Sichtbereich und wurde nicht angezeigt.... Es funktioniert eh! Sorry.....

    Edit2: ups, diese letzen 2 Posts gehören eigentlich in den Pythonthread. sorry.
    Ist jetzt verschoben - auch wenn es sich schon von selbst erledigt hat.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  3. #4083
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.654
    Emoticon: taetschel sehr braves und ordentliches Mädchen
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  4. #4084
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.654
    Wo kann man denn einstellen, dass im Diplo-Fenster die KI immer einen Krieg gegen eine andere Nation zusagt (oder es möglich ist es auszuwählen), wenn sie selbst zB gerade mit keinem im Krieg ist bzw die andere Partei unter ATTITUDE_PLEASED ist? Also dass sie IMMER bei einem Krieg mitmachen würde, egal welche Haltung sie gegenüber dem aktuellen Handelspartner (HI) hat.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  5. #4085
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    Puh, mit Diplo und KI habe ich mich nie beschäftigt, das zu modden. Habe zu beidem abschreckende Warnungen gehört.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  6. #4086
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.654
    Ist das SDK? Aber außer CvDeal find ich nix halbwegs Aussagendes... und das sieht wiedermal komplett vordefiniert alles aus....
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  7. #4087
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    SDK - oder vielleicht eine XML-Einstellung. Habe mich aber tatsächlich nie damit befasst, so dass ich es nicht sagen könnte.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  8. #4088
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.654
    Habs gefunden: iDeclareWarTradeRand im XML, der dann im CvTeamAI berechnet wird und dann in CvPlayerAI genutzt.
    die ganzen Bedingungen und Chancen für die Kriegserklärungssache, die ich suche, steht in CvPlayerAI::AI_doDiplo()
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  9. #4089
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    Ich habe zwei Fehler in einem Code von mir:

    Code:
    	def onCityLost(self, argsList):
    		'City Lost'
    		city = argsList[0]
    		player = PyPlayer(city.getOwner())
    
    ###Spaltung Anfang###
    
    		if city.isCapital():
    			if player.getNumCities() >14:
    				if gc.getMAX_CIV_PLAYERS ()>CyGame().countCivPlayersAlive ():
    				        NewID = -1
    				        for NumCiv in xrange (gc.getMAX_PLAYERS ()):
            				        PotPlayer = gc.getPlayer(NumCiv)
            				        if not PotPlayer.isEverAlive ():
                    				        NewID = NumCiv
                            				break
    				        if NewID ==-1:
    					        for NumCiv in xrange (gc.getMAX_PLAYERS ()):
            					        PotPlayer = gc.getPlayer(NumCiv)
            					        if not PotPlayer.isAlive():
                    					        NewID = NumCiv
                            					break
    				        if NewID ==-1:
    				                return
    	###Kathy new: Rebell Civs Beginn
    					iCiv1 = gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getRebellCiv()
    			        	iCiv2 = gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getDerivativeCiv()
    			        	iCiv3 = gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getDerivativeCitystate()
    		###Kathy: Eliminiere existierende Civs aus der Liste
    				        for NumCiv in xrange (gc.getMAX_PLAYERS ()):
    						LoopPlayer = gc.getPlayer(NumCiv)
    						iLoopCiv = LoopPlayer.getCivilizationType()
    						if ( iCiv1 == iLoopCiv ):
    							iCiv1 = -1
    						if ( iCiv2 == iLoopCiv ):
    							iCiv2 = -1
    						if ( iCiv3 == iLoopCiv ):
    							iCiv3 = -1
    		### Kahty: Eliminiere existierende Civs aus der Liste
    					iCiv = -1
    					if iCiv1 != -1:
    						iCiv = iCiv1
    					elif iCiv2 != -1:
    						iCiv = iCiv2
    					elif iCiv3 != -1:
    						iCiv = iCiv3
    	###Kathy new: Rebell Civs End
    					if iCiv != -1:
    					        iCiv = gc.getPlayer(city.getOwner()).getCivilizationType()
    					CurCiv = gc.getCivilizationInfo(iCiv)
    					NumLeaders = CurCiv.getNumLeaders()
    ### 					dice = gc.getGame().getMapRand()
    ###					LeaderNum = dice.get(NumLeaders , "OracleSayMeTheLeader" )
    					LeaderNum = gc.getGame().getSorenRandNum(NumLeaders, "OracleSayMeTheLeader" )
    
    					LeaderCounter=0
     				        for iLeaders in range(gc.getNumLeaderHeadInfos ()):
          					       	if CurCiv.isLeaders(iLeaders):
        				              		if NumLeaders==1:
           					       			NewLeaderID =iLeaders
    	      				              		break
            	    			        	else:
            				       	        	if LeaderCounter==LeaderNum:
            				                		NewLeaderID=iLeaders
                      							break
                				        	LeaderCounter=LeaderCounter+1
          					CyGame().addPlayer(NewID,NewLeaderID,iCiv)
        					pNewPlayer = gc.getPlayer(NewID)
    					iOldPlayer = city.getOwner()
        					OldPlayer = gc.getPlayer(iOldPlayer)
         					NewTeam = gc.getTeam(pNewPlayer.getTeam())
      					NewTeamID = NewTeam.getID()
    					techcount=0
    					for techcount in range (gc.getNumTechInfos()):
                    			        if ((player.getTeam().isHasTech(techcount)==true)):
                            			    NewTeam.setHasTech(techcount,1,NewID,0,1)
    					iCitiesNewPlayer = OldPlayer.getNumCities()/2
    					iCityCount = 0
    					(loopCity, iter) = OldPlayer.firstCity(True)
    					while(loopCity):
    						iCityX = loopCity.getX()
    						iCityY = loopCity.getY()
    						pNewPlayer.acquireCity(loopCity,False,True)
    						Defender = loopCity.getConscriptUnit ()
    						for i in range(3):
    							pNewPlayer.initUnit( Defender, iCityX,iCityY, UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH )
    						loopCity.changeCulture(NewID,loopCity.getCulture(iOldPlayer),1)
    						iCityCount = iCityCount+1
    						if iCityCount == iCitiesNewPlayer:
    							break
    						(loopCity, iter) = OldPlayer.nextCity(iter, true)
    				        pNewPlayer.setGold(player.getGold()/2)
    					PlayerAdjectiv = player.getCivilizationInfo().getDescription ()
    					NewPlayerAdjectiv = CurCiv.getDescription ()
                                            for iPlayer in range (gc.getMAX_CIV_PLAYERS ()):
    	                                        CyInterface().addMessage(iPlayer,False,15,CyTranslator().getText("TXT_KEY_CAPITAL_LOST",(PlayerAdjectiv,NewPlayerAdjectiv)),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_RED")), city.getX(), city.getY(), True,True)
    
    ###Spaltung ENDE###
    Fehler 1: Eigentlich sollen in iCiv1, iCiv2 und iCiv3 drei verschiedene Werte stehen, die aus der CivilizationsInfos.xml stammen:

    Code:
    			<DerivativeCiv>CIVILIZATION_KONGO</DerivativeCiv>
    			<DerivativeCitystate>CIVILIZATION_STADTSTAAT_KANEM_BORNU</DerivativeCitystate>
    			<RebellCiv>CIVILIZATION_MALI</RebellCiv>
    Im nächsten Schritt sollen dann diejenigen Einträge aus der Liste gelöscht werden, die im Spiel existieren. In meinem Spiel, wo der Fehler auftrat, existierte keiner von denen vorher, iCiv1 sollte also (die ID von) CIVILIZATION_KONGO sein. Trotzdem wird der Code aufgerufen, durch den die neu entstehende Zivilisation mit der Info des eigentlichen Spielers überschrieben wird, was nur im Notfall passieren sollte.

    Gewichtiger ist aber Problem 2: Der Code wird nicht nur einmal beim Fall der gegnerischen Hauptstadt aufgerufen - sondern gleich mehrfach.
    Ich hatte statt einer Abspaltung gleich 3 überlebende und noch eine Anzahl von Spielern, die sofort wieder ausgeschieden sind. Übersehe ich hier irgendetwas offensichtliches, weshalb der Code mehrfach ausgeführt wird?
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  10. #4090
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    Okay, ich habe jetzt erstmal einige Relikte (Formatierung mit Leerzeichen und Tabs gemischt) beseitigt, das kann ja auch schon zu Störungen führen.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  11. #4091
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.998
    Der Code wird mehrfach ausgeführt weil du .aquireCity aufrufst, oder nicht? Das löst dann erneut onCityLost aus und da sich der Original-Besitzer nicht geändert hat sind die If-Statements am Beginn auch noch valide.

  12. #4092
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.998
    Code:
    					iCiv1 = gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getRebellCiv()
    			        	iCiv2 = gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getDerivativeCiv()
    			        	iCiv3 = gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getDerivativeCitystate()
    		###Kathy: Eliminiere existierende Civs aus der Liste
    				        for NumCiv in xrange (gc.getMAX_PLAYERS ()):
    						LoopPlayer = gc.getPlayer(NumCiv)
    						iLoopCiv = LoopPlayer.getCivilizationType()
    						if ( iCiv1 == iLoopCiv ):
    							iCiv1 = -1
    						if ( iCiv2 == iLoopCiv ):
    							iCiv2 = -1
    						if ( iCiv3 == iLoopCiv ):
    							iCiv3 = -1
    Kann man vllt. (habe es nicht überprüft!) so kürzen:
    Code:
    					verbotene_iCivs = [ gc.getPlayer(iP).getCivilizationType() for iP in xrange(gc.getMAX_PLAYERS() ]
                                            for erlaubte_iCiv in [ gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getRebellCiv(),
    						gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getDerivativeCiv(),
    						gc.getCivilizationInfo(gc.getPlayer(city.getOwner()).getCivilizationType()).getDerivativeCitystate() ]:
    						if erlaubte_iCiv not in verbotene_iCivs: 
    							iCiv = erlaubte_iCiv
    							break

  13. #4093
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    Das Entfernen der Leerzeichen hat leider keine Änderung an dem eigentlichen Problem bewirkt. Die sofort vernichteten Spieler waren 17 an der Zahl, und es waren sogar 4 überlebende. Das heißt, der Code wird 21 mal ausgeführt statt nur einmal.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  14. #4094
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    Das Lila Problem habe ich gelöst. Offenbar hat die Zivilisation bei der Spaltung gleich wieder ihre Hauptstadt verloren, so dass dadurch die Spalte noch einmal gestartet wurde. Mit dem Verbot, die Hauptstadt abzutreten konnte dieses Problem umgangen werden.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  15. #4095
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    18.989
    Sorry, Ramkhamhaeng, habe deine Posts erst jetzt gesehen.
    Deinen gekürzten Code müsste ich prüfen, vielleicht hilft es.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

Seite 273 von 274 ErsteErste ... 173223263269270271272273274 LetzteLetzte

Berechtigungen

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