Seite 100 von 271 ErsteErste ... 509096979899100101102103104110150200 ... LetzteLetzte
Ergebnis 1.486 bis 1.500 von 4063

Thema: Der Pythonthread

  1. #1486
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Versuche mal
    PHP-Code:
     (loopCityiter) = OldPlayer.nextCity(itertrue

  2. #1487
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.095
    Ja, vielen Dank, Alpha Civ! Das war die Ursache! Es läuft!

  3. #1488
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.095
    Ein Problem tritt noch auf: Wenn ich das Spiel lade, scheint self.capital noch nicht gesetzt. Erobere ich in der ersten Runde eine Stadt, erhalte ich für die beteiligten Spieler nur einen Key Error.
    Ich hatte versucht, das zu verhindern, indem ich in OnLoadGame folgendes eingebaut habe:

    PHP-Code:
        def onLoadGame(selfargsList):
            
    CvAdvisorUtils.resetNoLiberateCities()
            return 
    0
    ### SpaltungAnfang###
            
    for iPlayer in range(gc.getMAX_PLAYERS()):
                
    player gc.getPlayer(iPlayer)
                
    iCity player.getCapitalCity().getID()
                
    self.capital[iPlayer] = iCity
    ### SpaltungENDE### 
    Leider funktioniert es immer noch nicht.

  4. #1489
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Das " return 0" sollte die Ursache sein. Hier wird nämlich die Funktion beendet und 0 zurückgegeben. Weiterer Code nach return wird nicht ausgeführt.

  5. #1490
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.095

    Tschuldigung, das musste jetzt sein. Was man alles übersehen kann.

    Edit: Es läuft! Danke, The J und alpha civ!
    Geändert von Kathy (14. Mai 2011 um 21:04 Uhr)

  6. #1491
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580

    Auswahl Popups

    Hi, ich habe ein Problem, ich versuche mit Bautrupps die Geländeeigenschaft (Gras, Ebene...) zu ändern, das klappt auch ganz gut, aber, da ich nur einen Bautruppauftrag erstellen möchte, will ich das Programm dazu bewegen, dass ein Popup erscheint in dem man dann auswählen kann, welche Eigenschaft man haben möchte. Ich habe es nach diesem Tutorial von Kael gemacht, und mit diesem Code:
    PHP-Code:
        def onImprovementBuilt(selfargsList):
            
    'Improvement Built'
            
    iImprovementiXiY argsList
    ###Neu Landaufschüttung
            
    pPlot CyMap().plot(iXiY)
            if 
    iImprovement == gc.getInfoTypeForString('IMPROVEMENT_LANDAUFSCHÜTTUNG'):
                
    pPlot.setPlotType(PlotTypes.PLOT_LANDTrueTrue)
                
    pPlot.setImprovementType(-1)
    ###Ende Landaufschüttung
    ###Beginn Popup
            
    pPlot CyMap().plot(iXiY)
            if 
    iImprovement == gc.getInfoTypeForString('IMPROVEMENT_LANDAUFSCHÜTTUNG'):
                
    iPlayerNum 0
                
    for iPlayer in range(gc.getMAX_PLAYERS()):
                    
    player gc.getPlayer(iPlayer)
                    if 
    player.isAlive():
                        
    iPlayerNum iPlayerNum 1
                        
    if player.isHuman():
                            
    popupInfo CyPopupInfo()
                            
    popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON)
                            
    popupInfo.setText('Welche Geländeart möchtest Du errichten?')
                            
    popupInfo.setData1(iPlayer)
                            
    popupInfo.setData2(pPlot)
                            
    popupInfo.setOnClickedPythonCallBack("SelectTerrainType")
                            
    popupInfo.addPythonButton('Grassland')
                            
    popupInfo.addPythonButton('Ebene')
                            
    popupInfo.addPopup(iPlayer)                                        
    ###Ende Popup
            
    if (not self.__LOG_IMPROVEMENT):
                return
            
    CvUtil.pyPrint('Improvement %s was built at %d, %d'
                
    %(PyInfo.ImprovementInfo(iImprovement).getDescription(), iXiY)) 
    Dazu habe ich einige Fragen;
    Warum funktioniert das nicht?
    Was ist iPlayerNum?
    Ich habe dazu auch in der CvScreensInterface.py folgenden Eintrag (bei den Misc Functions) vorgenommen:
    PHP-Code:
    ############Neu TerrainTypes Auswahl
    def SelectTerrainType(argsList):
        
    iButtonId argsList[0]
        
    iData1 argsList[1]
        
    iData2 argsList[2]
        
    iData3 argsList[3]
        
    iData4 argsList[4]
        
    szText argsList[5]
        
    bOption1 argsList[6]
        
    bOption2 argsList[7]

        
    pPlayer gc.getPlayer(iData(1))
        
    pPlot gc.getPlot(iData(2))
        if 
    iButtonId == 0:
            
    pPlot.setTerrainType (TerrainTypes(0))
        if 
    iButtonId == 1:
            
    pPlot.setTerrainType (TerrainTypes(1))
    #############Das war´s mit den TerrainTypes... :) 
    Ich glaube aber eher, dass der Eintrag im cvEventManager.py fehlerhaft ist. Noch eine Frage am Rande, kann man einstellen, dass die KI eine bestimmte Modernisierung nicht bauen kann?

  7. #1492
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von deepwater Beitrag anzeigen
    Warum funktioniert das nicht?
    Sind Fehlermeldungen eingeschaltet ?

    Ich würd' mal meinen dass das "ü" etwas ungünstig ist.

    Zitat Zitat von deepwater Beitrag anzeigen
    Was ist iPlayerNum?
    Zählvariable, weiß der Geier wozu .

    Zitat Zitat von deepwater Beitrag anzeigen
    kann man einstellen, dass die KI eine bestimmte Modernisierung nicht bauen kann?
    Eine BT-UU erstellen, die das entspr. nicht kann.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  8. #1493
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    eigentlich schon, aber ich konnte keinen Fehler isolieren, wo genau werden denn die ErrorLogs gespeichert? Und was ist eine BT-UU?

  9. #1494
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.644
    BT-UU = Bautrupp Einzigartige Einheit, also zbs der Indische Bauttrupp

  10. #1495
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297


    Zitat Zitat von deepwater Beitrag anzeigen
    eigentlich schon, aber ich konnte keinen Fehler isolieren, wo genau werden denn die ErrorLogs gespeichert?
    Wenn du die Fehlermeldungen aktiviert hättest, dann würdest du sie auch sehen .

    Also in der Haupt-Ini (Eigene Dateien\My Games\BtS\Civ4.ini) den Wert
    PHP-Code:
    Set to 1 for no python exception popups
    HidePythonExceptions 

    auf 0 ändern.


    Und wenn ich mir das gerade so angegucke:
    PHP-Code:
        pPlayer gc.getPlayer(iData(1))
        
    pPlot gc.getPlot(iData(2)) 
    Zum Zugriff auf Werte eines Tupels bitte auch eckige Klammern benutzen, und die Indizes beginnen in Python bei 0, nicht bei 1 .
    Allerdings macht das nciht wirklich Sinn, da die Daten ja separat in iData1 und iData2 gespeichert sein sollten .



    Und als allerletztes: *Was* funktioniert eigentlich nicht? Bekommst du ein Popup oder nicht?
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  11. #1496
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    Also nochmal von vorne, das Problem ist, dass ich kein Popup bekomme, er gibt mir lediglich folgenden Fehler, den ich aber leider nicht verstehe. Bitte seid nachsichtig mit mir, bin noch neu! Und ja ich hatte PythonExceptions schon länger aktiviert, aber ich dachte immer der ErrorLog würde irgendwo gespeichert. Ich hoffe die Fehlermeldung hilft Euch weiter. Ich gebe zu, dass ich den Code mit dem iDatas selbst verändert habe, dachte aber, dass das so stimmen würde. (wie gesagt, bin neu)
    Angehängte Grafiken Angehängte Grafiken

  12. #1497
    The L1z1x Mindnet Avatar von dennis95
    Registriert seit
    02.12.10
    Beiträge
    860
    Anscheinend versteht Civ einen der Umlaute nicht.
    (0xe4 ist nämlich der Buchstabe ä)

  13. #1498
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    Hi, das konnte ich natürlich nicht wissen, ich habe es jetzt mal mit ae anstatt ä probiert, aber das kann es doch nicht sein? Ich erhalte jetzt einen neuen Fehler, sieht wieder nach einem falschen Zeichen aus.
    Angehängte Grafiken Angehängte Grafiken

  14. #1499
    The L1z1x Mindnet Avatar von dennis95
    Registriert seit
    02.12.10
    Beiträge
    860
    Du musst alle anderen Umlaute wohl auch ersetzen. 0xf6 ist das ö.

  15. #1500
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.644
    Ich glaub du darfst für Namen nur ASCII Zeichen benutzen...

Seite 100 von 271 ErsteErste ... 509096979899100101102103104110150200 ... LetzteLetzte

Berechtigungen

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