1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. I will no longer be hosting XLNation as of March 1, 2017. Unless some one steps forward to take over the domain name and provide hosting XLNation will shutdown. If you are seriously interested in taking on this project and can technically and financially support the project please contact me.

Tutorial Cities XL Tweaking and Some Suggestion

This tutorial will tweak some GamePlay experience

  1. XL Nation Staff
    Migrator's note: mylipho15 is the original author of this tutorial.



    Step 1: Increase Consumption/Increase Production

    Goto File: "Data\Design\Resource\CityResourcesConsumption.xml" and find this:
    <resources>
    <RELE_0>0</RELE_0> <!-- POWER -->
    <RFUE_0>0</RFUE_0> <!-- OIL -->
    <RWAT_0>0</RWAT_0> <!-- WATER -->
    <RWAS_0>0</RWAS_0> <!-- WASTE -->
    <RFRE_0>0</RFRE_0> <!-- FREIGHT -->
    <RHOL_1>0</RHOL_1> <!-- HOLIDAY HOTEL -->
    <RPAS_0>0</RPAS_0> <!-- PASSENGER -->
    <ROFF_0>0</ROFF_0> <!-- OFFICE -->
    <RHOT_0>0</RHOT_0> <!-- BUSINESS HOTEL -->
    <RIN1_0>0</RIN1_0> <!-- HEAVY INDUSTRY -->
    <RIN2_0>0</RIN2_0> <!-- MANUFACTURING -->
    <RIN3_0>0</RIN3_0> <!-- HIGH TECH -->
    <RAGR_0>0</RAGR_0> <!-- FARM FIELD -->
    <RRET_1>0</RRET_1> <!-- RETAIL -->
    <RLEI_1>0</RLEI_1> <!-- LEISURE -->
    </resources>

    If you entered Positive number, you need build what are required for. If you entered Negative number, you don't need to build what are required for. Simply, negative number like producing but no buildings or trade active. Example: 1000 The Demand Stats will go left and you need to build and produce more. And -1000 The Demand Stats will go right so you don't need build to produce because already in city.

    Step 2: Increase/Decrease Game Speed

    Goto File: "Data\Config\SimTimeSettings.cfg"
    <Time>
    <StepTime>1</StepTime>
    <TurnStepCount>60</TurnStepCount>
    <NbSubStepByStep>50</NbSubStepByStep>
    <Speed>

    <Multiplier0>2</Multiplier0> <!-- ORIGINAL IS 2 -->

    <Multiplier1>100</Multiplier1> <!-- ORIGINAL IS 5 -->
    <Multiplier2>200</Multiplier2> <!-- ORIGINAL IS 10 -->
    <Multiplier3>400</Multiplier3> <!-- ORIGINAL IS 20 -->
    <Multiplier4>800</Multiplier4> <!-- ORIGINAL IS 40 -->
    </Speed>
    <DayAndNight>
    <!-- Duration in seconds -->
    <Duration>720</Duration>
    </DayAndNight>
    </Time>

    More number entered from Multiplier will increase speed of your Citizen Progress, otherwise. games will run slower (not lag).

    Step 3: Decrease Blueprint Construction and Remove Blueprint Step Construction

    Example Blueprint: Tokyo Tower "b_ldm_tokyotvtower_c3_t3.class"
    INGAME_DISPLAY

    <Display>
    <Model>Data/Gfx/Building/b_ldm_tokyotvtower_c3_t3.sgbin</Model>

    <Placeholder>Data/Gfx/Placeholder/b_aaind_t3.sgbin</Placeholder>
    <Fundament>
    <Use>1</Use>
    <Model>""</Model>
    </Fundament>
    <EditModeOnly>0</EditModeOnly>
    <Thumb>""</Thumb>
    </Display>

    Remove "_C3_" from Section and result is "b_ldm_tokyotvtower_t3.sgbin"
    LAYOUT
    <Layouts>
    <UndefinedAdjustHeight>0</UndefinedAdjustHeight>

    <LayoutFile1>Data/Design/Layout/Landmark/b_ldm_tokyotvtower_c3_t3_Base.layout</LayoutFile1>

    </Layouts>
    Remove _C3_ from Section and result is "b_ldm_tokyotvtower_t3_base.layout"
    STEPS
    Change from Before
    <Blueprint>tokyotvtower</Blueprint>
    <BlueprintStep>2</BlueprintStep>
    <BlueprintFileNextStep>Data/Design/Buildings/BluePrint/b_ldm_tokyotvtower_t3.class</BlueprintFileNextStep>

    To this
    <!-- <Blueprint>tokyotvtower</Blueprint> -->
    <!-- <BlueprintStep>2</BlueprintStep> -->
    <!-- <BlueprintFileNextStep>Data/Design/Buildings/BluePrint/b_ldm_tokyotvtower_t3.class</BlueprintFileNextStep> -->

    Misc
    <IsDestroyable>0</IsDestroyable>
    <IsAskForDestroyRequired>0</IsAskForDestroyRequired>

    Must be enabled (1) to make this Blueprint like Landmarks
    Step 4: Disable City ScreenShot When Loading Cities

    Goto File "Data\Interface\Panels\ZTopLoading\ZTopLoading.lua" and find this
    if (ImgFile ~= nil) and (FileSystem:FileExistEx(ImgFile, tonumber(netapi.E_LOCAL_APPDATA)) == true) then
    RandomImage = false

    Disable this --> if (ZTOPLOADING.CurrentImg ~= ImgFile) then

    Disable this --> ZTOPLOADING.CurrentImg = ImgFile
    Disable this --> SCALEFORMMGR:DoActionScriptWithArg("ZTOPLOADING","LoadImg",ZTOPLOADING.CurrentImg.."|true")
    Disable this --> end
    end

    Step 5: Using Custom Music

    Goto Folder "Data\Interface\Screens\" and find this file:
    1. S_OUTGAMEMENU
    2. S_AVATAR
    3. S_GAME
    4. S_PLANET
    S_OUTGAMENU
    S_OUTGAMEMENU = {}
    function S_OUTGAMEMENU:OnOpen()

    Interface:OpenPanel("OUTGAMEMENU")

    OUTGAMEMENU:OnPanelOpen()

    Add This --> Playlist:Stop()

    Add This --> Playlist:Load("data/sound/music/outgamemenu.m3u" )
    Add This --> Playlist:Shuffle(true)
    Add This --> Playlist:play()
    Add This --> Playlist:Loop(true)

    InterfaceMgr.CurrentScreen ="OUTGAMEMENU"
    InterfaceMgr:ScreenChange()

    end

    S_AVATAR
    function S_AVATAR:OnOpen()

    PLANET:SetVisibleAllCitiesIcons(false)
    Interface:OpenPanel("AVATARSCREEN")
    AVATARSCREEN:OnPanelOpen()

    Add This --> Playlist:Stop()

    Add This --> Playlist:Load("data/sound/music/avatar.m3u" )
    Add This --> Playlist:Shuffle(false)
    Add This --> Playlist:play()
    Add This --> Playlist:Loop(true)

    InterfaceMgr.CurrentScreen ="AVATARSCREEN"
    InterfaceMgr:ScreenChange()
    SCALEFORMMGR:DoActionScriptWithArg(InterfaceMgr.CurrentScreen, "_root.SetDemoMode", tostring(DemoMode));

    end


    S_GAME
    INGAME:OnPanelOpen()

    Add This --> Playlist:Stop()

    Add This --> Playlist:Load("data/sound/music/ingame.m3u" )
    Add This --> Playlist:Shuffle(true)
    Add This --> Playlist:play()
    Add This --> Playlist:Loop(true)

    InterfaceMgr.CurrentScreen ="INGAME"

    S_PLANET
    PLANET:OnPanelOpen()

    Add This --> Playlist:Stop()
    Add This --> Playlist:Load("data/sound/music/planet.m3u" )
    Add This --> Playlist:Shuffle(true)
    Add This --> Playlist:play()
    Add This --> Playlist:Loop(true)


    Hints: You can add custom music by creating M3U Playlist from AIMP/Winamp and then place it to Music Folder then you can change this section with saved M3U playlist. Example Playlist:Load("data/sound/music/rocklist.m3u" )

    ALL TRICK WILL BE POSTED HERE SOON AS POSSIBLE
    Step 6: Reduce Memory Usage by Converting all Sounds to .MP3 (Expect for Interface Sounds)

    Goto Folder "Data\Sounds" Follow this steps:
    1. In Ambiance Folder, convert all file from .WAV Format to .MP3 Format, Set Convert Menthod to 24000Hz and 128kbps Quality (because Cities XL is limited sound engine to 24000Hz)
    2. Open SoundDB, replace all .WAV to .MP3 and Save
    3. In Effect Folder, do Same with Step 1 and 2
    4. Done. I had tried this and now memory usage is reduced by 15%
    Footnote: If the file does not exist, copy it text above into notepad and save the file according with the existing field (example: interface.lua)
    This is a part of our old Cities XL 2009 development: Cities XL ID (formerly eSeMDe XL)
    Steven H. Endermann likes this.