139 files

  1. Synced parachute

    ūüéą Motivation
    Currenly I develop battle royal gamemode and it was anoying to see how are players falling without any animation. Imagine how is hard to see where your opponents without any parachute object.

    ūüõ†ÔłŹ Installation:
    Just extract parachute.zip into your server root.
    (it will replace your client_resources/index.js)

    ūüďł Falling animation and Parachute object fix:

     

    ūüí° Featues:
    Parachute object is destroying when player is near the ground after 3 seconds Synced falling animation without parachute Synced parachute attaching Working only near streamed players More features from you ūüėČ ¬†

    110 downloads

       (4 reviews)

    0 comments

    Updated

  2. 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) 

    131 downloads

       (2 reviews)

    1 comment

    Updated

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

    119 downloads

       (3 reviews)

    0 comments

    Submitted

  4. Smooth Throttle Script

    This resource will stop your vehicle from constantly skidding when acceleration. It will also stop you from reversing when you're braking. You will come to a complete stop and then you have to press reverse again to actually reverse. Automatic brake lights are included.
    Note that you can hold your handbrake (space bar) down and accelerate and this will temporarily remove the throttle limiter.

    486 downloads

       (3 reviews)

    2 comments

    Updated

  5. Color Chat

    This simple script gives the player a random color for the chat when he joins.
    If you already have a chat, i recommend you removing it & modifying this one to make it look like your old chat or merge them.

    531 downloads

       (1 review)

    0 comments

    Submitted

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

    24 downloads

       (3 reviews)

    0 comments

    Updated

  7. DxDraw Message Bars

    DxBar messages is a light easy to use script to show some notifications for your players. Just calling one event with your custom message and colored text.
    Usage:
    //Server-side player.call('Createinfo', '<text>', R, G, B, 'top or bot') //Client-side mp.events.call('Createinfo', '<text>', R, G, B, 'top or bot') Images are available at the old topic in forums, due to inability to restore them. (images will be added asap).

    97 downloads

       (2 reviews)

    0 comments

    Updated

  8. [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(); }  

    321 downloads

       (3 reviews)

    0 comments

    Updated

  9. Vehicle Manager

    Vehicle Manager is a easy to use device to manage your vehicle easily. Control your doors, lights, Auto-seat belts, engine, and much more with one click.
    Usage:
    Press B to open/close the Manager. Click any button you want to control the vehicle.  

    1186 downloads

       (2 reviews)

    2 comments

    Submitted

  10. Interactive Phone for CEF

    I created this phone for a previous GTA MP Mod. I never properly finished it but it has useful features such as:
    Lockscreen push notifications Home button Custom phone style support Apps that open divs. Phones are stored in phones/phones/[phone-name]/
    There is a JSON file that contains the needed info for the phone as well as an image for the phone.
    This is unfinished

    2035 downloads

       (7 reviews)

    4 comments

    Submitted

  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(); });  

    1 download

       (5 reviews)

    0 comments

    Submitted

  12. Scaleform Messages

    This resource lets you display GTA V/Online styled shard messages.
    Installing:
    Put scaleform_messages into your server's client_packages directory, then add require('scaleform_messages/index.js'); to index.js.
    Available events:
    ShowMidsizedMessage // title, message, time = 5000 ShowMidsizedShardMessage // title, message, bgColor, useDarkerShard, condensed, time = 5000 ShowWeaponPurchasedMessage // title, weaponName, weaponHash, time = 5000 ShowPlaneMessage // title, planeName, planeHash, time = 5000 ShowShardMessage // title, message, titleColor, bgColor, time = 5000 Clientside example (will show different messages when you press numpad0 - numpad6):
    mp.keys.bind(0x60, false, () => { mp.events.call("ShowMidsizedMessage", "Title", "ShowMidsizedMessage example"); // or: mp.game.ui.messages.showMidsized("Title", "ShowMidsizedMessage example"); }); mp.keys.bind(0x61, false, () => { mp.events.call("ShowMidsizedShardMessage", "Title", "ShowMidsizedShardMessage example", 21, false, false); // or: mp.game.ui.messages.showMidsizedShard("Title", "ShowMidsizedShardMessage example", 21, false, false); }); mp.keys.bind(0x62, false, () => { mp.events.call("ShowMidsizedShardMessage", "Title", "ShowMidsizedShardMessage example 2 (condensed = true)", 21, false, true); // or: mp.game.ui.messages.showMidsizedShard("Title", "ShowMidsizedShardMessage example 2 (condensed = true)", 21, false, true); }); mp.keys.bind(0x63, false, () => { mp.events.call("ShowWeaponPurchasedMessage", "Title", "ShowWeaponPurchasedMessage example", -2084633992); // or: mp.game.ui.messages.showWeaponPurchased("Title", "ShowWeaponPurchasedMessage example", -2084633992); }); mp.keys.bind(0x64, false, () => { mp.events.call("ShowPlaneMessage", "Title", "ShowPlaneMessage example", 788747387); // or: mp.game.ui.messages.showPlane("Title", "ShowPlaneMessage example", 788747387); }); mp.keys.bind(0x65, false, () => { mp.events.call("ShowShardMessage", "Title", "ShowShardMessage example"); // or: mp.game.ui.messages.showShard("Title", "ShowShardMessage example"); }); mp.keys.bind(0x66, false, () => { mp.events.call("ShowShardMessage", "Title", "ShowShardMessage example (colored)", 0, 11); // or: mp.game.ui.messages.showShard("Title", "ShowShardMessage example (colored)", 0, 11); }); Serverside example (will show a wasted message when you die):
    mp.events.add('playerDeath', (player) => { player.call("ShowShardMessage", ["~r~Wasted", "You died."]); });  

    838 downloads

       (8 reviews)

    0 comments

    Updated

  13. Mugshot Board

    This resource adds a way to make the local player hold a mugshot board with custom text on it, the custom text and animation won't be synced to others.
    You can also use this resource to understand how rendertarget system works which lets you display scaleform on certain game objects.
    Installing:
    Put policetext into your server's client_packages directory, then add require('policetext/index.js'); to index.js.
    Available functions/events:
    mp.players.local.mugshotboard.show -> mp.events.call("ShowMugshotBoard") -> Params: title, topText, midText, bottomText, rank = -1 mp.players.local.mugshotboard.hide -> mp.events.call("HideMugshotBoard") -> Params: - And you can access if the local player has a mugshot board or not by using the hasMugshotBoard global variable. Clientside example (pressing F10 will give your character a mugshot board, pressing it again will remove it):
    mp.keys.bind(0x79, false, () => { if (!hasMugshotBoard) { mp.players.local.mugshotboard.show(mp.players.local.name, "Top Text", "Mid Text", "Bottom Text", 15); } else { mp.players.local.mugshotboard.hide(); } });  

    229 downloads

       (2 reviews)

    1 comment

    Submitted

  14. 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)

    1644 downloads

       (9 reviews)

    2 comments

    Updated

  15. Basic Menu (Discontinued)

    This project is discontinued, consider using NativeUI instead.
     
    Bare-bones menu script.
    Installing:
    Put basicmenu into your server's client_packages directory, then you can add const whatever = require("basicmenu"); to the clientside scripts that you want to add a menu. Example code explains this better.
    Properties & Functions:
    BasicMenu
    title | Get & Set | Title of the menu. (string) x | Get & Set | X position of the menu. (float) y | Get & Set | Y position of the menu. (float) items | Get & Set | An array containing all items of the menu. (MenuItem array) hoverItem | Get & Set | Index of the item you're hovering on with your cursor, -1 if not hovering on anything. (int) visible | Get & Set | Visibility of the menu. (bool) disableESC | Get & Set | Allow/disallow menu from being closed by pressing ESC key. (bool) titleFont | Get & Set | Font ID of the title. (int) titleColor | Get & Set | Text color of the title. (array containing rgba) itemsPerPage | Get & Set | How many items are visible on a page of the menu. (int) currentPage | Get & Set | Current page of the menu. (int) setBanner(lib, banner) | Sets the menu's banner to another texture, setBanner("shopui_title_carmod", "shopui_title_carmod") will set the menu banner to be Los Santos Customs one for example. MenuItem
    title | Get & Set | Title of the item. (string) disabled | Get & Set | Whether the item is able to be selected or not. (bool) textColor | Get & Set | Color of the item's title. (array containing rgba) bgColor | Get & Set | Color of the item's background. (array containing rgba) icon | Get & Set | ID of the item's icon. (int) font | Get & Set | Font ID of the title. (int) outline | Get & Set | Outline of the item. (bool) shadow | Get & Set | Shadow of the item. (bool) rightText | Get & Set | Right text of the item. (string) Icon IDs:
    You can put icons to menu items (even though there are only 3 options) if you want to. Just do myMenuItem.icon = desired icon ID.
    MenuItemIcons.None (0) = No icon
    MenuItemIcons.Lock (1) = Lock icon
    MenuItemIcons.Tick (2) = Tick/checkmark icon 
    Events:
    There are three events, see example for how to use them.
    OnMenuItemSelected(menu, selectedMenuItem, selectedMenuItemIndex) /* Will be called when a menu item is clicked on/selected. menu - The menu that contained the selected item. (BasicMenu) selectedMenuItem - The menu item that was selected. (MenuItem) selectedMenuItemIndex - Index of the menu item on the selected menu. (int) */ OnMenuPageChanged(menu, oldPage, newPage) /* Will be called when a menu's page is changed. menu - The menu that had a page change. (BasicMenu) oldPage - Old page. (int) newPage - New page. (int) */ OnMenuClosed(menu) /* Will be called when a menu is closed. menu - The menu that was closed. (BasicMenu) */ Controls:
    Hovering on an item and left clicking - select item
    ESC - close menu (if disableESC isn't set to true)
    Left Arrow - previous page
    Right Arrow - next page
    Example Script:
    const menuLib = require("basicmenu"); // Creating a menu // you can just do: let exampleMenu = new menuLib.BasicMenu("Test Menu", 0.5, 0.4); let exampleMenu = new menuLib.BasicMenu("Test Menu", 0.5, 0.4, "commonmenu", "interaction_bgd", { itemSelected: function(item, itemIndex) { mp.gui.chat.push(`MenuEvent(${this.title}) - itemSelected: ${item.title} - ${itemIndex}`); }, pageChanged: function(oldPage, newPage) { mp.gui.chat.push(`MenuEvent(${this.title}) - pageChanged: ${oldPage} to ${newPage}`); }, closed: function() { mp.gui.chat.push(`MenuEvent(${this.title}) - close`); } }); exampleMenu.itemsPerPage = 5; // make the menu show 5 items per page, this is default by 10 let normalItem = new menuLib.MenuItem("Normal Item"); normalItem.rightText = "Free"; exampleMenu.items.push(normalItem); let redBackground = new menuLib.MenuItem("Red Background Item", [255, 255, 255, 255], [255, 0, 0, 200]); redBackground.rightText = "~g~$500"; exampleMenu.items.push(redBackground); let greenText = new menuLib.MenuItem("Green Text Item", [0, 255, 0, 255]); exampleMenu.items.push(greenText); // You won't be able to click on disabled items. let disabledItem = new menuLib.MenuItem("Disabled Item"); disabledItem.disabled = true; exampleMenu.items.push(disabledItem); let itemWithIcon = new menuLib.MenuItem("Item with Icon", [255, 255, 255, 255], [0, 0, 0, 200], function() { mp.gui.chat.push("You selected the item with icon, why?"); }); itemWithIcon.icon = menuLib.MenuItemIcons.Tick; itemWithIcon.rightText = "Pretty cool"; exampleMenu.items.push(itemWithIcon); let disabledWithIcon = new menuLib.MenuItem("Top Secret"); disabledWithIcon.disabled = true; disabledWithIcon.icon = menuLib.MenuItemIcons.Lock; exampleMenu.items.push(disabledWithIcon); // You can disable ESC menu closing by using disableESC property. exampleMenu.disableESC = true; // This is important as menus are not visible by default. exampleMenu.visible = true; // Events // OnMenuItemSelected, will be called when a menu item is clicked on. mp.events.add("OnMenuItemSelected", (menu, selectedItem, selectedItemIndex) => { mp.gui.chat.push(`Item selected on menu (${menu.title}) - ${selectedItem.title} (Index: ${selectedItemIndex})`); }); // OnMenuPageChanged, will be called when a menu's current page changes. mp.events.add("OnMenuPageChanged", (menu, oldPage, newPage) => { mp.gui.chat.push(`Menu page changed (${menu.title}) - ${oldPage} to ${newPage}`); }); // OnMenuClosed, will be called when a menu item is closed. mp.events.add("OnMenuClosed", (menu) => { mp.gui.chat.push(`Menu closed (${menu.title})`); }); // F6 key will toggle the visibility of exampleMenu mp.keys.bind(0x75, false, () => { exampleMenu.visible = !exampleMenu.visible; });  

    842 downloads

       (5 reviews)

    0 comments

    Updated

  16. Walking Styles

    This resource lets players choose their walking style. Selected walking style is synced to other players.
    Installing
    Put the files you downloaded in their respective places Download & install BasicMenu or NativeUI if you haven't yet, this script needs it Add require('walkingstyles') to client_packages/index.js All done Controls
    F5 Key - Show/hide walking style menu.
    Adding/Removing Walking Styles
    You can add/remove walking styles by changing walkingStyles array inside packages/walkingstyles/index.js, make sure your AnimSet is valid!

    831 downloads

       (4 reviews)

    2 comments

    Updated

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

    914 downloads

       (6 reviews)

    3 comments

    Updated

  18. Wasted Screen

    Installing
    Put the files you downloaded in their respective places Download & install Scaleform Messages if you haven't yet, this script needs it Add require('wasted') to client_packages/index.js All done Notes
    This script will make the players wait 8 seconds before spawning at the closest hospital. This script was not tested on a gamemode with custom death behavior, you might want to do some changes. Video Preview
     

    683 downloads

       (3 reviews)

    1 comment

    Updated

  19. Timer Bars

    Adds timer bars from GTA V/Online.
    Installing
    Drop the timerbars folder to your server's client_packages folder, then you can use const barlibrary = require('timerbars'); to add timer bars. (don't forget to check examples)
    TimerBar Properties
    A timer bar has these properties:
    title | Title (left text) of the timer bar. (string) useProgressBar | Progress bar of the timer bar. If set to true, a progress bar will be drawn instead of right text. (bool) text | Text (right text) of the timer bar, useless if useProgressBar is true. (string) progress | Progress of the timer bar, useless if useProgressBar is false. (float between 0.0 - 1.0) textColor | Text color of the timer bar. (rgba array or HUD color ID) pbarBgColor | Progress bar's background color. (rgba array or HUD color ID) pbarFgColor | Progress bar's foreground color. (rgba array or HUD color ID) visible | Visibility of the timer bar. (bool) usePlayerStyle | If set to true, timer bar title will be displayed like a GTA Online player name. (bool) You can check this wiki page for HUD color IDs.
    Examples
    const timerBarLib = require("timerbars"); // lets create some progress bars let timeBar = new timerBarLib.TimerBar("TIME LEFT"); timeBar.text = "33:27"; let teamBar = new timerBarLib.TimerBar("TEAM MEMBERS LEFT"); teamBar.text = "4"; let healthBar = new timerBarLib.TimerBar("BOSS HEALTH", true); healthBar.progress = 0.8; healthBar.pbarFgColor = [224, 50, 50, 255]; healthBar.pbarBgColor = [112, 25, 25, 255]; let rewardBar = new timerBarLib.TimerBar("REWARD"); rewardBar.text = "$500000"; rewardBar.textColor = [114, 204, 114, 255]; // f7 to toggle visibility of bars mp.keys.bind(0x76, false, () => { timeBar.visible = !timeBar.visible; teamBar.visible = !teamBar.visible; healthBar.visible = !healthBar.visible; rewardBar.visible = !rewardBar.visible; }); // f8 will change health bar's value to something random mp.keys.bind(0x77, false, () => { healthBar.progress = Math.random(); });  
    const timerBarLib = require("timerbars"); let eventTime = new timerBarLib.TimerBar("EVENT TIME LEFT", false); eventTime.text = "01:40"; let thirdPlace = new timerBarLib.TimerBar("3rd: PlayerName3", false); thirdPlace.text = "9 kills"; thirdPlace.textColor = 107; // HUD_COLOUR_BRONZE thirdPlace.usePlayerStyle = true; let secondPlace = new timerBarLib.TimerBar("2nd: PlayerName2", false); secondPlace.text = "12 kills"; secondPlace.textColor = 108; // HUD_COLOUR_SILVER secondPlace.usePlayerStyle = true; let firstPlace = new timerBarLib.TimerBar("1st: AimbotNub", false); firstPlace.text = "30 kills"; firstPlace.textColor = 109; // HUD_COLOUR_GOLD firstPlace.usePlayerStyle = true;  

    411 downloads

       (3 reviews)

    1 comment

    Updated

  20. Timecycle Modifiers

    This resource lets you preview many of the available timecycle modifiers in GTA V.
    Installing
    Download & install the latest BasicMenu or NativeUI if you haven't already, this script needs it Drop the timecycpreview folder to your server's client_packages Add require('timecycpreview') to client_packages/index.js All done Controls
    Page Up - Increase timecycle modifier strength Page Down - Decrease timecycle modifier strength F9 - Show/hide the menu  
     

    100 downloads

       (2 reviews)

    0 comments

    Updated

  21. Synced Vehicle Indicators

    Installing
    Put the files you downloaded in their respective places Add require('indicators') to client_packages/index.js All done Controls
    Numpad 4 - Toggle left indicator Numpad 6 - Toggle right indicator

    642 downloads

       (3 reviews)

    0 comments

    Updated

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

    247 downloads

       (3 reviews)

    2 comments

    Updated

  23. Manage Weather Time

    Basic script to sync time of the game in custom cicles
    That script just change the time of the game based on the configuration cicle time and real life.
    every 0 hour and 12 hours the weather is changed in random mod to another weather.
    The cicle of Timeout will adjust to read the script every hour in the game.
     
    How to use:
    Just place de script in your server-side (Package) and change the "const cicleTime" to your 
    size of a day cicle. Use real life minutes for that. Exemple: "30" will be 15 minutes in real life day
    and 15 minutes night.
     
    Notes:
    If you place some value in cicle time that a hour in the game last less then one minute in real life,
    dont will work (if you know how to fix comment  please  ).
     
    Future Updates:
    Smoth transition, show time and date on UI
     
     

    534 downloads

       (1 review)

    0 comments

    Updated

  24. GTAO Outfits

    This script reads outfits from scriptmetadata.meta and lets you use them in game. There are currently 1382 outfits for both male and female freemode characters.
    Using: /outfit [id]
    Updating scriptmetadata.meta
    scriptmetadata.meta gets more outfits with every update, here's how you can update it:
    OpenIV:
    Go to update\update.rpf\common\data Right click on scriptmetadata.meta Select save content/export Take the extracted file and replace it with the one your server is using CodeWalker RPF Explorer:
    Go to update\update.rpf\common\data Right click on scriptmetadata.meta Select extract raw Take the extracted file and replace it with the one your server is using Notes
    Some outfit IDs might do nothing, ask Rockstar In RAGE version 0.3, drawable IDs above 255 aren't supported so you might have some weird looking outfits. From what I heard this is not a problem in upcoming 0.4. Credits to OpenIV and CodeWalker devs, this script wouldn't be possible without their efforts.

    649 downloads

       (5 reviews)

    0 comments

    Updated

  25. 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`}.`); });  


    329 downloads

       (1 review)

    0 comments

    Updated