113 files

  1. Courier

    Requirements
    You need to download & install these resources first:
    NativeUI Efficient Attachment Sync
    Currency API (after installing, define a currency named cash)
     
    Installing
    Put the files you downloaded in their respective places Set up some businesses and products (read below) All done  
    Basically
    This script adds factories and buyers which sell and buy products, your job is to buy stuff from factories and sell them to buyers for profit.
     
    Commands
    /products: Accesses a vehicle's product inventory, you have to be at the back of the vehicle.
    /takeproduct: Takes a product from the ground/factory.
    /dropproduct: Drops a product from your hands to the ground/buyer.
     
    JSON Files
    Most of the changes are done by editing JSON files located in packages/courier/json/.
    Remember to validate your changes here: https://jsonlint.com/
     
    config.json
    businessWorkInterval: Interval of the business work timer (used for factories to make product and buyers to sell product), default value is 60000.
    worldCleanerInterval: Interval of the world cleaner timer (used for removing dropped products), default value is 60000.
    droppedProductLife: Milliseconds a dropped product will stay for, default value is 600000.
    dropProductOnDeath: If true, dying will cause players to drop the product they're carrying, default value is true.
    dropProductOnDisconnect: If true, leaving the server will cause the players to drop the product they're carrying, default value is true.
     
    vehicles.json
    This file contains an object that keeps which vehicles are supported by this script in modelName: capacity format. (Vehicles List)
    { "burrito3": 6, // 6 products for burrito3 "rumpo": 6, // 6 products for rumpo "speedo": 4, // 4 products for speedo "youga": 4 // 4 products for youga }  
    products.json
    This file contains the product information in object of objects format. A product has name, model, price, profit, businessTime, attachOffset and attachRotation properties.
    name: The product's visible name.
    model: Model name of the product, used for dropping and attaching.
    price: Price of the product.
    profit: Profit rate of the product. Price is multiplied by this value while selling products to a buyer.
    businessTime: Milliseconds it takes for a factory to create one of this product/for a buyer to sell one of this product.
    attachOffset: Attachment offset of the product model on player.
    attachRotation: Attachment rotation of the product model on player.
    // Example: Ammunition product "ammo": { "name": "Ammunition", "model": "gr_prop_gr_bulletscrate_01a", "price": 300, "profit": 1.2, "businessTime": 600000, "attachOffset": { "x": 0, "y": -0.18, "z": -0.18 }, "attachRotation": { "x": 0, "y": 0, "z": 0 } }  
    businesses.json
    This file contains business information in array of objects format. A business has type, productType, initialStock, maxStock and position properties.
    type: Business type, only factory and buyer are available.
    productType: The product this business is interested in, only the values in products.json are available.
    initialStock: How much product this business has on server start.
    maxStock: Maximum product this business can have.
    position: Location of the business.
    // Example: Beer Factory & Buyer used in the video [ { "type": "factory", "productType": "beer", "initialStock": 100, "maxStock": 100, "position": { "x": 4.168992519378662, "y": 12.795921325683594, "z": 69.82928466796875 } }, { "type": "buyer", "productType": "beer", "initialStock": 0, "maxStock": 20, "position": { "x": 29.61789321899414, "y": 5.448328018188477, "z": 69.10714721679688 } } ]  
    businessTypes.json
    This file contains business type information in object of objects format. You probably don't need to make any changes to this file, unless you want to add new business types. (which needs some scripting as well)
    A business type has label and blipSprite properties.
    label: Visible name, used for blip name and label.
    blipSprite: Blip sprite of the business type. (Blip Sprite List)
    // Example: Default business types { "factory": { "label": "Factory", "blipSprite": 615 }, "buyer": { "label": "Buyer", "blipSprite": 616 } }  
    Extensions
    This script extends mp.Player and mp.Vehicle.
     
    Player Functions
    // Returns true if the player is carrying a product. player.isCarryingProduct(); // Returns the type of product the player is carrying, will be null if the player isn't carrying anything. player.getCarryingProduct(); // Makes the player start carrying a product. Type should be a valid product type and the player shouldn't be carrying a product, or it won't work. player.startCarryingProduct(type); // Makes the player stop carrying a product. player.stopCarryingProduct();  
    Vehicle Functions
    IMPORTANT: Vehicles with models that are in vehicles.json automatically get an inventory when entityCreated event is called, so you don't need to use setProductInventory for them. (Unless you want to be 100% sure they have it)
    // Sets the product inventory of a vehicle. newInventory must be an array created by the array constructor like "new Array(8)". vehicle.setProductInventory(newInventory); // Returns true if the vehicle has a product inventory. vehicle.hasProductInventory(); // Returns the product inventory of the vehicle, will be null if the vehicle doesn't have one. vehicle.getProductInventory(); // Adds a product to the vehicle product inventory, index must not have an item already and index must be within the bounds of product inventory array. Returns true if successful, false otherwise. vehicle.giveProduct(index, productType); // Returns the product at the specified index of vehicle product inventory, will be null if index doesn't have a product. vehicle.getProduct(index); // Removes the product at the specified index of vehicle product inventory. Returns true if successful, false otherwise. vehicle.removeProduct(index);  
    Source code is available on GitHub in case you don't want to download: https://github.com/root-cause/ragemp-courier

    91 downloads

       (5 reviews)

    0 comments

    Submitted

  2. [JS,CEF] Emergency Alert System

    (EN) This script allow you to play emergency alert sound (2 sounds: tornado siren, alert siren), coming soon: amber alert with sound&pop-up
    (FR) Ce script vous permet de déclencher des sirènes d'alertes (sirène tornade, sirène d'alerte), à venir: alerte enlèvement avec son&popup
    ----- HOW TO INSTALL -----
    1) Unpack RAGEMP Alert v0.1
    2) Drop the content of "client_packages" folder inside your client folder
    3) Drop the content of "packages" folder inside your server folder
    4) Add in your server index.js :
    require('./Alert/sAlert');
    5) Add in your client index.js :
    require('./Alert/cAlert');
    6) Do not forget to change link of mp.browsers.new in Alert/cAlert.js if needed

    ----- HOW TO USE -----
    /alert tornado {repeat time}
    --> {repeat time} FROM 1 TO 9 TIMES
    Duration: EACH time: 9sec (min: 9sec, max: 81sec)
    /alert siren {repeat time}
    --> {repeat time} FROM 1 TO 9
    Duration: START: 5sec / ACTIVE: 12sec (repeat from 1 to 9) / END: 13sec (min: 30sec, max: 126sec)
    /alert siren stop
    --> stop the siren immediatly if activated (duration: 13sec)
    ----- DEMO -----
    Tornado Siren:
    Alert siren:
    Amber alert (coming soon):
     

    55 downloads

       (1 review)

    0 comments

    Updated

  3. [JS, CEF] Internet Radio

    Internet radio over colshapes using CEF.
    Scope of application: custom clubs, interiors.
    Default location is the Galileo Observatory (behind the monument).
    Default radio station - Wacken Radio (DE).
    Installation:
    I. Put server files to: server-files\packages\yourGameMode
    II. Add require('./rStreamColshapes');  to your server's index.js
    III. Put client files to: client_packages then edit your client's index.js and add require('./rStream');
    To change radio stream url, edit index.html here: client_packages\cef\rStream\index.html
     
    GitHub

    84 downloads

       (2 reviews)

    0 comments

    Updated

  4. RC-Bandito

    This resource makes you create/experience the rc-bandito. It can be used to do some spying or even suicide bomb...
    // Server-side mp.vehicles.createRC(player); // Adds player to experience the bandito Controls:
    INPUT_CONTEXT aka. E (Detonates the bomb) INPUT_ENTER aka. F (Returns to player) Thank to root for signing the Chinese weapon contract, and thank George men for continuous motivation...
    You know what to do when you have issues (don't contact me obv.)
    Thanks for reading this...

    51 downloads

       (1 review)

    0 comments

    Updated

  5. Scaleform Hud

    This resource introduces the well known scaleform hud for mission/heists. Makes it easy to create it in-game
    Known Issues:
    Mission end  doesn't display black background due to unknown reason, still addressing it. API:
    Client-side API
    // Client side // Credits to kemper for his amazing scaleform class... /* * Creates an intro that you see on mission start. * style: int (1-20) Adds background to the intro banner * header: Mission title * subHeader: Mission secondary title */ mp.banners.createIntro(style, header, subHeader).then(done => { }); /* * Creates an objective banner * style: (1-20) Adds background to the intro banner * header: Mission title * objective: Mission secondary title */ mp.banners.createObjective(style, header, objective).then(done => { }); /* * Creates an objective banner * style: int (1-20) Adds background to the intro banner * missionName: Mission title * reason: Reason of pass/fail * passed: boolean */ mp.banners.missionResult(style, missionName, reason, passed).then(done => { }); /* * Creates an mission end banner. * style: int (1-20) Adds background to the intro banner * cashWon: Cash Earned * level: Object * { rpGain: (int), rpStart: (int), rpMin: (int), rpMax: (int), currentRank: (int), nextRank: (int), rankUpText: (string), rankUpExtraText: (string) } */ mp.banners.missionEnd(style, cashWon, level).then(done => { });  
    Banner Images:
    Intro:

     
    Objective

     
    Mission Complete

    Mission End


    If you have any issues you know what to do....

    Thanks for reading this at least....

    36 downloads

       (1 review)

    1 comment

    Submitted

  6. Sudodude's PedPicker

    This is a simple module/script for changing the player model synced client/server. The values in the list are the model names that can be found on https://wiki.rage.mp/index.php?title=Peds. Click on a model in the list and you will switch to that model.
    *F7* to open PedPicker Menu in game.
    You should be able to just drop the files within the client_packages/packages directories and then add the requirements to the respective index.js files within those directories. 
    All source code is given from within the file download, but you can also find the repo here:  AZAMOEBA_RAGE_PEDPICKER. If you are using this I'd appreciate a star or just let me know you found any of this useful. If I forgot a credit please let me know and I will get back to you and fix whatever is necessary. Enjoy!

    Message for any comments/questions and I'll try to get back asap.

    60 downloads

       (0 reviews)

    0 comments

    Updated

  7. MC's Blackjack Mod

    ~~BETA: THIS SCRIPT IS UNTESTED FOR MULTIPLAYER CURRENTLY~~
    ~~PLEASE LEAVE FEEDBACK ON MULTIPLAYER FUNCTIONALITY~~
    Hello! I'm MC, and I developed this blackjack mod from scratch. The goal was to create an interactive blackjack experience with full UI support. If you decide to give it a go, please make sure to leave some feedback as to whether it works properly or not. Thanks!
    Here's a demo of the mod in action:
    Features:
    When a player creates a table, they will automatically be assigned the HOUSE role for that table. The house player has the following UI options:
    - OPEN TABLE: If the table is currently closed, it will open the table. All tables are open by default.
    - CLOSE TABLE: The table will close for all players, except for the house player. This is used to prevent players from joining a private game, or a game in progress. It can also be used to temporarily close the table for an extended period of time.
    - RESHUFFLE: The tables deck is reshuffled, with all players hands being reset and the house having a new hand dealt. This reuses the same number of decks that was originally equipped with the table.
    - DESTROY TABLE: Destroys the table, deleting all resources associated with it. This will close any open UI for all players currently in the table, and the house player.
    - LEAVE GAME: This just leaves the table. If the house player leaves the table, the current state of the table is lost.
    Clicking on any player name will 'hit' the player. Additionally, clicking on a card on the table will flip the card over.Players will only see the house's hand and their own hand. They only have the option to leave the game.

    That's it! Any future adjustments to this mod will be based purely on the feedback received. 

    Check me out on Twitch if you ever want to catch me occasionally coding RageMP mods live, support future mod development, or if you just want to come say hi: https://www.twitch.tv/mctheboss
     

    40 downloads

       (0 reviews)

    0 comments

    Updated

  8. [C#] Teamspeak Wrapper

    Teamspeak C# Wrapper for use with theGTA5 Voice plugin: https://gta5voice.net/ with Lipsync!
    For install: 
    Unzip into the root server folder.
    Config the meta.xml with your teamspeak server query.
    Enjoy!
     
    Press M for change the voice range.

    Source Code: https://github.com/PourrezJ/RAGEMP_GTA5_TSVoice

    176 downloads

       (1 review)

    3 comments

    Updated

  9. Realtime Weather

    Server-sided script, that getting a real weather hourly and sets it in the gta 5 world.
     
    HowTo:
    I. Install getJSON: npm install get-json --save
    II. Go to https://developer.accuweather.com/ and register as the Developer.
    III. To get your new API key, create your WeatherAPP here, https://developer.accuweather.com/user/me/apps
     On the question: "What programming language is your APP written in?" Answer will be: JavaScript.
    IV. Go to https://www.accuweather.com/ and find your preferred location on the map or by the search field, for example: Moscow, Russia.
     To set more accurate location to your preferred, click on the nearest point on the map, for me it is Yakimanka, then click on 'Hourly".
    V. The URL will look like this: https://www.accuweather.com/en/ru/yakimanka/2515350/hourly-weather-forecast/2515350
      Well, 2515350 is the Location Key that we will use further.
     
    VI. Let's assemble your AccuWeather URL: http://dataservice.accuweather.com/forecasts/v1/hourly/1hour/YOUR_LOCATION_KEY?apikey=YOUR_API_KEY
    VII. Paste new AccuWeather URL into the script and save it.
    Warning! The Trial Version of AccuWeather is limited for 50 requests per day.
     
    GitHub
     

    98 downloads

       (1 review)

    0 comments

    Updated

  10. [JS] Regional Restrictions

    Simple solution to check incoming connections from unwanted countries.
    I. Install geoip-Lite: npm i geoip-lite
    II. Edit country_ban list with the specified country codes https://dev.maxmind.com/geoip/legacy/codes/iso3166/
    III. Save and put this script to "server-files\packages" and add require('./countryBan');  in index.js

    25 downloads

       (1 review)

    0 comments

    Submitted

  11. 2D Text Edtior

    This script will allow you to quickly and easily work with 2D text in the game.
    Contributions:
    rootcause
    Captien
    micaww
     
    In 1.0.5 update Scale-X and Outline of 2D text doesn't work and idk where's problem, because i can't fix it...

    223 downloads

       (3 reviews)

    2 comments

    Updated

  12. Easy Blip Creator | Fixed

    I Fixed the Easy Blip Creator. Because of a change in RageMP Wiki, the script could no longer load the images. to see here. I fixed this to see here. Everything should now work normally again with this script
     
    original version & creator of this script:
     
     

    92 downloads

       (2 reviews)

    0 comments

    Submitted

  13. Custom UI Healthbar and Armor.

    Hey !
    So this script adds simply a Custom UI for the Healthbar and the Armorbar !
    To this I simply add a condition for only if the player is in the car the GPS will be Display.
    Installing:
    Just drag the custom_ui folder to your  client_package and don't forget to add the require('custom_ui ');  to your index.js.
    If you don't want to download this, you can also check the source code here:
    https://github.com/SuperCoolNinja/ragemp-custom-ui

    75 downloads

       (0 reviews)

    0 comments

    Submitted

  14. CEF wepSpawner

    Installing:
    Place the files you downloaded in their locations.
    Add "require('.wepSpawner');" to client_packages/index.js.
    Controls:
    F4 to toggle menu.
    Everything else is done in cef interface.

    Features:
    Spawn any weapon from https://wiki.rage.mp/index.php?title=Weapons (2019-05-05).
    Get all weapons instantly by clicking "All Weapons".
    Get all weapons from a category by entering the category and clicking "All *Category name*".
    Get any weapon you choose.
    Ability to remove all weapons and start over.

    124 downloads

       (1 review)

    0 comments

    Submitted

  15. MoneyAPI

    This resource probably won't get future updates, check out Currency API instead.
    Easy to use money system for your server. It handles saving&loading and provides you a custom data key to get/set a player's money.
    Installing
    Put the files you downloaded in their respective places Add require('moneyapi') to client_packages/index.js Open packages/moneyapi/constants.js and put your MySQL info (maybe edit the settings too while you're at it...) Congrats, you're all done Settings (packages/moneyapi/constants.js):
    startingMoney use this setting to change how much money players start with. Default: 0 autoSaveInterval use this setting to change how frequent auto saving happens (in minutes), you can set it to 0 if you want to disable auto saving. Default: 5 Example
    You can access a player's money from customMoney property using either .data.customMoney or .getVariable("customMoney").
    mp.events.addCommand("smoney", (player, _, money) => { // set the player's money to the specified amount money = parseInt(money); if (!isNaN(money)) { player.data.customMoney = money; } else { player.outputChatBox("Invalid amount specified."); } }); mp.events.addCommand("cmoney", (player, _, amount) => { // change the player's money by the specified amount amount = parseInt(amount); if (!isNaN(amount)) { player.data.customMoney += amount; } else { player.outputChatBox("Invalid amount specified."); } }); mp.events.addCommand("buyhp", (player) => { // refill a player's health for $100 if (player.data.customMoney >= 100) { player.health = 100; player.data.customMoney -= 100; player.outputChatBox("Refilled health for $100."); } else { player.outputChatBox("You don't have $100."); } }); Notes
    First of all, thanks to @Donboo for their MySQL example which you can find here. This script won't save while the server is shutting down but will save player money when they disconnect or when autosave happens. This script uses an int(11) field to store a player's money. If you think $2147483647 isn't enough, you might want to change it. For some reason, MoneyAPI HUD elements will be off position in 1914x1080 windowed resolution. This script won't update the money display on the ESC/pause menu. (This note is obsolete if you're using the GameHUD version)

    1263 downloads

       (6 reviews)

    1 comment

    Updated

  16. Clothing Shops

    This script lets you create your own clothing shop(s) with JSON files.
     
    Installing
    Put the files you downloaded in their respective places Download & install NativeUI if you haven't yet, this script needs it (Only if you're going to have paid items) Download & install Currency API then define a currency named cash. Add require('clothing-shops') to client_packages/index.js Set up some clothing shops (read below) All done  
    Setting Up Shops
    Shop data is loaded from packages/clothing-shops/shops, any JSON file there will be treated as a clothing shop. Shop file structure:
    { // OPTIONAL, this object will be the menu banner sprite on clientside. Search for "shopui_title_" on https://wiki.rage.mp/index.php?title=Textures "bannerSprite": { "library": "shopui_title_highendfashion", "texture": "shopui_title_highendfashion" }, // REQUIRED, this array contains the shop coordinates "shops": [ { "x": 123.4, "y": 456.7, "z": 8.9 }, { "x": 10.0, "y": 20.0, "z": 30.0 } ], // REQUIRED, this object contains item data for freemode male model "male": { // REQUIRED, this object contains all clothing item data "clothes": { // REQUIRED, this array contains item data for a component slot (https://wiki.rage.mp/index.php?title=Clothes - we're using 11 - tops here) "11": [ // REQUIRED, item object(s) for component slot 11 { "name": "Blue Burger Shot Hockey Shirt", "drawable": 282, "texture": 0 }, // This item will need the player to have some money (handled with Currency API) { "name": "Blue Cluckin' Bell Hockey Shirt", "drawable": 282, "texture": 4, "price": 500 } ] }, // REQUIRED, this property contains all prop item data (we're not gonna add any props to freemode male here, so it's just an empty object) "props": {} }, // REQUIRED, this object contains item data for freemode female model "female": { // This time we're not adding any clothes "clothes": {}, // But we're adding props "props": { // Same as above, prop slot as key (we're using 7 - bracelets) "7": [ // Prop items are defined just like clothing items { "name": "Gold Snake Cuff", "drawable": 0, "texture": 0, "price": 200 }, { "name": "Light Wrist Chain (R)", "drawable": 7, "texture": 0 }, { "name": "Spiked Gauntlet (R)", "drawable": 13, "texture": 0, "price": 85 } ] } } } If this wasn't any clear, there is a file named ExampleShopFile.json inside packages/clothing-shops/. (it's the file used in the preview video, put it to shops folder if you want to load it)
    I'd also recommend you to check out my "Clothing Names" resource for valid names.
    Source code is available on GitHub in case you don't want to download: https://github.com/root-cause/ragemp-clothing-shops

    247 downloads

       (5 reviews)

    2 comments

    Updated

  17. CEF vehSpawner

    Installing:
    Place the files you downloaded in their locations.
    Add "require('.vehSpawner');" to client_packages/index.js.
    Controls:
    F3 to toggle menu.
    Everything else is done in cef interface.

    Features:
    Spawn any vehicle from https://wiki.rage.mp/index.php?title=Vehicles (2019-05-04).
    All players can spawn up to 4 vehicles each.
    Vehicles will despawn on server disconnect.
    Choose vehicle color via a simple color picker.
    Repair the vehicle you are in (2 min timer so you cant spam it).
    Players have the ability to despawn (destroy) their vehicles.

    Credits:
    Josh Pullen for his color picker script at jsfiddle: https://jsfiddle.net/PullJosh/dpkP3/. Without this choosing vehicle colors would not be a feature.
    P.S. SS's are in 1440p, side menus will be closer to center in 1080p and the larger vehicle categories will require scrolling.

    184 downloads

       (2 reviews)

    0 comments

    Updated

  18. Simple Rainbow Text

    Hey !
    So this script adds simply a Rainbow Text usefull for display some text like ur discord server or server name ...
    Installing:
    Just drag the RainbowText folder to ur client_package and don't forget to add the require('RainbowText/rainbowtext.js'); to ur index.js
    Notes:
    I’ve done my best to explain to you everything you need to know about the code. If you have any questions, just post it.
    The script can probably be improved, I’m still new to JS I’m learning from day to day, if you have any advisors do not hesitate. 😅
    For french people just go to my Github to see how the installation work or just translate it lul 😋:
    https://github.com/SuperCoolNinja/SimpleRainbowText

    30 downloads

       (2 reviews)

    0 comments

    Updated

  19. [C#] Screen FX Preview

    What it does: https://streamable.com/pht3r
    How to use:
    - requires c# on clientside
    - trigger clientside event from server
    For example:
    Add a server command and trigger this clientside script like this:
    NAPI.ClientEvent.TriggerClientEvent(client, "EnableScreenFx");
    Navigate through all the effects with left and right arrow keys - you'll get a local chat message with the current name of the effect and the index.
    Previous fx: LeftArrow
    Next fx: RightArrow

    82 downloads

       (1 review)

    0 comments

    Submitted

  20. [C#] Key API

    Key.Bind - This function binds the key.
    keycode - hexadecimal code of key. keydown/keyup - true trigges on keydown, false triggers on keyup (bool) handler - function-handler. public class KeyTest: RAGE.Events.Script { public KeyTest() { Key.Bind(Keys.VK_ESCAPE, true, () => { // Code here return 1; }); } } To bind multiple keys:
    Key.Bind(new Keys[] { Keys.VK_T, Keys.VK_F6 }, true, ...)
    Key.IsUp - Returns true if the key specified has been released. Otherwise, returns false.
    keycode - code of the key (Keys.VK_T or 0x54) private void Tick(List<Events.TickNametagData> nametags) { if(Key.IsUp(0x62)) { // NUMPAD2 up } } Key.IsDown - Returns true if the key specified is pressed. Otherwise, returns false.
    keycode - code of the key private void Tick(List<Events.TickNametagData> nametags) { if(Key.IsDown(new int[] { 0x60, 0x61 })) { // NUMPAD0 & NUMPAD1 pressed. } }  

    59 downloads

       (1 review)

    0 comments

    Submitted

  21. [DEPRECATED] Vehicle Indicators

    Vehicle indicators are the main thing in role-play. Without it you can't role-play while driving or you can cause accidents.
    So i did that simple resource to give some help to the community
    Keys:
    Press X for Warning Lights Press left_arrow for Left indicator Press right_arrow for Right Indicator  
    Use root's resource for synced indicators
     

    556 downloads

       (3 reviews)

    1 comment

    Updated

  22. Clock speedometer

    Clock speedometer JS client-side
     

    276 downloads

       (3 reviews)

    0 comments

    Updated

  23. SAMP Dialogs

    SA-MP Dialogs for RAGE MP (C# clientside).
    This is my first resource so may contains bugs...
    You must enable C# clientside!
    Usage is simple: examples in Test.cs
    Dialog(string dialog_name, string dialog_caption, string dialog_info, string[] dialog_buttons, string[] dialog_list_items = null, string dialog_input = null, string dialog_password_input = null)  

    126 downloads

       (10 reviews)

    0 comments

    Updated

  24. NoClip

    Simple noclip cam 🎥

    🎮 Controls:
    F2 - Enable/Disable W/A/S/D/E/Q - Move cam Shift - Boost LCtr - Slowdown  
    🚀 Installation:
    Download .zip Move noclip folder to client_packages Add require('./noclip'); in root index.js

    318 downloads

       (4 reviews)

    1 comment

    Submitted

  25. Vehicle Spawner

    Installing
    Put the files you downloaded in their respective places Download & install NativeUI if you haven't yet, this script needs it Add require('vspawner') to client_packages/index.js All done Controls
    F4 Key - show/hide menu
    Left Arrow - previous page
    Right Arrow - next page
    ESC - close menu
    Credits
    https://github.com/n-n1ks/rage.mp-freeroam - Vehicle spawn/model change stuff

    2172 downloads

       (3 reviews)

    1 comment

    Updated