Seite 80 von 344 ErsteErste ... 307076777879808182838490130180 ... LetzteLetzte
Ergebnis 1.186 bis 1.200 von 5156

Thema: Der-kleine-Fragen-zum-Modding-Thread

  1. #1186
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.018
    In jedem Mod sind die Ordner gleich aufgebaut. Du musst also für Einheiten im Ordner "Assets/xml/Units" die entsprechenden Einträge aus den Dateien Civ4unitInfos.xml und civ4Unitclass.xml kopieren und entsprechend bei dir einfügen, ebenso aus Civ4ArtDefinesUnits.xml (Assets/xml/Art) und aus der Testdatei im Ordner Assets/xml/Test.
    Zuletzt musst du noch unter Assest/Art/Units den Ordner mit der Einheitengrafik in deine Mod kopieren.

  2. #1187
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.559
    Ok eine ganz simple Frage:

    Im XML gibts ja den


    PHP-Code:
                <FreePromotion>NONE</FreePromotion
    Tag. Damit kann ich aber einem Gebäude nur eine Beförderung geben. Gibt es eine Möglichkeit das ein Gebäude gleich 2 Beförderungen vergibt? Also als Beispiel alle Reiter gleich Mobilität und Moral kriegen?

  3. #1188
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Ohne SDK-Änderungen wird das nicht gehen. Genauer gesagt:

    Ändern müsste man die Datein CvInfos.h, CvInfos.cpp und ich denke auch CvCity.cpp.

  4. #1189
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    einfacher ist es die zweite oder beide beförderungen per python zu geben, nachdem gecheckt wurde, ob das gebäude in der stadt ist. da man für gebäude auch help texte erstellen kann, wird keiner merken, obs python oder xml/sdk ist.
    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)

  5. #1190
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.559
    Zitat Zitat von Cybah Beitrag anzeigen
    einfacher ist es die zweite oder beide beförderungen per python zu geben, nachdem gecheckt wurde, ob das gebäude in der stadt ist. da man für gebäude auch help texte erstellen kann, wird keiner merken, obs python oder xml/sdk ist.
    Hmm gibts da einen bestimmten Eintrag? Ich hab mir zwar ein Python Tutorial angeschaut, aber mich noch nicht wirklcih mit civ-python beschäftig...

    Wenn man es per Gebäude macht steht da doch dann: "Stall vergibt Moral Beförderung, Stall vergibt Mobilität" Das ist ja bei Python nicht so?

    Ein Tutorial zur Python bearbeitung in civ gibts nicht oder?

    Und um neue Tags zu setzten braucht man ja das SDK :/

  6. #1191
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Für den Text: Unter der Verlinkung für den Strategie-Text in der XML ist ein optionaler (also im Normalfall nicht da) tag, der help-tag. Dort kann man zusätzlichen, freien Text eintragen. Muss man nur gucken, dass der auch echt aussieht .

    Für's python: In CvEventManager.py gibt es diesen Eintrag:
    Achtung Spoiler:

    PHP-Code:
        def onUnitBuilt(selfargsList):
            
    'Unit Completed'
            
    city argsList[0]
            
    unit argsList[1]
            
    player PyPlayer(city.getOwner())

            
    CvAdvisorUtils.unitBuiltFeats(cityunit)
            
            if (
    not self.__LOG_UNITBUILD):
                return
            
    CvUtil.pyPrint('%s was finished by Player %d Civilization %s' 
                
    %(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName())) 


    Ändere den um in:
    Achtung Spoiler:
    PHP-Code:
        def onUnitBuilt(selfargsList):
            
    'Unit Completed'
            
    city argsList[0]
            
    unit argsList[1]
            
    player PyPlayer(city.getOwner())
    ###von hier
            
    if city.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_IRGENDWAS"))>0:
                
    unit.setHasPromotion(gc.getInfoTypeForString("PROMOTION_SONSTWAS"),True)
    ###bis hier
            
    CvAdvisorUtils.unitBuiltFeats(cityunit)
            
            if (
    not self.__LOG_UNITBUILD):
                return
            
    CvUtil.pyPrint('%s was finished by Player %d Civilization %s' 
                
    %(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName())) 
    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)


  7. #1192
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.559
    Zitat Zitat von The_J Beitrag anzeigen
    Für den Text: Unter der Verlinkung für den Strategie-Text in der XML ist ein optionaler (also im Normalfall nicht da) tag, der help-tag. Dort kann man zusätzlichen, freien Text eintragen. Muss man nur gucken, dass der auch echt aussieht .

    Für's python: In CvEventManager.py gibt es diesen Eintrag:
    Achtung Spoiler:

    PHP-Code:
        def onUnitBuilt(selfargsList):
            
    'Unit Completed'
            
    city argsList[0]
            
    unit argsList[1]
            
    player PyPlayer(city.getOwner())

            
    CvAdvisorUtils.unitBuiltFeats(cityunit)
            
            if (
    not self.__LOG_UNITBUILD):
                return
            
    CvUtil.pyPrint('%s was finished by Player %d Civilization %s' 
                
    %(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName())) 


    Ändere den um in:
    Achtung Spoiler:
    PHP-Code:
        def onUnitBuilt(selfargsList):
            
    'Unit Completed'
            
    city argsList[0]
            
    unit argsList[1]
            
    player PyPlayer(city.getOwner())
    ###von hier
            
    if city.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_IRGENDWAS"))>0:
                
    unit.setHasPromotion(gc.getInfoTypeForString("PROMOTION_SONSTWAS"),True)
    ###bis hier
            
    CvAdvisorUtils.unitBuiltFeats(cityunit)
            
            if (
    not self.__LOG_UNITBUILD):
                return
            
    CvUtil.pyPrint('%s was finished by Player %d Civilization %s' 
                
    %(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName())) 
    Ok so wie ich das Sehe ist das aber für alle Einheiten oder? Da müsste doch wohl irgendwas wie If unit = UNITCLASS_Mountet then Promotion...

  8. #1193
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Achja, nur Stall (hatt' das überlesen):
    if unit.getUnitCombatType () == gc.getInfoTypeForString("UNITCOMBAT_MOUNTED"):
    Füg' das nach der Zeile mit dem if ein, und setz' noch einen Tab mehr in die Zeile danach.
    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)


  9. #1194
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.559
    Zitat Zitat von The_J Beitrag anzeigen
    Achja, nur Stall (hatt' das überlesen):
    if unit.getUnitCombatType () == gc.getInfoTypeForString("UNITCOMBAT_MOUNTED"):
    Füg' das nach der Zeile mit dem if ein, und setz' noch einen Tab mehr in die Zeile danach.
    if unit.getUnitCombat() == gc.getInfoTypeForString("UNITCLASS_MOUNTED"):

    Mist per Try and Error (+Logik) fast Richtig erraten

    War aber auch schon versuch Nr 5 oder so

    Danke

  10. #1195
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.559
    PHP-Code:
        def onUnitBuilt(selfargsList):
            
    'Unit Completed'
            
    city argsList[0]
            
    unit argsList[1]
            
    player PyPlayer(city.getOwner())


    # Hier fängts an 
        
    if city.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_MONGOL_GER"))>0:
          if 
    unit.getUnitCombatType () == gc.getInfoTypeForString("UNITCOMBAT_MOUNTED"): 
            
    unit.setHasPromotion(gc.getInfoTypeForString("PROMOTION_MORALE"),True
            
    unit.setHasPromotion(gc.getInfoTypeForString("PROMOTION_MOBILITY"),True)
    #Hier Endets
              
              
            
    CvAdvisorUtils.unitBuiltFeats(cityunit)
            
            if (
    not self.__LOG_UNITBUILD):
                return
            
    CvUtil.pyPrint('%s was finished by Player %d Civilization %s' 
                
    %(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName())) 
    ok, wo ist bei mir der Fehler ... Wenn cih das SPiel starte und im WB den Mongolen die Jurte geb und dann einen Keshik baue hat der keine der beiden Beförderungen :/

    Ist die Formatierung richtig?

  11. #1196
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Sieht nicht so aus.
    Ich würd' mal bei den neuen Sachen überall noch 2 Tabs davor machen.
    Und aktivier mal in der Civ.ini (Eigene Dateien\My Games\BtS) die Python exceptions, das hilft.
    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)


  12. #1197
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.559
    Sieht jetzt so aus:
    PHP-Code:
        def onUnitBuilt(selfargsList):
            
    'Unit Completed'
            
    city argsList[0]
            
    unit argsList[1]
            
    player PyPlayer(city.getOwner())


    # Hier fängts an 
          
    if city.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_MONGOL_GER"))>0:
            if 
    unit.getUnitCombatType () == gc.getInfoTypeForString("UNITCOMBAT_MOUNTED"): 
                
    unit.setHasPromotion(gc.getInfoTypeForString("PROMOTION_MORALE"),True
                
    unit.setHasPromotion(gc.getInfoTypeForString("PROMOTION_MOBILITY"),True
    #Hier Endets
              
              
            
    CvAdvisorUtils.unitBuiltFeats(cityunit)
            
            if (
    not self.__LOG_UNITBUILD):
                return
            
    CvUtil.pyPrint('%s was finished by Player %d Civilization %s' 
                
    %(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName())) 

    Und das andere so :/ Gibt aber trotzdem nichts aus

    PHP-Code:
    Set to 1 for no intro movie
    NoIntroMovie 
    1

    Set to 1 for no python exception popups
    HidePythonExceptions 
    0

    The maximum number of autosaves kept in the directory before being deleted.
    MaxAutoSaves 

  13. #1198
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Häng' die Datei bitte mal an.
    Kann nicht sein, dass es nicht geht und keine Fehler geworfen werden.
    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)


  14. #1199
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.559
    Python kann man ja nicht hochladen...


    Achja hab noch nee Fehlerquelle gefunden:

    Bei mir ist die Datei in BTS>Mods>Mod>Asset>Python>Die_Datei.py
    Angehängte Dateien Angehängte Dateien

  15. #1200
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Es muss Assets heißen, nicht Asset (ich denk' mal, dass meintest du).

    Geänderte Datei ist angehängt.
    Angehängte Dateien Angehängte Dateien
    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)


Seite 80 von 344 ErsteErste ... 307076777879808182838490130180 ... LetzteLetzte

Berechtigungen

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