⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nospread.txt

📁 * first open client.cpp and search for that USER_MSG_INTERCEPT(TeamInfo) over it u add this
💻 TXT
📖 第 1 页 / 共 2 页
字号:
            else 
            { 
               if (speed > 140.0f) 
                  spread = me.spread.spreadvar * 0.07 + 0.035; 
               else 
                  spread = me.spread.spreadvar * 0.025; 
            } 
         } 
         else 
            spread = me.spread.spreadvar * 0.4 + .035; 

         break; 
      case WEAPONLIST_MP5: 
         if (me.spread.prcflags & FL_ONGROUND) 
            spread = 0.04 * me.spread.spreadvar; 
         else 
            spread = 0.2 * me.spread.spreadvar; 

         break; 
      case WEAPONLIST_MAC10: 
         if (me.spread.prcflags & FL_ONGROUND) 
            spread = 0.03 * me.spread.spreadvar; 
         else 
            spread = 0.375 * me.spread.spreadvar; 

         break; 
      case WEAPONLIST_P90: 
         if (me.spread.prcflags & FL_ONGROUND) 
         { 
            if (speed > 170.0f) 
               spread = me.spread.spreadvar * 0.115; 
            else 
               spread = me.spread.spreadvar * 0.045; 
         } 
         else 
            spread = me.spread.spreadvar * 0.3; 

         break; 
      case WEAPONLIST_TMP: 
         if (me.spread.prcflags & FL_ONGROUND) 
            spread = 0.03 * me.spread.spreadvar; 
         else 
            spread = 0.25 * me.spread.spreadvar; 

         break; 
      case WEAPONLIST_UMP45: 
         if (me.spread.prcflags & FL_ONGROUND) 
            spread = 0.04 * me.spread.spreadvar; 
         else 
            spread = 0.24 * me.spread.spreadvar; 

         break; 
      case WEAPONLIST_AWP: 
         if (me.spread.prcflags & FL_ONGROUND) 
         { 
            if (speed < 10.0f) 
            { 
               if (me.spread.prcflags & FL_DUCKING) 
                  spread = 0; 
               else 
                  spread = 0.001f; 
            } 
            else if (speed < 140.0f) 
            { 
               spread = 0.1f; 
            } 
            else 
               spread = 0.25f; 
         } 
         else 
            spread = 0.85f; 

         if (!(me.iFOV < 90.0f)) 
            spread += 0.08f; 

         break; 
      case WEAPONLIST_SCOUT: 
         if (me.spread.prcflags & FL_ONGROUND) 
         { 
            if (speed < 170.0f) 
            { 
               if (me.spread.prcflags & FL_DUCKING) 
                  spread = 0; 
               else 
                  spread = 0.007f; 
            } 
            else 
               spread = 0.075f; 
         } 
         else 
            spread = 0.2f; 

         if (!(me.iFOV < 90.0f)) 
            spread += 0.025f; 

         break; 
      default: 
         spread = 0; 
         break; 
   } 

   return spread; 
} 


void GetSpreadXY(unsigned int seed, int future, float *velocity, float *vec) 
{ 
   float vecspread, speed; 

   vec[0] = UTIL_SharedRandomFloat(seed + future, -0.5, 0.5) + UTIL_SharedRandomFloat(seed + 1 + future, -0.5, 0.5); 

   vec[1] = UTIL_SharedRandomFloat(seed + 2 + future, -0.5, 0.5) + UTIL_SharedRandomFloat(seed + 3 + future, -0.5, 0.5); 

   speed = sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]); 

   vecspread = GetVecSpread(speed); 

   vec[0] *= vecspread; 
   vec[1] *= vecspread; 

   return; 
} 


