Ergebnis 1 bis 15 von 15

Thema: Tech-Buttons sollen je nach Ära andere Farbe besitzen

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

    Frage Tech-Buttons sollen je nach Ära andere Farbe besitzen

    Hallo zusammen,

    wie im Titel erwähnt suche ich nach einer Möglichkeit, die Tech-Buttons im Forschungsbildschirm optisch ein wenig voneinander zu trennen.
    Jede Ära soll eine eigene Farbe erhalten (wie z.B. in der "History Rewritten" Mod.)

    Kann mir jemand sagen, welche Veränderungen in der CvTechChooser.py notwendig sind, um dieses zu ermöglichen?

  2. #2
    Obersüchtler des *****s Avatar von InEx
    Registriert seit
    04.04.09
    Ort
    Nonkonformist
    Beiträge
    4.926
    Wissen tu ichs nicht, bin aber 90% sicher das schon öfter in Mods gesehen zu haben, schau vlt. mal bei den fanatics rein, sollte hier niemand weiter helfen können.
    Zitat Zitat von Jake the Dog
    It´s fine, it´s fine.. Everything´s fine!

  3. #3
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.450
    Einfach BUG Mod benutzen.
    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. #4
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Hey Cybah,

    ich verwende die BUG Mod, hatte aber leider die Option nicht aktiviert

    Aber sag mal, ist das normal dass die Farbliche Abgrenzung der Äras nur als "Schatten" angezeigt wird.
    Müssten nicht die kompletten Tech-Buttons in der jeweiligen Farbe sein?


    Angehängte Grafiken Angehängte Grafiken

  5. #5
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Jep, in der TechChooser Datei:

    Zeile 175 bei elif ( gc.getPlayer(self.iCivSelected).canEverResearch(i) ):

    Könntest du das machen (kopiert mit meinen Farben in PAE):
    PHP-Code:
                                    iEra gc.getTechInfo(i).getEra()
                                    if 
    iEra == 4screen.setPanelColor(szTechRecord130700#braun
                                    
    elif iEra == 3screen.setPanelColor(szTechRecord16530185#purpur
                                    
    elif iEra == 2screen.setPanelColor(szTechRecord100104160#blau
                                    
    elif iEra == 1screen.setPanelColor(szTechRecord2551700#orange
                                    
    else: screen.setPanelColor(szTechRecord140140140#grau
                                    
    self.aiCurrentState.append(CIV_NO_RESEARCH
    Und später bei Zeile 705 das gleiche:
    PHP-Code:
                                    elif gc.getPlayer(self.iCivSelected).canEverResearch(i) ):
                                           
    iEra gc.getTechInfo(i).getEra()
                                           if 
    iEra == 4screen.setPanelColor(szTechRecord130700#braun
                                           
    elif iEra == 3screen.setPanelColor(szTechRecord16530185#purpur
                                           
    elif iEra == 2screen.setPanelColor(szTechRecord100104160#blau
                                           
    elif iEra == 1screen.setPanelColor(szTechRecord2551700#orange
                                           
    else: screen.setPanelColor(szTechRecord140140140#grau 
    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!

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Hey Pie,

    erstmal super vielen Dank für deine Hilfe
    Ich hatte es schon fast aufgegeben, aber mit den von dir genannten Codes funktioniert es wunderbar.

    Eine Frage noch: ERA_ANCIENT und ERA_MODERN haben beide die gleiche Farbe (grau).
    Gibt es hier noch die Möglichkeit, die beiden Era's farblich zu differenzieren?

  7. #7
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Achso, ich hab in der Antike natürlich nicht soviel ERAs, da musst du noch ein elif einbauen:

    PHP-Code:
    elif iEra == 5screen.setPanelColor(szTechRecord2551700#orange 
    Und hier kannst du die Farben raussuchen und damit 255,170,0 ersetzen (diese entspricht R,G,B): http://www.colorspire.com/rgb-color-wheel/


    du kannst den Code auch anpassen und umgekehrt den index abfragen:

    PHP-Code:
                                       iEra gc.getTechInfo(i).getEra() 
                                           if 
    iEra == 1screen.setPanelColor(szTechRecord130700#braun 
                                           
    elif iEra == 2screen.setPanelColor(szTechRecord16530185#purpur 
                                           
    elif iEra == 3screen.setPanelColor(szTechRecord100104160#blau 
                                           
    elif iEra == 4screen.setPanelColor(szTechRecord2551700#orange 
                                           
    elif iEra == 5screen.setPanelColor(szTechRecord2551700#orange 
                                           
    else: screen.setPanelColor(szTechRecord140140140#grau 
    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!

  8. #8
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Das hatte ich bereits versucht, nur jedes mal, wenn ich versuche ein weiteres elif einzubauen, erhalte ich eine "Python Excption" beim Start -> Traceback (most recent call last).

    PS: ich verwende die Original BtS-Äras, da habe ich also nicht dran rumgeschraubt.

  9. #9
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Auf Einrückung aufpassen!
    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!

  10. #10
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zitat Zitat von Pie Beitrag anzeigen
    Auf Einrückung aufpassen!
    Und aufpassen dass nicht [Tab] und [Space] vermischt sind. Je nach Einstellung im Texteditor werden beispielsweise Tabulator-Zeichen eingefügt obwohl alle anderen Zeilen mit Leerzeichen eingerückt sind.
    Geändert von Ramkhamhaeng (02. Juni 2016 um 16:33 Uhr)

  11. #11
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Hier mal meine eingetragenen Codes.

    Kannst du einen Fehler erkennen?

    Code:
    			#reset so that it offsets from the tech record's panel
    			iX = 6
    			iY = 6
    
    			if ( gc.getTeam(gc.getPlayer(self.iCivSelected).getTeam()).isHasTech(i) ):
    				screen.setPanelColor(szTechRecord, 85, 150, 87)
    				self.aiCurrentState.append(CIV_HAS_TECH)
    			elif ( gc.getPlayer(self.iCivSelected).getCurrentResearch() == i ):
    				screen.setPanelColor(szTechRecord, 104, 158, 165)
    				self.aiCurrentState.append(CIV_IS_RESEARCHING)
    			elif ( gc.getPlayer(self.iCivSelected).isResearchingTech(i) ):
    				screen.setPanelColor(szTechRecord, 104, 158, 165)
    				self.aiCurrentState.append(CIV_IS_RESEARCHING)
    			elif ( gc.getPlayer(self.iCivSelected).canEverResearch(i) ):
                                    iEra = gc.getTechInfo(i).getEra()
                                           if iEra == 1: screen.setPanelColor(szTechRecord, 130, 70, 0) #braun 
                                           elif iEra == 2: screen.setPanelColor(szTechRecord, 165, 30, 185) #purpur 
                                           elif iEra == 3: screen.setPanelColor(szTechRecord, 100, 104, 160) #blau 
                                           elif iEra == 4: screen.setPanelColor(szTechRecord, 40, 80, 115) #orange 
                                           elif iEra == 5: screen.setPanelColor(szTechRecord, 40, 120, 120) #orange 
                                           else: screen.setPanelColor(szTechRecord, 140, 140, 140) #grau  
                                    self.aiCurrentState.append(CIV_NO_RESEARCH)  
    			else:
    				screen.setPanelColor(szTechRecord, 206, 65, 69)
    				self.aiCurrentState.append(CIV_TECH_AVAILABLE)

    Code:
    				if bTechName:
    					szTechString += gc.getTechInfo(i).getDescription()
    					if ( gc.getPlayer(self.iCivSelected).isResearchingTech(i) ):
    						szTechString += " ("
    						szTechString += str(gc.getPlayer(self.iCivSelected).getResearchTurnsLeft(i, ( gc.getPlayer(self.iCivSelected).getCurrentResearch() == i )))
    						szTechString += ")"
    					szTechString = szTechString + "</font>"
    # TECH TREE BUTTON BIG
    					screen.setTextAt( szTechID, sPanel, szTechString, CvUtil.FONT_LEFT_JUSTIFY, iX + 6 + X_INCREMENT + TEXTURE_SIZE, iY + 6, -0.1, FontTypes.SMALL_FONT, WidgetTypes.WIDGET_TECH_TREE, i, -1 )
    # TECH TREE BUTTON BIG
    					screen.setActivation( szTechID, ActivationTypes.ACTIVATE_MIMICPARENTFOCUS )
    
    				if ( gc.getTeam(gc.getPlayer(self.iCivSelected).getTeam()).isHasTech(i) ):
    					screen.setPanelColor(szTechRecord, 85, 150, 87)
    				elif ( gc.getPlayer(self.iCivSelected).getCurrentResearch() == i ):
    					screen.setPanelColor(szTechRecord, 104, 158, 165)
    				elif ( gc.getPlayer(self.iCivSelected).isResearchingTech(i) ):
    					screen.setPanelColor(szTechRecord, 104, 158, 165)
    				elif ( gc.getPlayer(self.iCivSelected).canEverResearch(i) ):
                                           iEra = gc.getTechInfo(i).getEra()
                                           if iEra == 1: screen.setPanelColor(szTechRecord, 130, 70, 0) #braun 
                                           elif iEra == 2: screen.setPanelColor(szTechRecord, 165, 30, 185) #purpur 
                                           elif iEra == 3: screen.setPanelColor(szTechRecord, 100, 104, 160) #blau 
                                           elif iEra == 4: screen.setPanelColor(szTechRecord, 40, 80, 115) #orange 
                                           elif iEra == 5: screen.setPanelColor(szTechRecord, 40, 120, 120) #orange 
                                           else: screen.setPanelColor(szTechRecord, 140, 140, 140) #grau  
    				else:
    					screen.setPanelColor(szTechRecord, 206, 65, 69)

  12. #12
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Und aufpassen dass nicht [Tab] und [Space] vermischt sind. Je nach Einstellung im Texteditor werden beispielsweise Tabulator-Zeichen eingefügt obwohl alle Zeilen mit Leerzeichen eingerückt sind.
    Ich schätze daran hat's gelegen.
    Nochmal neu versucht, es scheint nun zu funktionieren.

    Vielen Dank!

  13. #13
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Code:
    			#reset so that it offsets from the tech record's panel
    			iX = 6
    			iY = 6
    
    			if ( gc.getTeam(gc.getPlayer(self.iCivSelected).getTeam()).isHasTech(i) ):
    				screen.setPanelColor(szTechRecord, 85, 150, 87)
    				self.aiCurrentState.append(CIV_HAS_TECH)
    			elif ( gc.getPlayer(self.iCivSelected).getCurrentResearch() == i ):
    				screen.setPanelColor(szTechRecord, 104, 158, 165)
    				self.aiCurrentState.append(CIV_IS_RESEARCHING)
    			elif ( gc.getPlayer(self.iCivSelected).isResearchingTech(i) ):
    				screen.setPanelColor(szTechRecord, 104, 158, 165)
    				self.aiCurrentState.append(CIV_IS_RESEARCHING)
    			elif ( gc.getPlayer(self.iCivSelected).canEverResearch(i) ):
                                    iEra = gc.getTechInfo(i).getEra()
                                           if iEra == 1: screen.setPanelColor(szTechRecord, 130, 70, 0) #braun 
                                           elif iEra == 2: screen.setPanelColor(szTechRecord, 165, 30, 185) #purpur 
                                           elif iEra == 3: screen.setPanelColor(szTechRecord, 100, 104, 160) #blau 
                                           elif iEra == 4: screen.setPanelColor(szTechRecord, 40, 80, 115) #orange 
                                           elif iEra == 5: screen.setPanelColor(szTechRecord, 40, 120, 120) #orange 
                                           else: screen.setPanelColor(szTechRecord, 140, 140, 140) #grau  
                                    self.aiCurrentState.append(CIV_NO_RESEARCH)  
    			else:
    				screen.setPanelColor(szTechRecord, 206, 65, 69)
    				self.aiCurrentState.append(CIV_TECH_AVAILABLE)
    Hier lag der Fehler. Das muss in einer Linie stehen.
    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!

  14. #14
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Alles klar. Mittlerweile funktioniert es super.
    Nochmals vielen Dank für die Hilfe!

  15. #15
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Bitte sehr, gern geschehn.
    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!

Berechtigungen

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