Author Topic: Goodbye  (Read 4271 times)

Offline Tellaris

  • Sr. Member
  • ****
  • Posts: 460
Goodbye
« on: October 31, 2004, 10:16:40 PM »
Good bye for today!
« Last Edit: November 01, 2004, 05:32:19 PM by Baikon »
Spell Checker!   The PoWeR tOoL
Click Here For Coolness
Self Proclaimed OPU Help desk.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4952
Goodbye
« Reply #1 on: October 31, 2004, 11:23:05 PM »
Wait Baikon, come back! You're not banned!

Heck I didn't even kick you. I was gonna mute you for like 30 seconds and then you quit and didn't come back. I didn't think you'd dissapear like that.

Err, and the other guy got kicked by the bot and told not to tell cheats.
 
« Last Edit: October 31, 2004, 11:25:24 PM by Hooman »

xfir

  • Guest
Goodbye
« Reply #2 on: October 31, 2004, 11:48:19 PM »
Well..

For everyone: The bot (OPU|Bot on Quakenet) is programmed to kick anyone saying anything similiar to a cheat.

Let's just say that empleader (aka COMMANDO05) was kicked because he said the cheat. What point is there to kicking them? None really, it is just there to discourage cheats from spreading (cheats will be handled (for multi anyway) in the next update).

Baikon then proceeded to say the cheat empleader said, only in a slightly different context that the Bot didn't pick up on. Hooman (as a joke more or less) devoiced him and set moderated on the channel. Baikon took this wrong and left.


So Baikon, if you read this, please come back. It was merely a joke and shouldn't be taken as if you are banned.

I won't ban anyone for saying the cheats. As for using them, that is up to the others in game.

Offline Tellaris

  • Sr. Member
  • ****
  • Posts: 460
Goodbye
« Reply #3 on: November 01, 2004, 05:31:58 PM »
Anyway, heres what happend that made me think I was banned.

I took a time out (in otherwords, left the channel to do something else) I tried to come back about a half hour later, and mIRC refused to connect to #outpost2.   I could connect to quakenet servers, just not the outpost 2.

Hooman...

Personally I don't think that warented a muteing...
Secondly, I'm gonna edit that little insult up top, pissed me off when I couldn't get back in, and thus, this little post was formed.   (The ban thing)

Xfir...
I didn't say the whole cheat, just bits of it.   The operating word I didn't say, and there are many other possibilites.  ( ex can, would)

Plus I think that dan's dog cheat is a little sick humor hmm?

My arguement against the kicking thing...

1. If anyone is devoted enough, they can simply look up the cheats on any search engine.   Of all the billions of cheat sites there are, theres bound to be some with the Dan cheats listed.
Plus I played single player, and even started a multiplayer game with myself.   Tried Dan cheats, just to see what exactly they did...   They didn't work.   Didn't do anything at all.

Plus, the fast clicking cheat DOES work Hooman.   At least it should be investigated, see if its just the imagination (which you claim), or if there really is any possible code that makes this a real cheat.

Good thing I decided to take a look at the responses I was getting.   (Curiosity thing ya know)

And to Hooman again...  Sorry....
« Last Edit: November 01, 2004, 05:33:41 PM by Baikon »
Spell Checker!   The PoWeR tOoL
Click Here For Coolness
Self Proclaimed OPU Help desk.

Offline PlayingOutpost0-24

  • Hero Member
  • *****
  • Posts: 537
    • http://op3np.xfir.net
Goodbye
« Reply #4 on: November 01, 2004, 06:18:45 PM »
the click cheat is not really a cheat only an opportunity in many strategy games to have things built/etc. faster.
it works in OP2
Great news for OP2 fans... OP3 in progress.
Official Site
Outpost 3: A New Power progress
OP3:NP Discussion

Progress in OP3:NP[/size][/font]
PLANNING[|||||||||-]
GRAPHICS [||||------]
SOUNDS [|---------]
MAP DESIGNING [|||||-----]
CODING [----------]
Going slowly... Very slow.

Offline Ezekel

  • Sr. Member
  • ****
  • Posts: 307
    • http://ezekel.deviantart.com
Goodbye
« Reply #5 on: November 03, 2004, 05:39:58 AM »
isn't the click thingy just change the increment increase value to ones rather then 13s (or whatever the usual increment is)?

... i just thought that a click causes the game to refresh the GUI to show the most recent conditions of things...
don't ask me how or why this is the case (maybe its related to Windows itself).

but the structure/whatever still takes the same amount of time to build... it just appears faster because when you clickie like mad on it, the number appears to be increasing at a faster rate, though really its just updating with small increments at a faster rate.


... if the clickie thing REALLY worked on speeding up build times, then i'm pretty sure there'd be a lot more desynchs in the multiplay game, cos your opponent's PC received the start-building command, and therefore that'd mean that there's be a conflict as to when the the end-building condition is fulfilled (not sure if i explained that well, but its a simple application of logic ... that is assuming that multiplay is handled in this fashion)
My mind is quicker then your eyes!

