140 files
-
Firing Modes
By rootcause
This script was originally made by EnforcerZhukov for singleplayer. (you can find it here) All credit goes to him.
I added extra stuff such as remembering firing mode (until you disconnect) per weapon, safety mode, HUD item and sound effects.
Installing & Using
Put guncontrol into your server's client_packages directory, then add require('guncontrol'); to index.js. Press F6 key to switch between firing modes.
Firing Modes
Auto: Default GTA shooting. Burst: Shoot 3 bullets every time you fire. (not supported on all weapons) Single: Shoot 1 bullet every time you fire. (not supported on all weapons) Safe: Disables shooting.
156 downloads
(1 review)0 comments
Updated
-
Binoculars
The scenario used here is not synced
Use the command to trigger the script :
/binocular Scroll up and down to zoom in / out.
Installation: Just put the folders where they should be, don't forget to import client side scripts in your index.js
If you have any question feel free to ask us
By AdAstra Dev Team (FR :D)
155 downloads
(1 review)0 comments
Updated
-
[3D] Client-side Sound API.
By Captien
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.
150 downloads
(4 reviews)0 comments
Submitted
-
Custom UI Healthbar and Armor.
Hey !
So this script adds simply a Custom UI for the Healthbar and the Armorbar !
To this I simply add a condition for only if the player is in the car the GPS will be Display.
Installing:
Just drag the custom_ui folder to your client_package and don't forget to add the require('custom_ui '); to your index.js.
If you don't want to download this, you can also check the source code here:
https://github.com/SuperCoolNinja/ragemp-custom-ui
148 downloads
(0 reviews)0 comments
Submitted
-
More Immersive Emergency Lights
By dArkyunn
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
147 downloads
(1 review)0 comments
Updated
-
AwardAPI
By rootcause
This script lets you create awards/achievements and give them to players.
Installing
Put the files you downloaded in their respective places Add require('awards') to client_packages/index.js Open packages/awards/database.js and put your MySQL config All done
API - Exported
You need to load awards/api.js in your script with using require() for these.
/* awardDefinitions object contains all defined awards. Keys of this object are valid award IDs. */ awardDefinitions /* Defines an award. Awards can be single or multi tier depending on what you send to requiredProgress. If you send an array of numbers, it will be a multi tier award. (then tierColor must be an array of numbers too, tierColors length being the same as equiredProgress length) If you send a single number, it will be a single tier award. (then tierColor must be a single number too) Check out https://wiki.rage.mp/index.php?title=Fonts_and_Colors#HUD_Colors for tierColors values. (107, 108, 109, 110 are great) You can search for mpawards in OpenIV/CodeWalker Explorer for txdLib and txdName, or send an empty string to txdLib and txdName if you don't want to use an icon. This function returns true if award is created, false otherwise. */ defineAward(ID, name, description, txdLib, txdName, requiredProgress, tierColor) /* Returns the specified award's tier for the specified progress. You must increase the return value by 1 if you want to display it to players. Returns: -2 if award ID is invalid -1 if progress isn't enough for any tier 0 and above if progress is enough for any tier */ calculateAwardTier(awardID, progress) /* Returns the specified award's icon color for the specified tier. Return value will be -1 if award ID is invalid. */ getAwardTierColor(awardID, tier)
API - Player
/* This property contains the award data and should be used for getting values. Keys of this object are the award IDs that player has any progress on. player.awardData[validAwardID] properties: - Progress (number) - Tier (number) - IsComplete (boolean) - CompletionDate (date, null if award isn't complete) */ player.awardData /* Sets the specified award's progress to the specified amount. Returns false if awardID is invalid, true otherwise. */ player.setAwardProgress(awardID, progress) /* Changes the specified award's progress by the specified amount. Returns false if awardID is invalid, true otherwise. */ player.changeAwardProgress(awardID, progress) /* Resets the specified award's progress. Returns false if awardID is invalid or player doesn't have any data about the specified awardID, true otherwise. */ player.resetAwardProgress(awardID) /* Resets all award progress. Doesn't return anything. */ player.resetAllAwardProgress() /* Saves award data. You don't need to add this to your script's playerQuit event because AwardAPI will save data when a player disconnects. */ player.saveAwards()
Serverside Events
/* playerAwardTierChange This event is called when a player's award's tier changes. */ mp.events.add("playerAwardTierChange", (player, awardID, oldTier, newTier) => { // code }); /* playerCompleteAward This event is called when a player completes an award. */ mp.events.add("playerCompleteAward", (player, awardID) => { // code });
Example
This script creates 2 awards (one single tier and one multi tier), progresses them when certain events happen, sends a message to players when one of their awards has a tier change or completion and provides some commands.
const awardAPI = require("../awards/api"); /* Multi tier award, will be complete when a player dies 1000 times. 1 deaths - tier 1 (bronze) 10 deaths - tier 2 (silver) 100 deaths - tier 3 (gold) 1000 deaths - tier 4 (platinum) */ awardAPI.defineAward("award_unlucky", "Unlucky", "You keep dying, be careful!", "mpawards5", "killmeleeweapons", [1, 10, 100, 1000], [107, 108, 109, 110]); /* Single tier award, will be complete when a player writes something to the chat. */ awardAPI.defineAward("award_chat", "Baby's First Words", "You used the chat.", "", "", 1, 110); // Events mp.events.add({ // Increase player's "award_unlucky" progress by 1 when a player dies. "playerDeath": (player) => { player.changeAwardProgress("award_unlucky", 1); }, // Set player's "award_chat" progress to 1 (since its max. progress is 1) when a player writes something to chat. "playerChat": (player) => { player.setAwardProgress("award_chat", 1); } }); // Commands mp.events.addCommand("howunlucky", (player) => { // example: check if player has any progress for award_unlucky, display a message based on completion if (player.awardData["award_unlucky"]) { if (player.awardData["award_unlucky"].IsComplete) { player.outputChatBox("You're extremely unlucky."); } else { player.outputChatBox(`Not too unlucky, just ${player.awardData["award_unlucky"].Progress} deaths...`); } } else { player.outputChatBox("You're pretty lucky for now."); } }); mp.events.addCommand("setawardprogress", (player, _, awardID, progress) => { // example: "/setawardprogress award_unlucky 1000" will complete "unlucky" achievement player.setAwardProgress(awardID, Number(progress)); }); mp.events.addCommand("changeawardprogress", (player, _, awardID, progress) => { // example: "/changeawardprogress award_unlucky 5" will add 5 progress to "unlucky" achievement player.changeAwardProgress(awardID, Number(progress)); });
140 downloads
(2 reviews)0 comments
Updated
-
Vehicle Spawner | Diamond Casino & Resort Update
I updated the "vehicleHashes.js" to the update "Diamond Casino & Resort".
Orginal version and creator of the script:
131 downloads
-
Cef Safe Zone
By ufteers
Hello ragers.
This script allows you to use the GTA safe zone in the browser. An example is seen in the video.
125 downloads
(1 review)0 comments
Updated
-
Sudodude's PedPicker
By sudodude
This is a simple module/script for changing the player model synced client/server. The values in the list are the model names that can be found on https://wiki.rage.mp/index.php?title=Peds. Click on a model in the list and you will switch to that model.
*F7* to open PedPicker Menu in game.
You should be able to just drop the files within the client_packages/packages directories and then add the requirements to the respective index.js files within those directories.
All source code is given from within the file download, but you can also find the repo here: AZAMOEBA_RAGE_PEDPICKER. If you are using this I'd appreciate a star or just let me know you found any of this useful. If I forgot a credit please let me know and I will get back to you and fix whatever is necessary. Enjoy!
Message for any comments/questions and I'll try to get back asap.
125 downloads
-
Soundviewer
By Flashrex
Just a simple js-script that let you play every sound in the following list and gives you info about the current sound on the bottom of the screen:
https://wiki.rage.mp/index.php?title=Sounds
Install:
Simply drop the files in your client-packages folder and merge the index.js with your index.js.
How to use:
Type /s or /sound to activate/deactivate it.
Use Left-Arrow, Right-Arrow to navigate trough the sounds.
Credits:
Thanks to n0minal and his interior Resource with which i learned how to create commands in js.
123 downloads
(3 reviews)0 comments
Updated
-
Flaming Footprints
By rootcause
A small (and extremely delayed, it was originally planned for halloween!) C# resource that lets players toggle flaming footprints. This feature was first used in GTA Online's Lost vs Damned adversary mode.
Installing & Using
Put the files you downloaded in their respective places Use /footprints command in game to toggle the effect120 downloads
-
Synced parachute
By draobrehtom
🎈 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 😉
119 downloads
(4 reviews)0 comments
Updated
-
Debug Script v1.0
By OvO
Hello community,
this is an very simple but powerful and useful script for finding out Positons around the GTA-5 map for easier for example Placing Bilps.
Changelog: - 02/03/2019: Release Current functions: - Show your position Ingame. - Show your Position in the Console Log. How to use: - Press F2 to see your Position Ingame. - Type as command /pos to see your Position in the console.
I will release soon an update with more functions for the debug section.
visit my Github for more projects! GitHub Profile
117 downloads
(1 review)0 comments
Submitted
-
BlockVPN
BlockVPN NodeJS Resource
Purpose
Block players from joining if they are on a VPN or proxy. About
This resource uses GetIPIntel which is a free service that calls their API with the IP address and returns the likelihood of it being a VPN or proxy. The recommended threshold to block is 0.99 and above; any lower and you may get false positives. Requirements
request (NodeJS Module) GitHub
The resource GitHub can be found here.113 downloads
(0 reviews)0 comments
Updated
-
Login / Register html template
By Tenchuu
https://www.dropbox.com/s/3ump4anqb45mm9x/1uJJ7nb7a9.mp4?dl=0
This is just a template for your login / register system.
110 downloads
(0 reviews)0 comments
Submitted
-
Shortcuts (Animations) on Numpad 1.0.0 Javascirpt
By HankSteiner
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
109 downloads
- rpc
- Javascript
- (and 3 more)
-
[JS] [Server-Side] Control Actions
By Tampa
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.
107 downloads
(1 review)0 comments
Submitted
-
[C#] Screen FX Preview
By Rushreflex
What it does: https://streamable.com/pht3r
How to use:
- requires c# on clientside
- trigger clientside event from server
For example:
Add a server command and trigger this clientside script like this:
NAPI.ClientEvent.TriggerClientEvent(client, "EnableScreenFx");
Navigate through all the effects with left and right arrow keys - you'll get a local chat message with the current name of the effect and the index.
Previous fx: LeftArrow
Next fx: RightArrow
104 downloads
(1 review)0 comments
Submitted
-
Timecycle Modifiers
By rootcause
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
103 downloads
(2 reviews)0 comments
Updated
-
MC's Blackjack Mod
By MCtheBoss
~~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
102 downloads
(2 reviews)0 comments
Updated
-
Better Instructional Buttons
By Kar
NB: This include does not entirely work like the original.
NB: The class is now called instructionalButtons instead of hudManager.
NB: This include also includes a more advanced version of the BasicScaleform class by kemperr, just called ScaleForm now.
v2.0.0
- Added instructionalButton.hasControl(control).
- Added instructionalButton.getButtonCount().
- Removed the padding of 10.
- Added RGB support (instead of just RGBA... alpha defaults to 180 for RGB).
- Revamped the structure used to store buttons (it was dumb before, wasting variables and not making use of Javascript features).
v1.0.2
- You can now alter any instructional button without it being redrawn/shown to you (Basically you can edit them, without them popping up on your screen, forcefully).
- Added instructionalButton.changeButtonControl(title, new_control).
v1.0.1
- Fixed the an issue where when using multiple instructional buttons multi script wide, if one button count was more than others, the buttons would show up across different instructional buttons.
- Removed support for hex colours with a #. Now to use a colour, just use 'FF00FF'. Using # here is a waste of time.
v1.0.0
- Fixed instructional buttons rendering last button created on the client only.
- Instructional buttons background now default to black, if no colour was used.
- A padding of 10 is now set on horizontal instructional buttons.
- Support for custom button names.
- Added instructionalButton.changeButtonTitle(control, new_title).
- Added instructionalButton.isActive().
- Example:
const instructions = require('/better_instructions'); const horizontalInstructionList = new instructions(-1); horizontalInstructionList.addButton('Create Roadblock', 'M'); horizontalInstructionList.addButton('Right', 175); horizontalInstructionList.addButton('Left', 174); if(!horizontalInstructionList.isActive()) { horizontalInstructionList.toggleHud(true); } setTimeout( () => { if(horizontalInstructionList.isActive()) { horizontalInstructionList.toggleHud(false); } }, 10000); /* Vertical Instructions */ const verticalInstructionList = new instructions(1, 'ff000'); modShopInstructions.addButton('Toggle RAGE Menu', 'F2'); if(!verticalInstructionList.isActive()) { verticalInstructionList.toggleHud(true); } setTimeout( () => { if(verticalInstructionList.isActive()) { verticalInstructionList.toggleHud(false); } }, 10000);
Original Include
- Credits go to Captien for the original release.
100 downloads
-
DxDraw Message Bars
By Captien
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).
98 downloads
(2 reviews)0 comments
Updated
-
Simple Camera - Typescript
By DevGrab
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
95 downloads
(1 review)0 comments
Submitted
-
Vice City Minimap
By adri1
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
95 downloads
(5 reviews)0 comments
Updated
-
Better Keybinding
By araynimax
This module saves you some time on bindings keys.
Read more here:
89 downloads
