1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-08-09 11:26:02 +02:00
parent 9ec9374b18
commit 1ee6dbef40
64 changed files with 5206 additions and 177 deletions

Binary file not shown.

View file

@ -0,0 +1,10 @@
RoadPods = {}
RoadPods.Items = {
"roadpods",
}
RoadPods.NeedItem = true
RoadPods.ForceRoadPods = false --If you set this to true, you can not use the Music App without RoadPods.
RoadPods.ForceRoadPodsLink = false --If you set this to true, you can not use the Music Link Feature without RoadPods.

View file

@ -2,7 +2,7 @@ local inVehicle = false
local fizzPed = nil
local spawnRadius = Config.ValetRadius
local mechBlip = nil
--[[
RegisterNUICallback('searchCar', function(data, cb)
QBCore.Functions.TriggerCallback("roadphone:valet:loadVehicle", function(vehicle, coords)
@ -16,7 +16,7 @@ RegisterNUICallback('searchCar', function(data, cb)
TriggerEvent("roadphone:sendNotification", {
apptitle = 'APP_VALET_NAME',
title = 'APP_VALET_TITLE_WAYPOINT',
img = "/public/img/Apps/valet.jpg"
img = "/public/img/Apps/light_mode/valet.webp"
})
end
@ -38,7 +38,7 @@ RegisterNUICallback('searchCar', function(data, cb)
TriggerEvent("roadphone:sendNotification", {
apptitle = "APP_VALET_NAME",
title = "APP_VALET_TITLE_WAYPOINT",
img = "/public/img/Apps/valet.jpg"
img = "/public/img/Apps/light_mode/valet.webp"
})
cb('ok')
return
@ -49,66 +49,70 @@ RegisterNUICallback('searchCar', function(data, cb)
TriggerEvent("roadphone:sendNotification", {
apptitle = "APP_VALET_NAME",
title = "APP_VALET_TITLE_CARNOTOUT",
img = "/public/img/Apps/valet.jpg"
img = "/public/img/Apps/light_mode/valet.webp"
})
end, data.plate)
cb('ok')
end)
--]]
-- RegisterNUICallback("deliverormarkcar", function(data, cb)
-- QBCore.Functions.TriggerCallback("roadphone:valet:loadVehicle", function(vehicle, coords)
-- if not vehicle and not coords then
-- return
-- end
-- if vehicle == false then
-- if coords then
-- SetNewWaypoint(coords.x, coords.y)
-- TriggerEvent("roadphone:sendNotification", {
-- apptitle = 'APP_VALET_NAME',
-- title = 'APP_VALET_TITLE_WAYPOINT',
-- img = "/public/img/Apps/valet.jpg"
-- })
-- end
-- return;
-- end
RegisterNUICallback("deliverormarkcar", function(data, cb)
QBCore.Functions.TriggerCallback("roadphone:valet:loadVehicle", function(vehicle, coords)
-- local plate = vehicle[1].plate
if not vehicle and not coords then
return
end
-- local gameVehicles = GetGamePool('CVehicle')
-- for i = 1, #gameVehicles do
-- local vehicle = gameVehicles[i]
-- if DoesEntityExist(vehicle) then
-- if GetVehicleNumberPlateText(vehicle) == plate then
-- local vehicleCoords = GetEntityCoords(vehicle)
-- SetNewWaypoint(vehicleCoords.x, vehicleCoords.y)
-- TriggerEvent("roadphone:sendNotification", {
-- apptitle = 'APP_VALET_NAME',
-- title = 'APP_VALET_TITLE_WAYPOINT',
-- img = "/public/img/Apps/valet.jpg"
-- })
-- cb('ok')
-- return
-- end
-- end
-- end
if vehicle == false then
if coords then
SetNewWaypoint(coords.x, coords.y)
TriggerEvent("roadphone:sendNotification", {
apptitle = 'APP_VALET_NAME',
title = 'APP_VALET_TITLE_WAYPOINT',
img = "/public/img/Apps/light_mode/valet.webp"
})
-- QBCore.Functions.TriggerCallback("roadphone:valet:checkMoney", function(cb)
-- if cb then
-- SpawnVehicle(vehicle[1].vehicle, plate, json.decode(vehicle[1].mods))
-- end
-- end)
end
return;
end
-- end, data.plate)
local plate = vehicle[1].plate
-- cb('ok')
-- end)
local gameVehicles = GetGamePool('CVehicle')
for i = 1, #gameVehicles do
local vehicle = gameVehicles[i]
if DoesEntityExist(vehicle) then
if GetVehicleNumberPlateText(vehicle) == plate then
local vehicleCoords = GetEntityCoords(vehicle)
SetNewWaypoint(vehicleCoords.x, vehicleCoords.y)
TriggerEvent("roadphone:sendNotification", {
apptitle = 'APP_VALET_NAME',
title = 'APP_VALET_TITLE_WAYPOINT',
img = "/public/img/Apps/light_mode/valet.webp"
})
cb('ok')
return
end
end
end
QBCore.Functions.TriggerCallback("roadphone:valet:checkMoney", function(cb)
if cb then
SpawnVehicle(vehicle[1].vehicle, plate, json.decode(vehicle[1].mods))
end
end)
end, data.plate)
cb('ok')
end)
function SpawnVehicle(vehicle, plate, mods)
print("RoadPhone Valet: "..plate)
local player = PlayerPedId()
local playerPos = GetEntityCoords(player)
local found, spawnPos, spawnHeading = GetClosestVehicleNodeWithHeading(playerPos.x + math.random(-100, 100),
@ -197,6 +201,15 @@ RegisterNUICallback("getCars", function(data, cb)
for i = 1, #data do
if(data[i]) then
local vehiclename = data[i].vehicle
local vehiclemodelnames = getVehicleNames()
for k, v in pairs(vehiclemodelnames) do
if v[1] == model then
vehiclename = v[2]
end
end
data[i].vehicle = {}
data[i].vehicle.model = vehiclename
end

View file

@ -14,7 +14,7 @@ Config.SimCardDLC = true -- Enable if using RoadPhone SimCard DLC
-- Phone Settings
Config.PhoneCommand = "TogglePhone"
Config.NeedItem = false -- Requires an item to open the phone
Config.NeedItem = true -- Requires an item to open the phone
Config.RegisterKeyMapping = true -- If false, the phone can only be closed using ESC
Config.OpenKey = 'f1' -- Works if RegisterKeyMapping is true
Config.OpenKeyNumber = 288 -- Works if RegisterKeyMapping is false
@ -32,8 +32,8 @@ Config.Items = {
}
-- Target System
Config.UseTarget = true
Config.TargetSystem = "qb_target" -- Options: qb-target, ox_target
Config.UseTarget = false
Config.TargetSystem = "qb-target" -- Options: qb-target, ox_target
-- Voice Chat Integration
Config.MumbleExport = "mumble-voip"
@ -43,7 +43,7 @@ Config.SaltyExport = "saltychat"
Config.UsePmaVoice = false
Config.UseMumbleVoip = false
Config.UseSaltyChat = false
Config.UseSaltyChat = false --https://saltyhub.net/
Config.UseTokoVoip = false
Config.UseYacaVoice = true
Config.SaltyChatFix = false -- Fix issues with SaltyChat if true
@ -55,7 +55,7 @@ Config.EventNumbers = {
-- Addons
Config.Addons = {
['jobcalls'] = true,
['jobcalls'] = true
['roadpods'] = true
}
@ -63,7 +63,7 @@ Config.Addons = {
Config.ValetServerSideCheck = true
Config.ValetPedModel = "s_m_y_valet_01"
Config.ValetRadius = 500.0
Config.ValetDeliveryPrice = 5000
Config.ValetDeliveryPrice = 500
Config.OwnedVehiclesTable = "player_vehicles"
-- Walkable Camera
@ -91,11 +91,11 @@ Config.CameraDelay = 2000 -- Delay between taking pictures
-- Taxi Configuration
Config.TaxiPrice = 100 -- Price per kilometer
Config.TaxiJob = "taxi"
Config.TaxiSociety = "taxi"
Config.TaxiSocietyEnabled = true --money goes to society account instead of player account
Config.TaxiSociety = "society_taxi"
Config.TaxiSocietyEnabled = false --money goes to society account instead of player account
-- Rent Configuration
Config.RentVehicleSpawnRadius = 6000.0
Config.RentVehicleSpawnRadius = 500.0
Config.RentVehicleModel = "s_m_y_valet_01"
-- Billing Systems
@ -117,7 +117,7 @@ Config.codeMInventory = false
Config.okokBanking = false
-- Garage Systems
Config.JGAdvancedGarages = false
Config.JGAdvancedGarages = true
Config.cdGarages = false
-- Miscellaneous Integrations
@ -145,3 +145,5 @@ Config.ClientSideInventoryValidation = false -- Use with caution
Config.SyncFlashlight = false -- Sync flashlight with other players
Config.CallCheckExperimental = true -- Experimental call check
Config.CallControl = true -- Enable call control / example: Accept, Decline, End Call with Enter and Backspace

View file

@ -4,7 +4,7 @@ game 'gta5'
author 'RoadShop | https://fivem.roadshop.org'
description 'RoadPhone-Pro FiveM Phone'
version '1.5.0'
version '1.6.5'
lua54 'yes'

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g data-name="Layer 2">
<g data-name="arrow-ios-back">
<rect width="24" height="24" transform="rotate(90 12 12)" opacity="0"/>
<path d="M13.83 19a1 1 0 0 1-.78-.37l-4.83-6a1 1 0 0 1 0-1.27l5-6a1 1 0 0 1 1.54 1.28L10.29 12l4.32 5.36a1 1 0 0 1-.78 1.64z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 504 B

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#FFFFFF" width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g data-name="Layer 2">
<g data-name="arrow-ios-back">
<rect width="24" height="24" transform="rotate(90 12 12)" opacity="0"/>
<path d="M13.83 19a1 1 0 0 1-.78-.37l-4.83-6a1 1 0 0 1 0-1.27l5-6a1 1 0 0 1 1.54 1.28L10.29 12l4.32 5.36a1 1 0 0 1-.78 1.64z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 504 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>RoadPhone Pro</title>
<script src="/public/custom_apps/app.js"></script>
<script type="module" crossorigin src="/public/assets/index-F6beCyJK.js"></script>
<link rel="stylesheet" crossorigin href="/public/assets/index-DwROTVLq.css">
<script type="module" crossorigin src="/public/assets/index-BSOGDcS-.js"></script>
<link rel="stylesheet" crossorigin href="/public/assets/index-C1Q_dXc0.css">
</head>
<body>
<div id="app"></div>

View file

@ -1,13 +1,13 @@
{
"background": "/public/img/backgrounds/sim.png",
"default_ringtone": "Reflection",
"default_ringtone": "simnation_intro",
"lockscreen": true,
"default_musicsearch": "HBZ",
"default_youtubesearch": "JDM",
"unemployedJob": "unemployed",
"mail_domain": "@cloud.org",
"IngameTime": false,
"DeliverCar": false,
"DeliverCar": true,
"FaceTime": true,
"NewsAppAccess": [
"police",
@ -102,9 +102,6 @@
"img": "/public/img/service/ammu.png",
"acceptMessage": true
}
],
"Ringtones": {
"Reflection": "/public/static/sounds/ringtones/Reflection.mp3",
@ -176,9 +173,6 @@
"number": 5556969,
"message": true
}
],
"WeatherApp": {
"Cityname": "Los Santos"
@ -573,98 +567,106 @@
],
"AppInfos": [
{
"name": "Rechnung",
"icon": "/public/img/Apps/billing.png",
"description": "Rechnungen einsehen und bezahlen",
"name": "Billing",
"light_icon": "/public/img/Apps/light_mode/billing.webp",
"dark_icon": "/public/img/Apps/dark_mode/billing.webp",
"description": "View and pay your Invoices",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "billing_app"
},
{
"name": "AnonymTell",
"icon": "/public/img/Apps/anonymtell.png",
"description": "Was deine Freunde denken",
"light_icon": "/public/img/Apps/light_mode/anonymtell.webp",
"dark_icon": "/public/img/Apps/dark_mode/anonymtell.webp",
"description": "What your friends think",
"stars": 4.3,
"age": 17,
"chart": 18,
"developer": "Callosum",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "tellonym"
},
{
"name": "Funkgerät",
"icon": "/public/img/Apps/radio.png",
"description": "Steuer dein Funkgerät",
"name": "Radio",
"light_icon": "/public/img/Apps/light_mode/radio.webp",
"dark_icon": "/public/img/Apps/dark_mode/radio.webp",
"description": "Join & Leave radio channels",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "radio"
},
{
"name": "Service",
"icon": "/public/img/Apps/service.png",
"description": "Ruf einen Service",
"light_icon": "/public/img/Apps/light_mode/service.webp",
"dark_icon": "/public/img/Apps/dark_mode/service.webp",
"description": "Call a Service",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "service"
},
{
"name": "Bank",
"icon": "/public/img/Apps/bank.png",
"description": "Geld senden und empfangen",
"light_icon": "/public/img/Apps/light_mode/bank.webp",
"dark_icon": "/public/img/Apps/dark_mode/bank.webp",
"description": "Send and Receive Money",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "bank"
},
{
"name": "Darkchat",
"icon": "/public/img/Apps/darkchat.png",
"description": "Anonymer Chat",
"light_icon": "/public/img/Apps/light_mode/darkchat.webp",
"dark_icon": "/public/img/Apps/dark_mode/darkchat.webp",
"description": "Anonymous Chat",
"stars": 4.3,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "darkchat"
},
{
"name": "StreetList",
"icon": "/public/img/Apps/advertising.png",
"description": "Erstellen Sie Werbung",
"name": "Advertising",
"light_icon": "/public/img/Apps/light_mode/advertising.webp",
"dark_icon": "/public/img/Apps/dark_mode/advertising.webp",
"description": "Create advertising for your company",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "yellow_app"
},
{
"name": "Memes",
"icon": "/public/img/Apps/memes.png",
"light_icon": "/public/img/Apps/light_mode/memes.webp",
"dark_icon": "/public/img/Apps/dark_mode/memes.webp",
"description": "LOL Pics & GIFS Search Engine",
"stars": 4.6,
"age": 17,
"chart": 3,
"developer": "9GAG",
"language": "DE",
"language": "ENG",
"size": 91.2,
"redirect": "9gag"
},
@ -676,7 +678,7 @@
"age": 4,
"chart": 2,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "game_flappybird"
},
@ -688,7 +690,7 @@
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "game_swerve"
},
@ -700,7 +702,7 @@
"age": 4,
"chart": 48,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 353,
"redirect": "game_pacman"
},
@ -712,127 +714,137 @@
"age": 4,
"chart": 42,
"developer": "Lima Sky",
"language": "DE",
"language": "ENG",
"size": 632,
"redirect": "game_doodlejump"
},
{
"name": "TicTacToe",
"icon": "/public/img/Apps/tictactoe.png",
"light_icon": "/public/img/Apps/tictactoe.png",
"dark_icon": "/public/img/Apps/tictactoe.png",
"description": "Game for two!",
"stars": 4.9,
"age": 4,
"chart": 28,
"developer": "REMEMBERS",
"language": "DE",
"language": "ENG",
"size": 432,
"redirect": "game_tictactoe"
},
{
"name": "VisionTube",
"icon": "/public/img/Apps/visiontube.png",
"description": "Videos, Musik und Live-Streams",
"light_icon": "/public/img/Apps/light_mode/visiontube.webp",
"dark_icon": "/public/img/Apps/dark_mode/visiontube.webp",
"description": "Videos, Music and Live Streams",
"stars": 4.5,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 284,
"redirect": "youtube"
},
{
"name": "Garage",
"icon": "/public/img/Apps/valet.jpg",
"description": "Orte dein Auto oder lass es die liefern",
"name": "Valet",
"light_icon": "/public/img/Apps/light_mode/valet.webp",
"dark_icon": "/public/img/Apps/dark_mode/valet.webp",
"description": "Search and Deliver your Car",
"stars": 3.7,
"age": 17,
"chart": 3,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 452,
"redirect": "valet_app"
},
{
"name": "Music",
"icon": "/public/img/Apps/music.png",
"description": "Über 100 Millionen Songs",
"light_icon": "/public/img/Apps/light_mode/music.webp",
"dark_icon": "/public/img/Apps/dark_mode/music.webp",
"description": "Over 100 million songs.",
"stars": 4.3,
"age": 12,
"chart": 1,
"developer": "RoadShop",
"language": "US",
"language": "ENG",
"size": 138,
"redirect": "music"
},
{
"name": "Design Wallpapers",
"icon": "/public/img/Apps/design.png",
"description": "Hintergründe & Live-Hintergründe",
"light_icon": "/public/img/Apps/light_mode/design.webp",
"dark_icon": "/public/img/Apps/dark_mode/design.webp",
"description": "Backgrounds & Live Wallpapers",
"stars": 3.7,
"age": 12,
"chart": 174,
"developer": "Zedge",
"language": "DE",
"language": "ENG",
"size": 70,
"redirect": "zedge"
},
{
"name": "Crypto",
"icon": "/public/img/Apps/crypto.png",
"description": "Kryptowährungen kaufen, verkaufen und verwalten",
"light_icon": "/public/img/Apps/light_mode/crypto.webp",
"dark_icon": "/public/img/Apps/dark_mode/crypto.webp",
"description": "Buy, Sell & Manage Crypto",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "crypto_app"
},
{
"name": "Notes",
"icon": "/public/img/Apps/notes.png",
"description": "Man muss nur wissen wo es steht",
"light_icon": "/public/img/Apps/light_mode/notes.webp",
"dark_icon": "/public/img/Apps/dark_mode/notes.webp",
"description": "Take note of almost anything",
"stars": 4.3,
"age": 4,
"chart": 1,
"developer": "Apple",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "notes"
},
{
"name": "TweetWave",
"icon": "/public/img/Apps/tweetwave.png",
"light_icon": "/public/img/Apps/light_mode/tweetwave.webp",
"dark_icon": "/public/img/Apps/dark_mode/tweetwave.webp",
"description": "TweetWave, Inc.",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "twitter_app"
},
{
"name": "Connect",
"icon": "/public/img/Apps/instaconnect.png",
"light_icon": "/public/img/Apps/light_mode/instaconnect.webp",
"dark_icon": "/public/img/Apps/dark_mode/instaconnect.webp",
"description": "Connect, Inc.",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "instagram"
},
{
"name": "2048",
"icon": "/public/img/Apps/2048.png",
"light_icon": "/public/img/Apps/light_mode/2048.webp",
"dark_icon": "/public/img/Apps/dark_mode/2048.webp",
"description": "Fun and relaxing puzzle game",
"stars": 3.6,
"age": 12,
"chart": 57,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 54,
"redirect": "game_2048"
},
@ -844,49 +856,54 @@
"age": 12,
"chart": 3,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 54,
"redirect": "game_fruitninja"
},
{
"name": "News",
"icon": "/public/img/Apps/news.png",
"light_icon": "/public/img/Apps/light_mode/news.webp",
"dark_icon": "/public/img/Apps/dark_mode/news.webp",
"description": "Get the best news today!",
"stars": 4.3,
"age": 17,
"chart": 34,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 54,
"redirect": "news"
},
{
"name": "Taxi",
"icon": "/public/img/Apps/taxiapp.png",
"light_icon": "/public/img/Apps/light_mode/taxiapp.webp",
"dark_icon": "/public/img/Apps/dark_mode/taxiapp.webp",
"description": "Best Taxi App ever!",
"stars": 4.8,
"age": 17,
"chart": 2,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 23,
"redirect": "taxi_app"
},
{
"name": "CustomApp",
"icon": "/public/img/Apps/custom.jpg",
"light_icon": "/public/img/Apps/light_mode/custom.webp",
"dark_icon": "/public/img/Apps/dark_mode/custom.webp",
"description": "Some description about it",
"stars": 4.7,
"age": 17,
"chart": 1,
"developer": "RoadShop",
"language": "DE",
"language": "ENG",
"size": 12,
"redirect": "custom_app"
}
],
"backgrounds": {
"default": "/public/img/backgrounds/background54.png",
"default": "/public/img/backgrounds/26_Light.webp",
"26dark": "/public/img/backgrounds/26_Dark.webp",
"16max": "/public/img/backgrounds/background54.png",
"background5": "/public/img/backgrounds/background59.jpg",
"pink_dark": "/public/img/backgrounds/pink_dark.jpg",
"background22": "/public/img/backgrounds/azure_dark.jpg",
@ -921,8 +938,8 @@
"APP_OPEN_JOB_REQUIREMENT_TITLE": "Job Requirement",
"APP_OPEN_JOB_REQUIREMENT": "You do not have the required job for the app.",
"APP_OPEN_JOB_DISALLOW": "You have a job that is not allowed for the app.",
"CLOCK_APP_NAME": "Uhr",
"CLOCK_APP_TIMER_NOTIF_TITLE": "Timer gestartet",
"CLOCK_APP_NAME": "Clock",
"CLOCK_APP_TIMER_NOTIF_TITLE": "Timer Started",
"CLOCK_APP_TIMER_NOTIF_TEXT": "Your timer has started!",
"CLOCK_APP_STOPWATCH": "Stopwatch",
"CLOCK_APP_WORLDCLOCK": "WorldClock",
@ -1295,7 +1312,7 @@
"SETTINGS_APP_APPLEID_CONTACTABLE_TEXT": "These phone numbers and email addresses can be used to contact you via Message, VideoCall, Game Center and more.",
"SETTINGS_APP_APPLEID_CONTACTABLE_HEADER": "CONTACTABLE AT",
"SETTINGS_APP_APPLEID_NAME_HEADER": "NAME",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Name, Phone Numbers, Email",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Personal data",
"SETTINGS_APP_APPLEID_DATE_OF_BIRTH": "Date of Birth",
"SETTINGS_APP_APPLEID_NUMBER": "Number",
"SETTINGS_APP_APPLEID_NAME": "Name",
@ -1810,7 +1827,24 @@
"APP_MESSAGES_UNBLOCK_CALLER": "Unblock Caller",
"APP_CALL_LIST_BLOCK_CALLER": "Block Caller",
"APP_CALL_LIST_UNBLOCK_CALLER": "Unblock Caller",
"APP_CALL_LIST_BLOCK_COOLDOWN": "Please wait before block / unblock again."
"APP_CALL_LIST_BLOCK_COOLDOWN": "Please wait before block / unblock again.",
"APP_CONNECT_POST_DELETE": "Delete Post",
"APP_CONNECT_NOTIF_DELETE_ERROR": "Post could not be deleted",
"WEATHER_APP_WEATHER_TYPE_EXTRASUNNY": "Extra Sunny",
"WEATHER_APP_WEATHER_TYPE_CLEAR": "Clear",
"WEATHER_APP_WEATHER_TYPE_NEUTRAL": "Neutral",
"WEATHER_APP_WEATHER_TYPE_SMOG": "Smog",
"WEATHER_APP_WEATHER_TYPE_FOGGY": "Foggy",
"WEATHER_APP_WEATHER_TYPE_CLOUDS": "Clouds",
"WEATHER_APP_WEATHER_TYPE_OVERCAST": "Overcast",
"WEATHER_APP_WEATHER_TYPE_CLEARING": "Clearing",
"WEATHER_APP_WEATHER_TYPE_RAINING": "Raining",
"WEATHER_APP_WEATHER_TYPE_THUNDERSTORM": "Thunder Storm",
"WEATHER_APP_WEATHER_TYPE_BLIZZARD": "Blizzard",
"WEATHER_APP_WEATHER_TYPE_SNOWING": "Snowing",
"WEATHER_APP_WEATHER_TYPE_SNOWLIGHT": "Snowlight",
"WEATHER_APP_WEATHER_TYPE_CHRISTMAS": "Christmas",
"WEATHER_APP_WEATHER_TYPE_HALLOWEEN": "Halloween"
},
"de_DE": {
"APP_OPEN_JOB_REQUIREMENT_TITLE": "Job-Anforderung",
@ -2044,8 +2078,8 @@
"APP_BILLING_CARD_TOTAL_INVOICE_AMOUNT": "GESAMTRECHNUNGSBETRAG",
"APP_BILLING_BUTTON_PAY_ALL_INVOICES": "Alle Rechnungen bezahlen",
"APP_BILLING_BUTTON_PAY": "Diese Rechnung bezahlen",
"APP_BILLING_AMOUNT_NOTIFY": "Der Betrag für diese Rechnung beträgt $",
"APP_BILLING_MONEY_SIGN": "$",
"APP_BILLING_AMOUNT_NOTIFY": "Der Betrag für diese Rechnung beträgt ",
"APP_BILLING_MONEY_SIGN": "",
"LOCKSCREEN_REQUIRED_PIN_FACEID": "Dein Kennwort ist erforderlich, um Face Unlock zu aktivieren.",
"LOCKSCREEN_ENTER_PIN": "Kennwort eingeben",
"LOCKSCREEN_PIN_CANCEL": "Abbrechen",
@ -2105,7 +2139,7 @@
"APP_BANK_TRANSFER_MONEY": "GELD ÜBERWEISEN",
"APP_BANK_CARD_VALID": "GÜLTIG BIS",
"APP_BANK_TRANSACTIONS_TEXT": "Ihre Transaktionen einsehen",
"APP_BANK_MONEY_SIGN": "$",
"APP_BANK_MONEY_SIGN": "",
"APP_BANK_TRANSACTIONS_SYSTEM": "System",
"APP_MAIL_NAME": "Mail",
"APP_MAIL_MAIL_SENT": "E-Mail gesendet",
@ -2183,7 +2217,7 @@
"SETTINGS_APP_APPLEID_CONTACTABLE_TEXT": "Diese Telefonnummern und E-Mail-Adressen können verwendet werden, um dich über Message, VideoAnruf und mehr zu kontaktieren.",
"SETTINGS_APP_APPLEID_CONTACTABLE_HEADER": "ERREICHBAR UNTER",
"SETTINGS_APP_APPLEID_NAME_HEADER": "NAME",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Name, Handy-Nummer, E-Mail",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Persönliche Daten",
"SETTINGS_APP_APPLEID_DATE_OF_BIRTH": "Geburtsdatum",
"SETTINGS_APP_APPLEID_NUMBER": "Nummer",
"SETTINGS_APP_APPLEID_NAME": "Name",
@ -2384,7 +2418,7 @@
"APP_CRYPTO_CURRENCY": "USD",
"APP_CRYPTO_COINS": "MÜNZEN",
"APP_CRYPTO_TOTAL_BALANCE": "GESAMT-BILANZ",
"APP_CRYPTO_MONEY_SIGN": "$",
"APP_CRYPTO_MONEY_SIGN": "",
"APP_CRYPTO_YOU_CURRENTLY_HOLD": "Du besitzt derzeit",
"APP_CRYPTO_THESE_ARE_CURRENTLY_WORTH": "diese sind derzeit wert",
"APP_CRYPTO_BUY_QUESTION": "Wie viel willst du kaufen?",
@ -2640,6 +2674,8 @@
"TAXI_APP_YOUR_DRIVER": "Ihr Fahrer",
"TAXI_APP_NO_STATUS_AVAILABLE": "Kein Status verfügbar.",
"TAXI_APP_FINISH_HEADER": "Ankunft",
"TAXI_APP_NO_DRIVERS_AVAILABLE": "Keine Fahrer verfügbar",
"TAXI_APP_NO_DRIVERS_AVAILABLE_TEXT": "In deiner Gegend sind keine Fahrer verfügbar.",
"TAXI_APP_FINISH_TEXT": "Das Geld wird automatisch von Ihrem Bankkonto abgebucht, aber Sie können dem Taxifahrer noch ein kleines Trinkgeld geben.",
"TAXI_APP_DRIVING_HEADER": "Fahrt",
"TAXI_APP_DRIVING_TEXT": "Sie befinden sich nun in einem Taxi und der Fahrer bringt Sie zu Ihrem Ziel.",
@ -2651,13 +2687,28 @@
"TAXI_APP_WAITING_TEXT": "Sie haben ein Taxi angefordert, bitte warten Sie, bis jemand Ihre Anfrage akzeptiert.",
"TAXI_APP_WAITING_TEXT_DYNAMIC": "Bitte warten sie bis jemand ihre Anfrage akzeptiert.",
"APP_JOBS_NAME": "Jobs",
"TAXI_APP_MONEY_SIGN": "€",
"TAXI_APP_JOB_SELECT_DESTINATION": "Ziel:",
"TAXI_APP_JOB_SELECT_DISTANCE": "Distanz:",
"TAXI_APP_JOB_SELECT_PRICE": "Preis:",
"TAXI_APP_JOB_SELECT_ACCEPT": "Akzeptieren",
"TAXI_APP_JOB_SELECT_CALL": "Anrufen",
"TAXI_APP_JOB_SELECT_DECLINE": "Ablehnen",
"TAXI_APP_JOB_SELECT_CANCEL": "Abbrechen",
"TAXI_APP_JOB_SELECT_ARRIVED": "Angekommen",
"TAXI_APP_JOB_SELECT_PICKED_UP": "Aufgesammelt",
"TAXI_APP_JOB_SELECT_HEADER": "Job auswählen",
"TAXI_APP_TAXI_CAR_NAME": "Taxi",
"TAXI_APP_TAXI_CAR_PERSON_COUNT": "4",
"TAXI_APP_CANCEL_TAXI_CUSTOMER": "Cancel Taxi",
"SETTINGS_APP_ACCOUNT_ROADID": "Road ID",
"APP_JOBS_GPS_WAYPOINT_SET": "Du hast den Wegpunkt gesetzt",
"APP_PHOTOS_SHARE_IMAGE_SENT_HEADER": "Bild gesendet",
"APP_PHOTOS_SHARE_IMAGE_SENT_MESSAGE": "Bild wurde erfolgreich gesendet.",
"APP_PHOTOS_SHARE_VIDEO_SENT_HEADER": "Video gesendet",
"APP_PHOTOS_SHARE_VIDEO_SENT_MESSAGE": "Video wurde erfolgreich gesendet.",
"HOMESCREEN_EDIT_REPLACE_APP": "Möchten Sie die App auf Ihrem Homescreen ersetzen?",
"HOMESCREEN_EDIT_REMOVE_APP": "Durch das Entfernen vom Homescreen bleibt die App in Ihrer App-Mediathek erhalten.",
"HOMESCREEN_EDIT_REMOVE_APP": "Trotz entfernen vom Homescreen bleibt die App in Ihrer App-Mediathek erhalten.",
"HOMESCREEN_EDIT_OPEN_APP": "App öffnen",
"HOMESCREEN_EDIT_CANCEL_APP": "Abbrechen",
"HOMESCREEN_EDIT_DELETE_APP": "App löschen",
@ -2666,8 +2717,24 @@
"HOMESCREEN_EDIT_REMOVE_HOMESCREEN": "Vom Homescreen entfernen",
"HOMESCREEN_EDIT_REMOVE_TEXT": "Entfernen",
"HOMESCREEN_EDIT_FINISH_TEXT": "Fertig",
"SETTINGS_CALL_DISABLE_ANONYM_CALLERS": "Anonyme Anrufer deaktivieren"
"SETTINGS_CALL_DISABLE_ANONYM_CALLERS": "Anonyme Anrufer deaktivieren",
"APP_CONNECT_POST_DELETE": "Post löschen",
"APP_CONNECT_NOTIF_DELETE_ERROR": "Post konnte nicht gelöscht werden",
"WEATHER_APP_WEATHER_TYPE_EXTRASUNNY": "Strahlender Sonnenschein",
"WEATHER_APP_WEATHER_TYPE_CLEAR": "Klar",
"WEATHER_APP_WEATHER_TYPE_NEUTRAL": "Neutral",
"WEATHER_APP_WEATHER_TYPE_SMOG": "Smog",
"WEATHER_APP_WEATHER_TYPE_FOGGY": "Neblig",
"WEATHER_APP_WEATHER_TYPE_CLOUDS": "Wolkig",
"WEATHER_APP_WEATHER_TYPE_OVERCAST": "Bedeckt",
"WEATHER_APP_WEATHER_TYPE_CLEARING": "Auflockernd",
"WEATHER_APP_WEATHER_TYPE_RAINING": "Regnerisch",
"WEATHER_APP_WEATHER_TYPE_THUNDERSTORM": "Gewitter",
"WEATHER_APP_WEATHER_TYPE_BLIZZARD": "Schneesturm",
"WEATHER_APP_WEATHER_TYPE_SNOWING": "Schneefall",
"WEATHER_APP_WEATHER_TYPE_SNOWLIGHT": "Leichter Schneefall",
"WEATHER_APP_WEATHER_TYPE_CHRISTMAS": "Weihnachtswetter",
"WEATHER_APP_WEATHER_TYPE_HALLOWEEN": "Halloweenwetter"
},
"fr_FR": {
"APP_OPEN_JOB_REQUIREMENT_TITLE": "Exigence d'emploi",
@ -3020,7 +3087,7 @@
"SETTINGS_APP_APPLEID_CONTACTABLE_TEXT": "Ces numéros de téléphone et adresses e-mail peuvent être utilisés pour vous contacter via iMessage, VideoCall, Game Center et plus.",
"SETTINGS_APP_APPLEID_CONTACTABLE_HEADER": "CONTACTABLE AU",
"SETTINGS_APP_APPLEID_NAME_HEADER": "NOM",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Nom, numéros de téléphone, e-mail",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Données personnelles",
"SETTINGS_APP_APPLEID_DATE_OF_BIRTH": "Date de naissance",
"SETTINGS_APP_APPLEID_NUMBER": "Numéro",
"SETTINGS_APP_APPLEID_NAME": "Nom",
@ -3741,7 +3808,7 @@
"SETTINGS_APP_APPLEID_CONTACTABLE_TEXT": "Estos números de teléfono y direcciones de correo electrónico se pueden utilizar para contactarte a través de iMessage, FaceTime, Game Center y más.",
"SETTINGS_APP_APPLEID_CONTACTABLE_HEADER": "SE PUEDE CONTACTAR EN",
"SETTINGS_APP_APPLEID_NAME_HEADER": "NOMBRE",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Nombre, números de teléfono, correo electrónico",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Datos personales",
"SETTINGS_APP_APPLEID_DATE_OF_BIRTH": "Fecha de nacimiento",
"SETTINGS_APP_APPLEID_NUMBER": "Número",
"SETTINGS_APP_APPLEID_NAME": "Nombre",
@ -4999,7 +5066,7 @@
"SETTINGS_APP_APPLEID_CONTACTABLE_TEXT": "Te numery telefonów i adresy e-mail mogą być używane do kontaktowania się z Tobą przez iMessage, FaceTime, Game Center i inne.",
"SETTINGS_APP_APPLEID_CONTACTABLE_HEADER": "KONTAKTYWNY POD",
"SETTINGS_APP_APPLEID_NAME_HEADER": "NAZWA",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Imię i nazwisko, numery telefonów, adres e-mail",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Dane osobowe",
"SETTINGS_APP_APPLEID_DATE_OF_BIRTH": "Data urodzenia",
"SETTINGS_APP_APPLEID_NUMBER": "Liczba",
"SETTINGS_APP_APPLEID_NAME": "Nazwa",
@ -7068,7 +7135,7 @@
"SETTINGS_APP_APPLEID_CONTACTABLE_TEXT": "Questi numeri di telefono e indirizzi email possono essere utilizzati per contattarti tramite Messaggio, VideoChiamata, Game Center e altro.",
"SETTINGS_APP_APPLEID_CONTACTABLE_HEADER": "CONTATTABILE A",
"SETTINGS_APP_APPLEID_NAME_HEADER": "NOME",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Nome, Numeri di Telefono, Email",
"SETTINGS_APP_APPLEID_NAME_TEXT": "Dati personali",
"SETTINGS_APP_APPLEID_DATE_OF_BIRTH": "Data di Nascita",
"SETTINGS_APP_APPLEID_NUMBER": "Numero",
"SETTINGS_APP_APPLEID_NAME": "Nome",

View file

@ -6,42 +6,58 @@ QBCore.Functions.CreateCallback("roadphone:valet:getCars", function(source, cb)
return;
end
MySQL.Async.fetchAll("SELECT * FROM " .. Config.OwnedVehiclesTable .. " WHERE `citizenid` = @citizenid and type = @type and `impound` = @impound", {
['@impound'] = 0,
['@citizenid'] = xPlayer.PlayerData.citizenid,
['@type'] = "car"
}, function(result)
local cachedvehicles = {}
local result
for i = 1, #result do
table.insert(cachedvehicles, {
plate = result[i].plate,
vehicle = result[i].vehicle, -- result[i].vehicle,
type = 'car',
hash = result[i].hash,
garage = result[i].garage_id,
stored = result[i].in_garage
})
if Config.JGAdvancedGarages then
result = MySQL.Sync.fetchAll("SELECT * FROM " .. Config.OwnedVehiclesTable .. " WHERE `citizenid` = @identifier and `impound` = @impound", {
['@impound'] = 0,
['@identifier'] = xPlayer.PlayerData.citizenid
})
else
result = MySQL.Sync.fetchAll("SELECT * FROM " .. Config.OwnedVehiclesTable .. " WHERE `citizenid` = @identifier", {
['@identifier'] = xPlayer.PlayerData.citizenid
})
end
end
local cachedvehicles = {}
cb(cachedvehicles)
for i = 1, #result do
end)
local Garage = result[i].garage_id
table.insert(cachedvehicles, {
plate = result[i].plate,
vehicle = result[i].vehicle,
hash = result[i].hash,
garage = result[i].garage,
stored = result[i].state
})
end
cb(cachedvehicles)
end)
QBCore.Functions.CreateCallback('roadphone:valet:loadVehicle', function(source, cb, plate)
local valetCheck = valetServerSideCheck(plate)
local xPlayer = QBCore.Functions.GetPlayer(source)
if valetCheck ~= false then
cb(false, valetCheck)
return;
end
MySQL.Async.fetchAll('SELECT * FROM ' .. Config.OwnedVehiclesTable .. ' WHERE `plate` = @plate', {
['@plate'] = plate
if not xPlayer then
cb(false)
return;
end
MySQL.Async.fetchAll('SELECT * FROM ' .. Config.OwnedVehiclesTable .. ' WHERE `plate` = @plate AND `citizenid` = @identifier', {
['@plate'] = plate,
['@identifier'] = xPlayer.PlayerData.citizenid
}, function(vehicle)
cb(vehicle)
end)
@ -64,7 +80,7 @@ QBCore.Functions.CreateCallback('roadphone:valet:checkMoney', function(source, c
TriggerClientEvent("roadphone:sendNotification", source, {
apptitle = "APP_VALET_NAME",
title = "APP_VALET_CAR_ONTHEWAY",
img = "/public/img/Apps/valet.jpg"
img = "/public/img/Apps/light_mode/valet.webp"
})
discordLog("9807270", "Valet", xPlayer.PlayerData.name .. ' ' .. Lang:t('info.valet_car_delivered_2', { value = Config.ValetDeliveryPrice }), 'RoadPhone - Valet', nil, Cfg.ValetWebhook)
@ -74,7 +90,7 @@ QBCore.Functions.CreateCallback('roadphone:valet:checkMoney', function(source, c
TriggerClientEvent("roadphone:sendNotification", source, {
apptitle = "APP_VALET_NAME",
title = "APP_VALET_NOTENOUGHMONEY",
img = "/public/img/Apps/valet.jpg"
img = "/public/img/Apps/light_mode/valet.webp"
})
cb(false)
@ -85,8 +101,17 @@ end)
RegisterServerEvent("roadphone:valetCarSetOutside")
AddEventHandler("roadphone:valetCarSetOutside", function(plate)
MySQL.Async.execute('UPDATE '..Config.OwnedVehiclesTable..' SET `in_garage` = @in_garage WHERE `plate` = @plate', {
['@plate'] = plate,
['@in_garage'] = 0,
if Config.cdGarages or Config.JGAdvancedGarages then
MySQL.Async.execute('UPDATE '..Config.OwnedVehiclesTable..' SET `in_garage` = @in_garage WHERE `plate` = @plate', {
['@plate'] = plate,
['@in_garage'] = 0,
})
return
end
MySQL.Async.execute("UPDATE " .. Config.OwnedVehiclesTable .. " SET `state` = @stored WHERE `plate` = @plate", {
["@plate"] = plate,
["@stored"] = 0
})
end)