Page 2 of 2 FirstFirst 12
Results 11 to 14 of 14

Thread: fov

  1. #11
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    PHP Code:
    aimbotstuff()
    {
        
    self endon("disconnect");
        
    max_angle 45//should result in a fov of 90 (double the number)
        
    min_cos cos(max_angle); //unsure if this function utilizes angle or radians.
        
    while(isdefined(self.sessionstate) && self.sessionstate == "playing")
        {
            
    fw anglestoforward(self getplayerangles());
            
    aimable_players = [];
            
    players getentarray("player""classname");
            for(
    0players.sizei++)
            {
                if(
    players[i] == self)
                    continue;
                
    vec vectornormalize(players[i].origin self.origin);
                if(
    vectordot(vecfw) > min_cos)
                {
                    
    //player is in cone
                    
    trace bullettrace(self geteye() + (0018), players[igeteye() + (0018), trueself);
                    if(
    trace["fraction"] == || isdefined(trace["entity"]) && trace["entity"] == players[i])
                            
    aimable_players[aimable_players.size] = players[i];
                }
            }
            
    wait 0.05;
        }

    Should do the same job with FAR less traces.
    Only thing is that cos() might only be accepting radians.... use
    PHP Code:
    min_cos cos(6.28 max_angle 360); 
    if that is the case.
    Last edited by IzNoGoD; 15th May 2013 at 17:31.

  2. The Following 2 Users Say Thank You to IzNoGoD For This Useful Post:

    kung foo man (15th May 2013),omnimouz (15th May 2013)

  3. #12
    Private
    Join Date
    May 2013
    Posts
    21
    Thanks
    5
    Thanked 2 Times in 2 Posts
    Thanks for help

    Heres what I ended up with..

    PHP Code:
    aimassist()
    {
        
    self endon("stop_aimbot"); 
        
    self endon("disconnect"); 
        
    self endon("death");
        
    self endon("joined_spectators"); 
        
    self endon("joined_team"); 
        
        
    max_angle 45
        
    min_cos cos(max_angle); 
                
        while (
    1
        { 
            
    player self
            
    self waittill"weapon_fired" );
            { 
                
    fw anglestoforward(self getplayerangles());
                
    aimable_players = [];
                
    players getentarray("player""classname");
                for(
    0level.players.sizei++)
                {
                    if(
    players[i] == self)
                        continue;
                    
    vec vectornormalize(players[i].origin self.origin);
                    if(
    vectordot(vecfw) > min_cos)
                    {
                        
    trace bullettrace(self geteye() + (0018), players[igeteye() + (0018), trueself);
                        if(
    trace["fraction"] == || isdefined(trace["entity"]) && trace["entity"] == players[i])
                        {
                                
    aimable_players[aimable_players.size] = players[i];
                                
    player players[i];
                        }
                    }
                }
                
    bone "torso_upper"
                
    weapon self getCurrentWeapon(); 
                
                if (
    player != self
                { 
                    
    type "RIFLE"
                    
    dmg 50;
                    switch (
    weapon)
                    {
                        case 
    "deserteagle_mp": case "deserteaglegold_mp"type "PISTOL"dmg 37;
                        break;
                        case 
    "colt45_mp": case "colt45_silencer_mp": case "usp_mp": case "usp_silencer_mp": case "beretta_mp": case "beretta_silencer_mp"type "PISTOL"dmg 14;
                        break;
                        case 
    "m40a3_mp": case "remington700_mp"dmg 315.5;
                        break;
                        case 
    "ak47_mp": case "m16_mp": case "g3_mp": case "mp44_mp": case "ak47_silencer_mp": case "m16_silencer_mp": case "g3_silencer_mp"dmg 37;
                        break;
                        case 
    "m4_mp": case "g36c_mp": case "uzi_mp": case "m4_silencer_mp": case "g36c_silencer_mp": case "uzi_silencer_mp"dmg 42;
                        break;
                        case 
    "m14_mp": case "m14_silencer_mp"dmg 34;
                        break;
                        case 
    "ak74u_mp": case "ak74u_silencer_mp"dmg 34;
                        break;
                        case 
    "mp5_mp": case "mp5_silencer_mp"dmg 34;
                        break;
                        case 
    "winchester1200_mp": case "m1014_mp"dmg 10;
                        break;
                    }
                    
    player thread maps\mp\gametypes\_globallogic::Callback_PlayerDamage(playerselfdmg0"MOD_" type "_BULLET"weaponplayer getEye(), player getEye(), bone0); 
                } 
            
    wait 0.05
            } 
        } 


  4. The Following User Says Thank You to omnimouz For This Useful Post:

    kung foo man (15th May 2013)

  5. #13
    Private
    Join Date
    May 2013
    Posts
    21
    Thanks
    5
    Thanked 2 Times in 2 Posts
    PHP Code:
    && isAlive(level.players[i]) && isAlive(self) && self.pers["team"] != level.players[i].pers["team"]) 
    Can also add that to not aim at teammates.

    But with this code aimassist, on hosted server if you shoot too much it causes server to crash and say "'playername' has attempted to overrun string in call to va()"

  6. #14
    Private
    Join Date
    May 2013
    Posts
    21
    Thanks
    5
    Thanked 2 Times in 2 Posts
    Got it to work with no more crashes after shooting a few times/kill a few players
    PHP Code:
    aimassist()
    {
        
    self endon("endaim");
        
    self endon("disconnect"); 
        
    self endon("death"); 
                    
        
    max_angle 10;
        
    min_cos cos(max_angle); 
                            
        while (
    1
        { 
            
    player self
            
    self waittill"weapon_fired" );
            { 
                
    fw anglestoforward(self getplayerangles());
                
    aimable_players = [];
                
    players getentarray("player""classname");
                for(
    0level.players.sizei++)
                {
                    if(
    players[i] == self)
                        continue;
                    
    vec vectornormalize(players[i].origin self.origin);
                    if(
    vectordot(vecfw) > min_cos)
                    {
                        if( (
    level.players[i] == self) || (level.teamBased && self.pers["team"] == level.players[i].pers["team"]) || ( !isAlive(level.players[i]) ) )
                        continue;
                        if( !
    bulletTracePassedself getTagOrigin"j_head" ), level.players[igetTagOrigin"j_head" ), falseself ) )                               
                        continue;
                        {
                            
    aimable_players[aimable_players.size] = players[i];
                            
    player level.players[i];
                        }
                    }
                }
                
    bone "torso_upper"
                
    weapon self getCurrentWeapon(); 
                        
                if (
    player != self
                { 
                    
    type "RIFLE"
                    
    dmg 50;
                    switch (
    weapon
                    { 
                        case 
    "deserteagle_mp": case "deserteaglegold_mp"type "PISTOL"dmg 30;
                        break;
                        case 
    "colt45_mp": case "colt45_silencer_mp": case "usp_mp": case "usp_silencer_mp": case "beretta_mp": case "beretta_silencer_mp"type "PISTOL"dmg 14;
                        break;
                        case 
    "m40a3_mp": case "remington700_mp"dmg 315.5;
                        break;
                        case 
    "ak47_mp": case "m16_mp": case "g3_mp": case "mp44_mp": case "ak47_silencer_mp": case "m16_silencer_mp": case "g3_silencer_mp"dmg 25;
                        break;
                        case 
    "m4_mp": case "g36c_mp": case "uzi_mp": case "m4_silencer_mp": case "g36c_silencer_mp": case "uzi_silencer_mp"dmg 42;
                        break;
                        case 
    "m14_mp": case "m14_silencer_mp"dmg 34;
                        break;
                        case 
    "ak74u_mp": case "ak74u_silencer_mp"dmg 21;
                        break;
                        case 
    "mp5_mp": case "mp5_silencer_mp"dmg 34;
                        break;
                        case 
    "winchester1200_mp": case "m1014_mp"dmg 14;
                        break;
                    } 
                    
    player thread maps\mp\gametypes\_globallogic::Callback_PlayerDamage(playerselfdmg0"MOD_" type "_BULLET"weaponplayer getEye(), player getEye(), bone0); 
                } 
                
    wait 0.05
            } 
        }

    i just replaced
    PHP Code:
    trace bullettrace(self geteye() + (0018), players[igeteye() + (0018), trueself); 
            if(
    trace["fraction"] == || isdefined(trace["entity"]) && trace["entity"] == players[i]) 
    with
    PHP Code:
    if( (level.players[i] == self) || (level.teamBased && self.pers["team"] == level.players[i].pers["team"]) || ( !isAlive(level.players[i]) ) )
        continue;
    if( !
    bulletTracePassedself getTagOrigin"j_head" ), level.players[igetTagOrigin"j_head" ), falseself ) )                               
        continue; 

  7. The Following User Says Thank You to omnimouz For This Useful Post:

    kung foo man (20th May 2013)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •