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

Collectibles mod but not auto collecter


Jaszczureq
 Share

Recommended Posts

Hi. I'm trying to figure out how to interact with collectibles using scripthookVdotnet. What I want to do is to make GTA more like some Ubi-game- in collectibles matter. I love free roaming through GTA map and collect stuff but keeping record of what I've picked up drives me nuts.

There are mods that adds blips to map with collectibles but that's it. I still have to keep track by myself of which collectible I took etc. It's time to make use of CS degree :P.

I want this script to read list of collectibles from f.e. file, add those points to map and every time I pick up something to then remove it from this file. The main problem is with that interaction. Cant figure out how to make my script react or event find method or prop that would say what collectibles I've already collected.

Any kind of help would be appreciated. Thanks in advance, homies.

Link to comment
Share on other sites

In the simplest scenario, you'd have your collection of CollectableObjects stored in the data file with a value that says if they've been collected or not.

You'd read that data file into the script and create a List<CollectableObject> of the objects that haven't been marked as collected, using the list of positions for those objects stored in your script.

 

You would cycle through the objects in the List, to determine if you were in checking range of any of those objects. Once you got within a certain distance from an object's position, you would create a Pickup:-

Pickup myPickup = World.CreatePickup(...);

You'd have to use intellisense in Visual Studio to see what options you have for that and see if any seemed suitable.

 

While you remained inside the checking distance, you could use:-

if (myPickup.IsCollected)
{

}

When it passed the check, you would mark that object as collected, remove it from the List<CollectableObject> and update the data file.

 

If you moved outside the checking range, you would simply delete the created pickup. Make sure to make the checking distance for deleting the Prop bigger than the checking distance for creating it, so you don't cause frequent deletion > creation > deletion as you move in and out of range. CheckingDistance * 1f for creating and CheckingDistance * 1.5f for deleting would work well enough, depending on how far away you want it to be visible from.

 

Or if you don't want to be limited by the Pickup choices, you could create a CustomPickup class that used any Prop in the game instead of the Pickup object and use your own proximity check to decide when you were close enough to collect the object. Then you follow the same process of marking it as collected, remove it from the List etc... You'd use this instead of the Pickup creation:-

Prop myCustomPickup = World.CreateProp(...);

Your data file could be as simple as a string of 000000010001010111000011010 to represent the collected state if that's all it needed to do.

 

If you are looking to use a lot of collectables, use distance-squared for "in-the-nearby-area" proximity checking as it is much faster. and then use the World.GetDistance(...) function for precise collection checking on the closest collectable.

 

Disclaimer: I have no experience using the Pickup objects but I have created many mods using proximity based processes.

Edited by LeeC22
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.