1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Is there a way to hide score in scoreboard (multiplayer)

Discussion in 'Civ4 - General Discussions' started by sahbaz, Jun 10, 2021 at 3:37 AM.

  1. sahbaz

    sahbaz Chieftain

    Joined:
    Jun 6, 2021
    Messages:
    13
    Gender:
    Male
    Hey all,

    I have seen some discussions related to this, my friends and me would like to hide scores, in ideal use-case, score would be hidden and al nations wont be sorted by score on scoreboard.

    I know/assume for this that some changes needs to be done in:
    Assets\Python\Screens\CvMainInterface

    Is there someone who might know how to do this ?
     
  2. Ita Bear

    Ita Bear Chieftain

    Joined:
    Dec 8, 2020
    Messages:
    52
    Hi sahbaz

    Perhaps I'm not understanding you correctly, but I think you can hide the scoreboard by clicking on your name/civilisation in the lower right corner. This should make all other civ names disappear. Is that what you mean?

    Kind regards,
    Ita Bear
     
  3. sahbaz

    sahbaz Chieftain

    Joined:
    Jun 6, 2021
    Messages:
    13
    Gender:
    Male
    Yes that is correct, but still if I want to talk with other civs I need to show them and to click on it. And in multiplayer how I can know that my friends wont be "cheating" :lol:
    There must be solution to this, i have seen that in some modes they upgraded this scoreboard to show more info like (difficulty level and things like that)
     
  4. civac

    civac Warlord

    Joined:
    Oct 22, 2010
    Messages:
    242
  5. lymond

    lymond Rise Up! (Phoenix Style!) Moderator Hall of Fame Staff

    Joined:
    Mar 11, 2008
    Messages:
    22,557
    Well, BUG mod (or BUG + BULL) includes the Advanced Scoreboard component. I’ve never jacked with it myself, but basically the scoreboard is customizable. In the BUG options in-game you can add or remove what the scoreboard displays. Not sure if that includes the score itself, or the sorting aspect.

    (You can talk to civs via the foreign advisor scren too btw)
     
  6. sahbaz

    sahbaz Chieftain

    Joined:
    Jun 6, 2021
    Messages:
    13
    Gender:
    Male

    If I remove it from the BUG options in game, does that means all other guys in multiplayer will share same settings as server ?
    What I mean is, if I am host, and I turn off scoreboard in BUG menu, does that means same for all other human players in the game ?
     
  7. f1rpo

    f1rpo plastics

    Joined:
    May 22, 2014
    Messages:
    970
    Location:
    Germany
    I think that's the right approach. You could search that file for "playerscore". Maybe replacing all uses of player scores with 0 would already pretty much give you what you want. May also have to look at uses of playerscore and teamscore in BUG's Scoreboard.py. The Victory screen (CvVictoryScreen.py) also shows some team scores. If you're not used to editing Civ's Python scripts: Setting LoggingEnabled=1 in CivilizationIV.ini is pretty indispensable. Can then consult PythonErr.log or enable error popups in the INI (HidePythonExceptions=0).
    They do it through a DLL change. That DLL function is only a wrapper for a Python call; returning 0 from CvUtil.getScoreComponent should accomplish the same thing. However, if I'm not mistaken, such a change will not merely hide scores but keep scores at 0, and that will affect AI behavior, e.g. the hidden rank-based diplo modifiers (not hidden in BULL - due to the included Show Hidden Attitude mod). Well, if you play multiplayer without any AI civs, then it should be fine. I don't think any game rules hinge on scores and ranks. Though replays and Hall of Fame won't show scores then.
    No. BUG settings aren't synchronized, they only apply locally. Edit: UI changes in Python also won't be synchronized; you'd have to send the files you've modified to the other players beforehand.
     
    Last edited: Jun 10, 2021 at 12:03 PM
  8. sahbaz

    sahbaz Chieftain

    Joined:
    Jun 6, 2021
    Messages:
    13
    Gender:
    Male

    We actually play with AI, so 3 of us and 15+ AIs, and if i understood you correctly, if we change score for everyone to be for example 1, it will affect AI behavior ?
     
  9. lymond

    lymond Rise Up! (Phoenix Style!) Moderator Hall of Fame Staff

    Joined:
    Mar 11, 2008
    Messages:
    22,557
    If yall play with BUG, everyone needs to have BUG installed. My understanding is with MP, players need like assets or you get syncing issues.

    Score is a customizable item in the mod component I mentioned. Here's a copy/paste from the BUG Mod Help file:

    Spoiler :

    Instructions

    The Advanced Scoreboard can be configured in the Scoreboard tab of the BUG Options Screen (Alt+Ctrl+O). Selecting the 'Advanced Layout: Enabled' checkbox, you can fully customize the Scoreboard.

    The 'Column Order' text box allows you to choose which items to show in the Scoreboard and in which order, simply by typing the corresponding code in the box (the edit box has hover text detailing the available codes). The codes that you can use in this box, to display the corresponding items, are the following (note that the last three (*LO) are displayed only for your opponents in a multiplayer game, the first four (SZVC) and State Religion (R) are displayed even for your Civilization, while the others are displayed only for your opponents):



    • S displays the civ's score
    • Z displays the civ's score variation towards previous turn (if the 'Score Delta' checkbox is selected and according to what is selected in the 'Include Current Turn' checkbox)
    • V displays a silver star if the civ has at least one vassal
    • C displays the civ's/leader's name (according to what is selected in the 'Display Name' and 'Use Player Name' checkboxes, and aligned according to what is selected in the 'Left-Align' checkbox)
    • ? displays a question mark if you have not yet met the civ
    • W displays a crossed swords icon if you are at war with the civ, or a peace symbol icon if you have signed a Peace Treaty with the civ
    • P displays the civ's power ratio compared to you (according to the values which have been selected in the 'Power Ratio' option boxes)
    • T displays the tech the civ is researching, if it is known to you (as icon or name according to what is selected in the 'Research Icons' checkbox)
    • U displays the number of research turns left, if it is known to you (for vassals, for team-mates or by espionage)
    • E displays a spy icon if you have a positive espionage point ratio against the civ.
    • N displays a trade icon if the civ is connected to your trade network
    • B displays a parchment icon if you have an Open Borders agreement with the civ
    • D displays a parchment icon (different from the previous one) if you have a Defensive Pact with the civ
    • R displays the the civ's state religion
    • A displays an icon showing the civ's attitude toward you (if the 'Attitude Icons' checkbox is selected)
    • H displays an angry man icon if you are the Worst Enemy of the civ (if the 'Worst Enemy Icons' checkbox is selected)
    • M displays a red fist if the civ is mobilizing for war or in a war itself (a.k.a. We Have Enough on Our Hands)
    • * displays an asterisk when you are waiting for this civ to finish its turn
    • L displays civ's network stats (ping)
    • O the network player is 'out-of-sync'
    • number set the number of spacing pixels after the previous column (the default spacing value is ignored for columns with a specified spacing value; negative values are acceptable to bring two columns closer together)
    • space ignored, for making the sequence of codes more readable


    I did not see anything regarding sorting of the scoreboard, but maybe this is something that is moddable. (I'm not a modder)

    I had two trains of thought here. One is that you and your friends install BUG (or BUG+BULL), and make the change in the options to remove score from the scoreboard. (I assume you have consensus among your group for this change) The second thought is to make this change to the BUG mod itself. (Not sure if compiling is necessary) Then everyone installs the altered version of BUG.

    I did a quick scan of the Scoreboard python file. There is sorting code in there. I'm not a python coder so I don't know how or if that can be altered to the desired effect. I'm attaching the file.

    I zip version of BUG exists that contains all the files as opposed to the installer version. (exe)

    If you need help with modding in general, I recommend asking questions over in the Creation and Customization Forum.
     

    Attached Files:

  10. civac

    civac Warlord

    Joined:
    Oct 22, 2010
    Messages:
    242
    I'm currently playing a Pitboss with CTH and NoSore enabled. Opponents have modifiers like "Backwards nations should work together" or some such in the diplo screen. (Yes, this is MP. The mod includes BUG which leads to some oddities.) I suspect AI behavior would work properly with their way to disable score.
     
  11. f1rpo

    f1rpo plastics

    Joined:
    May 22, 2014
    Messages:
    970
    Location:
    Germany
    Well, if those modifiers don't just appear randomly (there will be some ranking even if everyone has the same score), then I stand corrected. A recent post by @Charriu at Realms Beyond also says that "Even under NoScore the game still knows the score, it only doesn't show it." However, looking at the latest code, it seems that CvGame::updateScore computes scores and ranks for teams and players through CvPlayer::calculateScore, which returns 0 for dead civs and 1 otherwise. And the ranks computed by CvGame are used for the low-rank attitude (CvPlayerAI::AI_getLowRankAttitude) that BULL displays as "developing nations ...". I may be missing something here. :undecide:
     
  12. sahbaz

    sahbaz Chieftain

    Joined:
    Jun 6, 2021
    Messages:
    13
    Gender:
    Male
    Thank you guys for detailed answers and help, I actually contacted Charriu and he explained me what needs to be done. Basically what he told me is that 2 things need to be updated, and this should work with basically every mode, for example for Realism Invictus i had to update this:

    in CvMainInterface file:

    Code:
    sText1 += u"<color=%d,%d,%d,%d>%d</color>" %(pPlayer.getPlayerTextColorR(), pPlayer.getPlayerTextColorG(), pPlayer.getPlayerTextColorB(), pPlayer.getPlayerTextColorA(), CyGame().getPlayerScore(iPlayer))
    
    into
    
    sText1 += u"<color=%d,%d,%d,%d>%d</color>" %(pPlayer.getPlayerTextColorR(), pPlayer.getPlayerTextColorG(), pPlayer.getPlayerTextColorB(), pPlayer.getPlayerTextColorA(), 42)
    
    
    And
    
    iScore = gc.getGame().getPlayerScore(ePlayer)
    
    into
    
    iScore = 5 (or score which you want to be shown)


    and in CvInfoScreen

    Code:
    if (scoreType == self.TOTAL_SCORE): return iScore
    to
    if (scoreType == self.TOTAL_SCORE): return 5
    The thing is, this are changes only on UI, so it wont affect on AI's behavior, which is good thing of course :)


    Again thank you guys for answers and special thanks to Charriu, he is very cool guy and he provided code changes immediately after I asked
     
    Set and lymond like this.

Share This Page