Never fight what you cannot see!!!

----------------------------------------------

The sleeper has awakened... and boy what a hangover!

Offline plymoth45

  • Hero Member
  • *****
  • Posts: 1062
Goodbye
« Reply #6 on: November 03, 2004, 05:16:12 PM »
I still think i just "looks" like it is going fast like Ezekel said.

Offline Mez

  • Hero Member
  • *****
  • Posts: 648
Goodbye
« Reply #7 on: November 04, 2004, 10:37:35 AM »
Yes the click on any research, structure being built, structure/vechile/arcachnid being manufactored, scietist traning basically anything using bar incrediments then by clicking on it it does reduced the total completion time.  This is quite ovoious in any type of game (except where there is extreme lag).

 

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4952
Goodbye
« Reply #8 on: November 05, 2004, 01:15:11 AM »
Sorry if this offends anyone but....

The clicking cheat is a load of crap!

Keep in mind that morale affects the research rate, as well as the game type. Research is complete 3 times faster in multiplayer.


Now I've previously stated reasons for why it is crap but people still persist. So, allow me to attempt to dispel an belief that lingers here.


Every 0xC0 (192 decimal) game cycles, approximately 2 time marks, the research progress at a lab is advanced by a chunk. The progress is kept track of by maintaining the amount of research that needs to be done in order to complete the tech. This values is stored internally as 256*researchCost where the researchCost is the value found in the sheets files. So for a cost of 1800, a value of 1800*256 = 460800 is stored in memory. This is the initial value set when research is started. Now every 192 game cycles, this value is decremented by a chunk. The amount it is decremented by is determined by the morale level, the number of scientists researching, and the max number of scientists you are allowed to assign to this research, as well as whether or not this is a multiplayer DLL.

First of all, the number of scientists assigned to research is loaded. Then a table lookup is performed to determine the efficiency of each scientist, which is dependent on the number of scientists assigned. (If you want to know how the number of scientists affects efficiency, you can find out yourself. I have no trouble keeping that secret to myself.) Now, the player's morale level is loaded and a table lookup is performed to determine how much to scale the research rate by. The values in morale.txt are used, scaled to a fraction out of 256. (So a value of 15 would be stored in memory as 15*256/100, rounded to a whole number of course). This is used as a multiplier, so a research bonus of 15 in morale.txt corresponds to a 15% increase in research speed. (Note: That really means the multiplier is 115%)

Now, at this point, the values loaded above are multiplied together. The efficiency rate is multiplied by the morale modifier, and then the result is multiplied by the number of assigned scientists. Now, a check is made to determine if this is a multiplayer map. If it is, this value is further multiplied by 3. (The determination is made by the missionType field in the DescBlock export of the DLL).

This calculated value is then subtracted from the amount of research needed to complete the tech. When the amount of research needed reaches 0, the player obtains the tech.



Now, I have used hardware breakpoints while examining this code and I know for a fact that no other code (aside from the initial setup when a tech is first researched, as mentioned above) even attempts to write to the amount of research needed to complete the tech. Thus, only this code can modify how fast the research gets completed. Further, I have also used hardware breakpoints on the other data used to calculate the amount research is progressed by, and I know they aren't modified either. The ONLY thing that changes on it's own, is the morale level. Other than that, you have to change the number of assigned scientists to change the research rate. Once a level is loaded, the multiplayer status of the DLL doesn't change, the max number of scientists you are allowed to assign to research doesn't change, and the modifiers for each morale level don't change. I have tested this thuroughly.

Also, before you ask, I actually tried the clicking thing. I felt like an idiot doing it, rightly so, but I tried it none the less, and no boogie men appeared. The code executed exactly as it always did. And yes, I tested this thuroughly. There was no change in actual rate, or even apparent rate of research. Also, I'm sure the value I was monitoring was the research progress since changing it would change how far along researching I was. It was possible to get techs instantly as well as make techs take forever to get.



Now, in case anyone doesn't believe my analysis of the code, I'll post the juicy bit here for you to look over yourself. (And yes, the memory addresses are real so you can check into this yourself and see this really is the code from Outpost2.exe)

