147 files

  1. Compass

    Just simple compass what you can use.
    You need to add compass.js path, to index.js on client_packages.

    158 downloads

       (2 reviews)

    2 comments

    Submitted

  2. RageMP new hairstyles!

    - Up to 20 NEW hairstyles for males!
    - Up to 19 NEW hairstyles for females!
    - Root's character creator adaption supported!
     
    Installation:
    1) Unpack the rar.
    2) If you haven't already, create a "dlcpacks" folder inside your "client_packages" folder.
    3) Drop the "gtahairs" folder inside "dlcpacks"

    478 downloads

       (3 reviews)

    0 comments

    Updated

  3. Vice City Minimap

    Video: https://streamable.com/2cg3g
    This is a cef minimap for vice city in js.
    Helth and armour progress bars don't work you can make it work easily

    150 downloads

       (5 reviews)

    0 comments

    Updated

  4. Shortcuts (Animations) on Numpad 1.0.0 Javascirpt

    About this File
    I used this res to create my res: Shortcuts (Animations) on Numpad 1.0.0 Before first Startup: you import db.sql in your Database and change "Yourname" in the record or leave it. I used RPC in this example, install it. My node_modules are in the archive located. Do this on Login/Startup Serverside
    gm.mysql.handle.query("SELECT * FROM shortcuts WHERE name = ?", [player.name], function (err10,res10) { if (err10) console.log("Error in loadShortcuts: "+err10); if (res10.length > 0) { res10.forEach(function (shortcutData) { player.data.numpad1A = shortcutData.num1animA; player.data.numpad1B = shortcutData.num1animB; player.data.numpad1C = shortcutData.num1animC; player.data.numpad1D = shortcutData.num1animD; player.data.numpad1Name = shortcutData.num1name; player.data.numpad2A = shortcutData.num2animA; player.data.numpad2B = shortcutData.num2animB; player.data.numpad2C = shortcutData.num2animC; player.data.numpad2D = shortcutData.num2animD; player.data.numpad2Name = shortcutData.num2name; player.data.numpad3A = shortcutData.num3animA; player.data.numpad3B = shortcutData.num3animB; player.data.numpad3C = shortcutData.num3animC; player.data.numpad3D = shortcutData.num3animD; player.data.numpad3Name = shortcutData.num3name; player.data.numpad4A = shortcutData.num4animA; player.data.numpad4B = shortcutData.num4animB; player.data.numpad4C = shortcutData.num4animC; player.data.numpad4D = shortcutData.num4animD; player.data.numpad4Name = shortcutData.num4name; player.data.numpad5A = shortcutData.num5animA; player.data.numpad5B = shortcutData.num5animB; player.data.numpad5C = shortcutData.num5animC; player.data.numpad5D = shortcutData.num5animD; player.data.numpad5Name = shortcutData.num5name; player.data.numpad6A = shortcutData.num6animA; player.data.numpad6B = shortcutData.num6animB; player.data.numpad6C = shortcutData.num6animC; player.data.numpad6D = shortcutData.num6animD; player.data.numpad6Name = shortcutData.num6name; player.data.numpad7A = shortcutData.num7animA; player.data.numpad7B = shortcutData.num7animB; player.data.numpad7C = shortcutData.num7animC; player.data.numpad7D = shortcutData.num7animD; player.data.numpad7Name = shortcutData.num7name; player.data.numpad8A = shortcutData.num8animA; player.data.numpad8B = shortcutData.num8animB; player.data.numpad8C = shortcutData.num8animC; player.data.numpad8D = shortcutData.num8animD; player.data.numpad8Name = shortcutData.num8name; player.data.numpad9A = shortcutData.num9animA; player.data.numpad9B = shortcutData.num9animB; player.data.numpad9C = shortcutData.num9animC; player.data.numpad9D = shortcutData.num9animD; player.data.numpad9Name = shortcutData.num9name; }); }else{ gm.mysql.handle.query("INSERT INTO shortcuts SET name = ?", [player.name], function (insertError) { if (insertError) console.log(`[Shortcuts Init Error] ${err.message}`); if(!insertError){ gm.mysql.handle.query("SELECT * FROM shortcuts WHERE name = ?", [player.name], function (err10,res10) { if (err10) console.log("Error in loadShortcuts: "+err10); if (res10.length > 0) { res10.forEach(function (shortcutData) { player.data.numpad1A = shortcutData.num1animA; player.data.numpad1B = shortcutData.num1animB; player.data.numpad1C = shortcutData.num1animC; player.data.numpad1D = shortcutData.num1animD; player.data.numpad1Name = shortcutData.num1name; player.data.numpad2A = shortcutData.num2animA; player.data.numpad2B = shortcutData.num2animB; player.data.numpad2C = shortcutData.num2animC; player.data.numpad2D = shortcutData.num2animD; player.data.numpad2Name = shortcutData.num2name; player.data.numpad3A = shortcutData.num3animA; player.data.numpad3B = shortcutData.num3animB; player.data.numpad3C = shortcutData.num3animC; player.data.numpad3D = shortcutData.num3animD; player.data.numpad3Name = shortcutData.num3name; player.data.numpad4A = shortcutData.num4animA; player.data.numpad4B = shortcutData.num4animB; player.data.numpad4C = shortcutData.num4animC; player.data.numpad4D = shortcutData.num4animD; player.data.numpad4Name = shortcutData.num4name; player.data.numpad5A = shortcutData.num5animA; player.data.numpad5B = shortcutData.num5animB; player.data.numpad5C = shortcutData.num5animC; player.data.numpad5D = shortcutData.num5animD; player.data.numpad5Name = shortcutData.num5name; player.data.numpad6A = shortcutData.num6animA; player.data.numpad6B = shortcutData.num6animB; player.data.numpad6C = shortcutData.num6animC; player.data.numpad6D = shortcutData.num6animD; player.data.numpad6Name = shortcutData.num6name; player.data.numpad7A = shortcutData.num7animA; player.data.numpad7B = shortcutData.num7animB; player.data.numpad7C = shortcutData.num7animC; player.data.numpad7D = shortcutData.num7animD; player.data.numpad7Name = shortcutData.num7name; player.data.numpad8A = shortcutData.num8animA; player.data.numpad8B = shortcutData.num8animB; player.data.numpad8C = shortcutData.num8animC; player.data.numpad8D = shortcutData.num8animD; player.data.numpad8Name = shortcutData.num8name; player.data.numpad9A = shortcutData.num9animA; player.data.numpad9B = shortcutData.num9animB; player.data.numpad9C = shortcutData.num9animC; player.data.numpad9D = shortcutData.num9animD; player.data.numpad9Name = shortcutData.num9name; }); } }) } }) } }); if you need more contact me

    220 downloads

       (0 reviews)

    1 comment

    Updated

  5. Blackout

    This resource lets you control the blackout feature of GTA V.
     
    Installing
    Put the files you downloaded in their respective places Add require('blackout') to client_packages/index.js All done  
    API
    // Serverside (synced to every player) mp.world.blackout.enabled // get mp.world.blackout.enabled = true/false // set // Clientside (only for a client) mp.game.blackout.enabled // get mp.game.blackout.enabled = true/false // set You can also trigger SetBlackoutState event with the first argument being the new state of blackout.
     
    Example
    // Toggle blackout mode with /toggleblackout (Serverside) mp.events.addCommand("toggleblackout", (player) => { mp.world.blackout.enabled = !mp.world.blackout.enabled; player.outputChatBox(`Blackout ${mp.world.blackout.enabled ? `enabled` : `disabled`}.`); }); // Toggle blackout mode with F8 key (Clientside) mp.keys.bind(0x77, false, () => { mp.game.blackout.enabled = !mp.game.blackout.enabled; mp.gui.chat.push(`Blackout ${mp.game.blackout.enabled ? `enabled` : `disabled`}.`); });  


    432 downloads

       (1 review)

    0 comments

    Updated

  6. Vehicle Spawner | Diamond Casino & Resort Update

    I updated the "vehicleHashes.js" to the update "Diamond Casino & Resort".
     
    Orginal version and creator of the script:
     

    301 downloads

       (0 reviews)

    1 comment

    Submitted

  7. Example of proper DLC Pack mapping loading

    An example of proper DLC Pack mapping loading without issues on first connection to the server.

    Installation
    Extract all archive files to the server packages root folder.

    Note
    The game might get frozen for up to 10 seconds (faster on SSD) on first connection, that's the time taken by the game to reload DLC mapping. Mapping will work properly after that though.

    481 downloads

       (1 review)

    0 comments

    Updated

  8. Shortcuts (Animations) on Numpad

    Load this Variables on Login:
    gm.mysql.handle.query("SELECT * FROM shortcuts WHERE charId = ?", [player.data.charId], function (err10,res10) { if (err10) console.log("Error in loadShortcuts: "+err10); if (res10.length > 0) { res10.forEach(function (shortcutData) { player.data.numpad1A = shortcutData.num1animA; player.data.numpad1B = shortcutData.num1animB; player.data.numpad1C = shortcutData.num1animC; player.data.numpad1D = shortcutData.num1animD; player.data.numpad1Name = shortcutData.num1name; player.data.numpad2A = shortcutData.num2animA; player.data.numpad2B = shortcutData.num2animB; player.data.numpad2C = shortcutData.num2animC; player.data.numpad2D = shortcutData.num2animD; player.data.numpad2Name = shortcutData.num2name; player.data.numpad3A = shortcutData.num3animA; player.data.numpad3B = shortcutData.num3animB; player.data.numpad3C = shortcutData.num3animC; player.data.numpad3D = shortcutData.num3animD; player.data.numpad3Name = shortcutData.num3name; player.data.numpad4A = shortcutData.num4animA; player.data.numpad4B = shortcutData.num4animB; player.data.numpad4C = shortcutData.num4animC; player.data.numpad4D = shortcutData.num4animD; player.data.numpad4Name = shortcutData.num4name; player.data.numpad5A = shortcutData.num5animA; player.data.numpad5B = shortcutData.num5animB; player.data.numpad5C = shortcutData.num5animC; player.data.numpad5D = shortcutData.num5animD; player.data.numpad5Name = shortcutData.num5name; player.data.numpad6A = shortcutData.num6animA; player.data.numpad6B = shortcutData.num6animB; player.data.numpad6C = shortcutData.num6animC; player.data.numpad6D = shortcutData.num6animD; player.data.numpad6Name = shortcutData.num6name; player.data.numpad7A = shortcutData.num7animA; player.data.numpad7B = shortcutData.num7animB; player.data.numpad7C = shortcutData.num7animC; player.data.numpad7D = shortcutData.num7animD; player.data.numpad7Name = shortcutData.num7name; player.data.numpad8A = shortcutData.num8animA; player.data.numpad8B = shortcutData.num8animB; player.data.numpad8C = shortcutData.num8animC; player.data.numpad8D = shortcutData.num8animD; player.data.numpad8Name = shortcutData.num8name; player.data.numpad9A = shortcutData.num9animA; player.data.numpad9B = shortcutData.num9animB; player.data.numpad9C = shortcutData.num9animC; player.data.numpad9D = shortcutData.num9animD; player.data.numpad9Name = shortcutData.num9name; }); } });  
    Contact:
    You can Contact me on Discord for Questions.  https://discord.gg/epD7fsv
     
    I can make Scripts for you write me on Discord please German my english is so Bad : SnillocTV

    621 downloads

       (4 reviews)

    3 comments

    Updated

  9. Rage Horse

    Preview video https://streamable.com/b1b0i
    Github repo https://github.com/ItsMos/ragemp-horse
     
    Horse mod for rage multiplayer Notes This replaces the 'deer' model because it is fast-moving. Horses should be synced, this doesnt work well with `online` skins, you can fix that tho, feel free to contribute. You think that you're actually riding the horse? no, think again, the horse is riding you (your ped) Usage // server code let pkg = require('ragemp-horse') let allHorses = pgk.horses, Horse = pkg.Horse // To create a horse let myPony = new Horse(position, dimension) // delete a horse myPony.delete() Press Interact button (default `E`) to mount/dismount a horse Credits Horse model converted by Quechus13

    104 downloads

       (2 reviews)

    1 comment

    Updated

  10. Weapon Spawner

    Requirements
    You need to download & install these resources first:
    NativeUI Weapon Component Sync Weapon Tint Sync  
    Installing
    Put the files you downloaded in their respective places Add require('weaponspawner') to client_packages/index.js All done  
    Using
    You can use the /weapons command to access the weapon spawner menu.
     
    Issues
    Some components might not have a visible name because Rockstar didn't give them one. Equipped component displaying might not be accurate at first but will be fixed after you apply/remove a component.  
    Source code is available on GitHub in case you don't want to download: https://github.com/root-cause/ragemp-weapon-spawner

    597 downloads

       (3 reviews)

    1 comment

    Submitted

  11. [JS] Vehicleseat Menu

    This is a Vehicleseat Menu in JavaScript for Rage:MP
     
    Install:
     
    Unzip vehicleseatJS.zip in your root server folder.
     
    Use:
     
    Press "F" or "G" when a Vehicle nearby you.
     
    Contact:
     
    You can Contact me on Discord for Questions.
     
    {Brace}#0571
     
    Have fun!

    1018 downloads

       (1 review)

    2 comments

    Updated

  12. MC's Blackjack Mod

    ~~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
     

    135 downloads

       (2 reviews)

    0 comments

    Updated

  13. More Immersive Emergency Lights

    More Immersive Emergency Lights for RageMP
    A script for GTA V's multiplayer modification RageMP, that adds more immersive controls of emergency lights and sirens for default and non-els vehicles. Both lights and sirens are synchronized between players!
    Read the documentation, check out the code or get the newest version, go here: GitHub

    Credits:
     - RageMP team for creating this awesome mod
     - Mos#2649 on Discord for this keybinding idea
     

    237 downloads

       (1 review)

    0 comments

    Updated

  14. Better Keybinding

    This module saves you some time on bindings keys. 
    Read more here: 
     

    127 downloads

       (2 reviews)

    2 comments

    Updated

       (4 reviews)

    0 comments

    Submitted

  15. [JS] [Server-Side] Control Actions

    Hey.

    You can simple disable/enable a control actions for the player on the server-side.
    It can be useful if you want disable/enable some keys like pause menu in game on the server-side.

    152 downloads

       (1 review)

    0 comments

    Submitted

  16. Map Editor 2 [BETA][Fixed Markers]

    MAP EDITOR 2 [BETA v2.0.0] (Free and doesn't have keyboard only controls)
    Known Bugs: A million of them, don't tell me about it.
    (Server)
    Drop the MapEditor2.dll file in your resource resources
    (Client)
    Drop the MapEditor2.cs and Objects.cs files in your cs_packages folder

    Info:
    Server Commands:
    /loadmap name --Globally loads the map instead of client-sided only
    /unloadmap name
    Client Controls:
    Press M to start/stop the editor
    WSAD to move
    Q & E move you down and up
    Hold right-click to move, while moving you can scroll down/up to increase speed
    Hold left control to move slow
    Hold shift to move fast
    Press Delete to delete the highlighted object
    You can drag objects by holding left-click on them
    You can duplicate objects by right-clicking and then clicking "Clone Object"
    "Exit Here" Button - Drops you at the location your camera is
    "Exit Back" Button - Drops you back at the original location you started the editor
    "Place Objects On Ground" Button - When you drag, the object will be placed on the ground properly
    "Save Map" Button - Hover over the name box to input a name, click save to save the map
    "Load Map" Button - Hover over the name box to input a name, click load to load the map (Client-sided load)
    "Clear Map" Button - Wipes the current loaded map
     
    Upcoming features;
    -Vehicle list (Support exists)
    -Checkpoints
    -Undo & Redo
    -Group select
    -Adding objects to favorites (System in place but isn't finished)

    1596 downloads

       (17 reviews)

    6 comments

    Updated

  17. Simple Camera - Typescript

    Here is my written Camera Class for RAGEMP. You can easy implement this file into your client-sided Scripts and use it pretty powerful.
     
    //Create Camera CameraEditor.createCamera("Login", new mp.Vector3(-1549.810546875, 1679.3438720703125, 106.20653533935547)); CameraEditor.setCameraActive("Login"); //Interpolate Camera CameraEditor.setCameraInterpolate("Login", new mp.Vector3(-1561.000732421875, 1685.904296875, 102.0960693359375), new mp.Vector3(-1563.254150390625, 1683.891845703125, 102.28447723388672), 30000); //Destroy Camera CameraEditor.destroyCamera("Login");  
    greeting DevGrab

    143 downloads

       (1 review)

    0 comments

    Submitted

  18. Map Editor

    NEW VERSION: 
     
     
    Version 0.3 - March 22nd, 2018
    Changelog(0.3)
    -Support for 1.43 added. This resource also supports 1.41 and 1.42. -Added freeze/unfreeze ability for objects. (Use this on doors. Just press F to toggle) -Fix duplication bug. Changelog(0.2.2)
    -Fix "mobj" command with string/number hash detection. Changelog(0.2.1)
    -Fix crash when trying to dupe map hashes. Changelog(0.2)
    -Dupe function (Right click objects and you can place the same object again) (Works on non-editor objects). -Hash checker (Look at any object on the map, not just editor objects to check their hash). -Auto adjustement in placement stage. Right click to automatically rotate/position object on the ground. -Scroll improvement by loading models ahead of time. -Other fixes. -Some code restructure thanks to mtz64. Changelog (0.1)
    -Initial Release Yes there are lack of features or some bugs, 0.1. Make bug reports/suggestions if you have any.
    **Note that your current edit is autosaved every 30 seconds. To load it call '/mload autosave'.
    (Yes I know commands throw "Command not found". Ignore it for now)
    There are roughly 50,000 objects. The list needs a bit of cleaning but it includes many new objects not seen before such as sections of the map.
    Installation:
    Drop the "MapEditor" folder inside the "client_packages" folder into your own "client_packages" folder.
    Merge the index.js file found inside "client_packages" with your own.
    Drop the "MapEditor" folder inside the "packages" folder into your own "packages" folder.
    Usage:
    To start/exit the editor press F2. (NOTE THAT OBJECTS CURRENTLY IN EDIT MODE WILL REMAIN ON THE MAP. USE /mclear)
    Press 1 for Selector Mode (You can click on objects, or click off to deselect)
    Press 2 for Object Placement Mode
    Press 3 for Adjustment Mode
    Press ENTER to save objects inside Adjustment Mode. Press SPACE to rotate objects by 90 degrees in Object Placement Mode.
    WASD to move around. E and Q to move up and down.
    Shift to speed up movement, control to slow down movement.
    Ctrl + Z to undo object creation, Ctrl + Y to redo it. This only applies to object creation for now.
    Controls are defined on the screen for you. Mostly point, click, and drag.
    Commands: (Yes, commands in 2018, stop crying until I make some UI framework)
    /msave [name] - used to save your map
    /mmaps - used to see what maps you have saved in your session
    /mload [name] - used to load a map (you can load/deload as many maps as you want) (it is synced)
    /mdeload [name] - used to deload a map if it is loaded (not if it's in edit mode)
    /mlmaps - used to see what maps are loaded (That's an "L" not an "I")
    /medit [name] - used to edit a map (it will load in client sided only and you can edit it)
    /mclear - used to clear your current edit
    /mindx [index number] - used to set the list index since it is a huge list
    /mobj [name of hash] - used to spawned a specific object by name
    API:
    LoadMap(name);
    DeloadMap(name);
    SaveMap(name, data);
    DO NOT PASS IN THE "_map.json" EXTENSION. THAT IS HANDLED ON ITS OWN. ONLY PASS THE NAME YOU SAVED IT AS.
    Ex. /msave map1 - will save it as map1_map.json. To load it call /mload map1 or LoadMap("map1");
     
    https://github.com/DisapprovedByMe/MapEditor

    3507 downloads

       (33 reviews)

    7 comments

    Updated

  19. Echtwelt RageMP Source

    Echtwelt Reborn Rage MP on base of NodeJS+MongoDB+React/SemanticUI


    Please don't use the attached file, download the latest version from the repository here https://github.com/xzessmedia/EchtweltRageMP
    CEF Demo:
     
    Simple deployment powered by docker:
     
    To discuss and get help please join this Discord (Please don't use issue tracker for discussion)
    https://discord.gg/KmPZy9f
    Looking forward to your contributions to make this repository successful and alive


    Optional: Custom Vehicles:
    You can download the last Vehicle Pack from here:
    https://www.echtwelt-life.de/filebase/index.php?entry/13-echtweltragempmodpack/
    Password: OpenSource

    To install you have to create a folder "dlcpacks" inside your client_packages folder of your server and copy the files inside.


    All vehicles tested and with numberplate (as far as i know)
     

    1218 downloads

       (6 reviews)

    0 comments

    Updated

  20. 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

    577 downloads

       (5 reviews)

    0 comments

    Submitted

  21. [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):
     

    292 downloads

       (1 review)

    1 comment

    Updated

  22. [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

    272 downloads

       (2 reviews)

    0 comments

    Updated

  23. 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...

    131 downloads

       (1 review)

    0 comments

    Updated

  24. 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....

    107 downloads

       (1 review)

    1 comment

    Submitted