Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

While aiming


Wiebrendh
 Share

Recommended Posts

How do i check if the player is aiming?

 

And if the player is aiming, then run a bit of code

Link to comment
Share on other sites

Your code? You mean that script stef538 wrote for you as example, that u call my code now?

Link to comment
Share on other sites

Well, then i am really curious about what u made of it

Link to comment
Share on other sites

 

run the code once or loop code while aiming??

 

i usually just check if gamepad left trigger is pressed or if GameKey.Aim is pressed... u can also check animations... many ways to do it

 

helper methods...

public static bool LeftTriggerPressed()//needed for gamepad compatability{    return GTA.Native.Function.Call<bool>("IS_CONTROL_PRESSED", 0, 6);} public static bool PlayerIsArmed(){    return Game.LocalPlayer.Character.Weapons.CurrentType != Weapon.Unarmed && Game.LocalPlayer.Character.Weapons.CurrentType != Weapon.Misc_Object;} public static bool PlayerIsAiming(){    return PlayerIsArmed() && (LeftTriggerPressed() || Game.isGameKeyPressed(GameKey.Aim));}

Loop the code while aiming, the when aiming part works, but it just runs one time :(

Edited by Wiebrendh
Link to comment
Share on other sites

 

 

 

run the code once or loop code while aiming??

 

i usually just check if gamepad left trigger is pressed or if GameKey.Aim is pressed... u can also check animations... many ways to do it

 

helper methods...

public static bool LeftTriggerPressed()//needed for gamepad compatability{    return GTA.Native.Function.Call<bool>("IS_CONTROL_PRESSED", 0, 6);} public static bool PlayerIsArmed(){    return Game.LocalPlayer.Character.Weapons.CurrentType != Weapon.Unarmed && Game.LocalPlayer.Character.Weapons.CurrentType != Weapon.Misc_Object;} public static bool PlayerIsAiming(){    return PlayerIsArmed() && (LeftTriggerPressed() || Game.isGameKeyPressed(GameKey.Aim));}

Loop the code while aiming, the when aiming part works, but it just runs one time :(

 

easiest way is to use a Tick method (use the script's tick event or u can use GTA.Timer). Another way is to use a while loop (just make sure u wait(0) each loop to allow the game to process other scripts). It just depends how u want your script to work.

 

One thing I wanted to add to the PlayerIsAiming method was to check if he is in a vehicle...

public static bool PlayerIsAiming(){    return !Game.LocalPlayer.Character.isInVehicle() && PlayerIsArmed() && (LeftTriggerPressed() || Game.isGameKeyPressed(GameKey.Aim));}
namespace WhileAimingNotification{    using System;    using GTA;     internal static class Helpers    {        internal static bool LeftTriggerPressed()//needed for gamepad compatability        {            return GTA.Native.Function.Call<bool>("IS_CONTROL_PRESSED", 0, 6);        }         internal static bool PlayerIsArmed()        {            return Game.LocalPlayer.Character.Weapons.CurrentType != Weapon.Unarmed && Game.LocalPlayer.Character.Weapons.CurrentType != Weapon.Misc_Object;        }         internal static bool PlayerIsAiming()        {            return !Game.LocalPlayer.Character.isInVehicle() && PlayerIsArmed() && (LeftTriggerPressed() || Game.isGameKeyPressed(GameKey.Aim));        }    }     public class Main : Script    {        public Main()        {            Tick += MainTick;        }         private void MainTick(object sender, EventArgs e)        {            if (Helpers.PlayerIsAiming())            {                Game.DisplayText("Player is Aiming, and DisplayText is being called over and over...", 500);            }        }    }}

 

 

Oke, with this, when i set my interval on 1 second, and do a random int var + 1, then it will add 1 every second?

Link to comment
Share on other sites

i dont understand what you mean when you say... "and do a random int var + 1"

 

if your Script's Tick event is being used for something and has an interval of 1 second then u can make another Tick event that runs faster by using a GTA.Timer. I would use a Tick with interval of 0 to check when aiming. Im not sure I answered your question though.

 

Yep that is a very very poor description of me..

I want it to add 1 to a variable every second.. So when Niko aims at a dude at burgershot, a timer counts to 3 and after that something happens!

I hop this is clearer :)

Link to comment
Share on other sites

 

 

i dont understand what you mean when you say... "and do a random int var + 1"

 

if your Script's Tick event is being used for something and has an interval of 1 second then u can make another Tick event that runs faster by using a GTA.Timer. I would use a Tick with interval of 0 to check when aiming. Im not sure I answered your question though.

 

Yep that is a very very poor description of me..

I want it to add 1 to a variable every second.. So when Niko aims at a dude at burgershot, a timer counts to 3 and after that something happens!

I hop this is clearer :)

 

ah ok... i would probably save the Game.GameTime when the player first targets a ped and as long as this ped continues to exist then keep checking time with the initial saved time and trigger code when it goes past 3 seconds...

namespace PedReactsToAiming{    using System;    using GTA;     public class Main : Script    {        private Ped target;        private int aimStartTime;         public Main()        {            Tick += MainTick;        }         private void MainTick(object sender, EventArgs e)        {            Ped ped = Game.LocalPlayer.GetTargetedPed();            if (!Game.Exists(ped))            {                target = null;                return;            }             if (ped == target)            {                if (Game.GameTime - aimStartTime >= 3000)                {                    Game.DisplayText("DO SOMETHING");                }            }            else            {                target = ped;                aimStartTime = Game.GameTime;            }        }    }}

 

Oke, this looks good! But one question, what does

Tick += MainTick;

mean??

Link to comment
Share on other sites

Tick += MainTick;

mean??

 

?

 

Adds the function MainTick as a callee to the event Tick ?.

Edited by pedro2555
Link to comment
Share on other sites

So with

Tick += MainTick;

the update speeds depends on the fps? How frequent does it update?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.