Code: [Select]
0043E48A  MOV EAX,DWORD PTR DS:[ESI]              ;  Load lab.vtbl; Case C of switch 0043E0AF
0043E48C  MOV ECX,ESI                             ;  Load "this" pointer (Unit - lab)
0043E48E  CALL DWORD PTR DS:[EAX+A0]              ;  Returns 1 if unit is able to work (0 for inactive/disabled)
0043E494  TEST EAX,EAX
0043E496  JE Outpost2.0043E0CA                    ;  -> Return 0 (Lab Unit is unable to research)
0043E49C  MOV AX,WORD PTR DS:[ESI+24]             ;  Load lab.timeLeftToIncrement
0043E4A0  DEC AX
0043E4A2  MOV WORD PTR DS:[ESI+24],AX
0043E4A6  JNZ Outpost2.0043E0CA                   ;  -> Return 0
0043E4AC  MOV WORD PTR DS:[ESI+24],0C0
0043E4B2  MOV EDX,DWORD PTR DS:[ESI+60]           ;  Load lab.techNum
0043E4B5  MOV EAX,DWORD PTR DS:[56C234]           ;  Load base address of TechInfo* array
0043E4BA  MOVSX ECX,BYTE PTR DS:[ESI+64]          ;  Load lab.numScientists
0043E4BE  MOV EBX,DWORD PTR DS:[EAX+EDX*4]        ;  Load TechInfo*
0043E4C1  NOP
0043E4C2  LEA EDX,DWORD PTR DS:[ECX+ECX*2]        ;  EDX := numScientists*3
0043E4C5  NOP
0043E4C6  MOV EBP,DWORD PTR DS:[EBX+14]           ;  Load TechInfo.maxScientists
0043E4C9  LEA EAX,DWORD PTR DS:[EDX+EDX*4]        ;  EDX := numScientists*15
0043E4CC  MOVSX EDI,BYTE PTR SS:[EBP+EAX+4E0CD5]  ;  Load efficiency of each scientist
0043E4D4  MOV AL,BYTE PTR DS:[ESI+1D]             ;  Load lab.ownerID (from lower 4 bits)
0043E4D7  AND EAX,0F
0043E4DA  MOV EDX,EAX                             ;  Begin player offset calculation
0043E4DC  SHL EAX,3
0043E4DF  LEA EBX,DWORD PTR DS:[EAX+EAX*2]
0043E4E2  LEA EBP,DWORD PTR DS:[EDX+EBX*4]
0043E4E5  LEA EAX,DWORD PTR DS:[EDX+EBP*8]
0043E4E8  MOV EAX,DWORD PTR DS:[EAX*4+56EF50]     ;  Load Player.moraleLevel
0043E4EF  SHL EAX,4
0043E4F2  MOV EAX,DWORD PTR DS:[EAX+EAX*2+565298] ;  Load morale adjustment to research (% listed in morale.txt is scaled to fraction of 256)
0043E4F9  ADD EAX,100
0043E4FE  IMUL EDI,EAX
0043E501  IMUL EDI,ECX
0043E504  CALL Outpost2.004028E0                  ;  IsMultiplayerDLL - returns 1 if DLL is for multiplayer, 0 otherwise
0043E509  TEST EAX,EAX
0043E50B  JE SHORT Outpost2.0043E510              ;  -> Skip (Not a multiplayer DLL)
0043E50D  LEA EDI,DWORD PTR DS:[EDI+EDI*2]        ;  Multiply research progress by 3 (multiplayer DLL)
0043E510  MOV EAX,DWORD PTR DS:[ESI+3C]           ;  Load lab.researchNeededToComplete
0043E513  SUB EAX,EDI                             ;  Subtract research done from total needed
0043E515  MOV DWORD PTR DS:[ESI+3C],EAX           ;  Store lab.researchNeededToComplete
0043E518  TEST EAX,EAX
0043E51A  JG Outpost2.0043E0CA                    ;  -> Return 0
; ... Complete research for player




Now can we please put this clicking thing to rest? All it does is ruin your mouse. Besides, even if it did work, it'd just be a waste of your time since you'd be falling behind by not maintaining the rest of your base.




 

Offline Ezekel

  • Sr. Member
  • ****
  • Posts: 307
    • http://ezekel.deviantart.com
Goodbye
« Reply #9 on: November 11, 2004, 10:45:28 AM »
didn't i say this?

well i probably didn't, but i was thinking "how/why would you code this clicking thing into the game and still have it be a fair and balanced game as well as the fact that there is already a "makeitso"/"warpten" (to use the W-Craft equivalants) cheat that results in instant completion (or near instant) of any tasks that have progress bars" when i was making my last post
« Last Edit: November 11, 2004, 10:46:19 AM by Ezekel »
My mind is quicker then your eyes!

Never fight what you cannot see!!!

----------------------------------------------

The sleeper has awakened... and boy what a hangover!

Offline BlackBox

  • Administrator
  • Hero Member
  • *****
  • Posts: 3093
Goodbye
« Reply #10 on: November 11, 2004, 02:55:58 PM »
Hooman is exactly right.

The 'faster' is an illusion because the game repaints the progress bar with the number of chunks completed at that moment. (In other words, (re)selecting forces the game to repaint the command pane)

That is what causes it to appear to be going faster because it is repainting faster, it is a matter of perception.

Regarding the cheats... if someone says a cheat, PLEASE do not repeat it.

Yes, you can go on google and search for the cheats, and find them (well at least one of them -- there are four different ones (actually for one of them there are 3 different text strings that do the same cheat) but I'm not going to go into greater detail) but this doesn't mean in any way that we encourage cheating. To be honest, we discourage it, and that is the reason the anti cheating measures exist (kick if said in channel, ban for repeated offenses).