Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var resolution = mp.game.graphics.getScreenResolution(0,0);
- function numberWithCommas(x) {
- var parts = x.toString().split(".");
- parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
- return parts.join(".");
- }
- var draw_text = true;
- var money = 0;
- var draw_money = true;
- var moneystring = "";
- var draw_textures = false;
- var max_amount = 0;
- var print_hud = true;
- var useKmh = false; // Toggle kmh / mph speedometer.
- var bank = 0;
- var bankstring = "";
- var dirtymoney = 0;
- var dirtymoneystring = "";
- var res_X = 1920; //API.getScreenResolutionMaintainRatio().Width;
- var res_Y = 1080; //API.getScreenResolutionMaintainRatio().Height;
- var text = "";
- var road = "";
- /*
- var mapMarginLeft = res_X / 64; //API.getScreenResolutionMaintainRatio().Width / 64;
- var mapMarginBottom = res_Y / 60; //API.getScreenResolutionMaintainRatio().Height / 60;
- var mapWidth = res_X / 7.11; //API.getScreenResolutionMaintainRatio().Width / 7.11;
- var mapHeight = res_Y / 5.71; //API.getScreenResolutionMaintainRatio().Height / 5.71;
- var resX = mapMarginLeft + mapWidth + mapMarginLeft;
- var resY = res_Y - mapHeight - mapMarginBottom;
- */
- var logged = 0;
- var fuel = 100.0;
- var moneyElement = null;
- var bankElement = null;
- const useSpeedo = true;
- const updateInterval = 500; // milliseconds, lower value = more accurate, at the cost of performance
- const Natives = {
- IS_RADAR_HIDDEN: "0x7382a6b79bd5f585",
- IS_RADAR_ENABLED: "0x8056602005161037",
- SET_TEXT_OUTLINE: "0x918f022e4c3a47c2"
- };
- let streetName = null;
- let zoneName = null;
- let isMetric = false;
- let minimap = {};
- function updateDirectionText() {
- var camera = mp.cameras.new("gameplay");
- var cameraDirection = camera.getDirection();
- if (0.3 < cameraDirection.x && 0.3 < cameraDirection.y) {
- text = "NE";
- }
- else if (cameraDirection.x < -0.3 && 0.3 < cameraDirection.y) {
- text = "NW";
- }
- else if (0.3 < cameraDirection.x && cameraDirection.y < -0.3) {
- text = "SE";
- }
- else if (cameraDirection.x < -0.3 && cameraDirection.y < -0.3) {
- text = "SW";
- }
- else if (-0.3 < cameraDirection.x && cameraDirection.x < 0.3 && cameraDirection.y < -0.3) {
- text = "S";
- }
- else if (cameraDirection.x < -0.3 && -0.3 < cameraDirection.y && cameraDirection.y < 0.3) {
- text = "W";
- }
- else if (0.3 < cameraDirection.x && -0.3 < cameraDirection.y && cameraDirection.y < 0.3) {
- text = "E";
- }
- else if (-0.3 < cameraDirection.x && cameraDirection.x < 0.3 && cameraDirection.y > 0.3) {
- text = "N";
- }
- camera.destroy(true);
- }
- function updateValues() {
- // only do stuff if radar is enabled and visible
- if (mp.players.local === null || mp.players.local === undefined)
- return;
- mp.game.player.restoreStamina(100);
- if (mp.game.invoke(Natives.IS_RADAR_ENABLED) && !mp.game.invoke(Natives.IS_RADAR_HIDDEN)) {
- isMetric = mp.game.gameplay.getProfileSetting(227) == 1;
- const position = mp.players.local.position;
- let getStreet = mp.game.pathfind.getStreetNameAtCoord(position.x, position.y, position.z, 0, 0);
- zoneName = mp.game.ui.getLabelText(mp.game.zone.getNameOfZone(position.x, position.y, position.z));
- streetName = mp.game.ui.getStreetNameFromHashKey(getStreet.streetName);
- if (getStreet.crossingRoad && getStreet.crossingRoad != getStreet.streetName) streetName += ` / ${mp.game.ui.getStreetNameFromHashKey(getStreet.crossingRoad)}`;
- } else {
- streetName = null;
- zoneName = null;
- }
- updateDirectionText();
- }
- setInterval(() => {
- if (!print_hud)
- return;
- if (logged && draw_text) {
- updateValues();
- }
- }, 1000);
- var hud_display = true;
- var isInCCTV = false;
- mp.events.add(
- {
- "update_fuel" : (amount) => {
- fuel = amount;
- },
- "logged" : () => {
- logged = 1;
- },
- "hud_display" : () => {
- hud_display = !hud_display;
- },
- "StartWatchCCTV" : (pos, rot) => {
- isInCCTV = true;
- let cctvCamera = API.createCamera(pos, rot);
- API.setActiveCamera(cctvCamera);
- },
- "StopWatchCCTV" : () => {
- isInCCTV = false;
- },
- "open_mdc" : () => {
- var browser = null;
- var browserWidth = resolution.x / 2;
- var browserHeight = resolution.y / 2 + 50;
- browser = API.createCefBrowser(browserWidth, browserHeight, false);
- API.waitUntilCefBrowserInit(browser);
- API.setCefBrowserPosition(browser, (resolution.x / 2) - (browserWidth / 2), (resolution.y) - (browserHeight) - 20);
- API.loadPageCefBrowser(browser, "http://gtaworld.ddns.net/");
- API.waitUntilCefBrowserLoaded(browser);
- API.showCursor(true);
- API.setCanOpenChat(false)
- },
- "display_gtaw" : () => {
- if (draw_text)
- draw_text = false;
- else
- draw_text = true;
- },
- "moneyDisplay": (amount) => {
- money = amount;
- if (money != null) {
- moneystring = "$" + numberWithCommas(money.toFixed());
- }
- // hide the singleplayer money - DISPLAY_CASH
- mp.game.invoke('0x96DEC8D5430208B7', false);
- },
- "getwepdata": () => {
- GetWeaponData();
- },
- "bankDisplay" : (amount) => {
- bank = amount;
- if (bank != null)
- bankstring = "$" + numberWithCommas(bank.toFixed());
- },
- });
- var res = false;
- mp.events.add('render', () => {
- if (!print_hud)
- return;
- if (mp.players.local === null || mp.players.local === undefined)
- return;
- if (!res)
- {
- resolution = mp.game.graphics.getScreenResolution(0,0);
- if (resolution.x < 1920)
- {
- res_X = resolution.x;
- res_Y = resolution.y;
- }
- res = true;
- }
- if (logged && draw_text) {
- //draw_text = false;
- if (draw_text) {
- let player = mp.players.local;
- if (player.isSittingInAnyVehicle()) {
- // Fuel UI
- if (fuel > -1) {
- if (fuel > 50) {
- mp.game.graphics.drawText(`Fuel ~g~${fuel}%`, [1250 / res_X, (res_Y - 70) / res_Y], {
- font: 4,
- color: [255, 255, 255, 200],
- scale: [0.9, 0.9],
- outline: true,
- centre: true
- });
- }
- else if (fuel > 20) {
- mp.game.graphics.drawText(`Fuel ~o~${fuel}%`, [1250 / res_X, (res_Y - 120) / res_Y], {
- font: 4,
- color: [255, 255, 255, 200],
- scale: [0.9, 0.9],
- outline: true,
- centre: true
- });
- }
- else {
- mp.game.graphics.drawText(`Fuel ~r~${fuel}%`, [1250 / res_X, (res_Y - 120) / res_Y], {
- font: 4,
- color: [255, 255, 255, 200],
- scale: [0.9, 0.9],
- outline: true,
- centre: true
- });
- }
- }
- var car = mp.players.local.vehicle;
- var velocity = car.getVelocity();
- var speed = Math.sqrt(
- velocity.x * velocity.x +
- velocity.y * velocity.y +
- velocity.z * velocity.z
- );
- var displaySpeed = "";
- if (useKmh)
- displaySpeed = Math.round(speed * 3.6) + " km/h"; // Kmh
- else
- displaySpeed = Math.round(speed * 2.23) + " mph"; // Mph
- // Speed UI
- mp.game.graphics.drawText(displaySpeed, [670 / res_X,(res_Y - 70) / res_Y], {
- font: 4,
- color: [255,255,255,200],
- scale: [1, 1],
- outline: true,
- centre: true
- });
- }
- // Location UI - Compass
- mp.game.graphics.drawText(text, [960 / res_X, (res_Y - 100) / res_Y], {
- font:2,
- color:[255, 255, 255, 200],
- scale: [0.75, 0.75],
- outline: true,
- centre: true });
- mp.game.graphics.drawText("|", [400 / res_X, (res_Y - 63) / res_Y], {
- font:4,
- color:[255, 255, 255, 0],
- scale: [1, 1],
- outline: true,
- centre: true });
- mp.game.graphics.drawText(zoneName, [960 / res_X, (res_Y - 60) / res_Y], {
- font:4,
- color:[255, 255, 255, 200],
- scale: [0.5, 0.5],
- outline: true,
- centre: true
- });
- mp.game.graphics.drawText(streetName, [960 / res_X, (res_Y - 30) / res_Y], {
- font:4,
- color:[255, 255, 255, 200],
- scale: [0.4, 0.4],
- outline: true,
- centre: true
- });
- // Money UI
- mp.game.graphics.drawText(moneystring, [(res_X - 70) / res_X, 0.060], {
- font:4,
- color:[115, 186, 131, 200],
- scale: [0.8, 0.8],
- outline: true,
- centre: true
- });
- mp.game.graphics.drawText(bankstring, [(res_X - 70) / res_X, 0.1], {
- font:4,
- color:[255, 255, 255, 0],
- scale: [0.7, 0.7],
- outline: true,
- centre: true
- });
- // Gamemode version UI
- mp.game.graphics.drawText("GTA.WORLD - ~y~Roleplay v1.2.5c", [(res_X / 2) / res_X, (res_Y - 40) / res_Y], {
- font:4,
- color:[255, 255, 255, 0],
- scale: [0.55, 0.55],
- outline: true,
- centre: true });
- }
- if (isInCCTV === true) {
- // CCTV UI
- mp.game.graphics.drawText("CCTV", [(res_X / 2 - 72.8897705078125) / res_X, (resY / 2 + 392.16729736328125) / res_Y], {
- font: 6,
- color: [23,11,153,255],
- scale: [2, 2],
- outline: true,
- centre: true
- });
- }
- }
- });
- function GetWeaponData() {
- const localPlayer = mp.players.local;
- // GET_PED_WEAPONTYPE_IN_SLOT - Returns a weapon at the specified slot if any was found.
- localPlayer.getWeaponTypeInSlot = (weaponSlot) => mp.game.invoke('0xEFFED78E9011134D', localPlayer.handle, weaponSlot);
- for (var i = 0; i < 81; i++) {
- const weapon = localPlayer.getWeaponTypeInSlot(i);
- if (weapon !== 0 && weapon !== 514) {
- mp.gui.chat.push("(" + i + ") Weapon: " + weapon);
- }
- }
- /*const localPlayer = mp.players.local;
- localPlayer.getWeaponTypeInSlot = (weaponSlot) => mp.game.invoke('0xBBDDEBFD9564D52C', localPlayer.handle, weaponSlot);
- localPlayer.getAmmoWeapon = (weaponhash) => mp.game.invoke('0x2406A9C8DA99D3F4', localPlayer.handle, weaponhash);
- localPlayer.removeWeapon = (weaponhash) => mp.game.invoke('0xA48F593CC7A71FCC', localPlayer.handle, weaponhash);
- localPlayer.setWeaponAmmo = (weaponhash, ammo) => mp.game.invoke('0xC8207C41C6D1E3CF', localPlayer.handle, weaponhash, ammo);
- localPlayer.currentWeapon = mp.game.invoke('0x6678C142FAC881BA', localPlayer.handle);
- localPlayer.giveWeaponComponent = (weaponhash, component) => mp.game.invoke('0xAD084726D7F23594', localPlayer.handle, weaponhash, component);
- localPlayer.getWeaponClipSize = (weaponhash) => mp.game.invoke('0xADBCA3534D2F6BEB', weaponhash);
- localPlayer.getAllWeapons = () => {
- const weapons = [];
- weaponSlots.forEach(weaponSlot => {
- const weapon = localPlayer.getWeaponTypeInSlot(weaponSlot);
- if (weapon !== 0 && weapon !== -1569615261) {
- weapons[weapon] = { ammo: localPlayer.getAmmoWeapon(weapon)
- };
- }
- });
- mp.events.callRemote('send_weaponlist', weapons);*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement