Scripts
204 files
-
[TS] Animation Viewer
By ncls.
Hello,
I needed a script which lets me view animations. I found Hazes' resource (linked below) which is written in C# so I decided to transform it to TypeScript so that I can use it in TypeScript servers as well.
Installation:
Download and extract the script Put the files inside the "server" folder into your server packages Put the files in the "client" folder into your client packages Import the "animator" files on server and client side.
Instructions on how to use the script can be found in the original resources's description.
This script is based on:
32 downloads
- animation
- animations
- (and 5 more)
0 comments
Updated
-
draw-zone
By cacao
Draw-zone script
Description: Drawing zones on map by using (tab, space, del) buttons and save it as polygon (call remote event drawZone.save)
Controls:
Tab - Place user mark on map (can be moved to draw lines)
Space - Save dot on mark place
Del - delete previous dot
Commands:
/zstart - Start drawing zones on map
/zstop - Stop drawing zones
/zreset - Reset drawing
/zsave - Saving coords (Calling remote event drawZone.save)
/zlist - list of commands
Video snippet: https://imgur.com/a/liLwZo5
Repository: https://github.com/READYTOMASSACRE/ragemp-draw-zone
73 downloads
- clientside
- 1.1
- (and 1 more)
0 comments
Updated
-
Electrician Job - Modern, fast, lightweight - JS only
By krane
Hello, this Electrician job was made last night, in an effort to get to understand the more complex and the workflow for RageMP, i find it really interesting and i'm looking for your feedback.
How does it work:
You will get a blip on the map
If you get there, you need to talk to the Electrician guy to hire yourself and get the garage access to spawn vehicles
Once you get in range for the Garage blip, you need to press `E` to spawn the job vehicle and to get missions to go to:
There is implemented an "inaccesible" script, that you can just be around the general entrance area, and you get teleported to the exit and the same for exit:
Once you get inside, you can go to the mission to repair the electric panel:
I do custom work and take script requests, feel free to message me: krane#2890 on discord
562 downloads
- job
- electrician
- (and 2 more)
0 comments
Submitted
-
[JS] Player Location Display ported over to javascript
A Javascript remake of https://rage.mp/files/file/461-c-player-location-display/ (all credits go to him)
Hey!
This is my first resource that I am publicly releasing.
For you all, I have ported the C# Player Location Display (https://rage.mp/files/file/461-c-player-location-display/) into JS.
Install
Place `/street` into your server's client_packages directory, then add `require("./street/index.js");` to client_packages/index.js
I know the code isn't the best optimized, please feel free to open a pull request on GitHub.
GITHUB: https://github.com/realdiegopoptart/ragemp-pld
347 downloads
0 comments
Updated
-
Bounding Box
By Zekiloni
Simple script to get dimensions of any entity (object, vehicle, ped), center of entity and corners.
Also you can draw bounding box.
190 downloads
- Clientside
- Entity
- (and 2 more)
-
Generic Native Keypad
By -Andreas
Originally created around 2019, so it might be broken with newer versions of RageMP, though I believe I fixed this at some point.
The system allows you to set up a keypad server-side and hook an action to the Confirm button in the keypad. The action is invoked server-side and as argument you get the value which the user put in the keypad client-side. You can set the title, subtitle and even control if the input in the field will be asterisks for cases where the player would be typing a pin etc.
The entire keypad requires no CEF at all, and no web related dependencies. Instead the whole thing is defined and rendered using native GTA:V UI elements.
Getting started
To get started put the keypad.js in your client folder and remember to include it in the index.js. Then grab the KeypadLibrary.cs and put it in your server project. With this you are ready to create keypads wherever you need them. Invoke the following function:
StartKeypadForPlayer(Player player, string title, string subTitle, bool useAsterisk, Action<Player,int> callback) as such:
KeypadLibrary.StartKeypadForPlayer( ply, "Withdraw", $"Current bank balance: ~g~${ply.cash}", false, (ply, x) => { ply.SendChatMessage("You are withdrawing: " + x); }); The system supports all native colors from GTA:V so you can color the title and subtitle if needed.
Here's the GitHub link for those interested https://github.com/Andreas1331/ragemp-keypad
48 downloads
0 comments
Submitted
-
EasyCEF
By DevMarvin
This resource adds a simplified system for creating HTML browsers, as well as other features such as forcing the cursor to display.
Requirements
RAGE Multiplayer 1.1 and above. Installing
Put the folder into 'client_packages' (client_packages/easycef). Add require('easycef') to 'client_packages/index.js'. Clientside API
/** * Creates Browser and pushes it into instances array with given parameters. * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @param {string} browserPath Browser Path / starts from client_packages (example: "testcef/index.html"). * @param {bool} forceToCursor Forces the game to display the cursor, even if the player can disable it until the browser is destroyed again. */ mp.game.app.createBrowser(browserName, browserPath, forceToCursor); /** * Destroys Browser and removes it from instances array. * @param {string} browserName Browser identifier (example: "TestBrowser1"). */ mp.game.app.destroyBrowser(browserName); /** * Returns searched browser exists or not. (Available as of version 1.1.0) * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @return {bool} True if exists, otherwise false. */ mp.game.app.browserExists(browserName); /** * Switches browser (destroys old browser and creates new one with same name). * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @param {string} newPath Browser Path / starts from client_packages (example: "testcef/index.html"). * @param {bool} forceToCursor Forces the game to display the cursor, even if the player can disable it until the browser is destroyed again. */ mp.game.app.switchBrowser(browserName, newPath, forceToCursor); /** * Reloads the browser. * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @param {bool} ignoreCache True to ignore cache. */ mp.game.app.reloadBrowser(browserName, ignoreCache); /** * Calls JavaScript code inside the browser. * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @param {string} codeToExecute JavaScript code to be executed in browser. */ mp.game.app.executeClientFunction(browserName, codeToExecute); /** * Set cursor in a specific browser forced or unforced. * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @param {bool} force True to force the cursor to be there. */ mp.game.app.setCursorForced(browserName, force); /** * Returns is the cursor forced in browser * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @return {bool} True if forced, otherwise false. */ mp.game.app.isCursorForcedInBrowser(browserName); /** * Returns is a cursor forced in any browser. * @return {bool} True if any cursor is forced, otherwise false. */ mp.game.app.isAnyCursorForced(); /** * Returns the specified item. * @param {string} browserName Browser identifier (example: "TestBrowser1"). * @return {object} The function will return nothing if browser does not exist. */ mp.game.app.getBrowserObject(browserName);
Notes
With 'isAnyCursorForced' you can work for example by checking in your cursor keybind function if a cursor is forced in any CEF. For any error messages or questions: Feel free to write me on Discord: мαяνιη.#9554 Not all RAGE browser functions are implemented yet, should be relatively easy to add, maybe an update will come soon There is a 'better cursor' system implemented that automatically shows the cursor if there is a browser that forces it. If you want to disable it and build your own, just set 'isBetterCursorEnabled' in the file to false. If you want you can check my GitHub Repository: https://github.com/sckindvl/easycef71 downloads
0 comments
Updated
-
[C#] Player Location Display
By kymboy
Hello!
This is my first ever resource, hopefully I've done everything right.
For you all, I have recreated the popular Player Location Display by Lt.Caine for RageMP with the help of codibez's streetLabel repo on GitHub.
The code is in C# so you will have to activate C# in your server's conf.json if you haven't yet.
Place both folders in your client_packages and you're good to go.
Enjoy!
406 downloads
0 comments
Updated
-
Dronesytem
By Ju88
Installing
Put drone into your server's client_packages directory, then add require('drone'); to client_packages/index.js.
Controls
F2 = Toggle Drone
ARROW UP = Forward
ARROW DOWN = Backward
ARROW LEFT = Left
ARROW RIGHT = Right
Q = Rotate Left
E = Rotate Right
SPACE = Go Up
CTRL = Go Down
N = Toggle Camera
T = Taze
F6 = Toggle Nightvision
F7 = Toggle Thermalvision
Information
Hello friends, this is my first public script I hope you like it. I would be happy about constructive comments and suggestions for improvement
💖
375 downloads
0 comments
Submitted
-
Speedometer
By Katu__
Installation
Copy "Speedometer" folder to client_packages.
Add "require('./Speedometer/index.js');" to your index.js in client_packages, and you should be good to go!
776 downloads
0 comments
Submitted
-
Native storage
By hartority
Installing
Put the files you downloaded in client_packages Add require('gameStorage') to client_packages/index.js All done Notes
This storage is cleared only after a complete re-entry into the game
Client API
mp.gameStorage.setFloat(property, value); mp.gameStorage.setInt(property, value); mp.gameStorage.setString(property, value); mp.gameStorage.getFloat(property); mp.gameStorage.getInt(property); mp.gameStorage.getString(property);
Examples
Setting and getting value:
mp.gameStorage.setFloat('floatKey', 0.51243); mp.gameStorage.setInt('intKey', 15621); mp.gameStorage.setString('stringKey', 'ragemp'); mp.gui.chat.push(`${mp.gameStorage.getFloat('floatKey')}`); mp.gui.chat.push(`${mp.gameStorage.getInt('intKey')}`); mp.gui.chat.push(`${mp.gameStorage.getString('stringKey')}`); Deleting blips created with mp.game.ui.addBlipForCoord after reconnecting:
const PLAYER_READY_EVENT = 'playerReady'; const CREATED_BLIPS_KEY = 'createdBlips'; const F2_KEYCODE = 0x71; const createdBlips = []; const addHandle = (handle) => { createdBlips.push(handle); mp.gameStorage.setString( CREATED_BLIPS_KEY, JSON.stringify(createdBlips) ); }; const getDepricatedBlips = () => { try { return JSON.parse(mp.gameStorage.getString(CREATED_BLIPS_KEY)); } catch { return []; } }; const handlePlayerReady = () => { const blips = getDepricatedBlips(); for (let handle of blips) { if (mp.game.ui.doesBlipExist(handle)) { mp.game.ui.removeBlip(handle); } } mp.gameStorage.setString(CREATED_BLIPS_KEY, ''); }; const handleCreateBlip = () => { const handle = mp.game.ui.addBlipForCoord(0, 0, 0); addHandle(handle); }; mp.events.add(PLAYER_READY_EVENT, handlePlayerReady); mp.keys.bind(F2_KEYCODE, true, handleCreateBlip);
117 downloads
0 comments
Updated
-
Disabling props(hats/glasses) knock off
By H5tred
Basically this file disables props being knocked off the player by any possible damage. I remember that when i tried by script it didn't work, i haven't checked the one by script in a while, but I m assuming it still doesn't work.
If the one by script works just delete this resource.
How to use , just paste the content of the zip in your server files in client_packages\game_resources !
If you have other questions/suggestion regarding what can be edited from the files from the games, feel free to contact me on discord Cricket#1276 !
233 downloads
0 comments
Submitted
-
Disabling stealth kills through GTA files
By H5tred
So i have been getting a lot of DMs on discord regarding how to disable the stealth kills.
Basically this file contains the edited conditions that are checked by GTA in order for the player to perform a stealth kill and are changed so they are never met, making it impossible for any player to perform them.
How to use , just paste the content of the zip in your server files in client_packages\game_resources !
If you have other questions/suggestion regarding what can be edited from the files from the games, feel free to contact me on discord Cricket#1276 !
248 downloads
0 comments
Submitted
-
Circuit Breaker - C# Minigame
By Develuxe
Minigame from the original heist update, done with scaleform without CEF.
Installing:
Put all files in client_packages\cs_packages\
To call that script:
Event name:
CircuitBreakerStart
Event args:
Count of Lives (1 - 10)
Difficulty Level (0 - 4) (0 is beginner, 4 is expert)
Levels to complete (1 - 6)
C# Server Example:
player.TriggerEvent("CircuitBreakerStart", 5, 1, 6);
Game results events:
CircuitBreakerWIN - is called at client side, when player succeed at all levels, no args.
CircuitBreakerLOSE - is called at client side, when player quits (Q button) OR lost all his lives, no args.
If you are using JS client side:
You need to create 2 events (described above) at your client side to catch game results.
If you are using C# client side:
You can just modify 2 methods inside Main.cs, which already contains both methods to catch game results.
Minigame Preview, done on this system:
180 downloads
0 comments
Updated
-
CircuitBreaker - JS Minigame
By xNameless69
Hello again, Ragers.
This minigame is the same as the one in the base game heists. It's purely scaleform, and no CEF.
(Thanks to Develuxe for C# version)
Simply put this into client_packages, and add this to your index.js:
require('./CircuitBreaker'); It has three events:
CircuitBreakerWIN - This event is called on the client when the client player has successfully won the minigame
CircuitBreakerLOSE - This event is called on the client when the client player quits, or fails to complete the minigame
CircuitBreakerStart - This event is callable on the client (from server with player.call), and is used as follows:
// Lives (any number), this number is the total amount of lives for all levels // Difficulty (0-4), where 0 is easiest and 4 is hardest // Level Count (1-6), how many levels have to be completed player.call('CircuitBreakerStart', /* lives */ 3, /* difficulty */ 1, /* level count */ 2);308 downloads
0 comments
Updated
-
Advanced Chat - Upgraded
By fl1k
About
This is a fork of Advanced Chat - Dependency free with a few new features implemented that were present in SA:MP
Features Added
/chathelp - view all commands /fontsize [size(0.5 - 1.5)] - sets the size of the font /pagesize [size(4-24)] - sets the size of the page /timestamp - toggles between timestamp /togglechat - toggles chat hidden/visible - The features added were present in SA:MP,
DEPENDENCIES
INSTALLATION
Download files Include advanced-chat in your index.js REPO
If you want to contribute, the link to the repository is - https://github.com/fl1k/advanced-chat
SCREENSHOTS
VIDEO
1149 downloads
-
Custom pause menu header
By hartority
This resource allows you to customize the header of the pause menu.
354 downloads
-
[dl] Debug Labels / Vehicle Info
By fl1k
Information:
A small script implementing the /dl feature from SAMP (vehicle info - vehicle id, position, rotation, model, health)
Usage:
Use the command /dl to enable/disable.
Installation:
1) Install Better Clientside Commands by rootcause
2) Put it somewhere and include it in your index.js
Requirements:
368 downloads
0 comments
Submitted
-
Pause Menu Player Scaleform (NO BACKGROUND!)
By xNameless69
RAW RESOURCES ONLY - NO SCRIPT HERE.
Today I have for you a beast resource that will fix your problems with Ped Displaying using Native Menu Ped. This resource contains Custom Scaleform changes to some menu components, and pause menu definition, that allows the Ped to be rendered WITHOUT a background box around it, or even on screen (fuck you Rockstar for making this Scaleform so shit).
You use this in the same way you use any other raw resource by placing the contents into client_packages/game_resources
If you already modify the Pause Menu xml file in some way, please see the changes in my own pausemenu.xml files and attempt to add them to your own, it shouldn't cause any problems!
The script can be found in many different places already, so no need to show it here - this is not possible to render on top of CEF, so just use CSS to make some hole in your UI that this can show through.
The menu version is custom here so that if Rockstar adds anything else or messes with dependencies, it doesn't immediately break. This means it's not really "documented" in natives (duh)
The version used should be as follows:
mp.game.ui.activateFrontendMenu(mp.game.joaat('FE_MENU_VERSION_RAGEBEAST'), false, -1);370 downloads
-
Client-Side Packet encryption
By kemperrr
About This File
This package contains a full implementation of client-side packet encryption for RAGE 0.3.7 which obviously doesn't have build-in encryption for packages.
Includes packer like webpack (with watch mode), import/export from ES6 (thanks https://github.com/alangpierce/sucrase) and picking packages from node_modules
To use the script, you'll need to have hands and installed node js.
Idea behind?
The idea behind was to make it hard as possible to block leakers/leechers copy client-side scripts. And it works!
Security issues?
Make sure that you send your encryption key from server to client with encrytion enabled, so people cannot sniff your key to decrypt your files. Even tho, it should be possible to dump the script-files from memory, but this progress will still not make sense, since noone puts such effort into it.
How start work?
Steps:
unpack zip archive to root server folder (path like a 'game-server/src_client') Open terminal in src_client directory Enter npm install or yarn in terminal Enter npm run watch or yarn watch to start watching 'src_client/sourcecode' directory Complete, now u can edit files in 'src_client/sourcecode' directory
Enjoy!
288 downloads
-
Advanced Chat - Dependency free
By pichalomo
Very simple but complete chat written in vanilla js with arrows history navigation, time stamp, user colors prevention, character count, lower cased commands and scrollbar.
Ragemp chat api works perfectly
Settings
Edit settings in advanced-chat/js/main.js
Install
Extract in to advanced-chat folder and copy it to client_packages Add this somewhere client-side. (Eg: index.js) mp.gui.chat.show(false); //Disables default RageMP Chat const chat = mp.browsers.new('package://advanced-chat/index.html'); chat.markAsChat(); Add this somewhere server-side (Eg: index.js)
mp.events.add("playerChat", (player, message) => { mp.players.broadcast(`${player.name}: ${message}`); });
1129 downloads
-
SAMP Dialogs 1.0.0 JS/NodeJS (Improvement)
By Revelt
SA:MP Dialog for RAGE:MP on JS/NodeJS (Improvement and Bug Fixes)
Github & Documentation : https://github.com/Revelts/-ragemp-samp-dialog-js
#Dialog Type
* 'infoDialog'
* 'listItem'
* 'listItemInfo'
* 'inputText'
* 'inputPassword'
* 'loginDialog'
* 'registerDialog'
#Client Event
mp.events.add("client:onDialogResponse", function (String dialogName, Number button, Number listSelected, String textInput, String passwordInput))
mp.events.add("onRequestDialog", function (String type, String dialogName, String dialogCaption, String dialogInfo, String Array dialogListItem, String Array dialogButton))
#Server Event
mp.events.add("server:onDialogResponse", function (String dialogName, Number button, Number listSelected, String textInput, String passwordInput))
player.call("onRequestDialog", function (String dialogName, String Array button, String Array listSelected, String textInput, String passwordInput))
Original Source Code :
110 downloads
0 comments
Updated
-
RageMP ReactJS Example
By nbank
Hey,
long time ago i created this example how to use ReactJS with its not perfect but if u want to know how this could work u can look in the code.
https://github.com/NoelBank/ragemp-react-example
27 downloads
0 comments
Submitted
-
Scaleform Vehicle Spawner
By Yaann
This is a vehicle spawner menu made entirely under Scaleform, the native GUI for GTA V, based on Flash, which makes up nearly all of the displays used in the game. This menu works similar to vehicle websites in GTA Online, like Legendary Motorsport, note that this is not a modification of an existing Scaleform but a brand new custom one made entirely from scratch 👌!
I made this mostly as an exercise to mimic the games' UI functionalities by using Rockstar's own tools (and also showcase to you guys, other alternatives to opening web browsers in your game), however this is just one of the many examples that can be used with Scaleform, so I'm plaining in making more experiments with it.
This Scaleform features:
Updated vehicle list. Built-in cursor with supported mouse inputs and scroll. Multiple pages. Selectable buttons. Improved Scaleform code to handle return variables. Image import from .ytd files. Requirement but optional :
Better Clientside Commands by rootcause to call the menu on client-side but you can replace the call by a server-side command or a button prompt.
Github Repository, with the Scaleform source code included. So you can try your hands on Scaleform, it's not as hard as it looks like, trust me!
Vehicle images taken from the Rage MP Wiki and the GTA Wiki.
[Obligatory Certified Halal logo here]
688 downloads
0 comments
Updated
-
0 comments
Submitted