1. If you are going to register on XLNation, please make sure you do not use a proxy server.
    If you use a proxy server your registration will most likely get blocked due to spammers and hackers using proxy servers to hide their real IP address.

    If your using your home or work IP address and have not received your registration email, check your spam folder.
    PLEASE DO NOT ASK TO HAVE YOUR ACCOUNT DELETED IF YOU HAVE POSTED IN THE FORUM! If so we do not delete accounts due to the mess it can make on the forum.
    Dismiss Notice
  2. Please see the following thread for more information
    XLN's future is looking kind of grim

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.