Why Don't My Shots/bites Register?

CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
From a day to day basis I struggle with finding the perfect rates. I used to be able to kill a skulk in about 15 bullets and avoid being bitten, and now I have to unload the entire clip and pray it kills, and no amount of circle strafing can save me, on alien its typical for me to have to ambush a marine, the first 1-2 bites usually dont register, no blood, nothing, then the rest do. my rates are cl_cmdrate 50 cl_updaterate 101 rate 20000

ex_interp is default so is entrapmax. A year ago I never had problems getting attacks to land, sometime between now and then something happend.

I'd like to think its my aim but I am tracking a skulk near perfectly from a not so far distance. Today nothing registers, about a week ago I was able to kill a skulk in nearly 11 bullets from an LMG. It fluctuates alot. I am getting zero choke, zero loss, and for the most part a sub 100 ping. I'd put this in technical support but I know nobody would read it.
«1

Comments

  • joeejoee Join Date: 2005-06-18 Member: 54113Members
    i was under the impression cmdrate was supposed to be equal to framerate or something, maybe put it at 100\101?
  • DuoGodOfDeathDuoGodOfDeath Join Date: 2002-08-01 Member: 1044Members
    People with craptastic rates also make it mad hard to shoot them.
  • KenichiKenichi This is not a pie. Join Date: 2002-11-01 Member: 2941Members, NS1 Playtester
    Your rates can only do so much. The rates of the server, and the person you are shotting matter. Generally, i think the server isn't the factor.
  • mmcmikemmcmike Join Date: 2005-03-16 Member: 45517Members
    there was a thing on the steam forums a while back about rates that explained them pretty well, and actually the rates most people have (100,100,25000) are generally too high for most i-net connections and are more suitable for lan connections. My update rate is kinda low at 30, and my cmdrate is 60 (woohoo geforce4mx420). My rate is set at 9999. Even though a lot of people might say these rates are whack, give them a shot, most of the time ns runs really smoothly, and my ping stays pretty constant.
    Depends on you connection a lot though, my dsl isn't that fast so these work for me, if u have a faster connection try raising the stuff up a little. good luck.
  • CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
    Ive got 3.0 downs 1.0ups


    Nothing I do seems to fix it, no loss....no choke, other games are fine :\
  • NGENGE Join Date: 2003-11-10 Member: 22443Members
    <!--QuoteBegin-Kenichi+Jun 30 2005, 10:27 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Kenichi @ Jun 30 2005, 10:27 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Your rates can only do so much. The rates of the server, and the person you are shotting matter. Generally, i think the server isn't the factor. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    It does not depend on the rates of the person you are shooting. The server draws the charecter model on your screen based on the info sent by the players. If a player sends too little info the server will make approximations of where he really is. If the player shoots at a player he sees on the screen, then the HL code will register a hit no matter what so that a players rates won't matter.

    That is how HL is setup.
  • Splinter_SteveSplinter_Steve Join Date: 2005-03-20 Member: 45881Members
    Registry gets absolutely maddening for me. I could rant about the subject for five pages, but I don't think it'd do anybody any good. If there's anything I'm missing on how to improve this (I know all the rates stuff), tell me. I've heard (and it certainly seems this way) that attacking at point blank is incredibly hard to register damage with. It makes no sense to me, but it really seems to have some truth to it.

    Other times I'll be a skulk running away, the lmg'er firing is scoring the "hit" sound effect, but I don't take any damage. You'd probably say to aim behind, but I'm running away with my back to him, wouldn't he hit me anyway? Attacks on either side just constantly seem to transcend into an alternate dimension or something.

    Nothing new to anyone I know (and isn't just a recent thing like CWAG's problem), but I just wish it would finally get fixed.

    </rant>
  • BobbybirdtreeBobbybirdtree Join Date: 2003-11-30 Member: 23787Members
    The boxes lag horribly bad. I have noticed this when shooting skulks as well as biting a marine in the ****. Seems like sometimes i can bite from 10 ft away and hit but not from a foot. It really sucks when you play lerk and get shot from around 2 corners because of crappy netcode.
  • DarkFrostDarkFrost Join Date: 2003-04-03 Member: 15154Members, NS1 Playtester, Constellation
    edited July 2005
    <!--QuoteBegin-NGE+Jul 1 2005, 06:03 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (NGE @ Jul 1 2005, 06:03 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> It does not depend on the rates of the person you are shooting.  The server draws the charecter model on your screen based on the info sent by the players.  If a player sends too little info the server will make approximations of where he really is.  If the player shoots at a player he sees on the screen, then the HL code will register a hit no matter what so that a players rates won't matter.

    That is how HL is setup. <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Thats how it would work in a perfect world, sadly what happens is:

    You fire a shot, you client predicts where is should go, for decals, and hit sprites etc.
    The server then takes the information from your client, and sends it to all the others.

    My shot on my client hit the window, breaking it, I only fired one shot, mr joe low-rates beside me, came round the corner just as I fired, he hears the window break, however sees my bullet decal a few feet to the right on the wall.

    Another example:

    I fire my shot, at a model, it hits on my client, my client tells the server "A shot hit" the server queries the other clients possision, his client tells the server, "No I wasn't there yet"

    Its all very odd, sometimes it works perfectly, you get people who will see you draw your pistol, then die by your LMG, thats when your client is taking preference, I don't fully understand why its getting worse, netcode is at its best unpredicted, then all shots register, assuming they hit, regardless.
  • Garet_JaxGaret_Jax Join Date: 2003-02-23 Member: 13870Members, Constellation
    <!--QuoteBegin-CommunistWithAGun+Jul 1 2005, 02:26 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (CommunistWithAGun @ Jul 1 2005, 02:26 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> my rates are cl_cmdrate 50 cl_updaterate 101 rate 20000
    <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Your commandrate really should be as high as possible- i.e. without choke or loss.

    My settings, on a 512kb connection, are:

    rate 15000
    cl_cmdrate 99
    cl_updaterate 30 (lol Spaniard sherpa)
  • GirTurkeyGirTurkey Join Date: 2005-03-03 Member: 43040Members
    when u join a server, check and see what the "sv_updaterate" is set to, as well as the "sv_maxrate"

    if the update rate is at 30, as is typical, it mean that amything more than 30, will hurt more than help.

    also if the "sv_maxrate" is capped, put it to that, while most usually on NS servers i see 20000, 25000, or 0 = unlimited.

    cmdrate should = your average fps.

    ex_interp should equal 0, that makes for the correct 1/updaterate interp rate.
  • tankefugltankefugl One Script To Rule Them All... Trondheim, Norway Join Date: 2002-11-14 Member: 8641Members, Retired Developer, NS1 Playtester, Constellation, NS2 Playtester, Squad Five Blue
    Your real updaterate (the one that updates the information you get from the server) never goes above the server FPS. ex_interp is used to interpolate these packages, an is thus also depending on server FPS.

    Try lowering your updaterate to something that the server you're playing on can cope with, and adjust ex_interp accordingly.

    I ususally vary my updaterate between 30 and 70, and my ex_interp 0.1 - 0.05. Not completely acurately set interp, but it works quite well. My cmdrate is usually around 40, and rate is set to 15000 or lower, depending on how much choke I get -- increase it untill you get no choke in full action in a crowded area.
  • SnakestylesSnakestyles Join Date: 2005-01-07 Member: 33308Members
    gwc use ex_interp 0 it work wonders and will show u who is really "lagging/ratehacking"
  • EmanonEmanon Join Date: 2003-05-13 Member: 16254Members, Constellation
    I have used a ex_interp of 0 and still have had terrible registration from time to time. I have gone back to ex_interp of 0.033 which seems to work well atm. I dono it could change tomorrow.
  • FlounderFlounder Join Date: 2004-09-12 Member: 31656Members
    <!--QuoteBegin-GirTurkey+Jul 1 2005, 05:39 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (GirTurkey @ Jul 1 2005, 05:39 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> when u join a server, check and see what the "sv_updaterate" is set to, as well as the "sv_maxrate"

    if the update rate is at 30, as is typical, it mean that amything more than 30, will hurt more than help.

    also if the "sv_maxrate" is capped, put it to that, while most usually on NS servers i see 20000, 25000, or 0 = unlimited.

    cmdrate should = your average fps.

    ex_interp should equal 0, that makes for the correct 1/updaterate interp rate. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Holy. This is the most useful rate response ever. Someone have this guy make a rate sticky in the tech forum.
  • eliotmateliotmat Join Date: 2002-12-01 Member: 10350Members, Reinforced - Shadow
    edited July 2005
    <!--QuoteBegin-Splinter Steve?+Jul 1 2005, 01:12 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Splinter Steve? @ Jul 1 2005, 01:12 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Registry gets absolutely maddening for me.  I could rant about the subject for five pages, but I don't think it'd do anybody any good.  If there's anything I'm missing on how to improve this (I know all the rates stuff), tell me.  I've heard (and it certainly seems this way) that attacking at point blank is incredibly hard to register damage with.  It makes no sense to me, but it really seems to have some truth to it. 

    Other times I'll be a skulk running away, the lmg'er firing is scoring the "hit" sound effect, but I don't take any damage.  You'd probably say to aim behind, but I'm running away with my back to him, wouldn't he hit me anyway?  Attacks on either side just constantly seem to transcend into an alternate dimension or something.

    Nothing new to anyone I know (and isn't just a recent thing like CWAG's problem), but I just wish it would finally get fixed.

    </rant> <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Steve, my son, you should have come to daddy about this problem.

    I've tried implementing most of the rate theories posted on these forums, and the best config for me is fps_max 60 (Im always on laptop), cl_updaterate 60, cl_cmdrate 60.

    Obviously it updates my location to the server more.....so it could in theory make it easier to kill ME, but I seem to be able to kill more efficiently.

    edit: <i>I wouldn't recommend fps_max 60 to anybody besides those on laptops with low refresh rates.</i>
  • uk_jauk_ja Join Date: 2002-12-20 Member: 11245Members, Constellation
    <!--QuoteBegin-GirTurkey+Jul 1 2005, 06:39 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (GirTurkey @ Jul 1 2005, 06:39 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> when u join a server, check and see what the "sv_updaterate" is set to, as well as the "sv_maxrate"

    if the update rate is at 30, as is typical, it mean that amything more than 30, will hurt more than help.

    also if the "sv_maxrate" is capped, put it to that, while most usually on NS servers i see 20000, 25000, or 0 = unlimited.

    cmdrate should = your average fps.

    ex_interp should equal 0, that makes for the correct 1/updaterate interp rate. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    QFT

    I just figured this out last night thanks to CWAG


    Like Flounder said

    <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Holy. This is the most useful rate response ever. Someone have this guy make a rate sticky in the tech forum.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
  • AlcapwnAlcapwn &quot;War is the science of destruction&quot; - John Abbot Join Date: 2003-06-21 Member: 17590Members
    <!--QuoteBegin-CommunistWithAGun+Jun 30 2005, 08:26 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (CommunistWithAGun @ Jun 30 2005, 08:26 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> From a day to day basis I struggle with finding the perfect rates. I used to be able to kill a skulk in about 15 bullets and avoid being bitten, and now I have to unload the entire clip and pray it kills, and no amount of circle strafing can save me, on alien its typical for me to have to ambush a marine, the first 1-2 bites usually dont register, no blood, nothing, then the rest do. my rates are cl_cmdrate 50 cl_updaterate 101 rate 20000

    ex_interp is default so is entrapmax. A year ago I never had problems getting attacks to land, sometime between now and then something happend.

    I'd like to think its my aim but I am tracking a skulk near perfectly from a not so far distance. Today nothing registers, about a week ago I was able to kill a skulk in nearly 11 bullets from an LMG. It fluctuates alot. I am getting zero choke, zero loss, and for the most part a sub 100 ping. I'd put this in technical support but I know nobody would read it. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    You shouldnt even touch your rates, that does more harm then good....just leave it at the defaults.
  • Fatal_ErrorFatal_Error Join Date: 2005-01-15 Member: 35840Members
    The defaults aren't bad...but if you're getting choke or loss, don't use them.

    People say 'raise you rates,' I say lower them. Put your rates rather low at first, then start raising your cmdrate, in increments of5. Then do the same for your updrate. The updrate, I've noticed, causes more loss when not at a good position, and a cmd rate causes more choke when bad.
  • SwiftspearSwiftspear Custim tital Join Date: 2003-10-29 Member: 22097Members
    Why Don't My Shots/bites Register?:

    Because I spec you.
  • AlcapwnAlcapwn &quot;War is the science of destruction&quot; - John Abbot Join Date: 2003-06-21 Member: 17590Members
    <!--QuoteBegin-Swiftspear+Jul 1 2005, 01:48 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Swiftspear @ Jul 1 2005, 01:48 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Why Don't My Shots/bites Register?:

    Because I spec you. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Not valid anymore! <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin-fix.gif' border='0' style='vertical-align:middle' alt='biggrin-fix.gif' /><!--endemo-->
  • Splinter_SteveSplinter_Steve Join Date: 2005-03-20 Member: 45881Members
    <!--QuoteBegin-Swiftspear+Jul 1 2005, 01:48 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Swiftspear @ Jul 1 2005, 01:48 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Why Don't My Shots/bites Register?:

    Because I spec you. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    That made me so paranoid when I first read that thread. Consistently asking "who are you speccing?" I'd imagine gets a little suspicious, but it was something else driving me nuts. Then I was assured that it was 3.05 only <!--emo&::nerdy::--><img src='http://www.unknownworlds.com/forums/html/emoticons/nerd-fix.gif' border='0' style='vertical-align:middle' alt='nerd-fix.gif' /><!--endemo-->
  • GrahfGrahf Join Date: 2004-01-21 Member: 25558Members
    Ya, I have this problem too, back in 2.0 I could kill skulks with ease and my aim is much better now then it was then.
  • ultranewbultranewb Pro Bug Hunter Join Date: 2004-07-21 Member: 30026Members
    <!--QuoteBegin-tankefugl+Jul 1 2005, 06:14 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (tankefugl @ Jul 1 2005, 06:14 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Your real updaterate (the one that updates the information you get from the server) never goes above the server FPS. ex_interp is used to interpolate these packages, an is thus also depending on server FPS.

    <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    This isn't accurate, or rather it's incomplete.

    Simplisitcly, ex_interp determines how far in the past you play the game. Think of ex_interp like MediaPLayer or RealMedia streaming video. The server has a snapshot of the calculated world for each timeframe but knows that you'll never receive the information in real time. The server takes your model delay (ex_interp) and your latency into account when calculating your likely perceived view of the world. Ex_interp is for buffering to account for you latency to the server. As you can see, anything over 100 milliseconds (the max and default for ex_interp) can never be accounted for and drifts into the world of extrapilation (aka guessing) instead of interpolation (calculations between known points). As you may guess, spiking or inconsistant latency by any party means the server will have a harder time accurately calculating your perceived view of the world.

    There's no ammount of cvar or aim adjusting you can do if the server itself is lagging, has poor settings, or other players have inconsistant latencies or mal-adjusted rates. On servers with poor framerates, you'll notice a lot of lmg "hit" sounds on aliens, but won't see any alien blood unless you point somewhere behind the alien model. The best you can do most times is to start behind the alien and move your aim infront of where the alien is going - this accounts for lag in your brain from reaction time as well lag from the server or other players. You can also spray your fire left-and-right over the model when all else fails praying for registration.

    Also, people with too low an ex_interp setting are their own worst enemy. That is to say, they run out of data from the server and have to start guessing where stuff is placed (ex_extrapmax). Half-life tries its best to display the user a smooth perception of the world and has no qualms about lying to the player to do so. So, just like buffering smooths our streaming video, it has the same effect half-life net code - all for the "benifit" of seeing the other teams position 50 milliseconds earlier.
  • ultranewbultranewb Pro Bug Hunter Join Date: 2004-07-21 Member: 30026Members
    <!--QuoteBegin-GirTurkey+Jul 1 2005, 05:39 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (GirTurkey @ Jul 1 2005, 05:39 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->ex_interp should equal 0, that makes for the correct 1/updaterate interp rate.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    This is wrong. This is the minimal amount of interpolation you need under <b>perfect</b> circumstances. (See my post above about too low and ex_interp setting)
  • DarkFrostDarkFrost Join Date: 2003-04-03 Member: 15154Members, NS1 Playtester, Constellation
    ultranewb, what if you were to set both ex_interp and ex_extrapmax to 0?

    I assume the playermodels would be jumping about like a slide show?
  • tankefugltankefugl One Script To Rule Them All... Trondheim, Norway Join Date: 2002-11-14 Member: 8641Members, Retired Developer, NS1 Playtester, Constellation, NS2 Playtester, Squad Five Blue
    edited July 2005
    <!--QuoteBegin-ultranewb+Jul 1 2005, 09:39 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (ultranewb @ Jul 1 2005, 09:39 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-tankefugl+Jul 1 2005, 06:14 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (tankefugl @ Jul 1 2005, 06:14 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Your real updaterate (the one that updates the information you get from the server) never goes above the server FPS. ex_interp is used to interpolate these packages, an is thus also depending on server FPS.

    <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    This isn't accurate, or rather it's incomplete.

    Simplisitcly, ex_interp determines how far in the past you play the game. Think of ex_interp like MediaPLayer or RealMedia streaming video. The server has a snapshot of the calculated world for each timeframe but knows that you'll never receive the information in real time. The server takes your model delay (ex_interp) and your latency into account when calculating your likely perceived view of the world. Ex_interp is for buffering to account for you latency to the server. As you can see, anything over 100 milliseconds (the max and default for ex_interp) can never be accounted for and drifts into the world of extrapilation (aka guessing) instead of interpolation (calculations between known points). As you may guess, spiking or inconsistant latency by any party means the server will have a harder time accurately calculating your perceived view of the world. <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Ok, I do not have access to the code that does this, so I can only speculate based on what I know of mathematics and what I have read of this engine. And I beleive you are a bit off track.

    ex_interp stands, as you point out, for interpolation. It does however not define how far "into the future" the game caches data. The interpolation process, which is in fact a smoothing process where it calculates where something will be between time A and B, needs to account for how often it will have reliable data. ex_interp defines the interval (in seconds) between expected data, and the interpolation process uses this to calculate the curve between A and B.

    If you provide more data than expected, the predicted curve might fluctuate such that it will become an inacurate and more compelx representation of the server's data (thing might skip around). The samme happens if you provide less data than expected: It will become a much "simpler" representation of what really happens on the server.

    This explains the relation between ex_interp and cl_updaterate, as updaterate defines the maximal amount of packages that the client will accept.

    EDIT: Never mind, it occured to me that we are describing the same thing, but using two different perspectives.
  • coriscoris Join Date: 2003-07-08 Member: 18034Members, Constellation
    So could someone explain what extrapmax does and what value it should be set to?
  • Renegade.Renegade. Join Date: 2003-01-15 Member: 12313Members, Constellation
    <!--QuoteBegin-coris+Jul 5 2005, 10:56 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (coris @ Jul 5 2005, 10:56 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> So could someone explain what extrapmax does and what value it should be set to? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    extrapmax, or in otherwords, maximum extrapolation, determines the maximum amount of seconds of packet loss the game will attempt to extrapolate over. Thus if an alien on screen is moving in a straight line towards you, and you start to lose packets, your client will attempt to predict or extrapolate the motion of that alien (in all likelyhood, it will show it still coming towards you). If your client is right, you get a smooth transition despite packet loss, if your client is wrong, you see a "teleport". Thus setting extrapmax to a high value has the potential to negotiate longer losses of packets, but is only beneficiary if the client has extrapolated correctly. Lower settings of extrapmax produces choppier results (as the client assumes less motion and waits for the next server packet), but may be more accurate when dealing with non-linear moving players and/or objects.
  • 2_of_Eight2_of_Eight Join Date: 2003-08-20 Member: 20016Members
    Helpful tip. Record demos of yourself playing. Analyze them later in slow-motion. That way, you know when to scream "BS" and when to scream "I can't aim!" <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo-->
    Seriously. Also, it helps you adjust your aim, if you see that there's a pattern to your bad aiming. If that made sense.
Sign In or Register to comment.