void GetSpreadOffset(unsigned int seed, int future, float *inangles, float *velocity, float *outangles) 
{ 
   float forward[3], right[3], up[3], vecDir[3]; 
   float view[3], dest[3], spread[2]; 

   gEngfuncs.pfnAngleVectors(inangles, forward, right, up); 

   GetSpreadXY(seed, future, velocity, spread); 

   vecDir[0] = forward[0] + spread[0] * right[0] + spread[1] * up[0]; 
   view[0] = 8192 * vecDir[0]; 

   vecDir[1] = forward[1] + spread[0] * right[1] + spread[1] * up[1]; 
   view[1] = 8192 * vecDir[1]; 

   vecDir[2] = forward[2] + spread[0] * right[2] + spread[1] * up[2]; 
   view[2] = 8192 * vecDir[2]; 

   VectorAngles(view, dest); 
   dest[0] *= -1; 

   outangles[0] = inangles[0] - dest[0]; 
   outangles[1] = inangles[1] - dest[1]; 
   outangles[2] = 0; 
} 
void DefaultSpreadVar(int weaponid) 
{ 
   if (weaponid == WEAPONLIST_DEAGLE) 
      me.spread.spreadvar = 0.9f; 
   else if (weaponid == WEAPONLIST_MP5) 
      me.spread.spreadvar = 0; 
   else if (weaponid == WEAPONLIST_AK47) 
      me.spread.spreadvar = 0.2f; 
   else if (weaponid == WEAPONLIST_SG552) 
      me.spread.spreadvar = 0.2f; 
   else if (weaponid == WEAPONLIST_AUG) 
      me.spread.spreadvar = 0.3f; 
   else if (weaponid == WEAPONLIST_M4A1) 
      me.spread.spreadvar = 0.2f; 
   else if (weaponid == WEAPONLIST_M249) 
      me.spread.spreadvar = 0.2f; 
   else if (weaponid == WEAPONLIST_MAC10) 
      me.spread.spreadvar = 0.15f; 
   else if (weaponid == WEAPONLIST_UMP45) 
      me.spread.spreadvar = 0; 
   else if (weaponid == WEAPONLIST_TMP) 
      me.spread.spreadvar = 0.2f; 
   else if (weaponid == WEAPONLIST_P90) 
      me.spread.spreadvar = 0.15f; 
   else if (weaponid == WEAPONLIST_P228) 
      me.spread.spreadvar = 0.9f; 
   else if (weaponid == WEAPONLIST_FIVESEVEN) 
      me.spread.spreadvar = 0.92f; 
   else if (weaponid == WEAPONLIST_ELITE) 
      me.spread.spreadvar = 0.88f; 
   else if (weaponid == WEAPONLIST_GLOCK18) 
      me.spread.spreadvar = 0.9f; 
   else if (weaponid == WEAPONLIST_USP) 
      me.spread.spreadvar = 0.92f; 
   else if (weaponid == WEAPONLIST_G3SG1) 
      me.spread.spreadvar = 0.2f; 
   else if (weaponid == WEAPONLIST_SG550) 
      me.spread.spreadvar = 0.2f; 
   else 
      me.spread.spreadvar = 0; 
} 

