Merge develop into ammunation
@@ -72,7 +72,7 @@ export default function carDealer(globalData: IGlobalData) {
|
||||
priceItem.SetRightLabel("~g~$~s~ " + moneyFormat(price));
|
||||
break;
|
||||
case 'Fraktion':
|
||||
priceItem.SetRightLabel("~g~$~s~ " + moneyFormat(price * 3));
|
||||
priceItem.SetRightLabel("~g~$~s~ " + moneyFormat(price * 1.5));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,9 +25,15 @@
|
||||
playerBlipMap.set(player, pBlip);
|
||||
}
|
||||
let pBlip = playerBlipMap.get(player);
|
||||
if (player.isDead()) {
|
||||
pBlip.setSprite(303);
|
||||
} else {
|
||||
pBlip.setSprite(1);
|
||||
}
|
||||
let color = player.getVariable("blipColor");
|
||||
pBlip.setColour(isNaN(color) ? 0 : color);
|
||||
pBlip.setPosition(player.position.x, player.position.y, player.position.z);
|
||||
|
||||
});
|
||||
}, 50);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ const colors = [
|
||||
export default function customNametags() {
|
||||
mp.nametags.enabled = false;
|
||||
|
||||
mp.events.add('render', (nametags) => {
|
||||
mp.events.add(RageEnums.EventKey.RENDER, (nametags) => {
|
||||
const graphics = mp.game.graphics;
|
||||
const screenRes = graphics.getScreenResolution(0, 0);
|
||||
|
||||
@@ -51,7 +51,13 @@ export default function customNametags() {
|
||||
|
||||
let color = colors.find(c => c.id === colorId).color;
|
||||
|
||||
mp.game.graphics.drawText(player.name + " (" + player.remoteId + ")", [x, y],
|
||||
let nametagText = player.name + " (" + player.remoteId + ")";
|
||||
|
||||
if (player.getVariable("isAfk")) {
|
||||
nametagText += " ~r~AFK";
|
||||
}
|
||||
|
||||
mp.game.graphics.drawText(nametagText, [x, y],
|
||||
{
|
||||
font: 4,
|
||||
color: [color[0], color[1], color[2], color[3]],
|
||||
|
||||
@@ -9,6 +9,44 @@ var screenRes = mp.game.graphics.getScreenResolution(0, 0);
|
||||
|
||||
export default function vehicleMenu(globalData: IGlobalData) {
|
||||
let menuBrowser: BrowserMp = null;
|
||||
var lastDriversBrowser: BrowserMp = null;
|
||||
|
||||
var lastDrivers = null;
|
||||
|
||||
mp.events.add('lookLastDrivers', (lastDriversParam) => {
|
||||
lastDrivers = JSON.parse(lastDriversParam);
|
||||
|
||||
if (lastDriversBrowser !== null) {
|
||||
lastDriversBrowser.destroy();
|
||||
lastDriversBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
mp.gui.chat.activate(true);
|
||||
}
|
||||
else if (!globalData.InMenu) {
|
||||
globalData.InMenu = true;
|
||||
lastDriversBrowser = mp.browsers.new('package://assets/vehicle/lastPlayers.html');
|
||||
mp.gui.chat.activate(false);
|
||||
mp.gui.cursor.show(true, true);
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("CEF:VehicleLook_Loaded", () => {
|
||||
lastDriversBrowser.execute(`setDrivers('${JSON.stringify(lastDrivers)}');`);
|
||||
});
|
||||
|
||||
mp.events.add("removeLookMenu", () => {
|
||||
if (lastDriversBrowser == null) {
|
||||
return;
|
||||
}
|
||||
else if (globalData.InMenu) {
|
||||
lastDriversBrowser.destroy();
|
||||
lastDriversBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
mp.gui.chat.activate(true);
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add('ToggleVehicleMenu', () => {
|
||||
if (menuBrowser !== null) {
|
||||
|
||||
@@ -4,4 +4,8 @@
|
||||
mp.events.add("SERVER:SetWanteds", (count: number) => {
|
||||
browser.execute(`setWanteds(${count});`);
|
||||
});
|
||||
|
||||
mp.events.add("SERVER:SetWantedFlash", (flash) => {
|
||||
browser.execute(`setFlashing(${flash});`);
|
||||
});
|
||||
}
|
||||
@@ -26,10 +26,9 @@ export default function itemShopList(globalData: IGlobalData) {
|
||||
function addItems(data) {
|
||||
|
||||
// Fill it
|
||||
|
||||
for (const item of data) {
|
||||
|
||||
const tempItem = new UIMenuItem(item.Name, "");
|
||||
const tempItem = new UIMenuItem(item.Name, item.Description);
|
||||
|
||||
tempItem.SetRightLabel(`${item.Price > 0 ? `$${item.Price}` : "FREE"}`);
|
||||
|
||||
@@ -70,6 +69,8 @@ export default function itemShopList(globalData: IGlobalData) {
|
||||
// Reset some variables
|
||||
currentMenuIdx = -1;
|
||||
menuTransition = false;
|
||||
items = [];
|
||||
|
||||
|
||||
|
||||
// Create a new main menu
|
||||
@@ -84,6 +85,7 @@ export default function itemShopList(globalData: IGlobalData) {
|
||||
// Main menu events
|
||||
mainMenu.ItemSelect.on((selectedItem, itemIndex) => {
|
||||
const nextItem = items[itemIndex];
|
||||
mp.console.logInfo(JSON.stringify(items));
|
||||
mp.events.callRemote("SERVER:BuyItems", nextItem.Name);
|
||||
|
||||
});
|
||||
|
||||
@@ -137,9 +137,11 @@ export default function bankMenuHandle(globalData: IGlobalData) {
|
||||
|
||||
|
||||
mp.events.add('removeFactionBankmenu', () => {
|
||||
mp.gui.cursor.show(false, false);
|
||||
factionBankmenu.Close(true);
|
||||
globalData.InMenu = false;
|
||||
if (globalData.InMenu && factionBankmenu) {
|
||||
mp.gui.cursor.show(false, false);
|
||||
factionBankmenu.Close(true);
|
||||
globalData.InMenu = false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
45
ReallifeGamemode.Client/Player/antiafk.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
export default function antiAfk(globalData: IGlobalData) {
|
||||
let lastPosition: Vector3Mp = mp.players.local.position;
|
||||
let afkCounter: number = 0;
|
||||
|
||||
let afkStatus: boolean = false;
|
||||
|
||||
setInterval(checkAfkPosition, 1000 * 10);
|
||||
|
||||
function checkAfkPosition() {
|
||||
|
||||
if (!globalData.LoggedIn) {
|
||||
return;
|
||||
}
|
||||
|
||||
let lp = lastPosition;
|
||||
let np = mp.players.local.position;
|
||||
|
||||
let distance = mp.game.gameplay.getDistanceBetweenCoords(lp.x, lp.y, lp.z, np.x, np.y, np.z, false);
|
||||
|
||||
if (distance <= 5) {
|
||||
if (!afkStatus) {
|
||||
afkCounter++;
|
||||
}
|
||||
} else {
|
||||
afkCounter = 0;
|
||||
if (afkStatus) {
|
||||
afkStatus = false;
|
||||
globalData.IsAfk = afkStatus;
|
||||
setServerAfkStatus(afkStatus);
|
||||
}
|
||||
}
|
||||
|
||||
if (afkCounter >= 30) {
|
||||
afkStatus = true;
|
||||
globalData.IsAfk = afkStatus;
|
||||
setServerAfkStatus(afkStatus);
|
||||
}
|
||||
|
||||
lastPosition = np;
|
||||
}
|
||||
|
||||
function setServerAfkStatus(status: boolean) {
|
||||
mp.events.callRemote("CLIENT:SetAfkStatus", status);
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,7 @@
|
||||
LCtrl: 17,
|
||||
Shift: 16
|
||||
};
|
||||
mp.game.graphics.notify('~r~NoClip ~w~by ~b~Morbo');
|
||||
//mp.game.graphics.notify('~r~NoClip ~w~by ~b~Morbo');
|
||||
var isNoClip = false;
|
||||
var noClipCamera;
|
||||
var shiftModifier = false;
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
-2084633992,
|
||||
-1075685676,
|
||||
-1786099057,
|
||||
-1074790547
|
||||
-1074790547,
|
||||
-1569615261
|
||||
]
|
||||
|
||||
mp.events.add("playerJoin", () => {
|
||||
@@ -152,7 +153,6 @@
|
||||
checkWeaponhash() {
|
||||
let h = this.weapon;
|
||||
if (allowedWeaponHashes.indexOf(h) === -1) {
|
||||
mp.gui.chat.push("unallowed weapon: " + h);
|
||||
return true
|
||||
}
|
||||
return false
|
||||
@@ -189,12 +189,12 @@
|
||||
let Difference = Behaviour.subtractVector(Behaviour.pos, mp.players.local.position)
|
||||
if (Math.abs(Difference.x) > 30 || Math.abs(Difference.y) > 30) {
|
||||
if (Behaviour.isWalking()) {
|
||||
mp.events.callRemote("CLIENT:CheatDetection", "Flyhack/Teleport")
|
||||
//mp.events.callRemote("CLIENT:CheatDetection", "Flyhack/Teleport")
|
||||
}
|
||||
}
|
||||
if (mp.players.local.vehicle) {
|
||||
if (Behaviour.checkCarPos(25)) {
|
||||
mp.events.callRemote("CLIENT:CheatDetection", "Vehicle Flyhack")
|
||||
//mp.events.callRemote("CLIENT:CheatDetection", "Vehicle Flyhack")
|
||||
}
|
||||
if (Behaviour.VehicleFasterThan(250)) {
|
||||
mp.events.callRemote("CLIENT:CheatDetection", "Vehicle Speedhack")
|
||||
|
||||
1348
ReallifeGamemode.Client/assets/chat/fonts/emoji_unicode.php
Normal file
@@ -1,14 +1,14 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="style/checkbox.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="style/main.css" media="screen">
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="chat" class="ui_element">
|
||||
<ul id="chat_messages"></ul>
|
||||
</div>
|
||||
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="style/checkbox.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="style/main.css" media="screen">
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="chat" class="ui_element">
|
||||
<ul id="chat_messages"></ul>
|
||||
</div>
|
||||
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
3340
ReallifeGamemode.Client/assets/chat/jquery-1.11.3.min.js
vendored
@@ -1,36 +1,31 @@
|
||||
let chat =
|
||||
let chat =
|
||||
{
|
||||
size: 0,
|
||||
history_limit: 50,
|
||||
container: null,
|
||||
input: null,
|
||||
enabled: false,
|
||||
active: true,
|
||||
historyMsgs: [],
|
||||
currentIndex: 0
|
||||
size: 0,
|
||||
history_limit: 50,
|
||||
container: null,
|
||||
input: null,
|
||||
enabled: false,
|
||||
active: true,
|
||||
historyMsgs: [],
|
||||
currentIndex: 0
|
||||
};
|
||||
|
||||
const MAX_MSG_HISTORY = 12;
|
||||
|
||||
function enableChatInput(enable)
|
||||
{
|
||||
if(chat.active == false
|
||||
&& enable == true)
|
||||
return;
|
||||
|
||||
if (enable != (chat.input != null))
|
||||
{
|
||||
function enableChatInput(enable) {
|
||||
if (chat.active == false
|
||||
&& enable == true)
|
||||
return;
|
||||
|
||||
if (enable != (chat.input != null)) {
|
||||
mp.invoke("focus", enable);
|
||||
|
||||
if (enable)
|
||||
{
|
||||
if (enable) {
|
||||
chat.input = $("#chat").append('<div><input id="chat_msg" type="text" /></div>').children(":last");
|
||||
chat.input.children("input").focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
chat.input.fadeOut('fast', function()
|
||||
{
|
||||
chat.input.children("input").focus();
|
||||
}
|
||||
else {
|
||||
chat.input.fadeOut('fast', function () {
|
||||
chat.input.remove();
|
||||
chat.input = null;
|
||||
});
|
||||
@@ -40,69 +35,73 @@ function enableChatInput(enable)
|
||||
|
||||
var chatAPI =
|
||||
{
|
||||
push: (text) =>
|
||||
{
|
||||
let colorPositions = [];
|
||||
let colors = [];
|
||||
let chatElement = "<li>";
|
||||
push: (text) => {
|
||||
let colorPositions = [];
|
||||
let colors = [];
|
||||
let chatElement = "<li>";
|
||||
|
||||
for (let i = 0; i<text.length; i++) {
|
||||
let colorCheck = `${text[i]}${text[i+ 1]}${text[i + 2]}`;
|
||||
|
||||
if (colorCheck === "!{#") {
|
||||
colorPositions.push(i);
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < text.length; i++) {
|
||||
let colorCheck = `${text[i]}${text[i + 1]}${text[i + 2]}`;
|
||||
|
||||
colorPositions.forEach(el => {
|
||||
let sub = text.slice(el, -1);
|
||||
colors.push(sub.slice(3, 9));
|
||||
});
|
||||
if (colorCheck === "!{#") {
|
||||
colorPositions.push(i);
|
||||
}
|
||||
}
|
||||
|
||||
colorPositions.forEach((el, i) => {
|
||||
let sub = text.slice(colorPositions[i] + 10, colorPositions[i + 1]);
|
||||
chatElement += `<span style='color: ${colors[i]}'>${sub}</span>`;
|
||||
});
|
||||
colorPositions.forEach(el => {
|
||||
let sub = text.slice(el, -1);
|
||||
colors.push(sub.slice(3, 9));
|
||||
});
|
||||
|
||||
chatElement += "</li>";
|
||||
colorPositions.forEach((el, i) => {
|
||||
let sub = text.slice(colorPositions[i] + 10, colorPositions[i + 1]);
|
||||
chatElement += `<span style='color: ${colors[i]}'>${sub}</span>`;
|
||||
});
|
||||
|
||||
if (chatElement === "<li></li>") {
|
||||
chat.container.prepend("<li>" + text + "</li>");
|
||||
} else {
|
||||
chat.container.prepend(chatElement);
|
||||
}
|
||||
var elmnt = document.getElementById("chat_messages");
|
||||
|
||||
chat.size++;
|
||||
chatElement += "</li>";
|
||||
|
||||
if (chat.size >= chat.history_limit)
|
||||
{
|
||||
chat.container.children(":last").remove();
|
||||
}
|
||||
},
|
||||
|
||||
clear: () =>
|
||||
{
|
||||
chat.container.html("");
|
||||
},
|
||||
|
||||
activate: (toggle) =>
|
||||
{
|
||||
if (toggle == false
|
||||
&& (chat.input != null))
|
||||
enableChatInput(false);
|
||||
|
||||
chat.active = toggle;
|
||||
},
|
||||
|
||||
show: (toggle) =>
|
||||
{
|
||||
if(toggle)
|
||||
$("#chat").show();
|
||||
else
|
||||
$("#chat").hide();
|
||||
|
||||
chat.active = toggle;
|
||||
}
|
||||
var today = new Date();
|
||||
|
||||
if (chatElement === "<li></li>") {
|
||||
if (chat.input == null || elmnt.scrollTop == elmnt.scrollHeight - elmnt.clientHeight) {
|
||||
chat.container.append("<li>" + "[" + today.toLocaleTimeString('de-DE') + "] " + text + "</li>");
|
||||
elmnt.scrollTop = elmnt.scrollHeight - elmnt.clientHeight;
|
||||
} else {
|
||||
chat.container.append("<li>" + "[" + today.toLocaleTimeString('de-DE') + "] " + text + "</li>");
|
||||
}
|
||||
} else {
|
||||
chat.container.append(chatElement);
|
||||
}
|
||||
|
||||
chat.size++;
|
||||
|
||||
if (chat.size >= chat.history_limit) {
|
||||
chat.container.children(":first").remove();
|
||||
}
|
||||
},
|
||||
|
||||
clear: () => {
|
||||
chat.container.html("");
|
||||
},
|
||||
|
||||
activate: (toggle) => {
|
||||
if (toggle == false
|
||||
&& (chat.input != null))
|
||||
enableChatInput(false);
|
||||
|
||||
chat.active = toggle;
|
||||
},
|
||||
|
||||
show: (toggle) => {
|
||||
if (toggle)
|
||||
$("#chat").show();
|
||||
else
|
||||
$("#chat").hide();
|
||||
|
||||
chat.active = toggle;
|
||||
}
|
||||
};
|
||||
|
||||
let api = { "chat:push": chatAPI.push, "chat:clear": chatAPI.clear, "chat:activate": chatAPI.activate, "chat:show": chatAPI.show };
|
||||
@@ -111,81 +110,75 @@ for (let fn in api) {
|
||||
mp.events.add(fn, api[fn]);
|
||||
}
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
chat.container = $("#chat ul#chat_messages");
|
||||
|
||||
$(document).ready(function () {
|
||||
chat.container = $("#chat ul#chat_messages");
|
||||
|
||||
$(".ui_element").show();
|
||||
chatAPI.push("Multiplayer started");
|
||||
|
||||
$("body").keyup(function(event)
|
||||
{
|
||||
$("body").keyup(function (event) {
|
||||
if (event.which == 84 && chat.input == null
|
||||
&& chat.active == true)
|
||||
{
|
||||
chat.currentIndex = 0;
|
||||
&& chat.active == true) {
|
||||
chat.currentIndex = 0;
|
||||
enableChatInput(true);
|
||||
event.preventDefault();
|
||||
event.preventDefault();
|
||||
} else if (event.which == 38) {
|
||||
if (chat.historyMsgs.length === 0)
|
||||
return;
|
||||
if (chat.historyMsgs.length === 0)
|
||||
return;
|
||||
|
||||
const previousMessages = chat.historyMsgs;
|
||||
const previousMessages = chat.historyMsgs;
|
||||
|
||||
if (previousMessages.length === chat.currentIndex)
|
||||
return;
|
||||
if (previousMessages.length === chat.currentIndex)
|
||||
return;
|
||||
|
||||
chat.input.children("input").val(previousMessages[chat.currentIndex]);
|
||||
|
||||
chat.input.children("input").val(previousMessages[chat.currentIndex]);
|
||||
|
||||
setTimeout(() => {
|
||||
chat.input.children("input").setSelectionRange(previousMessages[chat.currentIndex].length, previousMessages[chat.currentIndex].length);
|
||||
setTimeout(() => {
|
||||
chat.input.children("input").setSelectionRange(previousMessages[chat.currentIndex].length, previousMessages[chat.currentIndex].length);
|
||||
}, 1);
|
||||
|
||||
chat.currentIndex = chat.currentIndex + 1;
|
||||
} else if (event.which == 40) {
|
||||
if (chat.historyMsgs.length === 0)
|
||||
return;
|
||||
|
||||
|
||||
} else if (event.which == 40) {
|
||||
if (chat.historyMsgs.length === 0)
|
||||
return;
|
||||
const previousMessages = chat.historyMsgs;
|
||||
|
||||
const previousMessages = chat.historyMsgs;
|
||||
if (chat.currentIndex === -1) {
|
||||
chat.input.children("input").val("")
|
||||
return;
|
||||
}
|
||||
|
||||
if (chat.currentIndex === -1) {
|
||||
chat.input.children("input").val("")
|
||||
return;
|
||||
}
|
||||
chat.currentIndex = chat.currentIndex - 1;
|
||||
chat.input.children("input").val(previousMessages[chat.currentIndex]);
|
||||
|
||||
chat.currentIndex = chat.currentIndex - 1;
|
||||
chat.input.children("input").val(previousMessages[chat.currentIndex]);
|
||||
setTimeout(() => {
|
||||
chat.input.children("input").setSelectionRange(previousMessages[chat.currentIndex].length, previousMessages[chat.currentIndex].length);
|
||||
}, 1);
|
||||
}
|
||||
else if (event.which == 13 && chat.input != null) {
|
||||
var value = chat.input.children("input").val();
|
||||
|
||||
setTimeout(() => {
|
||||
chat.input.children("input").setSelectionRange(previousMessages[chat.currentIndex].length, previousMessages[chat.currentIndex].length);
|
||||
}, 1);
|
||||
}
|
||||
else if (event.which == 13 && chat.input != null)
|
||||
{
|
||||
var value = chat.input.children("input").val();
|
||||
if (value.length > 0) {
|
||||
if (chat.historyMsgs.length >= MAX_MSG_HISTORY) {
|
||||
chat.historyMsgs.pop();
|
||||
}
|
||||
|
||||
if (value.length > 0)
|
||||
{
|
||||
if (chat.historyMsgs.length >= MAX_MSG_HISTORY) {
|
||||
chat.historyMsgs.pop();
|
||||
}
|
||||
chat.historyMsgs.unshift(value);
|
||||
chat.currentIndex = 0;
|
||||
var elmnt = document.getElementById("chat_messages");
|
||||
|
||||
chat.historyMsgs.unshift(value);
|
||||
chat.currentIndex = 0;
|
||||
|
||||
if (value[0] == "/")
|
||||
{
|
||||
if (value[0] == "/") {
|
||||
value = value.substr(1);
|
||||
|
||||
if (value.length > 0)
|
||||
mp.invoke("command", value);
|
||||
elmnt.scrollTop = elmnt.scrollHeight - elmnt.clientHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
else {
|
||||
mp.invoke("chatMessage", value);
|
||||
|
||||
elmnt.scrollTop = elmnt.scrollHeight - elmnt.clientHeight;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1277
ReallifeGamemode.Client/assets/chat/js/newMain.js
Normal file
@@ -1,68 +1,89 @@
|
||||
*,body,html{
|
||||
padding:0;
|
||||
margin:0}
|
||||
#chat,a,body,html{
|
||||
color:#fff
|
||||
*, body, html {
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
body,html{
|
||||
-webkit-font-smoothing:antialiased;
|
||||
overflow:hidden;
|
||||
font-size:14px;
|
||||
-webkit-user-select:none
|
||||
}
|
||||
a{
|
||||
text-decoration:none
|
||||
}
|
||||
.ui_element{
|
||||
display:none;position:absolute;
|
||||
width:100vw;height:100vh;z-index:2
|
||||
}
|
||||
#chat{
|
||||
display:block;
|
||||
z-index:0;
|
||||
line-height:24px;
|
||||
font-weight:700;
|
||||
text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
|
||||
font-family:Myriad Pro,Segoe UI,Verdana,sans-serif;
|
||||
font-size:16px;
|
||||
letter-spacing:.4px;
|
||||
margin-left:15px
|
||||
|
||||
#chat, a, body, html {
|
||||
color: #fff
|
||||
}
|
||||
@media screen and (min-height:1080px){
|
||||
|
||||
#chat{
|
||||
font-size:18px!important;
|
||||
font-weight:700}}
|
||||
#chat ul#chat_messages{
|
||||
overflow-y:auto;
|
||||
height:285px;
|
||||
margin-top:2vh; /*2vh*/
|
||||
transform:rotate(180deg);
|
||||
|
||||
body, html {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
overflow: hidden;
|
||||
font-size: 14px;
|
||||
-webkit-user-select: none
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.ui_element {
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
z-index: 2
|
||||
}
|
||||
|
||||
#chat {
|
||||
display: block;
|
||||
z-index: 0;
|
||||
line-height: 24px;
|
||||
font-weight: 700;
|
||||
text-shadow: 1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
|
||||
font-family: Myriad Pro,Segoe UI,Verdana,sans-serif;
|
||||
font-size: 16px;
|
||||
letter-spacing: .4px;
|
||||
margin-left: 15px
|
||||
}
|
||||
|
||||
@media screen and (min-height:1080px) {
|
||||
#chat {
|
||||
font-size: 14px !important;
|
||||
font-weight: 700
|
||||
}
|
||||
}
|
||||
|
||||
#chat ul#chat_messages {
|
||||
direction: ltr;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
height: 285px;
|
||||
margin-top: 2vh; /*2vh*/
|
||||
transform: rotate(0deg);
|
||||
/*width:37vw; /* old: 37vw*/
|
||||
width: 800px;
|
||||
padding:10px 20px; /* old padding: 10px 20px*/
|
||||
list-style-type:none}
|
||||
#chat ul#chat_messages>li{
|
||||
transform:rotate(-180deg)}
|
||||
#chat input#chat_msg{
|
||||
color:#fff;
|
||||
background:rgba(0,0,0,.5);
|
||||
outline:0;border:none;
|
||||
font-family:Myriad Pro,Open Sans,sans-serif;
|
||||
font-size:13px;
|
||||
line-height:35px;
|
||||
width:35vw;
|
||||
padding:5px 5px 5px 15px}
|
||||
::-webkit-scrollbar{
|
||||
width:11px;
|
||||
max-width: 85%;
|
||||
padding: 10px 20px; /* old padding: 10px 20px*/
|
||||
list-style-type: none
|
||||
}
|
||||
::-webkit-scrollbar-thumb{
|
||||
background:rgba(255, 17, 0, 0.3);
|
||||
border-radius:20px
|
||||
|
||||
#chat ul#chat_messages > li {
|
||||
transform: rotate(0deg)
|
||||
}
|
||||
|
||||
#chat input#chat_msg {
|
||||
color: #fff;
|
||||
background: rgba(0,0,0,.5);
|
||||
outline: 0;
|
||||
border: none;
|
||||
font-family: Myriad Pro,Open Sans,sans-serif;
|
||||
font-size: 18px;
|
||||
line-height: 35px;
|
||||
width: 35vw;
|
||||
padding: 5px 5px 5px 15px
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover{
|
||||
background: rgba(255, 17, 0, 0.65)
|
||||
|
||||
}
|
||||
::-webkit-scrollbar {
|
||||
width: 11px;
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: rgba(255, 17, 0, 0);
|
||||
border-radius: 20px
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255, 17, 0, 0)
|
||||
}
|
||||
@@ -14,9 +14,7 @@
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
div {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
|
||||
body {
|
||||
width: 100%;
|
||||
@@ -618,8 +616,8 @@ t#tf_nameorid {
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 7.7vw;
|
||||
top: 1vw;
|
||||
left: -7vw;
|
||||
top: 5vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
@@ -633,8 +631,8 @@ t#tf_nameorid {
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 12.5vw;
|
||||
top: -0.3vw;
|
||||
left: 5.5vw;
|
||||
top: -0.1vw;
|
||||
color: #ffffff;
|
||||
transition: 0.3s;
|
||||
}
|
||||
@@ -653,7 +651,7 @@ t#tf_nameorid {
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: -5.4vw;
|
||||
left: 5.7vw;
|
||||
top: 6vw;
|
||||
color: #ffffff;
|
||||
transition: 0.3s;
|
||||
|
||||
|
After Width: | Height: | Size: 7.0 KiB |
@@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 55.108 55.108" style="enable-background:new 0 0 55.108 55.108;" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path style="fill:#FBD490;" d="M23.554,29.603c0-1.915,0.301-3.584,0.817-5.043c-0.492-1.279-0.817-2.179-0.817-2.442
|
||||
c0-9.858-7.93-13.269-12.625-14.425c-0.194-0.048-0.375,0.104-0.375,0.304v27.652c3.706,1.14,7.525,1.782,11.358,1.924
|
||||
C22.906,35.545,23.554,32.958,23.554,29.603z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#F4C076;" d="M28.486,18.818c-0.201-1.172-0.907-2.169-1.888-2.758c0.588-0.696,0.956-1.584,0.956-2.566
|
||||
c0-0.509-0.104-0.991-0.277-1.438c0.471,0.049,0.925-0.215,1.021-0.701c0.062-0.312,0.157-0.613,0.255-0.876
|
||||
c0.257-0.684,1.178-0.778,1.596-0.179c0.016,0.023,0.032,0.046,0.047,0.07c0.123,0.184,0.3,0.284,0.49,0.342
|
||||
c-0.021-0.601,0.101-1.113,0.271-1.508c0.275-0.642,1.131-0.74,1.573-0.199c0.071,0.087,0.139,0.177,0.205,0.27
|
||||
c0.465,0.658,1.395,0.662,1.89,0.026c0.252-0.323,0.53-0.556,0.759-0.691c-2.05-3.927-6.585-6.007-11.83-6.007
|
||||
c-1.301,0-2.557-0.046-3.743-0.078c0.047,0.166,0.089,0.337,0.12,0.514c0.099,0.574,0.699,0.882,1.251,0.696
|
||||
c0.441-0.148,0.921-0.178,1.341,0.094c0.082,0.053,0.13,0.152,0.121,0.249c-0.025,0.268-0.186,0.701-0.504,1.131
|
||||
c-0.48,0.648-0.228,1.542,0.531,1.814c0.107,0.038,0.213,0.08,0.315,0.125c0.639,0.281,0.774,1.132,0.229,1.569
|
||||
c-0.492,0.395-1.782,2.579-3.216,3.885c2.067,2.191,3.556,5.247,3.556,9.515c0,0.263,0.325,1.164,0.817,2.442
|
||||
c0.887-2.507,2.42-4.378,4.175-5.786C28.527,18.789,28.506,18.802,28.486,18.818z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#EEAF4B;" d="M36.554,35.648v-20.56c-4.632,1.065-13,4.389-13,14.515c0,3.357-0.649,5.943-1.645,7.969
|
||||
C26.837,37.756,31.789,37.114,36.554,35.648z"/>
|
||||
</g>
|
||||
<path style="fill:#659C35;" d="M10.93,7.692c2.662,0.656,6.362,2.04,9.069,4.91c1.434-1.306,2.724-3.49,3.216-3.885
|
||||
c0.545-0.437,0.41-1.288-0.229-1.569c-0.102-0.045-0.208-0.086-0.315-0.125c-0.759-0.272-1.011-1.167-0.531-1.814
|
||||
c0.319-0.43,0.48-0.863,0.504-1.131c0.009-0.098-0.039-0.196-0.121-0.249c-0.42-0.272-0.9-0.242-1.341-0.094
|
||||
c-0.552,0.185-1.152-0.123-1.251-0.696c-0.054-0.313-0.142-0.617-0.234-0.882c-0.24-0.689-1.159-0.807-1.591-0.218
|
||||
c-0.017,0.023-0.033,0.045-0.049,0.069c-0.127,0.18-0.307,0.276-0.498,0.33c0.036-0.6-0.074-1.115-0.234-1.514
|
||||
c-0.26-0.648-1.113-0.768-1.567-0.238c-0.073,0.085-0.143,0.174-0.211,0.265c-0.481,0.647-1.41,0.627-1.89-0.02
|
||||
c-0.319-0.43-0.686-0.71-0.935-0.812C12.629-0.018,12.522,0,12.447,0.063c-0.382,0.323-0.494,0.79-0.48,1.256
|
||||
c0.017,0.582-0.452,1.066-1.03,0.994c-0.315-0.04-0.632-0.044-0.912-0.033c-0.729,0.03-1.109,0.874-0.672,1.459
|
||||
c0.017,0.022,0.034,0.045,0.051,0.067c0.361,0.462,0.192,1.117-0.321,1.403C8.877,5.323,8.724,5.459,8.625,5.563
|
||||
C8.54,5.653,8.529,5.796,8.606,5.894c0.447,0.567,1.229,1.313,1.976,1.979C10.638,7.74,10.778,7.655,10.93,7.692z"/>
|
||||
<path style="fill:#A46F3E;" d="M23.554,9.495c-0.388,0-0.759,0.066-1.113,0.169c-0.632,0.859-1.504,2.083-2.443,2.938
|
||||
c-0.058-0.061-0.122-0.112-0.18-0.172c1.213,1.241,2.229,2.776,2.896,4.656c-0.113-0.316-0.224-0.634-0.356-0.931
|
||||
c0.631-0.416,1.384-0.661,2.196-0.661c0.748,0,1.439,0.218,2.037,0.575c0.592-0.698,0.963-1.589,0.963-2.575
|
||||
C27.554,11.285,25.763,9.495,23.554,9.495z"/>
|
||||
<path style="fill:#6A3311;" d="M23.947,23.434c0.199,0.03,0.399,0.061,0.607,0.061c0.094,0,0.181-0.021,0.274-0.028
|
||||
c0.898-1.941,2.194-3.462,3.658-4.649c-0.323-1.885-1.954-3.324-3.932-3.324c-0.812,0-1.565,0.245-2.196,0.661
|
||||
c0.741,1.667,1.196,3.628,1.196,5.962C23.554,22.294,23.703,22.762,23.947,23.434z"/>
|
||||
<g>
|
||||
<path style="fill:#A4E869;" d="M39.539,14.153c-0.096-0.106-0.246-0.246-0.449-0.366c-0.505-0.298-0.658-0.957-0.286-1.41
|
||||
c0.018-0.022,0.036-0.044,0.053-0.066c0.451-0.574,0.093-1.427-0.636-1.475c-0.28-0.018-0.596-0.021-0.913,0.01
|
||||
c-0.579,0.058-1.036-0.438-1.005-1.019c0.025-0.465-0.075-0.935-0.45-1.267c-0.073-0.065-0.181-0.085-0.272-0.05
|
||||
c-0.251,0.096-0.625,0.366-0.955,0.789c-0.496,0.635-1.425,0.632-1.89-0.026c-0.066-0.093-0.134-0.183-0.205-0.27
|
||||
c-0.441-0.541-1.297-0.443-1.573,0.199c-0.17,0.395-0.292,0.907-0.271,1.508c-0.19-0.058-0.367-0.158-0.49-0.342
|
||||
c-0.016-0.023-0.031-0.047-0.047-0.07c-0.418-0.599-1.339-0.504-1.596,0.179c-0.099,0.263-0.194,0.564-0.255,0.876
|
||||
c-0.096,0.486-0.551,0.75-1.021,0.701c0.173,0.448,0.277,0.93,0.277,1.438c0,0.982-0.368,1.87-0.956,2.566
|
||||
c0.98,0.588,1.687,1.586,1.888,2.758c2.639-2.138,5.8-3.209,8.068-3.73v1.291c0.212-0.052,0.428-0.109,0.629-0.153
|
||||
c0.152-0.034,0.291,0.055,0.343,0.19c0.763-0.647,1.563-1.374,2.024-1.931C39.629,14.389,39.622,14.246,39.539,14.153z"/>
|
||||
</g>
|
||||
<path style="fill:#FFFFFF;" d="M26.554,7.495c-1.654,0-3-1.346-3-3c0-0.553,0.447-1,1-1s1,0.447,1,1c0,0.552,0.448,1,1,1
|
||||
c0.553,0,1,0.447,1,1S27.107,7.495,26.554,7.495z"/>
|
||||
<path style="fill:#FFFFFF;" d="M27.554,9.495c-0.553,0-1-0.447-1-1s0.447-1,1-1c0.552,0,1-0.448,1-1c0-0.553,0.447-1,1-1
|
||||
s1,0.447,1,1C30.554,8.149,29.208,9.495,27.554,9.495z"/>
|
||||
<path style="fill:#E6E6E6;" d="M37.554,48.784c0,3.478-2.846,6.325-6.324,6.325H15.879c-3.478,0-6.324-2.846-6.324-6.324l0-12.85
|
||||
c0-0.391,0.369-0.667,0.745-0.56c8.116,2.312,18.394,2.312,26.51,0c0.376-0.107,0.745,0.169,0.745,0.56L37.554,48.784z"/>
|
||||
<path style="fill:#D2D5D7;" d="M37.554,49.221l8.982-3.527c0.023-0.017,0.023-0.042,0-0.059l-8.982-3.527V49.221z"/>
|
||||
<path style="fill:#FFFFFF;" d="M15.554,51.108c-0.553,0-1-0.447-1-1s0.447-1,1-1c9.757,0,18-4.121,18-9c0-0.553,0.447-1,1-1
|
||||
s1,0.447,1,1C35.554,46.276,26.769,51.108,15.554,51.108z"/>
|
||||
<path style="fill:#A5A5A5;" d="M43.536,39.108c0.023-0.017,0.023-0.042,0-0.059l-5.982-0.941v4l2.201,0.864L43.536,39.108z"/>
|
||||
<circle style="fill:#E0BB80;" cx="18.585" cy="27.969" r="2.031"/>
|
||||
<circle style="fill:#E0BB80;" cx="14.585" cy="14.969" r="2.031"/>
|
||||
<circle style="fill:#DC9628;" cx="32.523" cy="32.969" r="2.031"/>
|
||||
<circle style="fill:#DC9628;" cx="28.554" cy="24" r="2.031"/>
|
||||
<circle style="fill:#FBD490;" cx="22.867" cy="24.438" r="0.813"/>
|
||||
<circle style="fill:#DC9628;" cx="26.742" cy="31.188" r="0.813"/>
|
||||
<circle style="fill:#DC9628;" cx="33.742" cy="26.813" r="0.813"/>
|
||||
<circle style="fill:#DC9628;" cx="33.742" cy="18.813" r="0.813"/>
|
||||
<circle style="fill:#DC9628;" cx="27.367" cy="35.188" r="0.813"/>
|
||||
<circle style="fill:#C6A473;" cx="15.742" cy="33.188" r="0.813"/>
|
||||
<circle style="fill:#C6A473;" cx="20.367" cy="34.188" r="0.813"/>
|
||||
<circle style="fill:#C6A473;" cx="13.742" cy="22.813" r="0.813"/>
|
||||
<circle style="fill:#FBD490;" cx="18.367" cy="19.813" r="0.813"/>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
@@ -62,7 +62,7 @@
|
||||
<div name="vehClass" class="veh hidden">
|
||||
<div class="main">
|
||||
<div class="title">
|
||||
<div class="titlecount"><span id="count2">0</span> / 250 Kilogramm</div>
|
||||
<div class="titlecount"><span id="count2">0</span> / <span id="trunkSize">0</span> Kilogramm</div>
|
||||
<div class="titletext">Fahrzeug</div>
|
||||
</div>
|
||||
<div class="Betrag4" style="display: none;">
|
||||
@@ -193,9 +193,11 @@
|
||||
mp.trigger("CEF:callVehicleInventory");
|
||||
}
|
||||
|
||||
function setVehicleItems(jsonItemArr) {
|
||||
function setVehicleItems(jsonItemArr, trunkSize) {
|
||||
var parsedItemArr = JSON.parse(jsonItemArr)
|
||||
vehInv = [];
|
||||
$('#trunkSize').html(trunkSize / 1000);
|
||||
|
||||
for (var i = 0; i < parsedItemArr.length; i++) {
|
||||
var item = parsedItemArr[i];
|
||||
var newItem = { Name: item.Name, ID: item.ItemId, Amount: item.Amount, Category: 0 };
|
||||
@@ -463,7 +465,7 @@
|
||||
blueButtonImg.setAttribute("class", "blueImg");
|
||||
blueButton.appendChild(blueButtonImg);
|
||||
|
||||
var listLength = list.length;
|
||||
var listLength = list.getElementsByTagName("li").length;
|
||||
|
||||
var row = 1;
|
||||
|
||||
@@ -483,7 +485,7 @@
|
||||
row = 6;
|
||||
}
|
||||
|
||||
var Litem = document.createElement("div");
|
||||
var Litem = document.createElement("li");
|
||||
Litem.setAttribute("class", "item" + row);
|
||||
Litem.setAttribute("id", i);
|
||||
Litem.setAttribute("name", "List" + item.Category);
|
||||
@@ -505,7 +507,7 @@
|
||||
while (child) {
|
||||
e.removeChild(child);
|
||||
child = e.lastElementChild;
|
||||
} console.log(handelInv);
|
||||
}
|
||||
|
||||
for (var i = 0; i < vehInv.length; i++) {
|
||||
var item = vehInv[i];
|
||||
@@ -533,7 +535,7 @@
|
||||
blueButtonImg.setAttribute("class", "blueImg");
|
||||
blueButton.appendChild(blueButtonImg);
|
||||
|
||||
var listLength = list.length;
|
||||
var listLength = list.getElementsByTagName("li").length;
|
||||
|
||||
var row = 1;
|
||||
|
||||
|
||||
16
ReallifeGamemode.Client/assets/html/vehiclemenu/script.js
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
|
||||
|
||||
function ad_row(id, name, faction, ping) {
|
||||
var table_id = "t1";
|
||||
var table = document.getElementById(table_id);
|
||||
var rows = table.getElementsByTagName('tr').length;
|
||||
var tr = table.insertRow(rows);
|
||||
var td1 = document.createElement('td');
|
||||
var td2 = document.createElement('td');
|
||||
var td3 = document.createElement('td');
|
||||
var td4 = document.createElement('td');
|
||||
var test = faction;
|
||||
td1.innerHTML = ''+driver;
|
||||
tr.appendChild(td1);
|
||||
}
|
||||
67
ReallifeGamemode.Client/assets/html/vehiclemenu/style.css
Normal file
@@ -0,0 +1,67 @@
|
||||
/* style.css für Tabliste */
|
||||
.greyFont {
|
||||
color: gray;
|
||||
font-size: 14px;
|
||||
width: 250px;
|
||||
}
|
||||
div {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow: hidden;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-weight: 500;
|
||||
color: #222;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
color: white;
|
||||
margin:5px;
|
||||
padding: 5px;
|
||||
border: 1px solid #808080;
|
||||
width: 20.75em;
|
||||
}
|
||||
.TabWrapper {
|
||||
background: rgba(0,0,0,0.6);
|
||||
height: 600px;
|
||||
width: 600px;
|
||||
display: block;
|
||||
padding: 5px;
|
||||
position: absolute;
|
||||
left: 32%;
|
||||
top: 10%;
|
||||
}
|
||||
th, td {
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
width:10%;
|
||||
text-align: left;
|
||||
}
|
||||
.scroll {
|
||||
height: 600px;
|
||||
width: 600px;
|
||||
font-size: 12px;
|
||||
overflow: auto;
|
||||
}
|
||||
.force-overflow {
|
||||
min-height: 600px;
|
||||
}
|
||||
|
||||
#style1::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
#style1::-webkit-scrollbar-thumb {
|
||||
background-color: #FF0040;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,60 +1,99 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title>Wanteds</title>
|
||||
|
||||
<style>
|
||||
@font-face { font-family: 'Pricedown'; src: url('package://assets/font/Pricedown.ttf'); }
|
||||
html, body { margin: 0; padding: 0; }
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title>Wanteds</title>
|
||||
|
||||
#wanteds {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
top: 65px;
|
||||
right: 22px;
|
||||
user-select: none;
|
||||
}
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Pricedown';
|
||||
src: url('package://assets/font/Pricedown.ttf');
|
||||
}
|
||||
|
||||
#wanteds img {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin-right: 5px;
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
filter: drop-shadow(0px 0px 1px #000000);
|
||||
-webkit-filter: drop-shadow(0px 0px 1px #000000);
|
||||
-moz-filter: drop-shadow(0px 0px 1px #000000);
|
||||
}
|
||||
#wanteds {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
top: 65px;
|
||||
right: 22px;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#wanteds span {
|
||||
color: white;
|
||||
font-family: "Pricedown", sans-serif;
|
||||
font-size: 2.5em;
|
||||
line-height: 1;
|
||||
-webkit-text-stroke: 1px black;
|
||||
margin-top: -5px;
|
||||
}
|
||||
</style>
|
||||
#wanteds img {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin-right: 5px;
|
||||
filter: drop-shadow(0px 0px 1px #000000);
|
||||
-webkit-filter: drop-shadow(0px 0px 1px #000000);
|
||||
-moz-filter: drop-shadow(0px 0px 1px #000000);
|
||||
}
|
||||
|
||||
#wanteds span {
|
||||
color: white;
|
||||
font-family: "Pricedown", sans-serif;
|
||||
font-size: 2.5em;
|
||||
line-height: 1;
|
||||
-webkit-text-stroke: 1px black;
|
||||
margin-top: -5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wanteds" style="display: none;">
|
||||
<img src="package://assets/img/wanteds/star.svg"> <span id="wanted-count">10</span>
|
||||
</div>
|
||||
<div id="wanteds" style="display: none;">
|
||||
<img src="package://assets/img/wanteds/star.svg" id="wanted-star"> <span id="wanted-count">10</span>
|
||||
</div>
|
||||
|
||||
<script src="package://assets/js/jquery-3.3.1.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function setWanteds(count) {
|
||||
if (count === 0) {
|
||||
$("#wanteds").hide();
|
||||
} else {
|
||||
$("#wanteds").show();
|
||||
$("#wanted-count").text(count.toString());
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script src="package://assets/js/jquery-3.3.1.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function setWanteds(count) {
|
||||
if (count === 0) {
|
||||
$("#wanteds").hide();
|
||||
} else {
|
||||
$("#wanteds").show();
|
||||
$("#wanted-count").text(count.toString());
|
||||
}
|
||||
}
|
||||
|
||||
var flashInterval = null;
|
||||
|
||||
var previousFlashToggle = false;
|
||||
var firstToggle = true;
|
||||
|
||||
function setFlashing(flash) {
|
||||
if (previousFlashToggle == flash && !firstToggle) {
|
||||
return;
|
||||
}
|
||||
firstToggle = false;
|
||||
previousFlashToggle = flash;
|
||||
if (flash) {
|
||||
if (flashInterval) {
|
||||
clearInterval(flashInterval);
|
||||
}
|
||||
flashInterval = setInterval(flashWantedImage, 750);
|
||||
} else {
|
||||
clearInterval(flashInterval);
|
||||
$("#wanted-star").css('visibility', 'visible');
|
||||
}
|
||||
}
|
||||
|
||||
var flashStatus = false;
|
||||
|
||||
function flashWantedImage() {
|
||||
flashStatus = !flashStatus;
|
||||
if (flashStatus) {
|
||||
$("#wanted-star").css('visibility', 'visible');
|
||||
} else {
|
||||
$("#wanted-star").css('visibility', 'hidden');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
26
ReallifeGamemode.Client/assets/vehicle/application.js
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
let close = document.getElementById('close');
|
||||
|
||||
$(document).ready(function () {
|
||||
mp.trigger("CEF:VehicleLook_Loaded");
|
||||
});
|
||||
|
||||
function setDrivers(driversJson) {
|
||||
var drivers = JSON.parse(driversJson);
|
||||
var listTag = $("#drivers-list");
|
||||
drivers.forEach(driver => {
|
||||
var name = driver.Name;
|
||||
var dateTime = new Date(driver.Time);
|
||||
|
||||
var date = `${dateTime.getDay()}.${dateTime.getMonth()}.${dateTime.getFullYear()}`;
|
||||
var time = `${dateTime.getHours()}:${dateTime.getMinutes()}:${dateTime.getSeconds()}`;
|
||||
|
||||
var infoLine = `${name} am ${date} um ${time} Uhr`;
|
||||
var listItemTag = `<li>${infoLine}</li>`;
|
||||
listTag.append(listItemTag);
|
||||
});
|
||||
}
|
||||
|
||||
close.onclick = function closeWindow() {
|
||||
mp.trigger('removeLookMenu');
|
||||
}
|
||||
29
ReallifeGamemode.Client/assets/vehicle/lastPlayers.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>Eingabe | Life of German</title>
|
||||
|
||||
<link rel="stylesheet" href="package://assets/css/Introduction/style.css" />
|
||||
<link rel="stylesheet" href="../../font/font-awesome/css/fontawesome.min.css">
|
||||
<link rel="stylesheet" href="../../font/font-awesome/css/regular.min.css">
|
||||
<link rel="stylesheet" href="../../font/roboto-mono/include_500.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main>
|
||||
<div class="input-main">
|
||||
<h1>Letze Fahrer</h1>
|
||||
</div>
|
||||
<div id="content" class="form" role="form">
|
||||
<ul id="drivers-list">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<a id="close" href="#"></a>
|
||||
</main>
|
||||
<script src="../js/jquery-3.3.1.min.js"></script>
|
||||
<script src="./application.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
67
ReallifeGamemode.Client/assets/vehicle/style.css
Normal file
@@ -0,0 +1,67 @@
|
||||
/* style.css für Tabliste */
|
||||
.greyFont {
|
||||
color: gray;
|
||||
font-size: 14px;
|
||||
width: 250px;
|
||||
}
|
||||
div {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow: hidden;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-weight: 500;
|
||||
color: #222;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
color: white;
|
||||
margin:5px;
|
||||
padding: 5px;
|
||||
border: 1px solid #808080;
|
||||
width: 20.75em;
|
||||
}
|
||||
.TabWrapper {
|
||||
background: rgba(0,0,0,0.6);
|
||||
height: 600px;
|
||||
width: 600px;
|
||||
display: block;
|
||||
padding: 5px;
|
||||
position: absolute;
|
||||
left: 32%;
|
||||
top: 10%;
|
||||
}
|
||||
th, td {
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
width:10%;
|
||||
text-align: left;
|
||||
}
|
||||
.scroll {
|
||||
height: 600px;
|
||||
width: 600px;
|
||||
font-size: 12px;
|
||||
overflow: auto;
|
||||
}
|
||||
.force-overflow {
|
||||
min-height: 600px;
|
||||
}
|
||||
|
||||
#style1::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
#style1::-webkit-scrollbar-thumb {
|
||||
background-color: #FF0040;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6c1a845cfe60c75b75dd72add91c3bb7e6890c4df6cb10649be3740416b34d17
|
||||
size 3076608
|
||||
3
ReallifeGamemode.Client/dlcpacks/fibpack/dlc.rpf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5e4f54ec27530515452c0ef05241bd26ba70d13451ac24eb799ff3c6b18f42ec
|
||||
size 98724352
|
||||
1
ReallifeGamemode.Client/global.d.ts
vendored
@@ -4,6 +4,7 @@
|
||||
InMenu: boolean,
|
||||
InChat: boolean,
|
||||
LoggedIn: boolean,
|
||||
IsAfk: boolean,
|
||||
}
|
||||
|
||||
declare type AccountData = {
|
||||
|
||||
@@ -14,6 +14,7 @@ let globalData: IGlobalData = {
|
||||
HideGui: false,
|
||||
InChat: false,
|
||||
LoggedIn: false,
|
||||
IsAfk: false,
|
||||
|
||||
get InMenu(): boolean {
|
||||
return inMenu;
|
||||
@@ -258,6 +259,9 @@ animationSync();
|
||||
import antiCheat from './admin/anticheat';
|
||||
antiCheat(globalData);
|
||||
|
||||
import antiAfk from './Player/antiafk';
|
||||
antiAfk(globalData);
|
||||
|
||||
import ammunation from './Interaction/ammunation/ammunation';
|
||||
ammunation(globalData);
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
var offerItemArr;
|
||||
var tradeItemArr;
|
||||
var vehItemArr;
|
||||
var trunkSize;
|
||||
|
||||
var loaded = false;
|
||||
|
||||
@@ -36,18 +37,18 @@
|
||||
var tradeItemWeight;
|
||||
|
||||
mp.events.add('openInventory', () => {
|
||||
globalData.InMenu = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
itemArr = [];
|
||||
vehItemArr = [];
|
||||
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
||||
globalData.InMenu = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
itemArr = [];
|
||||
vehItemArr = [];
|
||||
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
||||
});
|
||||
mp.events.add('closeInventory', () => {
|
||||
invBrowser.destroy()
|
||||
invBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
loaded = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
invBrowser.destroy()
|
||||
invBrowser = null;
|
||||
globalData.InMenu = false;
|
||||
loaded = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
return;
|
||||
});
|
||||
|
||||
@@ -60,18 +61,24 @@
|
||||
});
|
||||
|
||||
mp.events.addDataHandler("backpackItems", (entity: EntityMp, jsonItemArr) => {
|
||||
if (entity.handle != mp.players.local.handle) return;
|
||||
if (entity != mp.players.local) return;
|
||||
itemArr = JSON.parse(jsonItemArr);
|
||||
if (loaded)
|
||||
invBrowser.execute(`setBackpackItems('${JSON.stringify(itemArr)}',true)`);
|
||||
});
|
||||
|
||||
mp.events.addDataHandler("setVehicleTrunk", (entity: EntityMp, size) => {
|
||||
if (entity != mp.players.local) return;
|
||||
trunkSize = size;
|
||||
});
|
||||
|
||||
mp.events.addDataHandler("vehicleItems", (entity: EntityMp, jsonItemArr) => {
|
||||
if (entity != mp.players.local) return;
|
||||
vehItemArr = JSON.parse(jsonItemArr);
|
||||
|
||||
if (loaded)
|
||||
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}')`);
|
||||
if (loaded) {
|
||||
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}', '${trunkSize}')`);
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("CEF:InventoryLoaded", () => {
|
||||
@@ -79,7 +86,7 @@
|
||||
if (vehItemArr.length != 0) {
|
||||
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}')`);
|
||||
}
|
||||
|
||||
|
||||
//invBrowser.execute(`setTradeItems('${JSON.stringify(tradeItemArr)}')`);
|
||||
//invBrowser.execute(`setOfferItems('${JSON.stringify(offerItemArr)}')`);
|
||||
loaded = true;
|
||||
@@ -98,7 +105,7 @@
|
||||
});
|
||||
|
||||
mp.events.add("CEF:useItem", (type, amount, id) => {
|
||||
mp.events.callRemote("itemInteract", type, amount, id);
|
||||
mp.events.callRemote("itemInteract", type, amount, id);
|
||||
});
|
||||
|
||||
mp.events.add("removeItem", (id, amount) => {
|
||||
@@ -110,7 +117,7 @@
|
||||
mp.events.add("aproveUse", (amount, name) => {
|
||||
if (invBrowser !== null) {
|
||||
mp.game.audio.playSoundFrontend(1, "LOCAL_PLYR_CASH_COUNTER_COMPLETE", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS", true);
|
||||
invBrowser.execute(`alertGreen('${JSON.stringify(amount)}','${JSON.stringify(name)}')`);
|
||||
invBrowser.execute(`alertGreen('${JSON.stringify(amount)}','${JSON.stringify(name)}')`);
|
||||
mp.events.call("closeInventory");
|
||||
}
|
||||
});
|
||||
@@ -136,7 +143,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
mp.events.add("CEF:acceptTrade", () => {
|
||||
if (invBrowser !== null) {
|
||||
mp.events.callRemote('acceptTrade');
|
||||
|
||||
21
ReallifeGamemode.Client/package-lock.json
generated
@@ -2471,6 +2471,27 @@
|
||||
"to-regex": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"neato-emoji-converter": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/neato-emoji-converter/-/neato-emoji-converter-1.1.2.tgz",
|
||||
"integrity": "sha512-w3cTUXmawqnD8hRFP2sptCrPoymsFO0epmVQzy3mrhvKZToAIZji3/Wa6H3WoVxL5jdimGFzvnq+LEFoEjybpg==",
|
||||
"requires": {
|
||||
"emoji-toolkit": "^5.0.5",
|
||||
"lodash.toarray": "^4.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"emoji-toolkit": {
|
||||
"version": "5.0.5",
|
||||
"resolved": "https://registry.npmjs.org/emoji-toolkit/-/emoji-toolkit-5.0.5.tgz",
|
||||
"integrity": "sha512-I57/yzEll8mIczqUCv2DaBhF61eBKtOwUN/7bxFPjwtwoVB9FnkRoabQRLZS6+KeSZNscw0av8o/N7tfy59PUg=="
|
||||
},
|
||||
"lodash.toarray": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
|
||||
"integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE="
|
||||
}
|
||||
}
|
||||
},
|
||||
"neo-async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"neato-emoji-converter": "^1.1.2",
|
||||
"ragemp-better-bindings": "^1.0.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,11 +133,13 @@ export default function animationSync() {
|
||||
mp.events.callRemote("CLIENT:ClearAnimationData", false);
|
||||
}
|
||||
|
||||
const blockInputControls = [12, 13, 14, 15, 22, 24, 25, 37, 261, 262];
|
||||
|
||||
mp.events.add("render", () => {
|
||||
if (blockInput) {
|
||||
mp.game.controls.disableControlAction(32, 25, true);
|
||||
mp.game.controls.disableControlAction(32, 24, true);
|
||||
mp.game.controls.disableControlAction(32, 22, true);
|
||||
blockInputControls.forEach((ctrl) => {
|
||||
mp.game.controls.disableControlAction(32, ctrl, true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -93,6 +93,11 @@
|
||||
meelemodifier = 0.1;
|
||||
modifier = 1;
|
||||
|
||||
break;
|
||||
case 0xEFE7E2DF: // Assault SMG
|
||||
meelemodifier = 1;
|
||||
modifier = 0.259
|
||||
|
||||
break;
|
||||
default:
|
||||
modifier = 1;
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
export default function door() {
|
||||
mp.events.add("CLIENT:SetDoorOpen", (door, lose, permanent) => {
|
||||
mp.players.local.vehicle.setDoorOpen(door, lose, permanent);
|
||||
var vehicle = mp.players.local.vehicle;
|
||||
if (vehicle && mp.vehicles.exists(vehicle)) {
|
||||
vehicle.setDoorOpen(door, lose, permanent);
|
||||
}
|
||||
});
|
||||
mp.events.add("CLIENT:SetDoorShut", (door, permanent) => {
|
||||
mp.players.local.vehicle.setDoorShut(door, permanent);
|
||||
var vehicle = mp.players.local.vehicle;
|
||||
if (vehicle && mp.vehicles.exists(vehicle)) {
|
||||
mp.players.local.vehicle.setDoorShut(door, permanent);
|
||||
}
|
||||
});
|
||||
mp.events.add("CLIENT:SetDoorShutDelayed", (door, permanent, time) => {
|
||||
setTimeout(function () {
|
||||
mp.players.local.vehicle.setDoorShut(door, permanent);
|
||||
var vehicle = mp.players.local.vehicle;
|
||||
if (vehicle && mp.vehicles.exists(vehicle)) {
|
||||
vehicle.setDoorShut(door, permanent);
|
||||
}
|
||||
}, time)
|
||||
});
|
||||
}
|
||||