Announcement

Collapse
No announcement yet.

MULTIPLAY : The GameLeague is dead , The Battlefield lifes !!!!!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by child of Thor

    Hi Locutus! Sorry for 'that' thread, hmmmm....i think i wasn't thinking too clearly!
    Don't worry, no hard feelings (not on my behalf anyway). I actually liked it, gives the mods the impression that this forum need an official moderator I've been trying to become mod of these forums for ages but Markos still refuses to make me one (No, that doesn't mean you should break the rules more often )

    Load origional CTP2 only(official patch Y/N?) - i guess yes.
    try to replicate 'rush buy' bug.
    add/edit above SLIC to relevent place.
    try to replicate bug/ as host as not host - watch for other strange things.

    Sound ok?
    Cool, it would be great if you could test this Yeah, you should have the patch installed but nothing else. The list of things to be done sounds about right.
    Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

    Comment


    • #32
      O.k Locutus I've replicated the rush-buy bug and am know about to try the code on the Host computer first.
      2 things, where 'exactly' are the scenario.slc and scen_str.txt files located?
      I've found 'Ctp2_data\default\gamedata\scenario.slc' is that the one cause i found another scenario.slc somewhere else(!).
      And i've got 'Ctp2_data\english\gamedata\scen_str.txt' is that ok?
      I'm using Notepad to view the files and when opening the scenario.slc it has a message in it saying it should be empty blah blah - its just a few lines with // in it ,shall i delete it? Oh and are the 'spaces' between brackets important in that they need to be exact(wow i AM new to this ) oh if any one else can answer then feel free to do so.......its getting late and it's Saturday night and my girlfriend is NOT happy!
      'The very basis of the liberal idea – the belief of individual freedom is what causes the chaos' - William Kristol, son of the founder of neo-conservitivism, talking about neo-con ideology and its agenda for you.info here. prove me wrong.

      Bush's Republican=Neo-con for all intent and purpose. be afraid.

      Comment


      • #33
        The locations you mentioned are the right ones. If you find other files with the same name, those are of the scenarios.

        Forget about the content of scenario.slc, it doesn't matter. You can leave them as they are or remove them, whatever you want. The '//' indicate that they are comments (lines of code that will be ignored by the game). The use of spaces is irrelevent, they are jsut for making the code easier to read for humans.
        Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

        Comment


        • #34
          Originally posted by Locutus
          ....... making the code easier to read for humans.
          This bit has me worried.....so where are you from?

          Give me an hour or so, that should be enough to see what happens, and thanks for the confirmation.
          'The very basis of the liberal idea – the belief of individual freedom is what causes the chaos' - William Kristol, son of the founder of neo-conservitivism, talking about neo-con ideology and its agenda for you.info here. prove me wrong.

          Bush's Republican=Neo-con for all intent and purpose. be afraid.

          Comment


          • #35
            Originally posted by child of Thor
            so where are you from?
            Unimatrix 01

            Give me an hour or so, that should be enough to see what happens, and thanks for the confirmation.
            I'm probably fast asleep by then (I'm tired as a dog right now), but I'm looking forward to reading your results tomorrow...
            Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

            Comment


            • #36
              O.K that was over a lot quicker than i was expecting and this is what i got.

              Setup: 2 computers(Host+guest) over TCP/IP Local Network.
              CTP2+1.1patch installed from scratch on both.

              Stage1: Got both Host and Guest players to implement 'rush-buy' bug - no problem for either.

              Stage2: Copy/Pasted data into empty files 'scenario.slc' + 'scen_str.txt' on HOST pc only.On Launching game on Host pc got these SLIC errors:

              '......\ctp2.data\default\gamedata\scenario.slc:5: Symbol tmpPlayer is undefined'

              click OK

              '.......\(AS ABOVE).....\scenario.slc:5: Variable 'tmpPlayer' used in assignment has unknown type.'

              click OK game loads as normal.Both players in game ok.

              Host can still 'rush-buy' no warnings on either computer.
              Guest can still 'rush-buy' no warnings on either computer.

              Stage3: Copy/Pasted data into relevant place on Guest pc.

              As above on Launch of CTP2 with same SLIC errors on both pc's.
              Get to Lobby for multiplayer game joined and Launch.
              Now on Launching Guest pc has same 2 SLIC errors but with '.....scenario.slc:6: Symbol....etc' ;the number 5 is replaced by number 6.
              Click OK twice and game Launch's ok.Both players in game.

              Both Host and Guest can still 'rush-buy'. Only strange message was of 'rival has ended quest for glory.(Guest) stopped work on Pyramids.' Even though the Pyramids were still in the Guest players build queue and hadn't even been started yet. This message came up each turn untill they had been built by 'Guest'?

              one other thing on exiting the game(New game) when you returned to the Lobby screen the graphics were corrupted. This only happend after the Slic files had been put in the game.
              Hope this is useful!!!!!!

              EDIT: oh yeah i ran each stage of rush-buying for 10 items each player, so that should have been enough to trigger any message's of cheating?
              'The very basis of the liberal idea – the belief of individual freedom is what causes the chaos' - William Kristol, son of the founder of neo-conservitivism, talking about neo-con ideology and its agenda for you.info here. prove me wrong.

              Bush's Republican=Neo-con for all intent and purpose. be afraid.

              Comment


              • #37
                Looks like there's a coding error...

                Try this one:
                Code:
                int_t     idiotPlayer;
                trigger 'TestMultiplayerPatch1' on "BuildEditorWindow.RushBuyButton" when (1) {
                idiotPlayer=city[0].owner;
                if (g.player!=idiotPlayer) {
                    return STOP;
                   }
                }
                
                trigger 'TestMultiplayerPatch12' on 
                   "ControlPanelWindow.ControlPanel.ControlTabPanel.CityTab.TabPanel.RushBuyButton"
                   when (1) {
                idiotPlayer=city[0].owner;
                if (g.player!=idiotPlayer) {
                    return STOP;
                   }
                }
                
                
                trigger 'TestMultiplayerPatch13' on 
                   "CityWindow.Globals.Tabs.QueueTab.TabPanel.RushBuyButton" when (1) {
                idiotPlayer=city[0].owner;
                if (g.player!=idiotPlayer) {
                    return STOP;
                   }
                }
                
                trigger 'TestMultiplayerPatch14' on 
                   "CityStatusWin.TabGroup.Tab2.TabPanel.RushBuyButton" when (1) {
                idiot=city[0].owner;
                if (g.player!=idiotPlayer) {
                    return STOP;
                   }
                }
                
                HandleEvent(BuyFront) 'LOQ_KillRushBuyBug' post {
                   if (g.player != city[0].owner) {
                      player[0] = city[0].owner;
                      MessageAll('LOQ_KillRushBuyBug_M');
                   }
                }
                
                Alertbox 'LOQ_KillRushBuyBug_M' {
                   Text(ID_LOQ_KILL_RUSHBUY_BUG);
                }
                That way the player (idiotPlayer) is defined globally, and should work in all the triggers fine. I had to use a different name to tmpPlayer to avoid defining it twice elsewhere. AFAIK, no one else uses idiotPlayer as a variable.
                Concrete, Abstract, or Squoingy?
                "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

                Comment


                • #38
                  After thinking about it, "city[0].owner" is a worry too. Those buttons must be pressed BEFORE the BuyFront event can occur, so who's city[0].owner? Maybe it'll work (if at all) when the idiot player tries to rushbuy the second, third, etc. item. But that's assuming that city[0].owner is legitimate in these UI trigger contexts in the first place.

                  Comment


                  • #39
                    O.k Immortal Wombat i'll give it a try when i got some time down the week, Although Peter's comments worry me(without having a clue as to what thet mean ). I got the two Pc's setup so i just got find time to copy/paste the code - gee my programming limits are ....very limited!(but i can do a mean copy/paste )
                    'The very basis of the liberal idea – the belief of individual freedom is what causes the chaos' - William Kristol, son of the founder of neo-conservitivism, talking about neo-con ideology and its agenda for you.info here. prove me wrong.

                    Bush's Republican=Neo-con for all intent and purpose. be afraid.

                    Comment


                    • #40
                      And I worry about this code:

                      PHP Code:
                      HandleEvent(BuyFront'LOQ_KillRushBuyBug' post {
                         if (
                      g.player != city[0].owner) {
                            
                      player[0] = city[0].owner;
                            
                      MessageAll('LOQ_KillRushBuyBug_M');
                         }

                      That looks very similar to this one:

                      PHP Code:
                      HandleEvent(BuyFront)'MG_RuchBuyStop' pre {
                          if (
                      city[0].owner != g.player) {
                              return 
                      STOP;
                          }

                      The result of this code was that no one wasn't able to rush buy anything. I was able to spend the money for the item that I wished to rush buy but I gotn't my item and the money was gone, the AI had the same problem after disabling the code I noticed that the AI got a lot of new units at once. Therefore I supose the rush buy event happens not in the turn of the turn of the cityowner. The consequence of the message is that everytime an item is rush bought this message will go to everyone, although the player paied for the item.

                      -Martin
                      Civ2 military advisor: "No complaints, Sir!"

                      Comment


                      • #41
                        RUSH-BUY-BUG

                        Hey Folks !

                        Thanx for your replies. I think its time to thank all those who coded a usefull advice to correct this bug.

                        Are there any out there who tested some of the sollutions ?
                        Did they work ?

                        PLEASE GIVE ME YOUR FEEDBACK concerning the sollutions.
                        If there are some who work, i will post them on our webpage !

                        DONT forget to visit the ultimate MULTIPLAY PORTAL for Call to Power II !
                        Its open now and totally free, just register!

                        G4L.eu is a platform for leagues. Find a league for your game or contact us to get your game for a league. We offer many tools for players and multiplayer communities. Our platform is free and non-profit.


                        Greetings !

                        Napoleon, webmaster

                        Comment


                        • #42
                          Hmmm.....nope IW it doesn't work i get '......\scenario.slc:29: Symbol idiot is undefined' and '....\scenario.slc:29: Variable 'idiot' used in assignment has unknown type' (I hope this isn't a joke to make me look foolish )on loading CTP2 and upon launching the multiplayer game (the number '29' is replaced by '30' on the other pc). Still the same ability to rush buy as above. Oh i left Locutus's text in the scen_str.txt as he outlined.
                          I never knew of this bug untill recently and i can see why multiplayer in CTP2 has died compared to CTP - luckily as i only play over a local network if some slimy player tried this one in our games i'd have the satisfaction of exacting actual revenge
                          'The very basis of the liberal idea – the belief of individual freedom is what causes the chaos' - William Kristol, son of the founder of neo-conservitivism, talking about neo-con ideology and its agenda for you.info here. prove me wrong.

                          Bush's Republican=Neo-con for all intent and purpose. be afraid.

                          Comment


                          • #43
                            What about idiotPlayer instead of idiot in line 29. That should help.

                            -Martin
                            Civ2 military advisor: "No complaints, Sir!"

                            Comment


                            • #44
                              Yeah, that's the one Martin. Sorry about the variable names, I try to use some apt and unique ones to avoid clashes.
                              Concrete, Abstract, or Squoingy?
                              "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

                              Comment


                              • #45
                                Originally posted by Immortal Wombat
                                I try to use some apt and unique ones to avoid clashes.
                                Why don't you use a prefix like I do?

                                For the bug I was now able to recreate it in SP, by don't allowing the AI to end its turn on its own. So far I can still rush buy an item per turn and city. I put in the UI triggers a message box from the tutorial, but it does not appear. I also noticed that I can put in the UI component string of the trigger anything that I want without an error message, therefore I wonder if we got the right names of the UI components. Another question is how the DisableScreensButton() function works if it works. To get the rush buy bug to work you have at first rush buy an item with money loss and than at your opponents turn you have to rush buy the item again and if it is your turn again you the next item in the build queue needs just one turn and so on.

                                -Martin
                                Civ2 military advisor: "No complaints, Sir!"

                                Comment

                                Working...
                                X