Thanks for the input we'll look into it cheers -----Original Message----- From: hlcoders-boun...@list.valvesoftware.com [mailto:hlcoders-boun...@list.valvesoftware.com] On Behalf Of Priyadarshi Sharma Sent: Tuesday, 12 July 2011 6:06 PM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] weapon prediction issue
Hello, I am having the issue of a weapon being fired multiple times on client side when there is a lag between client and server (net_fakelag 100). This is similar to the issue mentioned here : http://www.mail-archive.com/hlcoders@list.valvesoftware.com/msg19271.html I've tried the suggested fix but it doesn't seem to help in my case. It only happens in the burst fire mode though, not otherwise. Below are the relevant functions. As you can see, even checking for IsFirstTimePredicted() doesn't solve the issue and the function is still called multiple times on client side as evident from the DevMsg() below. How do I go on about solving this issue? PS - I've also tried the fix mentioned here - http://www.mail-archive.com/hlcoders@list.valvesoftware.com/msg19344.html, which indicates a bug with the SDK itself, but no help here too. Code : void MyWeapon::ItemPostFrame() { // Burstfire continues for 3 shots after we press fire if(cBurstShots) BurstFire(); else BaseClass::ItemPostFrame(); } void MyWeapon::BurstFire() { if (!m_iClip1) { cBurstShots = 0; return; } if (tNextBurst > gpGlobals->curtime) return; #ifdef CLIENT_DLL if ( prediction->InPrediction() && !prediction->IsFirstTimePredicted() ) return; #endif #ifdef CLIENT_DLL DevMsg("Time : %f cBurstShots : %d tNextBurst : %f\n", gpGlobals->curtime, cBurstShots, tNextBurst); #endif // making this NOT relative to curtime means it won't be totally cpu/tickrate dependent tNextBurst += info.m_tReloadChamber; --cBurstShots; Fire(); m_flNextPrimaryAttack = m_flNextSecondaryAttack = gpGlobals->curtime + 0.1; WeaponSound( SINGLE ); DoMuzzleFlash(); } void MyWeapon::PrimaryAttack() { if (!fBurstMode) { Fire(); return; } cBurstShots = 3; tNextBurst = gpGlobals->curtime; SendWeaponAnim( ACT_VM_PRIMARYATTACK ); } _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders