145 files

  1. Simple MoneyHUD

    What is this?
    This is a simple money HUD for rage It is easy to add and use in your existing application or a new one! It is very similiar to SAMP's money HUD It contains nice animations on money adding/removing (Check the included GIF) How to install?
    Extract the MoneyHUD.js file in your client_packages and include it in your index.js require('./MoneyHUD.js'); Note
    This was created in version 0.3.7 How to use?
    Call event moneyhud:set on player initialization/connect to initialize player's starting money - Example: client.TriggerEvent("moneyhud:set", 5000); Call event moneyhud:add to add money to the HUD - Example: client.TriggerEvent("moneyhud:add", 1500); Call event moneyhud:remove to remove money from the HUD - Example: client.TriggerEvent("moneyhud:remove", 1500); Extra settings
    You can change the MINIMUM_LENGTH constant to determine how long should the money HUD be by minimum

    20 downloads

       (1 review)

    0 comments

    Updated

  2. CustomChatPlus

    What is this?
    This is a @MrPancakers's custom chat with scroll bar with a simple addition - it adds option to use arrow up, down key to move thru your chat history. Just like in SAMP! How to install?
    Extract everything into client_packages folder and add the chat script into your index.js. require("/chat/index.js"); Note
    This may include some bugs and I do not provide "tech support" for it This was created in version 0.3.7 Credits
    @MrPancakers (https://rage.mp/profile/5511-mrpancakers/)

    37 downloads

       (1 review)

    0 comments

    Updated

  3. Vending Machine Script (C#)

    Source code : https://github.com/J4YT/RAGE-Multiplayer-Vending-Machine-Script
    Only works in combination with the Attachment Sync resource. (see below)
    Requires Rage 1.1 to work.
     

    34 downloads

       (1 review)

    0 comments

    Updated

  4. Rappelling

    Requires RAGE Multiplayer 1.1.0 and above.
     
    Installing
    Put rappel into your server's client_packages directory, then add require('rappel'); to client_packages/index.js.
    RAGE Multiplayer's 1.1 will sync the rappelling action so there isn't any need for server-side files.
     
    Using
    Get in a helicopter with FLAG_ALLOWS_RAPPEL (Maverick, Police Maverick and Annihilator) flag as passenger and do /rappel.
     
    * Credits to Trevor Productions on YouTube for the preview image.

    184 downloads

       (5 reviews)

    0 comments

    Submitted

  5. Better Notifications

    Now with 200% more color.
    Clientside Functions:
    mp.game.ui.notifications.show(message, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) mp.game.ui.notifications.showWithPicture(title, sender, message, notifPic, icon = 0, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) Serverside Functions:
    player.notify(message, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) player.notifyWithPicture(title, sender, message, notifPic, icon = 0, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) As Events:
    BN_Show(message, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) BN_ShowWithPicture(title, sender, message, notifPic, icon = 0, flashing = false, textColor = -1, bgColor = -1, flashColor = [77, 77, 77, 200]) Example:
    // Clientside mp.game.ui.notifications.show("Normal message with custom text and background color.", false, 15, 20); mp.game.ui.notifications.showWithPicture("New Message", "Facebook", "You got some more of that data?", "CHAR_FACEBOOK", 1, false, 0, 139); // Serverside player.notify("This message is red which means you're doing something wrong.", false, 6); player.notifyWithPicture("Title", "Ammu-Nation", "Ammunation has all the equipment you need to protect your family from the evils of a liberal society! Fixed, mounted, and shoulder-held submachine guns. Mortars! Surface-to-air and all manner of heat-seeking missiles!", "CHAR_AMMUNATION"); Icons:
    You can specify an icon ID for picture notifications, here's a list of them:
    0, 4, 5, 6 = No Icon 1 = Speech Bubble 2 = Message 3 = Friend Request 7 = Arrow 8 = RP 9 = Money Notes:
    textColor and bgColor parameters want a HUD color ID which you can find here. (it is a bit outdated now though) You can find notification pictures here. If you can't see picture notifications, you must enable Phone Alerts from Settings > Notifications > Phone Alerts. This script changes player.notify on serverside.

    1181 downloads

       (6 reviews)

    3 comments

    Updated

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

    3646 downloads

       (6 reviews)

    1 comment

    Updated

  7. Metal Detectors

    This resource lets you add metal detectors that go off when a player with a not allowed weapon goes through them.
     
    Installing
    Put the files you downloaded in their respective places Add require('metaldetectors') to client_packages/index.js Set up some metal detectors (read below) All done  
    JSON Files
    Most of the changes are done by editing JSON files located in packages/metaldetectors/json/.
    Remember to validate your changes here: https://jsonlint.com/
     
    config.json
    colshapeSize: Size of the metal detector colshape, I think the default value is pretty much perfect and doesn't need any editing.
    soundRange: Maximum range/distance of the players who should hear metal detector alarms, default value is 15.0.
    cooldownMs: Milliseconds that need to pass before a metal detector goes off again, default value is 2000.
    allowedWeapons: Array of weapons that are ignored by metal detectors. This list is pretty much empty and you probably should fill it, WEAPON_UNARMED and WEAPON_CERAMICPISTOL are ignored by default.
    smallWeaponGroups: Array of weapon groups that are considered small. Weapons of this group will play the small weapon alarm sound and everything else will play the big weapon alarm sound. GROUP_MELEE, GROUP_PISTOL, GROUP_SMG, GROUP_STUNGUN and GROUP_THROWN are considered small by default.
     
    detectors.json
    This file contains the metal detectors in array of objects format. A metal detector has x, y, z, heading, dimension and createProp properties.
    x, y, z: Coordinates of the metal detector.
    heading: Rotation (yaw) of the metal detector.
    dimension: Dimension of the metal detector.
    Default value: 0
    createProp: Whether this metal detector should create a prop when it is loaded or not, useful if you want to use existing metal detectors. (like in the IAA facility interior)
    Default value: true
    // Example: Metal detector used in the making of video above { "x": 2059.037109375, "y": 2980.64208984375, "z": -62.90178298950195, "heading": 325.0, "dimension": 0 }  
     
    weaponData.json
    Used for weapon groups, just make sure it is updated after every DLC.
     
    For Developers
    This resource triggers an event named playerTriggerMetalDetector with args player, position, isSmallWeapon when players trigger a metal detector.
    player: The player who triggered a metal detector.
    position: Coordinates of the metal detector.
    isSmallWeapon: Whether the player's weapon was a small weapon or not.
    (another arg that contains weapon hash might be added in the future)
     
    Example
    mp.events.add("playerTriggerMetalDetector", (player, position, isSmallWeapon) => { player.outputChatBox(`You triggered a metal detector with a ${isSmallWeapon ? "small" : "big"} weapon!`); });  
    Notes
    Right now, this resource checks only the current weapon of a player due to issues with player.weapons. If player.weapons get fixed, I'll update the resource to check for all weapons of a player.  
    Source code is available on GitHub in case you don't want to download: https://github.com/root-cause/ragemp-metal-detectors

    146 downloads

       (5 reviews)

    0 comments

    Updated

  8. Simple Tablet

    RAGEMP-SimpleTablet
    This is a really basic tablet for your resource. You can open it, and it show your embedded link. Press O to open it.
    Installation
    Just add the files in client_packages to your resource & add the following code to your index.js
    require("tablet/tablet.js"); How to change the embedded object
    Go in the "tablet" folder and open "tablet.html" with your editor. Change the URL on line 14 & 15.
    How to change the key to open it:
    Go in the "tablet" folder and open "tablet.js" with your editor. Change the "0x4F" on line 3 to your key of choice.
    Here you can find all key values:
    https://docs.microsoft.com/de-de/windows/win32/inputdev/virtual-key-codes?redirectedfrom=MSDN
     
    GITHUB: https://github.com/XCRON-DEV/RAGEMP-SimpleTablet
    For questions or help DM me here.

    535 downloads

       (2 reviews)

    0 comments

    Updated

  9. Easy Whitelist

    RAGEMP-EasyWhitelist
    This is a basic whitelist system for your server. Just place it in the packages folder & it works!
    Installation
    Just place the folder "easy-whitelist" in the packages folder.
    How to add users to the whitelist
    Go in the packages folder > then "easy-whitelist" > and edit the file account.json
    There you have to add the SocialClub ID. Restart Server & its done.
     
    Github: https://github.com/XCRON-DEV/RAGEMP-EasyWhitelist
    For questions or help DM me here.

    192 downloads

       (0 reviews)

    3 comments

    Updated

  10. Synced Player Component Variations

    This should save you some time writing your own syncing when it comes to using player.setClothes() for values over 255 until 1.0 gets released. The download has example scenarios/commands you can use.
    Serverside Functions:
    player.changeClothes(Number componentId, Number drawable, Number texture, Bool save, Bool sync) player.resetClothes() Save parameter:
    By setting this to true the script will remember these values and re-apply these when using player.resetClothes()
    Sync parameter:
    If you set this parameter to false the clothes will only be applied on the target client.
    Set this to true and everyone will see the clothes!
     
    Demonstration:
    This GIF has both save and sync parameter set to false to preview the selected item before actually purchasing it. Once purchased, both save and sync are set to true to remember the purchased item and to sync it to all other clients
    https://imgur.com/a/gsySyPc
     
    And this GIF shows the same interaction but from the other client
    https://imgur.com/a/0IankaB

    177 downloads

       (3 reviews)

    0 comments

    Updated

  11. GTA SA Classic Menu

    This is a CreateMenu for the illegal gta v emulator.
    Usage example:
    List<string[]> menuItems = new List<string[]>(); menuItems.Add(new string[] { "Item 1 Column 1", "Item 1 Column 2" }); menuItems.Add(new string[] { "Item 2 Column 1", "Item 2 Column 2" }); Menu menu = new Menu("Title", new string[] { "Header 1", "Header 2" }, menuItems).show(); menu.setOnMenuResponseListener((Menu.OnMenuResponseListener onMenuResponseListener) => { RAGE.Chat.Output("Response: " + onMenuResponseListener.response + " item: " + onMenuResponseListener.item); menu.destroy(); });  

    62 downloads

       (7 reviews)

    0 comments

    Submitted

  12. Car Compare (0-100, 0-200, Vmax)

    Copy folder to "client_packages" and add
    require("./genzocarcompare"); to your "client_packages/index.js";

    139 downloads

       (0 reviews)

    0 comments

    Submitted

  13. Combat Helmets

    Installing
    Put the files you downloaded in their respective places Add require('combathelmets') to client_packages/index.js All done  
    Using
    You can toggle visor/goggles by pressing F10 while on foot.
     
    Adding More Helmets
    Even though this is a combat helmet mod, you can add other helmets (such as motorcycle helmets) by editing packages/combathelmets/helmetData.json.
    { // Skin hash (mp_m_freemode_01) "1885233650": { /* Visor/goggles up drawable as key. Visor/goggles down drawable as "closed" property. Animation name as "anim" property. Available names: goggles, visor Optional "type" property for screen FX. Available types: nightvision, thermal Hat/helmet drawables: https://wiki.rage.mp/index.php?title=Male_Hats https://wiki.rage.mp/index.php?title=Female_Hats */ "117": { "closed": 116, "type": "nightvision", "anim": "goggles" }, "119": { "closed": 118, "type": "thermal", "anim": "goggles" }, "124": { "closed": 123, "anim": "visor" }, "126": { "closed": 125, "anim": "visor" } }, // Skin hash (mp_f_freemode_01) "2627665880": { /* Visor/goggles up drawable as key. Visor/goggles down drawable as "closed" property. Animation name as "anim" property. Available names: goggles, visor Optional "type" property for screen FX. Available types: nightvision, thermal Hat/helmet drawables: https://wiki.rage.mp/index.php?title=Male_Hats https://wiki.rage.mp/index.php?title=Female_Hats */ "116": { "closed": 115, "type": "nightvision", "anim": "goggles" }, "118": { "closed": 117, "type": "thermal", "anim": "goggles" }, "123": { "closed": 122, "anim": "visor" }, "125": { "closed": 124, "anim": "visor" } } }  
    Adding More Vehicles
    You can add/remove supported vehicles by editing the vehicle animation dictionary object located in client_packages/combathelmets/index.js line 33. (vehAnimDictName object)
     
    Issues
    The animation won't be synced to other players in 0.3.7 but it should in future versions with improved task sync. FIXED IN v2.0 Visor up/down animation is used for both visors and goggles right now, even though this is a small visual thing it might be fixed in the future. FIXED IN v2.0 Players are not able to toggle visor/goggle state in vehicles right now, might change in the future. This would probably be most useful for bikes. Available on GitHub: https://github.com/root-cause/ragemp-combat-helmets

    59 downloads

       (3 reviews)

    0 comments

    Updated

  14. [C#] Example/Wrapper for fetching world objects.

    Just an example/wrapper on how to properly use "GetClosestObjectOfType" and fetch data from an object.
    I've been using this in my server for a while now to make it easier to get XYZ and rotation of objects in bulk, instead of having to go through them in codewalker which can be a pain.
    Installation
    Move client_packages to your client_packages folder Move Serverside C#/GetWorldObjects.cs to your gamemode or script. Move objectLocations.json to your server root directory.  
    Usage
    The JSON file included in the zip contains the pacific bank vault door as an example object. Use the /getworldobjects or /gwo command to run through all the items in the JSON file and fetch the X, Y, Z and XYZ Rotation of the object.
    As of right now it'll simply log the object to your server console and continue to the next object in the list, you can extend this functionality by editing the "REMOTE_EVENT_OnWorldObjectFetched" method in GetWorldObjects.cs server-side script.
    JSON file object info
    public class ObjectLocation { // The model name to look for, you can fetch this from CodeWalker or RAGEMP objectdb for example. public string Model { get; set; } // The model that should replace the model at this location, optional. I personally used this to store in the database and then on server start it'd delete the world object and replace it with the object model specified here. public string ReplacementModel { get; set; } = ""; // A position within X distance of the object you want to get the data of, distance can be specified by the Radius. public Vector3 Position { get; set; } // An optional type you can pass to the method so you can use it later on for data storage purposes(eg keep objects of certain types separated by an ID) public int Type { get; set; } = 0; // The radius to find the object, doesn't have to be too precise altho I generally recommend putting the player's teleport coordinates as close to the object as possible and decreasing range to 5 or 10. public int Radius { get; set; } } [ { "Model": "v_ilev_bk_vaultdoor", "ReplacementModel": "v_ilev_bk_vaultdoor", "Type": 0, "Radius": 25, "Position": { "X": 254.2859, "Y": 225.3845, "Z": 101.8757 } }, { "Model": "another_object_model_name", "ReplacementModel": "another_object_model_name_to_replace", "Type": 0, "Radius": 10, "Position": { "X": 1234.567, "Y": 123.456, "Z": 12.345 } }, ... ] All you have to do is add more items to the JSON file and it'll run thru all of them.

    49 downloads

       (0 reviews)

    0 comments

    Updated

  15. Login / Register html template

    https://www.dropbox.com/s/3ump4anqb45mm9x/1uJJ7nb7a9.mp4?dl=0
     
    This is just a template for your login / register system.

    409 downloads

       (0 reviews)

    0 comments

    Submitted

  16. [3D] Client-side Sound API.

    Description:
    This resources provides the ability to create/control sound in 3D via custom API. Also demonstrates the ability to use custom urls (Radio streams, local mp3 files). 3D sound should be synced automatically without the need of extra work. If you're looking for Frontend sounds then it should be easy to implement. If many demanded 2D sounds for this resource, i'll add it later.
    API:
    // Client-side // FUNCTIONS mp.game.audio.playSound3D(url, pos, volume, range, dimension) /* * url: string (Required) [Links and local package:// protocol are supported] * pos: vector3 (Required) * volume: int (Optional, Default: 1) [Range: 0 to 1] * range: int (Optional, Default: 60) [Max Range: 60] * dimension: (Optional, Default: 0) * Returns Object. * Object Properties: - id (sound's ID) - url (sound's url) - pos (sound's position) - volume (sound's volume) - range (sound's max range) - dimension (sound's dimension) - listeners (players array that are listening to the sound) - paused (If sound is paused) */ mp.game.audio.setSoundVolume(id, volume); /* * id (Sound's ID) * volume (sound's volume) Range (0.1 - 1) */ mp.game.audio.setSoundPosition(id, pos); /* * Useful for portable sound * id (Sound's ID) * pos (sound's new position) */ mp.game.audio.setSoundRange(id, range); /* * id (Sound's ID) * range (Max Range 60) (Increase it by editing the maxRange...) */ // EVENTS: /* * EventName: audioFinish * params: soundID (Sound's ID that is finished Playing) */ /* * EventName: audioError * params: soundID (Sound's ID that had error), errorObject {code: 'error code', error: 'error description'} */ // Example let sound = mp.game.audio.playSound3D('http://rfcmedia.streamguys1.com/MusicPulse.mp3', pos, 60, 1, 0); sound.destroy(); // Destroys the sound sound.pause(); // Pauses the sound sound.resume(); // Resumes the sound If you have any issues or suggestions, you know the usual routine.
    Credits:
    - Thanks to George for his 3D voice method.
    - Thanks to soundManager 2 for bringing music to life in CEF
    I wish you'll enjoy some epic music.

    294 downloads

       (4 reviews)

    0 comments

    Submitted

  17. RAGE MP Clothes Addon For MP Charater

    With this dlcpack, you're able to add up to hundreds of clothing WITHOUT replacing anything from the original vanilla game. 
    In this pack, you'll be able to add the following as addon content for both MP_Female and MP_Male:
    Heads/Faces (Up to 111!) Beards/Masks (Up to 159!) Hairstyles (Up to 185!) Pants (Up to 128!) Feets/Shoes (Up to 127!) Secondary Tops (Up to 106!) Decals/Emblems (Up to 93!) Primary Tops (Up to 127!) How does it work?:
    From learning the hex codes in the .ymt files and spending hours figuring out where everything was, I made changes and added things into the .ymt files to make this possible. However, the dlcpack overwrites the initial MP clothing dlcpack (the original clothing from the game, albeit it doesn't REPLACE any clothing) so the limits are added BEFORE any new dlc clothing. DLC clothing comes after the limits as they were pushed further to make way for the newer limits adjusted.
    In the future I will possibly adjust it even more if it's necessary.
     
    How do I get addon content to work?
    Simple.
    Go into streamedpeds_mp.rpf From there, it should be easy sailing. MP_Female stuff goes in mp_f_freemode_01 and MP_Male stuff goes into mp_m_freemode_01.  Don't forget to affix (basically dragging a file into the "ArchiveFix" program) "streamedpeds_mp" or "streamedpeds_mp" if you added anything into those archive .rpfs. Replace them inside the .rpf archive after affixing. As for naming them, ONLY name them based off what I have shown here:
    Head DrawableIDs: (46 - 157) Models: head_xxx_r Textures: head_diff_000_a_whi (or _chi, _bla, _lat, _pak, _ara at the end) Berd/Mask DrawableIDs: (8 - 167) Models: berd_xxx_u Textures: berd_diff_xxx_a_uni Hair DrawableIDs: (38 - 223) Models: hair_xxx_u Textures: hair_diff_xxx_a_uni Pants DrawableIDs: (16 - 144) Models: lowr_xxx_r Textures: lowr_diff_xxx_a_whi Feet/Shoes DrawableIDs: (16 - 143) Models: feet_xxx_u Textures: feet_diff_xxx_a_whi Accessory/Tops DrawableIDs: (16 - 122) Models: accs_xxx_u Textures: accs_diff_xxx_a_uni Decal/Emblem DrawableIDs: (0 - 93) Models: decl_xxx_u Textures: decl_diff_xxx_a_uni Tops2 DrawableIDs: (16 - 143) Models: jbib_xxx_u Textures: jbib_diff_xxx_a_uni Start from the number from one of the components of which you're adding from the number the limit suggest. (For an example, if you're adding some shoes mod for the first time, then rename the files to "feet_016_u" and feet_diff_016_a_whi) 

    309 downloads

       (2 reviews)

    4 comments

    Updated

  18. Bitcoin Exchange

    This is a small script that allows players to buy/sell bitcoins.
     
    Requirements
    Currency API (define a currency named "cash" after installing) node-fetch (after installing, go to packages/bitcoin folder, launch command prompt/powershell from shift+rightclick and write "npm install", should download it)  
    Installing
    Drag & drop to your server files folder.
     
    Config
    The config.json file provides some options:
    updateInterval - The time between BTC price updates, in milliseconds. Default value is 300000 aka 5 minutes. markerColor - Color of the markers, [r, g, b, a] format. markerRange - Range of the markers. exchangeCoords - Positions where players can buy/sell bitcoins. Default values add 2 exchange locations: Lester's house and garment factory.  
    Commands
    buybtc [amount] sellbtc [amount] Both commands need you to be inside a Bitcoin Exchange marker.
     
    Notes
    This script does not save data (bought bitcoins etc), saving should be handled by your gamemode since Currency API provides functions for that. BTC price is provided by CoinDesk. Currency API does not support floats so players can't buy less than 1 BTC. Bogdanoff is watching

    144 downloads

       (2 reviews)

    1 comment

    Submitted

  19. No reticle for all weapons.

    Every weapon has no reticle when aiming. (Working with snipers too.)
     
    Installation:
    1) Unpack the zip.
    2) If you haven't already, create a "dlcpacks" folder inside your "client_packages" folder.
    3) Drop the "nosight" folder inside "dlcpacks"

    118 downloads

       (0 reviews)

    0 comments

    Updated

  20. Synced Nitro

    Hello everyone,

    This resource gives the ability to add Nitro to any car and syncs the effect of the nitro in your exhaust, so you can experience its feeling in-game.
    //Server-side player.call('giveNitro', [amount, infinite]); //Client-side mp.events.call('giveNitro', [amount, infinite]); //Note: Nitro charges automatically no matter what value you give. Press X in-game to activate the nitro.

    296 downloads

       (5 reviews)

    1 comment

    Updated

  21. [Perfect for RP Servers]

    What is this amazing script?
    You are also able to control the steering (unable to set straight afterwards due to setSteeringAngle not being implemented yet) so you can move the vehicle to the side of the road.
    If you are an RP server then this is perfect for you!
    With some wizard maths, the text and position is at the correct end of each car and is based on distance (This has taken over 6 hours to get right). 
     
    Configuration
    I have already built in configuration to set whether you can allow it on locked vehicles, low health vehicles, whether the engine is off and certain vehicle classes.
    These can all be configured in the config section of the file:
    this.config = {            AllowVehicleClass: [0, 1, 2, 3, 4, 5, 6, 9, 18], // These are the normal vehicles in the game classes - to disable it, set it to false            MaxVehicleCubedSize: 25, // This is the vehicle length * width - as an idea an ambulance is 21            LockHandbrakeProtection: false, // If set - you can't push a locked vehicle (Theft prevention or ditching cars)            EngineProtection: false, // If set - you can only push if the enginer is turned off            VehicleHealthProtection: false, // Must be less than 1000 or false which de-activates checking vehicle health            PushEventName: false, // Set this to send an event to your server with the relevant Vehicle and Player attached (ie 'pushing_car')            LabelsDisplayed: true, // Show labels near the pushing positions when close enough            DebugPositions: false, // View pushing positions as markers so they are more visible            AllowVehicleSteering: true, // Allows the player to turn the wheels of the vehicle using A and D keys }  
    In Action
    To see how it looks working just checkout:
    https://streamable.com/ab2v5
     
    Questions
    Lastly if you have any questions feel free to give me a shout on discord (wdoyle2) or respond in the comment section.
    This is currently not on github but more than happy to post it for any future pull requests. 

     

    434 downloads

       (9 reviews)

    0 comments

    Updated

  22. Screen FX viewer.

    This is a simple script was made to help you to find a Screen FX effect!
    Requirements: NativeUI.
    Use F2, to see menu.

    282 downloads

       (1 review)

    0 comments

    Updated

  23. [C#] Custom Timer - Server & Client

    With this script you can easily create custom timer.
    The file is fully commented and should be easy to understand.
    The file in Shared is required - and then use either the file in Server or in Client depending on where you are using it.
    You have to use the constructor to create the timer.

    Examples:
    Examples: // Yes, the method can be private // private void testTimerFunc(Client player, string text) { NAPI.Chat.SendChatMessageToPlayer(player, "[TIMER] " + text); } void testTimerFunc() { NAPI.Chat.SendChatMessageToAll("[TIMER2] Hello"); } [Command("ttimer")] public void timerTesting(Client player) { // Lamda for parameter // new Timer(() => testTimerFunc(player, "hi"), 1000, 1); // Normal without parameters // new Timer(testTimerFunc, 1000, 1); // Without existing method // var timer = new Timer(() => { NAPI.Chat.SendChatMessageToPlayer(player, "[TIMER3] Bonus is da best"); }, 1000, 0); // Kill the timer // timer.Kill(); }  

    379 downloads

       (4 reviews)

    0 comments

    Updated

  24. Compass

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

    132 downloads

       (2 reviews)

    2 comments

    Submitted

  25. 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"

    391 downloads

       (3 reviews)

    0 comments

    Updated