void PrimaryAttack(void) 
{ 
   int id; 

   id = playerItems.CurrentID(); 

   switch (id) 
   { 
      case WEAPONLIST_DEAGLE: 
         if (me.spread.prevtime) 
         { 
            me.spread.spreadvar = me.spread.spreadvar - (0.35 * (0.4 - (me.spread.gtime - me.spread.prevtime))); 

            if (me.spread.spreadvar > 0.9) 
               me.spread.spreadvar = 0.9f; 
            else if (me.spread.spreadvar < 0.55) 
               me.spread.spreadvar = 0.55f; 
         } 

         me.spread.recoil++; 
         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_ELITE: 
         if (me.spread.prevtime) 
         { 
            me.spread.spreadvar = me.spread.spreadvar - (0.275 * (0.325 - (me.spread.gtime - me.spread.prevtime))); 

            if (me.spread.spreadvar > 0.88) 
               me.spread.spreadvar = 0.88f; 
            else if (me.spread.spreadvar < 0.55) 
               me.spread.spreadvar = 0.55f; 
         } 

         me.spread.recoil++; 
         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_FIVESEVEN: 
         if (me.spread.prevtime) 
         { 
            me.spread.spreadvar = me.spread.spreadvar - (0.25 * (0.275 - (me.spread.gtime - me.spread.prevtime))); 

            if (me.spread.spreadvar > 0.92) 
               me.spread.spreadvar = 0.92f; 
            else if (me.spread.spreadvar < 0.725) 
               me.spread.spreadvar = 0.725f; 
         } 

         me.spread.recoil++; 
         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_GLOCK18: 
         if (!(me.spread.WeaponState & GLOCK18_BURST)) 
            me.spread.recoil++; 

         if (me.spread.prevtime) 
         { 
            me.spread.spreadvar = me.spread.spreadvar - (0.275 * (0.325 - (me.spread.gtime - me.spread.prevtime))); 

            if (me.spread.spreadvar > 0.9) 
               me.spread.spreadvar = 0.9f; 
            else if (me.spread.spreadvar < 0.6) 
               me.spread.spreadvar = 0.6f; 
         } 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_P228: 
         if (me.spread.prevtime) 
         { 
            me.spread.spreadvar = me.spread.spreadvar - (0.3 * (0.325 - (me.spread.gtime - me.spread.prevtime))); 

            if (me.spread.spreadvar > 0.9) 
               me.spread.spreadvar = 0.9f; 
            else if (me.spread.spreadvar < 0.6) 
               me.spread.spreadvar = 0.6f; 
         } 

         me.spread.recoil++; 
         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_G3SG1: 
         if (me.spread.brokentime) 
         { 
            me.spread.spreadvar = 0.55 + (0.3 * (me.spread.gtime - me.spread.brokentime)); 

            if (me.spread.spreadvar > 0.98) 
               me.spread.spreadvar = 0.98f; 
         } 

         me.spread.recoil++; 
         me.spread.brokentime = me.spread.gtime; 
         me.spread.firing = true; 

         break; 
      case WEAPONLIST_SG550: 
         if (me.spread.brokentime) 
         { 
            me.spread.spreadvar = 0.65 + (0.35 * (me.spread.gtime - me.spread.brokentime)); 

            if (me.spread.spreadvar > 0.98) 
               me.spread.spreadvar = 0.98f; 
         } 

         me.spread.recoil++; 
         me.spread.brokentime = me.spread.gtime; 
         me.spread.firing = true; 

         break; 
      case WEAPONLIST_USP: 
         if (me.spread.prevtime) 
         { 
            me.spread.spreadvar = me.spread.spreadvar - (0.275 * (0.3 - (me.spread.gtime - me.spread.prevtime))); 

            if (me.spread.spreadvar > 0.92) 
               me.spread.spreadvar = 0.92f; 
            else if (me.spread.spreadvar < 0.6) 
               me.spread.spreadvar = 0.6f; 
         } 

         me.spread.recoil++; 
         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_AK47: 
         me.spread.recoil++; 
         me.spread.firing = true; 

         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * me.spread.recoil / 200 + 0.35; 

         if (me.spread.spreadvar > 1.25) 
            me.spread.spreadvar = 1.25f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_SG552: 
         me.spread.recoil++; 
         me.spread.firing = true; 
          
         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * me.spread.recoil / 220 + 0.3; 

         if (me.spread.spreadvar > 1) 
            me.spread.spreadvar = 1.0f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_AUG: 
         me.spread.recoil++; 
         me.spread.firing = true; 

         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * me.spread.recoil / 215 + 0.3; 

         if (me.spread.spreadvar > 1.0) 
            me.spread.spreadvar = 1.0f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_M249: 
         me.spread.recoil++; 
         me.spread.firing = true; 
          
         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * me.spread.recoil / 175 + 0.4; 

         if (me.spread.spreadvar > 0.9) 
            me.spread.spreadvar = 0.9f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_M4A1: 
         me.spread.recoil++; 
         me.spread.firing = true; 
          
         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * me.spread.recoil / 220 + 0.3; 

         if (me.spread.spreadvar > 1) 
            me.spread.spreadvar = 1.0f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_MP5: 
         me.spread.recoil++; 

         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * 0.004543389368468878 + 0.45; 

         if (me.spread.spreadvar > 0.75) 
            me.spread.spreadvar = 0.75f; 

         me.spread.prevtime = me.spread.gtime; 
         me.spread.firing = true; 

         break; 
      case WEAPONLIST_MAC10: 
         me.spread.recoil++; 
         me.spread.firing = true; 
          
         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * me.spread.recoil / 200 + 0.6; 

         if (me.spread.spreadvar > 1.65) 
            me.spread.spreadvar = 1.65f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_P90: 
         me.spread.recoil++; 
         me.spread.firing = true; 

         me.spread.spreadvar = me.spread.recoil * me.spread.recoil / 175 + 0.45; 

         if (me.spread.spreadvar > 1) 
            me.spread.spreadvar = 1.0f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_TMP: 
         me.spread.recoil++; 
         me.spread.firing = true; 

         me.spread.spreadvar = me.spread.recoil * me.spread.recoil * me.spread.recoil / 200 + 0.55; 

         if (me.spread.spreadvar > 1.4) 
            me.spread.spreadvar = 1.4f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_UMP45: 
         me.spread.recoil++; 
         me.spread.firing = true; 

         me.spread.spreadvar = me.spread.recoil * me.spread.recoil / 210 + 0.5; 

         if (me.spread.spreadvar > 1.0) 
            me.spread.spreadvar = 1.0f; 

         me.spread.prevtime = me.spread.gtime; 

         break; 
      case WEAPONLIST_AWP: 
         me.spread.recoil++; 
         me.spread.prevtime = me.spread.gtime; 
         me.spread.firing = true; 

         break; 
      case WEAPONLIST_SCOUT: 
         me.spread.recoil++; 
         me.spread.prevtime = me.spread.gtime; 
         me.spread.firing = true; 

         break; 
      default: 
         break; 
   } 

   return; 
} 
 



and finally replace your old nospread code in cl_createmove with this 
Code: 
Code: 
  
      if (cvar.nospread == 2 || (cvar.nospread == 1 && usercmd->buttons & IN_ATTACK)) 
      { 
         float offset[3]; 
         GetSpreadOffset(me.spread.random_seed, 1, usercmd->viewangles, me.pmVelocity, offset); 
         usercmd->viewangles[0] += offset[0]; 
         usercmd->viewangles[1] += offset[1]; 
         usercmd->viewangles[2] += offset[2]; 
      } 
 



wait thats not all! you have to remove eventhook from initialize and all the bullshit at the top or you can just leave it but i suggest you remove it for faster perfomance 

also a nice thing to add would be something like this (to hud_redraw) 
Code: 
Code: 

   if(cvar.nospread) DrawHudString(40,400,255,255,255,"%f", me.spread.spreadvar); 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -