139 files
-
GTAO Outfits
By rootcause
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.
651 downloads
(5 reviews)0 comments
Updated
-
FireDepartment
By spacefrog
I made this script for beginners in c# so they can hopefully learn someting for it.
I'm not a pro in programming but i hope i can help someone with it.
I did not test this with other players but it should work.
Commands:
/teleport "to get to the fire department" /start1 "on the white colshape to start a fire" /stopfireid "to stop the fire or just extinguish it."
When you are on a mission you can heal your self on the green colshape.
When you start a fire it random selected one of the 6 main spawn points from that point it random create new spawn points and check if its reachable for the player.
406 downloads
- Fire fighter
- Fire Department
- (and 1 more)
(0 reviews)0 comments
Updated
-
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.110 downloads
(0 reviews)0 comments
Updated
-
Blackout
By rootcause
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`}.`); });
333 downloads
(1 review)0 comments
Updated
-
Basic Player Blips
By rootcause
This resource adds GTAO style player blip/icon to streamed in players. Their icon will be removed when they stream out.
You can change the color of player blips by setting blipColor using Entity::data or Entity::setVariable on serverside. For a list of blip colors, visit the wiki page about blips.
Installing
Put playerblips into your server's client_packages directory, then add require('playerblips'); to index.js.
824 downloads
(5 reviews)0 comments
Updated
-
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.
155 downloads
(1 review)0 comments
Updated
-
BanAPI
By rootcause
Ban system that supports temporarily/permanently banning names, social club names, IP addresses and HWIDs.
Installing
Put banapi into your server's packages directory Open banapi/database.js and put your MySQL config All done
API
/* getUnixTimestamp() Returns the current Unix timestamp. */ mp.bans.getUnixTimestamp() /* formatUnixTimestamp(unixTimestamp) Converts a Unix timestamp to "day/month/year hour:minute:second" format. Returns a string. */ mp.bans.formatUnixTimestamp(unixTimestamp) /* add(value, banType, reason, endUnixTimestamp) Adds a ban to the bans table, the ban will be permanent if endUnixTimestamp is -1. You need to provide the value like a player's serial, IP or name. endUnixTimestamp must be seconds, NOT milliseconds. Just use the provided getUnixTimestamp() This won't terminate the banned player's connection. Can be used for offline banning. Returns a promise. */ mp.bans.add(value, banType, reason, endUnixTimestamp) /* banPlayer(playerID, banType, reason, endUnixTimestamp) Bans the specified player, the ban will be permanent if endUnixTimestamp is -1. The script will get the value, you just need to provide a player ID and ban type. endUnixTimestamp must be seconds, NOT milliseconds. Just use the provided getUnixTimestamp() This will terminate the banned player's connection. Returns a promise. */ mp.bans.banPlayer(playerID, banType, reason, endUnixTimestamp) /* getInfo(banID) Gets information about the specified ban ID. Returns a promise. */ mp.bans.getInfo(banID) /* remove(banID) Removes the specified ban ID from the bans table. Returns a promise. */ mp.bans.remove(banID)
Ban Types
0 = Name ban, player's current name will be banned. (player.name property) 1 = Social Club name ban, player's current social club name will be banned. (player.socialClub property) 2 = IP ban, player's current IP address will be banned. (player.ip property) 3 = HWID ban, player's current HWID will be banned. (player.serial property)
Example Commands
/* Usage: /ban 5 0 60 Take a break Will nameban the player ID 5 (if there is a player with ID 5) for 60 minutes with the reason "Take a break". */ mp.events.addCommand("ban", (player, _, target, type, minutes, ...reason) => { target = Number(target); type = Number(type); minutes = Number(minutes); let fullReason = reason.join(' '); let targetPlayer = mp.players.at(target); if (targetPlayer) { mp.bans.banPlayer(targetPlayer.id, type, fullReason, mp.bans.getUnixTimestamp() + (minutes * 60)).then((banID) => { player.outputChatBox(`Banned ${targetPlayer.name} with the reason '${fullReason}' for ${minutes} minutes.`); console.log(`${player.name} banned ${targetPlayer.name} for ${minutes} minutes. (${fullReason}) BanID: ${banID}`); }).catch((err) => { player.outputChatBox(`Error occurred while banning ${targetPlayer.name}.`); player.outputChatBox(`Error: ${err.message}`); }); } else { player.outputChatBox(`No player with the ID ${target} found.`); } }); /* Usage: /baninfo 3 Will show information about ban ID 3 (if it exists) */ mp.events.addCommand("baninfo", (player, banID) => { banID = Number(banID); mp.bans.getInfo(banID).then((banInfo) => { if (banInfo) { player.outputChatBox(`Ban Information (BanID ${banInfo.ID})`); player.outputChatBox(`Type: ${banInfo.Type}`); player.outputChatBox(`Value: ${banInfo.Value}`); player.outputChatBox(`Reason: ${banInfo.Reason}`); player.outputChatBox(`Is Permanent: ${banInfo.LiftTimestamp == -1}`); if (banInfo.LiftTimestamp > -1) player.outputChatBox(`Ends: ${mp.bans.formatUnixTimestamp(banInfo.LiftTimestamp)}`); } else { player.outputChatBox(`BanID ${banID} expired or doesn't exist.`); } }).catch((err) => { player.outputChatBox(`Error occurred while getting BanID ${banID}.`); player.outputChatBox(`Error: ${err.message}`); }); }); /* Usage: /removeban 5 Will remove the ban with specified ID (if it exists) */ mp.events.addCommand("removeban", (player, banID) => { banID = Number(banID); mp.bans.remove(banID).then((success) => { if (success) { player.outputChatBox(`BanID ${banID} is now history...`); } else { player.outputChatBox(`Couldn't remove BanID ${banID}, probably expired or doesn't exist.`); } }).catch((err) => { player.outputChatBox(`Error occurred while removing BanID ${banID}.`); player.outputChatBox(`Error: ${err.message}`); }); });
Notes
This script will handle banned players when they join. (kick if they're still banned, remove ban if their ban expired) Don't use JS timestamps as they are milliseconds, use the provided mp.bans.getUnixTimestamp()
329 downloads
(1 review)0 comments
Submitted
-
Speedometer KM/h, RPM and Fuel
By valdirdd
Design by @CommanderDonkey, link here.
For install just copy files to your server.
Don't forget edit index.js into client_packages if you have more resources.
1784 downloads
(2 reviews)0 comments
Submitted
-
Levels
By rootcause
Installing
Put the files you downloaded in their respective places Add require('levels') to client_packages/index.js Open packages/levels/database.js and put your MySQL config All done
API
/* Player level and XP is accessed through currentLevel and currentXP shared data keys. You should not change the value of these shared data keys, just use them to get data and use the API to set data. */ player.data.currentLevel OR player.getVariable("currentLevel") // returns level of the player player.data.currentXP OR player.getVariable("currentXP") // returns XP of the player /* setLevel(newLevel) Sets the player's level to newLevel. (will also change player's XP to level XP) */ player.setLevel(newLevel) /* setXP(newXP) Sets the player's experience to newXP. (will update player's level) */ player.setXP(newXP) /* changeXP(xpAmount) Changes the player's experience by xpAmount. (will update player's level) */ player.changeXP(xpAmount) /* hasReachedMaxLevel() Returns whether the player has reached max level or not. */ player.hasReachedMaxLevel() /* saveLevelAndXP() Saves the player's level and XP data. Automatically called a player disconnects. */ player.saveLevelAndXP()
Events
These events are called on serverside when a player's level or XP changes.
/* playerXPChange This event is called when a player's XP changes. */ mp.events.add("playerXPChange", (player, oldXP, newXP, difference) => { // code }); /* playerLevelChange This event is called when a player's level changes. */ mp.events.add("playerLevelChange", (player, oldLevel, newLevel) => { // code });
Example Script
Here's a script that lets you change your level/XP and writes it to console:
mp.events.addCommand("setlevel", (player, newLevel) => { newLevel = Number(newLevel); if (!isNaN(newLevel)) { player.setLevel(newLevel); } else { player.outputChatBox("SYNTAX: /setlevel [new level]"); } }); mp.events.addCommand("changexp", (player, amount) => { amount = Number(amount); if (!isNaN(amount)) { player.changeXP(amount); } else { player.outputChatBox("SYNTAX: /changexp [amount]"); } }); mp.events.addCommand("setxp", (player, amount) => { amount = Number(amount); if (!isNaN(amount)) { player.setXP(amount); } else { player.outputChatBox("SYNTAX: /setxp [new xp amount]"); } }); mp.events.add("playerXPChange", (player, oldXP, newXP, difference) => { console.log(`${player.name} ${difference < 0 ? "lost" : "gained"} some XP. Old: ${oldXP} - New: ${newXP} - Difference: ${difference}`); }); mp.events.add("playerLevelChange", (player, oldLevel, newLevel) => { console.log(`${player.name} had a level change. Old: ${oldLevel} - New: ${newLevel}`); });
Credits
Unknown Modder - RP List IllusiveTea - Rank bar scaleform
Notes
This script will load and save level and XP data of players on its own but a function to save player data yourself is provided. Like said before, don't change the values of currentLevel and currentXP shared data keys. Maximum reachable level is 7999 but a player can earn XP until his rank bar is full, kinda reaching 8000. Use player.hasReachedMaxLevel() to detect if a player is level 7999 and his rank bar is full.
475 downloads
(5 reviews)0 comments
Submitted
-
Simple Teams
By rootcause
Prevents players of the same team shooting eachother.
Installing
Put teams into your server's client_packages directory, then add require('teams'); to client_packages/index.js.
Using
It's pretty simple, just set currentTeam shared variable of a player like this:
// both strings and numbers should work playerEntity.data.currentTeam = whatever; playerEntity.setVariable("currentTeam", whatever); And set currentTeam to null if you want to reset someone's team.
Note
This resource doesn't prevent all kinds of friendly fire, for example projectile weapons like RPG can hurt teammates, you can still run teammates over with a vehicle etc. You can check if both killer and victim is on the same team and punish the killer, though.
223 downloads
(4 reviews)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)); });
139 downloads
(2 reviews)0 comments
Updated
-
Headshots
By rootcause
Small script that adds instantly killing headshots.
Installing
Put headshots into your server's client_packages directory, then add require('headshots'); to client_packages/index.js.
503 downloads
(6 reviews)0 comments
Submitted
-
Character Previewer
By MarkCavalli
This resource will help work with player clothes. I hope, someone will add all clothes screens to wiki 😀
359 downloads
(1 review)0 comments
Updated
-
Radio Sync
By BlackPanther
This script, sync Driver Radio to all Other Passangers...
INSTALL :
Simple....
put the files in the Folders as defined.
in client_packages/index.js put
Finish
i Hope it worked for u
EDIT : A Update is currently in work
736 downloads
(6 reviews)0 comments
Updated
-
GTAO Suicide
By rootcause
This script adds the suicide feature of GTA Online.
You can commit suicide by using /suicide command. Your character will shoot itself if you're holding a pistol and take pills otherwise.
Installing
Put the files you downloaded in their respective places Add require('suicide') to client_packages/index.js All done226 downloads
(2 reviews)0 comments
Submitted
-
Moods
By rootcause
This resource lets players choose their mood. Selected mood is synced to other players.
Installing
Put the files you downloaded in their respective places Download & install NativeUI if you haven't yet, this script needs it Add require('moods') to client_packages/index.js All done Controls
F7 Key - Show/hide mood menu.
303 downloads
(5 reviews)0 comments
Updated
-
Global Voice Chat
By ragempdev
The most trivial example usage of the recently introduced built-in voice chat API: global chat. It connects you to all players when you join the server and vice-versa.
Press F4 to toggle local player's muted state.
As of 24th Oct 2018 you need to use "testing_voice" branch to utilize voice chat API.
539 downloads
(5 reviews)0 comments
Updated
-
Local Voice Chat (3D)
By ragempdev
A local voice chat example using built-in voice chat API. Look for constants to change max range, auto volume (instead of changing volume on your own) and 3D effect.
Press F4 to toggle local player's muted state.
As of 24th Oct 2018 you need to use "testing_voice" branch to utilize voice chat API.
2221 downloads
(6 reviews)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)
152 downloads
(1 review)0 comments
Updated
-
Manual transmission
By Captien
Hello everyone,
It's been a while i didn't do some resources, and I've seen root taking the throne for a while. So i thought i would contribute again with some average resource for the developers to know more about rage's environment. Basically this resource introduces manual transmission to cars to ensure more control on your vehicle and to enjoy the experience of the manual transmission (Could be useful for some drag racing maybe..).
Anyways manual is toggled by the command: /manual
Controls:
NUMPAD_ADD increases the gear. NUMPAD_SUBTRACT lowers the gear Simple manual HUD was introduced beside the mini-map to know everything about your vehicle.
Gears: 1-5, N, R.
Shifting to fast disables vehicle engine. You have wait the shiftNow sign to appear, so you can shift to the next gear.
Any questions/bugs please notify me in the comments section.
Drive safely,
Keptin
251 downloads
(4 reviews)0 comments
Updated
-
Free Cam
By ynhhoJ
With this script you can get coordinates of the camera and coordinates of where camera is pointing.
F5 - enable/disable. F5+Space - disable without warping to ground. W/A/S/D/Space/LCtrl - move. /savecam [name] - save Camera position. Example of save:
Position: -64.17094421386719, -824.6749877929688, 373.018310546875 | pointAtCoord: -76.13325500488281, -807.392822265625, 320.28961181640625 | entity: 139321 - First Pos
Author: @ragempdev
I just added possibility to save camera pos and pointAtCoord
559 downloads
(5 reviews)0 comments
Updated
-
Client-side TowTruck States Event
By Tampa
OnPlayerTowTruckStateChange returns: attach - when any vehicle has been attached to tow truck detach - when attached vehicle has been detached from tow truck deadOrDestroy - when attached vehicle has been destroyed exit - when player exit tow truck while have got attached some vehicle
I think that's simple and useful for everyone.
277 downloads
(1 review)0 comments
Updated
-
Bigmap
By ufteers
Hello 👋 ragers 😡 😡 😡 have a good 👍 👍 day ☀️ ☀️ ☀️ ☀️
I would like to present C# & JS resource that lets allows you to switch between 3 map options. Like in GTA Online.
Default map. Zoomed out. Big map.
Installing & Using
Put the files you downloaded in their respective places Press Z (Default) (Settings — Key Bindings — General — Radar Zoom / Multiplayer information)187 downloads
(2 reviews)0 comments
Updated
-
[C#] Send Mail from server.
By CMHDev
Send mails from the server simple and easy.
Ex:
To work, you need to enable IMAP Access
*This code was only tested on the GMAIL service
87 downloads
(1 review)0 comments
Submitted
-
Colored Headlights
By rootcause
This script adds the colored xenon headlights feature from Arena War DLC.
Installing
Put coloredhlights into your server's client_packages directory, then add require('coloredhlights'); to client_packages/index.js.
Using
Set the headlightColor shared variable of a vehicle to the headlight color ID you want. Command example:
// /hcolor 10 should make your vehicle's headlights pink mp.events.addCommand("hcolor", (player, _, colorId) => { if (player.vehicle) { player.vehicle.data.headlightColor = Number(colorId); } else { player.outputChatBox("You're not in a vehicle!"); } });
Headlight Colors
Since Rockstar didn't make headlight colors RGB, you can only use a set of numbers as color IDs.
0 = White 1 = Blue 2 = Light Blue 3 = Green 4 = Light Green 5 = Light Yellow 6 = Yellow 7 = Orange 8 = Red 9 = Light Pink 10 = Pink 11 = Purple 12 = Light Purple Color IDs higher than 12 will force xenon headlights to use their default color.
Notes
Since this script toggles the xenon headlights mod (toggleMod 22), it may not work with your car customization script. Color IDs lower than 0 and color ID 255 will disable the feature (revert headlights back to normal from xenon) until you set a valid color again.255 downloads
(5 reviews)0 comments
Submitted
