all
|
@ -0,0 +1,70 @@
|
||||||
|
ESXFound = false
|
||||||
|
QBFound = false
|
||||||
|
|
||||||
|
ESX = nil
|
||||||
|
QBCore = nil
|
||||||
|
PlayerData = nil
|
||||||
|
|
||||||
|
if GetResourceState("es_extended") == "started" then
|
||||||
|
ESXFound = true
|
||||||
|
ESX = exports["es_extended"]:getSharedObject()
|
||||||
|
print("ESX gefunden!")
|
||||||
|
end
|
||||||
|
if GetResourceState("qb-core") == "started" then
|
||||||
|
QBFound = true
|
||||||
|
QBCore = exports['qb-core']:GetCoreObject()
|
||||||
|
print("QB gefunden!")
|
||||||
|
end
|
||||||
|
|
||||||
|
function GetPlayerData()
|
||||||
|
if ESXFound == true then
|
||||||
|
PlayerData = ESX.GetPlayerData()
|
||||||
|
elseif QBFound == true then
|
||||||
|
PlayerData = QBCore.Functions.GetPlayerData()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function Notification(notif)
|
||||||
|
if ESXFound == true then
|
||||||
|
ESX.ShowNotification(notif)
|
||||||
|
elseif QBFound == true then
|
||||||
|
QBCore.Functions.Notify(notif)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function WhitelistedJob()
|
||||||
|
if ESXFound == false and QBFound == false then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if #Config.OnlyJobs == 0 then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
GetPlayerData()
|
||||||
|
|
||||||
|
for k,v in ipairs(Config.OnlyJobs) do
|
||||||
|
if v == PlayerData.job.name then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function Print3DText(coords, text)
|
||||||
|
SetTextScale(0.55, 0.55)
|
||||||
|
SetTextFont(4)
|
||||||
|
SetTextProportional(1)
|
||||||
|
SetTextColour(250, 250, 250, 255) -- You can change the text color here
|
||||||
|
SetTextDropshadow(1, 1, 1, 1, 255)
|
||||||
|
SetTextEdge(2, 0, 0, 0, 150)
|
||||||
|
SetTextDropShadow()
|
||||||
|
SetTextOutline()
|
||||||
|
SetTextEntry("STRING")
|
||||||
|
SetTextCentre(1)
|
||||||
|
AddTextComponentString(text)
|
||||||
|
SetDrawOrigin(coords.x, coords.y, coords.z, 0)
|
||||||
|
DrawText(0.0, 0.0)
|
||||||
|
ClearDrawOrigin()
|
||||||
|
end
|
|
@ -0,0 +1,40 @@
|
||||||
|
Config = {}
|
||||||
|
|
||||||
|
Config.ActionKey = 182
|
||||||
|
--https://docs.fivem.net/docs/game-references/controls/#controls
|
||||||
|
|
||||||
|
Config.Hash = {
|
||||||
|
{hash = "friedr8301", detection = 3, doors = {2,5}, left = 0.0, depth = -1.8, height = -0.555, rotate = 0.0},
|
||||||
|
{hash = "friedr8302", detection = 3, doors = {2,5}, left = 0.0, depth = -1.8, height = -0.555, rotate = 0.0},
|
||||||
|
{hash = "friedr8303", detection = 3, doors = {2,5}, left = 0.0, depth = -1.8, height = -0.555, rotate = 0.0},
|
||||||
|
{hash = "friedr8304", detection = 3, doors = {2,5}, left = 0.0, depth = -1.8, height = -0.555, rotate = 0.0},
|
||||||
|
{hash = "altst8304", detection = 3, doors = {2,3}, left = 0.0, depth = -1.8, height = -0.555, rotate = 0.0},
|
||||||
|
{hash = "christoph38", detection = 3, doors = {}, left = 0.0, depth = 0.0, height = -0.555, rotate = 90.0},
|
||||||
|
}
|
||||||
|
|
||||||
|
Config.OnlyJobs = {
|
||||||
|
--"ambulance",
|
||||||
|
--"fire"
|
||||||
|
}
|
||||||
|
|
||||||
|
Config.Language = {
|
||||||
|
stand_up = 'Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um aufzustehen',
|
||||||
|
do_action = 'Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um mit der Trage zu interagieren',
|
||||||
|
take_bed = "Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Trage zu nehmen.",
|
||||||
|
release_bed = "Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Trage abzustellen.",
|
||||||
|
in_vehicle_bed = "Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Trage in den RTW zu packen.\n\nDrücke ~INPUT_SPRINT~ + ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Trage abzustellen.",
|
||||||
|
stretcher_basket = "Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Trage auf der DLK zu befestigen.\n\nDrücke ~INPUT_SPRINT~ + ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Trage abzustellen.",
|
||||||
|
out_vehicle_bed = "Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Trage rauszuholen\n\nDrücke ~INPUT_SPRINT~ + ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Türen zu schließen",
|
||||||
|
out_vehicle_bed_control = "Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um mit der Trage zu interagieren\n\nDrücke ~INPUT_SPRINT~ + ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Türen zu schließen",
|
||||||
|
vehicle_open_door = "Drücke ~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~ um die Türen zu öffnen",
|
||||||
|
}
|
||||||
|
|
||||||
|
Config.LadderCage = "lenand_ladder_cage"
|
||||||
|
Config.LaderCageCoords = {
|
||||||
|
x = 0.9,
|
||||||
|
y = 0.15,
|
||||||
|
z = 0.53,
|
||||||
|
rx = 0.0,
|
||||||
|
ry = 0.0,
|
||||||
|
rz = 0.0
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
fx_version 'cerulean'
|
||||||
|
|
||||||
|
games { 'gta5' }
|
||||||
|
|
||||||
|
author 'LoveRP Scripts'
|
||||||
|
description 'Realistic Stretcher'
|
||||||
|
version '1.1'
|
||||||
|
lua54 'yes'
|
||||||
|
|
||||||
|
client_scripts {
|
||||||
|
'config.lua',
|
||||||
|
'client.lua',
|
||||||
|
'client_custom.lua'
|
||||||
|
}
|
||||||
|
|
||||||
|
server_scripts {
|
||||||
|
'config.lua',
|
||||||
|
'server.lua',
|
||||||
|
'server_custom.lua'
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_page "html/index.html"
|
||||||
|
|
||||||
|
files {
|
||||||
|
'html/index.html',
|
||||||
|
'html/index.js',
|
||||||
|
'html/img/*.png',
|
||||||
|
'html/img/**/*.png',
|
||||||
|
}
|
||||||
|
|
||||||
|
escrow_ignore {
|
||||||
|
'config.lua',
|
||||||
|
'server_custom.lua',
|
||||||
|
'client_custom.lua',
|
||||||
|
'html/*'
|
||||||
|
}
|
||||||
|
dependency '/assetpacks'
|
After Width: | Height: | Size: 262 KiB |
After Width: | Height: | Size: 180 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 4 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 4.5 KiB |
|
@ -0,0 +1,94 @@
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script src="nui://game/ui/jquery.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
* {
|
||||||
|
font-family: Arial;
|
||||||
|
}
|
||||||
|
.dropdown {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
background: #333;
|
||||||
|
color: white;
|
||||||
|
font-size: 16px;
|
||||||
|
margin:10px 10px;
|
||||||
|
border-radius:10px;
|
||||||
|
box-shadow: 5px 5px 5px 5px #111;
|
||||||
|
padding:10px 10px;
|
||||||
|
float: left;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-content {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: #333;
|
||||||
|
min-width: 250px;
|
||||||
|
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
||||||
|
padding: 12px 16px;
|
||||||
|
z-index: 1;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-content p:hover {
|
||||||
|
box-shadow: 3px 3px 3px 3px rgba(0,0,255,0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-content p {
|
||||||
|
padding:10px 10px;
|
||||||
|
border-radius:10px;
|
||||||
|
cursor:pointer;
|
||||||
|
background-color: #444;
|
||||||
|
text-align:left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown:hover .dropdown-content {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body style="display:none">
|
||||||
|
<div style="position:absolute;width:820px;height:820px;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px 10px;border-radius:10px;background:#111;opacity:0.75"></div>
|
||||||
|
<div id="stryker_menu" style="justify-content:center;position:absolute;width:820px;height:820px;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;border-radius:10px;">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<img id="stryker_kopfteil_flach" help="Kopfteil hoch stellen" src="img/stryker/kopfteil_flach.png" normal="kopfteil_flach" style="position:absolute;top:380px;left:0px;cursor:pointer;" />
|
||||||
|
<img id="stryker_kopfteil_hoch" help="Kopfteil flach stellen" src="img/stryker/kopfteil_hoch.png" normal="kopfteil_hoch" style="position:absolute;top:220px;left:60px;cursor:pointer;" />
|
||||||
|
|
||||||
|
<img id="stryker_fussteil_flach" help="Linksklick: Fussteil nach oben stellen<br />Rechtsklick: Fussteil anwinkeln" normal="fussteil_flach" src="img/stryker/fussteil_flach.png" style="position:absolute;top:380px;left:250px;cursor:pointer;" />
|
||||||
|
<img id="stryker_fussteil_hoch" help="Linksklick: Fussteil nach unten stellen<br />Rechtsklick: Fussteil anwinkeln" normal="fussteil_hoch" src="img/stryker/fussteil_hoch.png" style="position:absolute;top:310px;left:250px;cursor:pointer;" />
|
||||||
|
<img id="stryker_fussteil_angewinkelt" help="Linksklick: Fussteil nach unten stellen<br />Rechtsklick: Fussteil nach oben stellen" normal="fussteil_angewinkelt" src="img/stryker/fussteil_angewinkelt.png" style="position:absolute;top:340px;left:250px;cursor:pointer;" />
|
||||||
|
|
||||||
|
<img id="stryker_grundgestell_oben" help="Trage nach unten fahren" normal="grundmodell" src="img/stryker/grundmodell.png" style="cursor:pointer;position:absolute;top:422px;left:39px" />
|
||||||
|
<img id="stryker_grundgestell_unten" help="Trage nach oben fahren" normal="grundmodell_unten" src="img/stryker/grundmodell_unten.png" style="cursor:pointer;position:absolute;top:418px;left:39px" />
|
||||||
|
|
||||||
|
<img id="stryker_seitenteil_oben" help="Seitenteile nach unten" normal="seitenteil_oben" src="img/stryker/seitenteil_oben.png" style="position:absolute;top:355px;left:166px;cursor:pointer;" />
|
||||||
|
<img id="stryker_seitenteil_unten" help="Seitenteile nach oben" normal="seitenteil_unten" src="img/stryker/seitenteil_unten.png" style="position:absolute;top:450px;left:166px;cursor:pointer;" />
|
||||||
|
|
||||||
|
<img id="stryker_nehmen" help="Stryker nehmen" src="img/stryker/stryker_nehmen.png" normal="stryker_nehmen" style="position:absolute;top:444px;left:639px;cursor:pointer;" />
|
||||||
|
|
||||||
|
|
||||||
|
<img id="corpuls_on" help="Corpuls anbauen" src="img/stryker/corpuls_off.png" normal="corpuls_off" style="position:absolute;top:80px;right:50px;cursor:pointer;" />
|
||||||
|
<img id="corpuls_off" help="Corpuls abbauen" src="img/stryker/corpuls_on.png" normal="corpuls_on" style="position:absolute;top:80px;right:50px;cursor:pointer;" />
|
||||||
|
|
||||||
|
<div class="dropdown">
|
||||||
|
<span id="stryker_liegen">auf Trage legen</span>
|
||||||
|
</div>
|
||||||
|
<div class="dropdown">
|
||||||
|
<span>Patient auf Trage legen</span>
|
||||||
|
<div class="dropdown-content" id="stryker_player">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dropdown">
|
||||||
|
<span id="stryker_patient_off">Patient von Trage nehmen</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="stryker_help" style="font-size:14px;font-family:Arial;text-align:center;background:#111;display:none;position:absolute;width:300px;padding:5px 5px;color:white;font-size:16px;transform:translate(-150px,50px)"></div>
|
||||||
|
|
||||||
|
<script src="index.js" type="text/javascript"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,288 @@
|
||||||
|
|
||||||
|
|
||||||
|
function Stryker_Player(elem)
|
||||||
|
{
|
||||||
|
$.post("https://power_stretcher/stryker_patient_on", JSON.stringify({
|
||||||
|
id: elem.getAttribute("stryker"),
|
||||||
|
src: elem.getAttribute("src")
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
var StrykerID = 0;
|
||||||
|
|
||||||
|
var buttons = document.getElementById("stryker_menu").children;
|
||||||
|
|
||||||
|
document.addEventListener('mousemove', function(e)
|
||||||
|
{
|
||||||
|
document.getElementById("stryker_help").style.top = e.clientY
|
||||||
|
document.getElementById("stryker_help").style.left = e.clientX
|
||||||
|
document.getElementById("stryker_help").style.transform = "translate(-125px,25px)"
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
for(var a = 0; a < buttons.length; a++)
|
||||||
|
{
|
||||||
|
if (buttons[a].getAttribute("help"))
|
||||||
|
{
|
||||||
|
buttons[a].addEventListener('mouseenter', function(e) {
|
||||||
|
document.getElementById("stryker_help").style.display = "";
|
||||||
|
document.getElementById("stryker_help").innerHTML = e.target.getAttribute("help")
|
||||||
|
e.target.src = "img/stryker/" + e.target.getAttribute("normal") + "_hover.png"
|
||||||
|
});
|
||||||
|
buttons[a].addEventListener('mouseleave', function(e) {
|
||||||
|
document.getElementById("stryker_help").style.display = "none";
|
||||||
|
e.target.src = "img/stryker/" + e.target.getAttribute("normal") + ".png"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.onkeyup = function (data) {
|
||||||
|
if (data.which == 27) {
|
||||||
|
$("body").fadeOut();
|
||||||
|
$.post('https://power_stretcher/focusfalse', JSON.stringify({}));
|
||||||
|
return
|
||||||
|
}
|
||||||
|
};
|
||||||
|
window.addEventListener('message', function(event) {
|
||||||
|
var item = event.data;
|
||||||
|
|
||||||
|
if (item.type === "show_menu")
|
||||||
|
{
|
||||||
|
$("body").fadeIn();
|
||||||
|
StrykerID = item.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.type === "hide_menu")
|
||||||
|
{
|
||||||
|
$("body").fadeOut();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.type === "stryker_player")
|
||||||
|
{
|
||||||
|
var insertText = "";
|
||||||
|
|
||||||
|
insertText += '<p onclick="Stryker_Player(this)" stryker="' + StrykerID + '" src="0">NPC</p>';
|
||||||
|
|
||||||
|
if (item.list.length > 0)
|
||||||
|
{
|
||||||
|
for (var i = 0; i < item.list.length; i++)
|
||||||
|
{
|
||||||
|
insertText += '<p onclick="Stryker_Player(this)" stryker="' + StrykerID + '" src="' + item.list[i].src + '">[' + item.list[i].src + '] ' + item.list[i].name + '</p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("stryker_player").innerHTML = insertText;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.type === "stryker_ui")
|
||||||
|
{
|
||||||
|
document.getElementById("stryker_player").innerHTML = "";
|
||||||
|
|
||||||
|
if (item.grundgestell == "oben")
|
||||||
|
{ document.getElementById("stryker_grundgestell_oben").style.display = "";
|
||||||
|
document.getElementById("stryker_grundgestell_unten").style.display = "none"; }
|
||||||
|
else
|
||||||
|
{ document.getElementById("stryker_grundgestell_oben").style.display = "none";
|
||||||
|
document.getElementById("stryker_grundgestell_unten").style.display = ""; }
|
||||||
|
|
||||||
|
if (item.seitenteil == "oben")
|
||||||
|
{ document.getElementById("stryker_seitenteil_oben").style.display = "";
|
||||||
|
document.getElementById("stryker_seitenteil_unten").style.display = "none"; }
|
||||||
|
else
|
||||||
|
{ document.getElementById("stryker_seitenteil_oben").style.display = "none";
|
||||||
|
document.getElementById("stryker_seitenteil_unten").style.display = ""; }
|
||||||
|
|
||||||
|
if (item.kopfteil == "flach")
|
||||||
|
{ document.getElementById("stryker_kopfteil_flach").style.display = "";
|
||||||
|
document.getElementById("stryker_kopfteil_hoch").style.display = "none"; }
|
||||||
|
else
|
||||||
|
{ document.getElementById("stryker_kopfteil_flach").style.display = "none";
|
||||||
|
document.getElementById("stryker_kopfteil_hoch").style.display = ""; }
|
||||||
|
|
||||||
|
if (item.fussteil == "flach")
|
||||||
|
{ document.getElementById("stryker_fussteil_flach").style.display = "";
|
||||||
|
document.getElementById("stryker_fussteil_hoch").style.display = "none";
|
||||||
|
document.getElementById("stryker_fussteil_angewinkelt").style.display = "none"; }
|
||||||
|
else if (item.fussteil == "hoch")
|
||||||
|
{ document.getElementById("stryker_fussteil_flach").style.display = "none";
|
||||||
|
document.getElementById("stryker_fussteil_hoch").style.display = "";
|
||||||
|
document.getElementById("stryker_fussteil_angewinkelt").style.display = "none"; }
|
||||||
|
else
|
||||||
|
{ document.getElementById("stryker_fussteil_flach").style.display = "none";
|
||||||
|
document.getElementById("stryker_fussteil_hoch").style.display = "none";
|
||||||
|
document.getElementById("stryker_fussteil_angewinkelt").style.display = ""; }
|
||||||
|
|
||||||
|
if (item.corpuls == "off")
|
||||||
|
{ document.getElementById("corpuls_on").style.display = "";
|
||||||
|
document.getElementById("corpuls_off").style.display = "none"; }
|
||||||
|
else
|
||||||
|
{ document.getElementById("corpuls_on").style.display = "none";
|
||||||
|
document.getElementById("corpuls_off").style.display = ""; }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#stryker_kopfteil_flach").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Kopfteil",
|
||||||
|
stellung: "hoch"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#corpuls_on").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Corpuls"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#corpuls_off").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Corpuls"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_kopfteil_hoch").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Kopfteil",
|
||||||
|
stellung: "flach"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_seitenteil_oben").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Seitenteil",
|
||||||
|
stellung: "unten"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_seitenteil_unten").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Seitenteil",
|
||||||
|
stellung: "oben"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_grundgestell_oben").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Grundgestell",
|
||||||
|
stellung: "unten"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_grundgestell_unten").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Grundgestell",
|
||||||
|
stellung: "oben"
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_fussteil_flach").mousedown(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
var stellung = "hoch";
|
||||||
|
|
||||||
|
if (e.which == 3)
|
||||||
|
{ stellung = "angewinkelt"; }
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Fussteil",
|
||||||
|
stellung: stellung
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_fussteil_hoch").mousedown(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
var stellung = "flach";
|
||||||
|
|
||||||
|
if (e.which == 3)
|
||||||
|
{ stellung = "angewinkelt"; }
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Fussteil",
|
||||||
|
stellung: stellung
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_fussteil_angewinkelt").mousedown(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
var stellung = "flach";
|
||||||
|
|
||||||
|
if (e.which == 3)
|
||||||
|
{ stellung = "hoch"; }
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_einstellen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
part: "Fussteil",
|
||||||
|
stellung: stellung
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_nehmen").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_nehmen", JSON.stringify({
|
||||||
|
id: StrykerID
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
$("#stryker_liegen").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_liegen", JSON.stringify({
|
||||||
|
id: StrykerID,
|
||||||
|
anim: 1
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#stryker_patient_off").click(function (e) {
|
||||||
|
e.preventDefault(); // Prevent form from submitting
|
||||||
|
|
||||||
|
$.post("https://power_stretcher/stryker_patient_off", JSON.stringify({
|
||||||
|
id: StrykerID
|
||||||
|
}));
|
||||||
|
return
|
||||||
|
})
|
||||||
|
})
|
|
@ -0,0 +1,17 @@
|
||||||
|
ESXFound = false
|
||||||
|
QBFound = false
|
||||||
|
|
||||||
|
ESX = nil
|
||||||
|
QBCore = nil
|
||||||
|
PlayerData = nil
|
||||||
|
|
||||||
|
if GetResourceState("es_extended") == "started" then
|
||||||
|
ESXFound = true
|
||||||
|
ESX = exports["es_extended"]:getSharedObject()
|
||||||
|
print("ESX gefunden!")
|
||||||
|
end
|
||||||
|
if GetResourceState("qb-core") == "started" then
|
||||||
|
QBFound = true
|
||||||
|
QBCore = exports['qb-core']:GetCoreObject()
|
||||||
|
print("QB gefunden!")
|
||||||
|
end
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CVehicleModelInfoVariation>
|
||||||
|
<variationData>
|
||||||
|
<Item>
|
||||||
|
<modelName>rda_stretcher</modelName>
|
||||||
|
<colors>
|
||||||
|
<Item>
|
||||||
|
<indices>
|
||||||
|
<Item value="111" />
|
||||||
|
<Item value="111" />
|
||||||
|
<Item value="3" />
|
||||||
|
<Item value="156" />
|
||||||
|
</indices>
|
||||||
|
<liveries>
|
||||||
|
<Item value="true" />
|
||||||
|
<Item value="false" />
|
||||||
|
<Item value="false" />
|
||||||
|
<Item value="false" />
|
||||||
|
<Item value="false" />
|
||||||
|
<Item value="false" />
|
||||||
|
<Item value="false" />
|
||||||
|
<Item value="false" />
|
||||||
|
</liveries>
|
||||||
|
</Item>
|
||||||
|
</colors>
|
||||||
|
<kits>
|
||||||
|
<Item>0_default_modkit</Item>
|
||||||
|
</kits>
|
||||||
|
<windowsWithExposedEdges />
|
||||||
|
<plateProbabilities>
|
||||||
|
<Probabilities />
|
||||||
|
</plateProbabilities>
|
||||||
|
<lightSettings value="1" />
|
||||||
|
<sirenSettings value="0" />
|
||||||
|
</Item>
|
||||||
|
</variationData>
|
||||||
|
</CVehicleModelInfoVariation>
|
|
@ -0,0 +1,16 @@
|
||||||
|
fx_version 'bodacious'
|
||||||
|
game 'gta5'
|
||||||
|
author 'Rettungsdienst Aktuell'
|
||||||
|
|
||||||
|
files {
|
||||||
|
'vehicles.meta',
|
||||||
|
'carvariations.meta',
|
||||||
|
'handling.meta',
|
||||||
|
'carcols.meta',
|
||||||
|
}
|
||||||
|
|
||||||
|
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'
|
||||||
|
data_file 'HANDLING_FILE' 'handling.meta'
|
||||||
|
data_file 'CARCOLS_FILE' 'carcols.meta'
|
||||||
|
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'
|
||||||
|
dependency '/assetpacks'
|
|
@ -0,0 +1,117 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CVehicleModelInfo__InitDataList>
|
||||||
|
<residentTxd>vehshare</residentTxd>
|
||||||
|
<residentAnims />
|
||||||
|
<InitDatas>
|
||||||
|
<Item>
|
||||||
|
<modelName>rda_stretcher</modelName>
|
||||||
|
<txdName>rda_stretcher</txdName>
|
||||||
|
<handlingId>RUMPO</handlingId>
|
||||||
|
<gameName>PowerLoad</gameName>
|
||||||
|
<vehicleMakeName>Striker</vehicleMakeName>
|
||||||
|
<expressionDictName>null</expressionDictName>
|
||||||
|
<expressionName>null</expressionName>
|
||||||
|
<animConvRoofDictName>null</animConvRoofDictName>
|
||||||
|
<animConvRoofName>null</animConvRoofName>
|
||||||
|
<animConvRoofWindowsAffected />
|
||||||
|
<ptfxAssetName>null</ptfxAssetName>
|
||||||
|
<audioNameHash />
|
||||||
|
<layout>LAYOUT_VAN</layout>
|
||||||
|
<coverBoundOffsets>RUMPO_COVER_OFFSET_INFO</coverBoundOffsets>
|
||||||
|
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
|
||||||
|
<scenarioLayout />
|
||||||
|
<cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
|
||||||
|
<aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName>
|
||||||
|
<bonnetCameraName>VEHICLE_BONNET_CAMERA_LOW</bonnetCameraName>
|
||||||
|
<povCameraName>DEFAULT_POV_CAMERA_LOOKAROUND_MID</povCameraName>
|
||||||
|
<FirstPersonDriveByIKOffset x="0.000000" y="-0.040000" z="0.000000" />
|
||||||
|
<FirstPersonDriveByUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonProjectileDriveByIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonProjectileDriveByPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonProjectileDriveByRearLeftIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonProjectileDriveByRearRightIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonDriveByLeftPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonDriveByRightPassengerIKOffset x="0.000000" y="0.010000" z="-0.08600" />
|
||||||
|
<FirstPersonDriveByRightRearPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonDriveByLeftPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonDriveByRightPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<FirstPersonMobilePhoneOffset x="0.155000" y="0.228000" z="0.463000" />
|
||||||
|
<FirstPersonPassengerMobilePhoneOffset x="0.136000" y="0.223000" z="0.425000" />
|
||||||
|
<PovCameraOffset x="0.000000" y="-0.120000" z="0.565000" />
|
||||||
|
<PovCameraVerticalAdjustmentForRollCage value="0.000000" />
|
||||||
|
<PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.070000" />
|
||||||
|
<PovRearPassengerCameraOffset x="0.000000" y="0.000000" z="0.070000" />
|
||||||
|
<vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName>
|
||||||
|
<shouldUseCinematicViewMode value="true" />
|
||||||
|
<shouldCameraTransitionOnClimbUpDown value="false" />
|
||||||
|
<shouldCameraIgnoreExiting value="false" />
|
||||||
|
<AllowPretendOccupants value="true" />
|
||||||
|
<AllowJoyriding value="true" />
|
||||||
|
<AllowSundayDriving value="true" />
|
||||||
|
<AllowBodyColorMapping value="true" />
|
||||||
|
<wheelScale value="0.234200" />
|
||||||
|
<wheelScaleRear value="0.234200" />
|
||||||
|
<dirtLevelMin value="0.300000" />
|
||||||
|
<dirtLevelMax value="0.850000" />
|
||||||
|
<envEffScaleMin value="0.000000" />
|
||||||
|
<envEffScaleMax value="1.000000" />
|
||||||
|
<envEffScaleMin2 value="0.000000" />
|
||||||
|
<envEffScaleMax2 value="1.000000" />
|
||||||
|
<damageMapScale value="0.600000" />
|
||||||
|
<damageOffsetScale value="1.000000" />
|
||||||
|
<diffuseTint value="0x05700000" />
|
||||||
|
<steerWheelMult value="1.000000" />
|
||||||
|
<HDTextureDist value="5.000000" />
|
||||||
|
<lodDistances content="float_array">
|
||||||
|
15.000000
|
||||||
|
35.000000
|
||||||
|
70.000000
|
||||||
|
140.000000
|
||||||
|
500.000000
|
||||||
|
500.000000
|
||||||
|
</lodDistances>
|
||||||
|
<minSeatHeight value="0.946" />
|
||||||
|
<identicalModelSpawnDistance value="100" />
|
||||||
|
<maxNumOfSameColor value="10" />
|
||||||
|
<defaultBodyHealth value="1000.000000" />
|
||||||
|
<pretendOccupantsScale value="1.000000" />
|
||||||
|
<visibleSpawnDistScale value="1.000000" />
|
||||||
|
<trackerPathWidth value="2.000000" />
|
||||||
|
<weaponForceMult value="2.000000" />
|
||||||
|
<frequency value="100" />
|
||||||
|
<swankness>SWANKNESS_1</swankness>
|
||||||
|
<maxNum value="999" />
|
||||||
|
<flags>FLAG_SMALL_WORKER FLAG_IS_VAN FLAG_DELIVERY FLAG_EXTRAS_ALL FLAG_AVERAGE_CAR FLAG_POOR_CAR FLAG_IS_BULKY</flags>
|
||||||
|
<type>VEHICLE_TYPE_CAR</type>
|
||||||
|
<plateType>VPT_BACK_PLATES</plateType>
|
||||||
|
<dashboardType>VDT_TRUCK</dashboardType>
|
||||||
|
<vehicleClass>VC_VAN</vehicleClass>
|
||||||
|
<wheelType>VWT_MUSCLE</wheelType>
|
||||||
|
<trailers />
|
||||||
|
<additionalTrailers />
|
||||||
|
<drivers />
|
||||||
|
<extraIncludes />
|
||||||
|
<doorsWithCollisionWhenClosed />
|
||||||
|
<driveableDoors />
|
||||||
|
<bumpersNeedToCollideWithMap value="false" />
|
||||||
|
<needsRopeTexture value="false" />
|
||||||
|
<requiredExtras />
|
||||||
|
<rewards />
|
||||||
|
<cinematicPartCamera>
|
||||||
|
<Item>WHEEL_FRONT_RIGHT_CAMERA</Item>
|
||||||
|
<Item>WHEEL_FRONT_LEFT_CAMERA</Item>
|
||||||
|
<Item>WHEEL_REAR_RIGHT_CAMERA</Item>
|
||||||
|
<Item>WHEEL_REAR_LEFT_CAMERA</Item>
|
||||||
|
</cinematicPartCamera>
|
||||||
|
<NmBraceOverrideSet />
|
||||||
|
<buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||||
|
<buoyancySphereSizeScale value="1.000000" />
|
||||||
|
<pOverrideRagdollThreshold type="NULL" />
|
||||||
|
<firstPersonDrivebyData>
|
||||||
|
<Item>RANGER_RANCHERXL_FRONT_LEFT</Item>
|
||||||
|
<Item>VAN_RUMPO_FRONT_RIGHT</Item>
|
||||||
|
</firstPersonDrivebyData>
|
||||||
|
</Item>
|
||||||
|
</InitDatas>
|
||||||
|
<txdRelationships />
|
||||||
|
</CVehicleModelInfo__InitDataList>
|
|
@ -7,7 +7,11 @@ Config.Blacklist = {
|
||||||
lowerBody = {},
|
lowerBody = {},
|
||||||
bags = {},
|
bags = {},
|
||||||
shoes = {},
|
shoes = {},
|
||||||
scarfAndChains = {},
|
scarfAndChains = {
|
||||||
|
{
|
||||||
|
drawables = {218}
|
||||||
|
}
|
||||||
|
},
|
||||||
shirts = {},
|
shirts = {},
|
||||||
bodyArmor = {},
|
bodyArmor = {},
|
||||||
decals = {},
|
decals = {},
|
||||||
|
|