1. We have added the ability to collapse/expand forum categories and widgets on forum home.
    Dismiss Notice
  2. Photobucket has changed its policy concerning hotlinking images and now requires an account with a $399.00 annual fee to allow hotlink. More information is available at: this link.
    Dismiss Notice
  3. All Civ avatars are brought back and available for selection in the Avatar Gallery! There are 945 avatars total.
    Dismiss Notice
  4. To make the site more secure, we have installed SSL certificates and enabled HTTPS for both the main site and forums.
    Dismiss Notice
  5. Civ6 is released! Order now! (Amazon US | Amazon UK | Amazon CA | Amazon DE | Amazon FR)
    Dismiss Notice
  6. Dismiss Notice
  7. Forum account upgrades are available for ad-free browsing.
    Dismiss Notice

Modder's Guide to A New Dawn

Discussion in 'Rise of Mankind: A New Dawn' started by Afforess, Dec 2, 2009.

  1. 45°38'N-13°47'E

    45°38'N-13°47'E Chieftain

    Joined:
    Jun 7, 2008
    Messages:
    5,621
    Location:
    Just wonder...
    Certainly python, maybe dll too, I don't remember.
     
  2. Zeta Nexus

    Zeta Nexus Chieftain

    Joined:
    Jan 23, 2014
    Messages:
    2,476
    Location:
    In a constant brainstorm...
    Would it be a big thing to put a slider bar next to the specialists the same way as there is for resources?
     
  3. 45°38'N-13°47'E

    45°38'N-13°47'E Chieftain

    Joined:
    Jun 7, 2008
    Messages:
    5,621
    Location:
    Just wonder...
    I don't have much experience with python, so I don't know.
     
  4. platyping

    platyping Sleeping Dragon

    Joined:
    Oct 22, 2010
    Messages:
    4,626
    Location:
    Emerald Dreams
    Making them visible is purely xml.
    Defining the specialist area is purely python.
    Adding a slider to that area is again python. Depending on your experience with python, it can be a big or small issue. The default BTS code definitely don't have that and you have to rewrite that section.
     
  5. Zeta Nexus

    Zeta Nexus Chieftain

    Joined:
    Jan 23, 2014
    Messages:
    2,476
    Location:
    In a constant brainstorm...
    Which file is responsible for specialist area? My python Xp is close to none but I'm ready to learn :)
     
  6. platyping

    platyping Sleeping Dragon

    Joined:
    Oct 22, 2010
    Messages:
    4,626
    Location:
    Emerald Dreams
    CvMainInterface, updateCitizenButtons
     
  7. Zeta Nexus

    Zeta Nexus Chieftain

    Joined:
    Jan 23, 2014
    Messages:
    2,476
    Location:
    In a constant brainstorm...
    While looking at the code I started to wonder if it really is the specialist area I have to edit or rather the resource area? :think:
    Last night I did a quick testing making the greatprothet visible in the xml. It appeared behind the resource list.
    I guess this is the part I need to edit, right?
    PHP:
    # Rise of Mankind 2.9 - resource bar
        
    def updateResourceStringsself ):
            
    screen CyGInterfaceScreen"MainInterface"CvScreenEnums.MAIN_INTERFACE )
            
    xResolution screen.getXResolution()
            
    yResolution screen.getYResolution()
            
    pPlayer gc.getPlayer(gc.getGame().getActivePlayer())
    #        global bshowResourceBar

            
    if (RoMOpt.isResourceBarTypesAll()):
                for 
    szBonus in bonusTypes:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
                for 
    szBonus in bonusTypes2:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
                for 
    szBonus in bonusTypes3:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
                for 
    szBonus in bonusTypes4:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
                for 
    szBonus in bonusAllTypes:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
            
    elif (RoMOpt.isResourceBarTypesRush()):
                for 
    szBonus in bonusRushTypes:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
            
    elif (RoMOpt.isResourceBarTypesStrategic()):
                for 
    szBonus in bonusStrategicTypes:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
            
    elif (RoMOpt.isResourceBarTypesManufactured()):
                for 
    szBonus in bonusManufacturedTypes:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
            
    elif (RoMOpt.isResourceBarTypesFood()):
                for 
    szBonus in bonusFoodTypes:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
            
    elif (RoMOpt.isResourceBarTypesLuxury()):
                for 
    szBonus in bonusLuxuryTypes:
                    
    szName "ResourceText" szBonus
                    screen
    .hideszName )
                    
            
    screen.hide"ResourceBackground" )


            
    iWidth 0
            iCount 
    0
            iBtnHeight 
    18
            yCoord 
    85

            
    if (RoMOpt.isShowResourceBar()):
                if (
    RoMOpt.isResourceBarTypesAll()):
                    if (
    not CyInterface().isCityScreenUp() and CyInterface().isScoresVisible() and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_HIDE_ALL and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_MINIMAP_ONLY and CyEngine().isGlobeviewUp() == False):
                    
                        for 
    szBonus in bonusTypes:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
    #                        if (pPlayer.getBonusImport(iBonus) == 1):
    #                            szTempBuffer += u"%c: <color=255,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"

                            
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY40yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                        iCount 
    0

                        
    for szBonus in bonusTypes2:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY80yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                
                        iCount 
    0

                        
    for szBonus in bonusTypes3:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY120yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                
                        iCount 
    0

                        
    for szBonus in bonusTypes4:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY160yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                
                        iCount 
    0
                    
                        screen
    .setPanelSize"ResourceBackground"6yCoord 18, (iWidth 4) + 22, (iBtnHeight 19) + 12 )
                        
    screen.show"ResourceBackground" )
                        
                
    elif (RoMOpt.isResourceBarTypesRush()):
                    if (
    not CyInterface().isCityScreenUp() and CyInterface().isScoresVisible() and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_HIDE_ALL and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_MINIMAP_ONLY and CyEngine().isGlobeviewUp() == False):
                        for 
    szBonus in bonusRushTypes:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY40yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                            
                        screen
    .setPanelSize"ResourceBackground"6yCoord 18iWidth 12, (iBtnHeight iCount) + 12 )
                        
    iCount 0
                        screen
    .show"ResourceBackground" )

                
    elif (RoMOpt.isResourceBarTypesStrategic()):
                    if (
    not CyInterface().isCityScreenUp() and CyInterface().isScoresVisible() and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_HIDE_ALL and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_MINIMAP_ONLY and CyEngine().isGlobeviewUp() == False):
                        for 
    szBonus in bonusStrategicTypes:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY40yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                            
                        screen
    .setPanelSize"ResourceBackground"6yCoord 18iWidth 12, (iBtnHeight iCount) + 12 )
                        
    iCount 0
                        screen
    .show"ResourceBackground" )
                        
                
    elif (RoMOpt.isResourceBarTypesManufactured()):
                    if (
    not CyInterface().isCityScreenUp() and CyInterface().isScoresVisible() and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_HIDE_ALL and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_MINIMAP_ONLY and CyEngine().isGlobeviewUp() == False):
                        for 
    szBonus in bonusManufacturedTypes:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY40yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                            
                        screen
    .setPanelSize"ResourceBackground"6yCoord 18iWidth 12, (iBtnHeight iCount) + 12 )
                        
    iCount 0
                        screen
    .show"ResourceBackground" )
                        
                        
                
    elif (RoMOpt.isResourceBarTypesFood()):
                    if (
    not CyInterface().isCityScreenUp() and CyInterface().isScoresVisible() and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_HIDE_ALL and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_MINIMAP_ONLY and CyEngine().isGlobeviewUp() == False):
                        for 
    szBonus in bonusFoodTypes:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY40yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                            
                        screen
    .setPanelSize"ResourceBackground"6yCoord 18iWidth 12, (iBtnHeight iCount) + 12 )
                        
    iCount 0
                        screen
    .show"ResourceBackground" )
                
    elif (RoMOpt.isResourceBarTypesLuxury()):
                    if (
    not CyInterface().isCityScreenUp() and CyInterface().isScoresVisible() and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_HIDE_ALL and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_MINIMAP_ONLY and CyEngine().isGlobeviewUp() == False):
                        for 
    szBonus in bonusLuxuryTypes:
                            
    iBonus gc.getInfoTypeForString(szBonus)
                            
    szBuffer u"<font=2>"
                            
    szTempBuffer ""
                            
    if (pPlayer.getNumAvailableBonuses(iBonus) < 10):
                                
    szTempBuffer += " "
                            
    if(pPlayer.getNumAvailableBonuses(iBonus) == 0):
                                
    szTempBuffer += u"%c: <color=255,0,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    elif(pPlayer.getNumAvailableBonuses(iBonus) == 1):
                                
    szTempBuffer += u"%c: <color=255,255,255>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            else:
                                
    szTempBuffer += u"%c: <color=0,255,0>%d</color>" %(gc.getBonusInfo(iBonus).getChar(), pPlayer.getNumAvailableBonuses(iBonus))
                            
    szBuffer szBuffer szTempBuffer
                            szBuffer 
    szBuffer "</font>"
                            
    if ( CyInterface().determineWidthszBuffer ) > iWidth ):
                                
    iWidth CyInterface().determineWidthszBuffer )
                            
    szName "ResourceText" szBonus
                            screen
    .setTextszName"ResourceBackground"szBufferCvUtil.FONT_RIGHT_JUSTIFY40yCoord + (iCount iBtnHeight) + 24, -0.3FontTypes.SMALL_FONTWidgetTypes.WIDGET_PEDIA_JUMP_TO_BONUSiBonus, -)
                            
    screen.showszName )
                            
    iCount iCount 1
                            
                        screen
    .setPanelSize"ResourceBackground"6yCoord 18iWidth 12, (iBtnHeight iCount) + 12 )
                        
    iCount 0
                        screen
    .show"ResourceBackground" )
            
    yCoord 85
            iCount 
    0
    # Rise of Mankind 2.9 - resource bar
    Maybe decreasing
    iBtnHeight = 18
    or
    yCoord = 85
    would help?
     
  8. platyping

    platyping Sleeping Dragon

    Joined:
    Oct 22, 2010
    Messages:
    4,626
    Location:
    Emerald Dreams
    Because the default BTS code didn't expect modders to add new specialists. New specialists added are simply extended upwards, into the resource area.

    If you only intend to add 1 or 2 specialists, the simplest way is to reduce the resource area to make space.

    To solve it permanently for the future, the entire specialist section has to be redesigned to have a slider to accommodate any number of specialists without any modifications to python.
     
  9. Zeta Nexus

    Zeta Nexus Chieftain

    Joined:
    Jan 23, 2014
    Messages:
    2,476
    Location:
    In a constant brainstorm...
    Thank you very much.

    Now I'm trying to figure out how to make specialist icons a bit smaller and closer to each other...
     
  10. platyping

    platyping Sleeping Dragon

    Joined:
    Oct 22, 2010
    Messages:
    4,626
    Location:
    Emerald Dreams
    Look for citizen buttons near top
     
  11. Zeta Nexus

    Zeta Nexus Chieftain

    Joined:
    Jan 23, 2014
    Messages:
    2,476
    Location:
    In a constant brainstorm...
    I tried to spice the game loading by creating a lot of load screens. Did edit CIV4MainMenus.xml:

    Code:
    		<MainMenu>
    			<Type>MAIN_MENU_VANILLA</Type>
    			<Description>Civilization IV</Description>
    			<Scene>MAINMENU_SCENE_VANILLA</Scene>
    			<SceneNoShader>MAINMENU_SCENE_VANILLA</SceneNoShader>
    			<Soundtrack>AS2D_OPENING_MENU_VANILLA</Soundtrack>
    			<Loading>MAINMENU_LOAD</Loading>
    <!--            <Loading1>MAINMENU_LOAD</Loading1>
                <Loading2>MAINMENU_LOAD</Loading2>
                <Loading3>MAINMENU_LOAD</Loading3>
                <Loading4>MAINMENU_LOAD</Loading4>-->
                <Loading1>CHRONICLES_LOAD_01</Loading1>
                <Loading2>CHRONICLES_LOAD_02</Loading2>
                <Loading3>CHRONICLES_LOAD_03</Loading3>
                <Loading4>CHRONICLES_LOAD_04</Loading4>
                <Loading5>CHRONICLES_LOAD_05</Loading5>
                <Loading6>CHRONICLES_LOAD_06</Loading6>
                <Loading7>CHRONICLES_LOAD_07</Loading7>
                <Loading8>CHRONICLES_LOAD_08</Loading8>
                <Loading9>CHRONICLES_LOAD_09</Loading9>
                <Loading10>CHRONICLES_LOAD_10</Loading10>
                <Loading11>CHRONICLES_LOAD_11</Loading11>
                <Loading12>CHRONICLES_LOAD_12</Loading12>
                <Loading13>CHRONICLES_LOAD_13</Loading13>
                <Loading14>CHRONICLES_LOAD_14</Loading14>
                <Loading15>CHRONICLES_LOAD_15</Loading15>
                <Loading16>CHRONICLES_LOAD_16</Loading16>
                <Loading17>CHRONICLES_LOAD_17</Loading17>
                <Loading18>CHRONICLES_LOAD_18</Loading18>
                <Loading19>CHRONICLES_LOAD_19</Loading19>
                <Loading20>CHRONICLES_LOAD_20</Loading20>
                <Loading21>CHRONICLES_LOAD_21</Loading21>
                <Loading22>CHRONICLES_LOAD_22</Loading22>
                <Loading23>CHRONICLES_LOAD_23</Loading23>
                <Loading24>CHRONICLES_LOAD_24</Loading24>
                <Loading25>CHRONICLES_LOAD_25</Loading25>
                <Loading26>CHRONICLES_LOAD_26</Loading26>
                <Loading27>CHRONICLES_LOAD_27</Loading27>
    			<LoadingSlideshow>MAINMENU_SLIDESHOW_LOAD</LoadingSlideshow>
    		</MainMenu>
    
    but it seems to be limited to 4 :( Is there a way to trick that?


    p.s.:
    I asked this first in the Quick Modding Questions Thread and learned that random loadscreens aren't part of Civ4.
     
  12. vincentz

    vincentz Divemaster

    Joined:
    Feb 4, 2009
    Messages:
    3,460
    Location:
    Denmark
    Hey guys :D
    I understand AND2 have a feature that allows savegames to be compatible even after new units/buildings/promotions etc have been added.
    Anyone would like to point me to where in the code this have been enabled, so I can steal gracefully borrow it for VIP?
     
  13. 45°38'N-13°47'E

    45°38'N-13°47'E Chieftain

    Joined:
    Jun 7, 2008
    Messages:
    5,621
    Location:
    Just wonder...
    I'm not sure when it's been added but I think Afforess did it a long time ago. I'm not even sure if we imported that feature from C2C or the opposite. I also think it's been improved through a long time, adding more content that was allowed through different revisions. Probably that part of the code is in the load/save functions but I can't check where it's located because I'm away from my modding pc until the end of the month.
     
  14. btsuser

    btsuser Chieftain

    Joined:
    Mar 2, 2015
    Messages:
    4
    How would I modify ROS-AND to allow for great people to discover more than 1 technology in the same turn? Currently, the first great person would discover 1 tech, then the second great person would discover the SAME tech. I want it to move to the next technology to be discovered. Thanks.
     
  15. dbkblk

    dbkblk Chieftain

    Joined:
    Oct 28, 2005
    Messages:
    1,774
    Location:
    France
    I have added this feature by adding new line to this file AND to the DLL. Unfortunately, it has to be edited.
    It was a basic check on 4 first lines but I'm sure it can be edited easily to get the number of loading screen.
     
  16. 45°38'N-13°47'E

    45°38'N-13°47'E Chieftain

    Joined:
    Jun 7, 2008
    Messages:
    5,621
    Location:
    Just wonder...
    Good to know, I can take care of that I think. :)
     
  17. 45°38'N-13°47'E

    45°38'N-13°47'E Chieftain

    Joined:
    Jun 7, 2008
    Messages:
    5,621
    Location:
    Just wonder...
    You have to wait for the next turn, I'm not sure how it works in BTS. I think it's an exploit using many of them in the same turn.
     
  18. dbkblk

    dbkblk Chieftain

    Joined:
    Oct 28, 2005
    Messages:
    1,774
    Location:
    France
    The easiest way to achieve that is to add a new xml tag where you define the number of loading screen to check, then in the DLL, you load this value and loop through the loading screen tags based on the value defined.
    The drawback of this is that it can lead the game to crash if you define a higher value than the number of lines defined, but that's an easy fix, so no problem :)
     
  19. 45°38'N-13°47'E

    45°38'N-13°47'E Chieftain

    Joined:
    Jun 7, 2008
    Messages:
    5,621
    Location:
    Just wonder...
    OK, thanks for the advice! :)
     
  20. Arkatakor

    Arkatakor Chieftain

    Joined:
    Mar 11, 2006
    Messages:
    556
    Gender:
    Male
    Location:
    Stockholm, Sweden
    I have created a mini-mod for Civ5 whereby I am leaning on the Civ4 tech tree design. Being a long time player of AND, I was wondering if I could use / borrow some ideas from AND's tech tree / buildings. I would of course fully credit this mod as the source of a lot of my ideas should you be up for it.
     

Share This Page