This commit is contained in:
Nordi98 2025-07-11 10:08:39 +02:00
parent 3e470d3240
commit c24f9e8d60
45 changed files with 18596 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,23 @@
local QBCore = exports["qb-core"]:GetCoreObject()
ScriptLoaded = false

local function StartScript()
while true do
Wait(1000)
if NetworkIsPlayerActive(PlayerId()) then
TriggerServerEvent("oph3z-motels:ReqData")
Wait(2000)
break
end
end
end

RegisterNetEvent("oph3z-motels:Update", function (table, loaded, table2)
Config.Motels = table
ScriptLoaded = loaded
if not table2 then
return
end
end)

Citizen.CreateThread(StartScript)

View file

@ -0,0 +1,165 @@
Config = {}

Config.Data = {
BuyMotelPass = false, -- If it's true, the motel purchase screen will be activated, and players can buy motels from that menu.
BuyMotel = vector3(313.24, -225.02, 54.22), -- The coordinates of the motel business sale menu can be set.
OwnerRoomSee = true, -- If it's true, the motel owner sees all the rooms and can enter and exit the rooms.
EmployesRoomSee = true, -- If it's true, motel employees see all the rooms and can enter and exit the rooms.
CustomersManage = true, -- If it's true, the room owner enables individuals to access the room management panel.
UseTarget = false, -- If it's true, the targeting system comes into play, and adaptation is made according to your own target.
Moneytype = "bank", -- In places such as purchasing a motel room or acquiring a motel business, the place where the payment will be deducted can be cash, bank, or cryptocurrency.
["VIP"] = 300000, -- The VIP Rooms stash amount! Config.Lang.["vip"] = "VIP" should be the same as rooms.type = "VIP", and they should all be the same.
["Middle"] = 200000, -- The Middle Rooms stash amount! Config.Lang.["middle"] = "Middle" should be the same as rooms.type = "Middle", and they should all be the same.
["Squatter"] = 50000, -- The Squatter Rooms stash amount! Config.Lang.["squatter"] = "Squatter" should be the same as rooms.type = "Squatter", and they should all be the same.
["VIPs"] = 40, -- The number of slots in the inventory of the VIP Room!
["Middles"] = 25, -- The number of slots in the inventory of the Middle Room!
["Squatters"] = 15, --The number of slots in the inventory of the Squatter Room!
EmployesSalaryTime = 0.5, -- If you write "1" for the wage interval of motel employees, it means they will receive their salary every hour.
EmployesOfflinePayment = false, -- You can enable or disable salary payments for motel employees while they are offline.
NoOwnedRentMotelAmount = 2, -- In the absence of a motel owner, a person can set the maximum number of rooms they can rent.
OwneRentMotelAmount = 1, -- When there is a motel owner, a person can set the maximum number of rooms they can rent.
MaxMotelBossAmount = 1, -- It determines the maximum number of motel businesses a person can purchase.
EmployesTax = true, -- If it's true, motel employees receive a share for each room they sell.
EmployesTaxAmount = 15, -- The share rate for motel employees per room they sell operates as a percentage.
FriendSystem = true, -- If it's true, the friend system operates, allowing individuals to add friends to their rooms.
FriendLimitV = 3, -- The maximum number of friends that can be added to a VIP room is determined.
FriendLimitM = 3, -- The maximum number of friends that can be added to a middle room is determined.
FriendLimitS = 3, -- The maximum number of friends that can be added to a squatter room is determined.
AcceptYuzdelik = 10, -- It sets the percentage of the requested amount from the room management section that needs to go to the cash register after being approved by the motel owner. The recommended percentage is 100.
SellMotelPass = true, -- If it's true, the motel owner can sell the motel back, and the price will be determined based on the availability of funds in the cash register. If there is no money in the cash register, the price will be set according to the SellPriceDefault settings.
SellMotelPrice = 0.5, -- If there is money in the cash register, it determines the amount by which the motel will be sold based on the current balance in the cash register.
SellMotelTax = 0.1, -- If the motel is sold, it sets the amount of tax to be paid, and the tax amount will be deducted accordingly.
SellPriceDeafult = 2000, -- If there is no money in the cash register when the motel is sold, it will be sold at a price that is half of the recommended selling price for the motel business.
TransferPass = true, -- If it's true, the motel business can be transferred to another player (ID) in the game.
Framework = "QBCore", -- OLDQBCore or QBCore
Inventory = "qb", -- ox or qb
Appearance = false,
}

Config.StashFunction = function(Motelid, Odano, OdaType)
if Config.Data.Inventory == "qb" then
StashSlots = tostring(OdaType.."s")
TriggerServerEvent("inventory:server:OpenInventory", "stash", Motelid..Odano, {
maxweight = Config.Data[OdaType],
slots = Config.Data[StashSlots],
})
TriggerEvent("inventory:client:SetCurrentStash", Motelid..Odano)
end


if Config.Data.Inventory == "ox" then
if exports.ox_inventory:openInventory('stash', "Motel_"..Motelid..'_'..Odano) == false then
TriggerServerEvent('ox:loadStashes')
exports.ox_inventory:openInventory('stash', "Motel_"..Motelid..'_'..Odano)
end
end
end

Config.WardrobeFunction = function ()
if Config.Data.Appearance then
TriggerEvent("fivem-appearance:Oph3zMotel")
else
TriggerServerEvent("InteractSound_SV:PlayOnSource", "Clothes1", 0.4)
TriggerEvent('qb-clothing:client:openOutfitMenu')
end

end

Config.DrawText3D = function (msg, coords)
AddTextEntry('esxFloatingHelpNotification', msg)
SetFloatingHelpTextWorldPosition(1, coords)
SetFloatingHelpTextStyle(1, 1, 2, -1, 3, 0)
BeginTextCommandDisplayHelp('esxFloatingHelpNotification')
EndTextCommandDisplayHelp(2, false, false, -1)
end

Config.Notify = function(text, type, time)
if text == nil then
text = "ERROR404"
end
if type == nil then
type = "primary"
end
if time == nil then
time = 5000
end
QBCore.Functions.Notify(text, type, time)
end

Config.ServerNotify = function(src, text, type, time)
if text == nil then
text = "ERROR404"
end
if type == nil then
type = "primary"
end
if time == nil then
time = 5000
end
TriggerClientEvent('QBCore:Notify', src, text, type, time)
end

Config.Maps = {
["VIP1"] = {
exportName = "GetExecApartment2Object",
out = vector3(-779.08, 339.69, 196.69),
manage = vector3(-777.21, 331.06, 196.09),
stash = vector3(-766.01, 330.97, 196.09),
wardrobe = vector3(-764.74, 329.01, 199.49),
ThemeData = {
modern = {interiorId = 227585, ipl = "apa_v_mp_h_01_b"},
moody = {interiorId = 228353, ipl = "apa_v_mp_h_02_b"},
vibrant = {interiorId = 229121, ipl = "apa_v_mp_h_03_b"},
sharp = {interiorId = 229889, ipl = "apa_v_mp_h_04_b"},
monochrome = {interiorId = 230657, ipl = "apa_v_mp_h_05_b"},
seductive = {interiorId = 231425, ipl = "apa_v_mp_h_06_b"},
regal = {interiorId = 232193, ipl = "apa_v_mp_h_07_b"},
aqua = {interiorId = 232961, ipl = "apa_v_mp_h_08_b"}
}
},

["VIP2"] = { --APART3
exportName = "GetExecApartment3Object",
out = vector3(-781.8, 318.01, 187.91),
manage = vector3(-783.82, 326.69, 187.31),
stash = vector3(-795.0, 326.75, 187.31),
wardrobe = vector3(-797.53, 328.1, 190.72),
ThemeData = {
modern = {interiorId = 227585, ipl = "apa_v_mp_h_01_b"},
moody = {interiorId = 228609, ipl = "apa_v_mp_h_02_c"},
vibrant = {interiorId = 229377, ipl = "apa_v_mp_h_03_c"},
sharp = {interiorId = 230145, ipl = "apa_v_mp_h_04_c"},
monochrome = {interiorId = 230913, ipl = "apa_v_mp_h_05_c"},
seductive = {interiorId = 231681, ipl = "apa_v_mp_h_06_c"},
regal = {interiorId = 232449, ipl = "apa_v_mp_h_07_c"},
aqua = {interiorId = 233217, ipl = "apa_v_mp_h_08_c"}
},
},
["Middle1"] = { --onyle strip and booze
exportName = "GetGTAOApartmentHi2Object",
out = vector3(-1457.55, -519.95, 56.93),
manage = vector3(-1465.47, -533.92, 55.53),
stash = vector3(-1457.19, -529.63, 56.94),
wardrobe = vector3(-1468.05, -537.97, 50.73)
},

["Middle2"] = { --onyle strip and booze
exportName = "GetGTAOHouseMid1Object",
out = vector3(346.55, -1013.24, -99.2),
manage = vector3(342.36, -1001.98, -99.2),
stash = vector3(351.96, -998.81, -99.2),
wardrobe = vector3(350.79, -993.59, -99.19)
},
["Squatter1"] = {
out = vector3(265.87, -1007.59, -101.01),
manage = vector3(265.89, -999.58, -99.01),
stash = vector3(262.89, -1002.92, -99.01),
wardrobe = vector3(259.88, -1004.05, -99.01),
},
["Squatter2"] = {
out = vector3(265.87, -1007.59, -101.01),
manage = vector3(265.89, -999.58, -99.01),
stash = vector3(262.89, -1002.92, -99.01),
wardrobe = vector3(259.88, -1004.05, -99.01),
},
}

View file

@ -0,0 +1,82 @@
Config.Langue = {
["NotPermissionsMotelSell"] = {"This motel is not available for sale", "error", 5000},
["NotPermissionsMotelTransfer"] = {"This motel is not available for transfer", "error", 5000},
["RoomTimeExpired"] = {"This motel is not available for transfer", "error", 5000},
["RoomTimeUp"] = {"Your motel room's duration has been extended.", "success", 5000},
["InsufficientBankFunds"] = {"You don't have enough money in your bank account.", "error", 5000},
["InsufficientCashFunds"] = {"You don't have enough cash on hand.", "error", 5000},
["AlreadyOwnerEmployess"] = {"The person you are trying to hire is already the owner.", "error", 5000},
["PlayerNotFound"] = {"Player not found", "error", 5000},
["NotEnoughMoneySalary"] = {"Your salary could not be paid. There is not enough money in the motel cash register.", "error", 5000},
["NotEnoughMoney"] = {"We don't have enough money in our motel business for this transaction.", "error", 5000},
["RoomExitExpired"] = "Your motel room has been removed because your stay expired and your last location was in the room.",
["UpgradeRoom"] = function(roomNumber, roomType)
return {"The type of motel room "..roomNumber.." has been changed to "..roomType.."", "success", 5000}
end,
["RoomRepaired"] = function(roomNumber)
return {"Room Repaired: Room "..roomNumber.." has been successfully reopened for use.", "success", 5000}
end,
["UpgradeRoomRequest"] = function(roomNumber, roomType)
return {"You have requested a change of type for the motel room "..roomNumber.." to "..roomType.."", "success", 5000}
end,
["CancelRequest"] = function(roomNumber)
return {"You have rejected the room modification request for room number "..roomNumber..".", "success", 5000}
end,
["EmployesSalary"] = function(salary)
return {"Your motel business salary has been paid. Received salary: $"..salary..".", "success", 5000}
end,
["NotEnoughMoneySalaryOwner"] = function(motelName)
return {"Due to insufficient funds in the cash register of "..motelName.." motel, employees' salaries cannot be paid.", "error", 5000}
end,
["MaxMotelBuznizLimit"] = function(motelCount)
return {"You cannot purchase more motel businesses. You already have a total of "..motelCount.." motel businesses.", "error", 5000}
end,
["MaxMotelRoomLimit"] = function(motelCount)
return {"You cannot purchase more motel room. You already have a total of "..motelCount.." motel room.", "error", 5000}
end,
["MaxMotelRoomFriendsimit"] = function(motelCount)
return {"You cannot purchase more motel room. You already have a total of "..motelCount.." motel room.", "error", 5000}
end,
["PurchaseMotelSuccess"] = function(motelName)
return {"You have successfully purchased the motel business named "..motelName..". Have a great day!", "success", 5000}
end,
["SaveDashboard"] = function(motelName)
return {"You have successfully changed the motel name to "..motelName..".", "success", 5000}
end,
["MotelSellSuccess"] = function(motelName, sellPrice, tax, addPrice)
return {"Motel Sale"..motelName.." has been sold. Sales Price: $"..sellPrice.."Tax: $"..tax.."Total Amount: $"..addPrice.."Thank you for your purchase.", "success", 5000}
end,
["MotelTransferSuccess"] = function(motelName, transferFirstName, transferLastName)
return {"Motel Transfer: You have transferred your motel to "..transferFirstName.." "..transferLastName..".\n\nMotel Name: "..motelName, "success", 5000}
end,
["MotelTransferSuccess2"] = function(motelName)
return {"Motel Transfer The motel named "..motelName.." has been transferred to you.", "success", 5000}
end,
["AcceptRoomOffer"] = function(motelName, roomNumber, price)
return {"Motel Room Rental You have rented room number "..roomNumber.." at "..motelName.." for $"..price..".\n\nHave a great day!", "success", 5000}
end,
["AlreadyFriends"] = function(firstName, lastName)
return {"Already Friends", firstName.." "..lastName.." is already added as a friend to this motel room.", "error", 5000}
end,
["AddFriendsSuccess"] = function(firstName, lastName)
return {"Friend Added: You have successfully added "..firstName.." "..lastName.." as a friend.", "success", 5000}
end,
["KickFriendSuccess"] = function(firstName, lastName)
return {"Friend Kicked: You have successfully kicked "..firstName.." "..lastName.." from the room.", "success", 5000}
end,
["RankDownSuccess"] = function(name)
return {"Rank Down: The rank of "..name.." has been decreased.", "success", 5000}
end,
["RankUpSuccess"] = function(name)
return {"Rank Up: The rank of "..name.." has been increased.", "success", 5000}
end,
["SalaryChangeSuccess"] = function(name, newsalary)
return {"Salary Change: The salary of "..name.." has been updated to $"..newsalary..".", "success", 5000}
end,
["AlreadyEmployee"] = function(name)
return {"The person you are trying to hire, "..name..", is already an employee.", "error", 5000}
end,
["JobOfferAccepted"] = function (motelname)
return {"Job Offer: You have accepted the job offer from "..motelname.." motel.", "success", 5000}
end
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,123 @@
Config.Lang = {
-------------- Motel Rent Screen UI Translate --------------

["motel_information"] = "INFORMATIONEN ZU MOTELZIMMERN",
["motel_information_text"] = "Fermentum convallis lacus lectus ut. Posuere augue pellentesque elementum a id sit. Tellus adipiscing diam",
["motel_rooms_header"] = "Motelzimmer",
["vip_rooms_text"] = "VIP-Zimmer",
["middle_rooms_text"] = "Standardzimmer",
["squatter"] = "Einfach", -- Muss mit Config.type = "Squatter" übereinstimmen
["middle"] = "Standard", -- Muss mit Config.type = "Middle" übereinstimmen
["vip"] = "VIP", -- Muss mit Config.type = "VIP" übereinstimmen
["squatter_rooms_text"] = "Einfache Zimmer",
["total_rooms_text"] = "Gesamtanzahl der Motelzimmer",
["available_motel_rooms"] = "Verfügbare Motelzimmer",
["squatter_rooms_descrip"] = "Einfache Zimmer mit normalem Zugang",
["middle_rooms_descrip"] = "Standardzimmer mit normalem Zugang",
["vip_rooms_descrip"] = "Eines der besten Zimmer mit VIP-Zugang",
["no"] = "NR", -- Zimmernummer
["rent"] = "Mieten",
["rented"] = "Vermietet",
["disabled"] = "Deaktiviert",
["room"] = "ZIMMER",
["exit_text_openmotel"] = "VERLASSEN",

-------------- Boss Menu UI Translate --------------

["motel_information_bossmenu"] = "INFORMATIONEN ZU MOTELZIMMERN",
["motel_information_bossmenu_text"] = "Fermentum convallis lacus lectus ut. Posuere augue pellentesque elementum a id sit. Tellus adipiscing diam",
["exit"] = "VERLASSEN",
["dashboard"] = "Übersicht",
["employee"] = "Mitarbeiter",
["company"] = "Firma",
["nearby_players"] = "Spieler in der Nähe",
["motel_care"] = "Motelpflege",
["request"] = "Anfragen",
["pricetext"] = "Preis",
["dashboard_second"] = "ÜBERSICHT",
["total_rooms"] = "GESAMTE MOTELZIMMER",
["available_rooms"] = "VERFÜGBARE MOTELZIMMER",
["total_employeeleft"] = "Mitarbeiter",
["total_employee"] = "GESAMTE MITARBEITER",
["rooms"] = "ZIMMER",
["employee_second"] = "MITARBEITER",
["save"] = "Speichern",
["motel_sell"] = "Motel verkaufen",
["transfer_motel"] = "Motel übertragen",
["invite"] = "Einladen",
["name"] = "Name:",
["rank"] = "Rang:",
["salary"] = "Gehalt:",
["rankup"] = "Rang ändern:",
["action"] = "Aktion:",
["employees_invite"] = "MITARBEITER EINLADEN",
["company_second"] = "FIRMA",
["company_balance"] = "Firmenkonto",
["withdraw"] = "ABHEBEN",
["withdraw_second"] = "Abheben",
["deposit"] = "EINZAHLEN",
["deposit_second"] = "Einzahlen",
["company_history"] = "FIRMENVERLAUF",
["deposit_text_description"] = "Geld wurde auf dein Konto eingezahlt",
["withdraw_text_description"] = "Geld wurde von deinem Konto entfernt",
["customer_header"] = "KUNDEN",
["rented_time"] = "Mietbeginn:",
["room_number"] = "Zimmernummer:",
["money_to_pay"] = "Zu zahlender Betrag:",
["phone_number"] = "Telefonnummer:",
["nearby_players_header"] = "SPIELER IN DER NÄHE",
["choose_room"] = "Zimmer wählen",
["select"] = "Auswählen",
["enter_price"] = "Preis eingeben",
["enter_day"] = "Zeit eingeben (Stunden)",
["accept"] = "Akzeptieren",
["cancel"] = "Abbrechen",
["decline"] = "Ablehnen",
["motel_care_header"] = "MOTELPFLEGE",
["motel_roomU"] = "MOTELZIMMER",
["upgrade"] = "Aufwerten",
["fix_it"] = "Reparieren",
["lvl"] = "Lvl",
["motel_req"] = "Motelanfragen",
["type"] = "Typ: ",
["theme"] = "Stil: ",
["extras"] = "Extras: ",
["none"] = "Keine",
["no2"] = "Nr: ",
["motel_name"] = "Motelname",
["motel_room_number"] = "Zimmernummer",
["motel_room_time"] = "Mietdauer",
["motel_room_price"] = "Zimmerpreis",
["motel_room_req"] = "lädt dich in ein Motelzimmer ein",
["motel_room_type"] = "Zimmertyp",
["room_invite_text"] = "möchte Freunde in ein Motelzimmer einladen",
["fix_motel_descrip"] = "Willst du Zimmer Nr. reparieren?",
["motel_room"] = "Motelzimmer",
["fix_motel_room_price"] = "Preis anpassen",
["vip_motel_room"] = "VIP-MOTELZIMMER",
["room_upgrade"] = "ZIMMER-AUFWERTUNG",
["choose_style"] = "Stil wählen",
["choose_wall"] = "Extra wählen",
["active"] = "Aktiv",


-------------- BUY Motel UI Translate --------------
["activetotalroomstext"] = "Anzahl aktiver Zimmer",
["totaltotalroomstext"] = "Gesamtanzahl Zimmer",
["damagedtotalroomstext"] = "Anzahl beschädigter Zimmer",
["pricetxt"] = "PREIS",
["buy"] = "Kaufen",
["sold"] = "Verkauft",


-------------- Management UI Translate --------------
["managamentheader"] = "Verwaltung",
["nearbyplayersh"] = "Spieler in der Nähe",
["friendsheader"] = "Freunde",
["requestheader"] = "Anfragen",
["friendstextlower"] = "Freund hinzufügen",
["invitetexylower"] = "Freunde einladen",
["firendskicktext"] = "Entfernen",
["managementtimeleft"] = "Frist:",
["managementsave"] = "Speichern",
}

View file

@ -0,0 +1,36 @@
fx_version 'cerulean'
game 'gta5'

description 'FiveM motel script made by Oph3Z & Yusuf'
discord 'https://discord.gg/Pnq5R4HszK'
author 'oph3z & yusufkaracolak'

client_scripts {
'client/*.lua',
}

server_scripts {
'@oxmysql/lib/MySQL.lua',
'server/*.lua',
}

shared_scripts {
'config/config.lua',
'config/config_langue.lua',
'config/lang.lua',
'config/config_motels.lua'
}

ui_page {
'html/index.html'
}

files {
'html/style.css',
'html/index.html',
'html/script.js',
'html/img/*.png',
'html/img/*.svg',
'html/img/*.gif'
}
lua54 "yes"

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 KiB

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: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

View file

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4 9L12 3L20 9H4ZM4 21H13V17H4V21ZM15 21H20V17H15V21ZM4 15H9V11H4V15ZM11 15H20V11H11V15Z" fill="white" fill-opacity="0.3"/>
</svg>

After

Width:  |  Height:  |  Size: 236 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -0,0 +1,25 @@
<svg width="81" height="97" viewBox="0 0 81 97" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_184_1364)">
<path d="M7 0H80.2884V96.9993L43.6442 72.2106L7 96.9993V0Z" fill="url(#paint0_linear_184_1364)"/>
<path d="M43.0403 71.3179L8.07777 94.969V1.07777H79.2106V94.969L44.2481 71.3179L43.6442 70.9094L43.0403 71.3179Z" stroke="url(#paint1_linear_184_1364)" stroke-width="2.15554"/>
</g>
<defs>
<filter id="filter0_d_184_1364" x="0.53338" y="0" width="79.755" height="96.999" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="-6.46662"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.31 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_184_1364"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_184_1364" result="shape"/>
</filter>
<linearGradient id="paint0_linear_184_1364" x1="43.6442" y1="1.47106e-06" x2="95.6798" y2="101.032" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFB800"/>
<stop offset="1" stop-color="#FF8A00"/>
</linearGradient>
<linearGradient id="paint1_linear_184_1364" x1="43.6442" y1="0" x2="43.6442" y2="96.9993" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white" stop-opacity="0.33"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,732 @@
<html>

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<link href='https://fonts.googleapis.com/css?family=Barlow' rel='stylesheet'>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css" />
<script src="nui://game/ui/jquery.js" type="text/javascript"></script>
<script src="script.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>

<title>oph3z-motels</title>
</head>

<body>
<div class="rent-motel-rooms">
<div class="header">
<div class="motelisim">
<h1 id="motelkonum">LOS SANTOS</h1>
<h1 id="motelname">YUCCA MOTEL</h1>
</div>
<div class="cizgi"></div>
<div class="aciklama">
<h3 id="motelinformation">MOTEL ROOMS INFORMATION</h3>
<span id="mi-description">Fermentum convallis lacus lectus ut. Posuere augue pellentesque elementum a id sit. Tellus adipiscing diam</span>
</div>
<div class="close">
<p id="exit-text-openmenu">EXIT</p>
<div class="icon" id="closebro">
<img src="./img/close.png" alt="">
</div>
</div>
</div>
<div class="middlebar">
<div class="icon">
<img src="./img/zil.svg" alt="" id="zil">
</div>
<h1 id="motel-rooms-header">motel rooms</h1>
<div class="ortabutton">
<div class="viprooms">
<span class="viprooms-img-text" id="category-item" name="roomsbar3">
<img src="./img/gray-vip.png" alt="" id="vipimg">
<span class="anan3">VIP Rooms</span>
</span>
</div>
<div class="middlerooms">
<span class="middlerooms-img-text" id="category-item" name="roomsbar2">
<img src="./img/middle.svg" alt="" id="middleimg">
<span class="anan2">Middle Rooms</span>
</span>
</div>
<div class="pwodalari badroomclick">
<span class="pwodalar" id="category-item" name="roomsbar">
<img src="./img/black-squatter.png" alt="" id="squatterimg">
<span class="anan badroomclick2" id="ananlar">Squatter's Rooms</span>
</span>
</div>
<div class="sigtir" name="sigtir" id="category-item"></div>
</div>
<div class="moteldec">
<div class="totalrooms">
<div class="icon">
<img src="./img/door.svg" alt="">
<div class="iconbg"></div>
</div>
<h1 id="totalroomsnumberfalan">30 Rooms</h1>
<p id="total-motel-rooms">Total Motel Rooms</p>
</div>
<div class="availablerooms">
<div class="icon">
<img src="./img/door.svg" alt="">
<div class="iconbg"></div>
</div>
<h1 id="activeroomsnumberfalan"> 12 Rooms</h1>
<p id="availablemotelrooms">Available Motel Rooms</p>
</div>
</div>
</div>

<div class="roomsbar" id="scrollolacak">
<!-- <div class="rooms">
<img src="./img/roomsback.png">
<span class="no-text">NO</span>
<span class="oda-no">01</span>
<span class="room-header">VIP MOTEL ROOM</span>
<span class="room-descript">One of the best room with VIP access</span>
<div class="rent-button-vip">
<span>Rent</span>
</div>
</div> -->
</div>

<div class="roomsbar2" id="scrollolacak">
<!-- <div class="rooms2">
<img src="./img/roomsback.png">
<span class="no-text2">NO</span>
<span class="oda-no2">01</span>
<span class="room-header2">VIP MOTEL ROOM</span>
<span class="room-descript2">One of the best room with VIP access</span>
<div class="rent-button-vip2">
<span>Rent</span>
</div>
</div> -->
</div>

<div class="roomsbar3" id="scrollolacak">
<!-- <div class="rooms3">
<img src="./img/roomsback.png">
<span class="no-text3">NO</span>
<span class="oda-no3">01</span>
<span class="room-header3">VIP MOTEL ROOM</span>
<span class="room-descript3">One of the best room with VIP access</span>
<div class="rent-button-vip3">
<span>Rent</span>
</div>
</div> -->
</div>
</div>

<div class="bossmenu">
<div class="header">
<div class="motelisimbossmenu">
<h1 id="motelkonumbosmenmu">LOS SANTOS</h1>
<h1 id="moteisim">YUCCA MOTEL</h1>
</div>
<div class="cizgi"></div>
<div class="aciklama">
<h3 id="bossmenu-motel-information">MOTEL ROOMS INFORMATION</h3>
<span id="bossmenu-motel-information-text">Fermentum convallis lacus lectus ut. Posuere augue pellentesque elementum a id sit. Tellus adipiscing diam</span>
</div>
<div class="close" id="closebro2">
<p id="exit-text">EXIT</p>
<div class="icon">
<img src="./img/close.png" alt="">
</div>
</div>
</div>

<div class="left-menu">
<div class="dashboard" id="left-menu-item">
<img src="./img/dashboard-icon.png" class="dashboard-icon">
<span id="dashboard-text">Dashboard</span>
</div>
<div class="employees" id="left-menu-item">
<img src="./img/employee-icon.png" class="employee-icon">
<span id="employee-textleft">Employees</span>
</div>
<div class="company" id="left-menu-item">
<img src="./img/company-icon.png" class="company-icon">
<span id="company-text">Company</span>
</div>
<div class="customer" id="left-menu-item">
<img src="./img/user-icon.png" class="customer-icon">
<span id="customer-text">Customers</span>
</div>
<div class="nearby-players" id="left-menu-item">
<img src="./img/nearby-icon.png" class="nearby-icon">
<span id="nb-text">Nearby Players</span>
</div>
<div class="motelcare" id="left-menu-item">
<img src="./img/motelcare-icon.png" class="motelcare-icon">
<span id="mc-text">Motel care</span>
</div>
<div class="motelcare2" id="left-menu-item">
<img src="./img/motelcare-icon.png" class="motelcare-icon2">
<span id="request-text">Requets</span>
</div>
</div>
<div class="dashboardmenu">
<h1 id="d-title">DASHBOARD</h1>
<div class="d-total-rooms">
<span id="total-motel-rooms-text">TOTAL MOTEL ROOMS</span>
<p>25 ROOMS</p>
</div>
<div class="d-available-rooms">
<span id="available-motel-rooms-text">AVAILABLE MOTEL ROOMS</span>
<p id="openbossmenuactiverooms">12 ROOMS</p>
</div>
<div class="total-customers">
<span id="employee-text">TOTAL EMPLOYESS</span>
<p>8 EMPLOYESS</p>
</div>
<input type="text" id="chancemotelname" placeholder="Motel name...">
<input type="number" id="transfermotelid" placeholder="Player ID...">
<div class="savebtn" id="dashboardsave">
<h4 id="save-text">Save</h4>
</div>
<div class="savebtn2" id="dashboardsavesel">
<h4 id="motel-sell-text">Motel Sell</h4>
</div>
<div class="savebtn3" id="dashboardsavetransfer">
<h4 id="transfer-motel-text">Transfer Motel</h4>
</div>
</div>

<div class="employeesmenu">
<h1 id="e-title">EMPLOYESS</h1>
<div class="e-invitebtn">
<h4 id="invite-text">Invite</h4>
</div>
<div class="e-list-title">
<span id="e-name">Name:</span>
<span id="e-rank">Rank:</span>
<span id="e-salary">Salary:</span>
<span id="e-rankud">Rank Up/Down:</span>
<span id="e-action">Action:</span>
</div>
<div class="e-list-body">
<div class="e-employees-list">
<h2 id="e-e-l-name">Brenden Randall</h2>
<h2 id="e-e-l-rank">Manager</h2>
<input type="number" id="player-salary" class="player-salaryinput" placeholder="$10,000">
<i class="fa-solid fa-check" id="accept-salary"></i>
<!-- <h2 id="e-e-l-salary">10.000$</h2> -->
<div class="rankdown-icon">
<img src="img/rankdown.svg" alt="" id="rankdown">
</div>
<div class="rankup-icon">
<img src="img/rankup.svg" alt="" id="rankup">
</div>
<div class="action-icon">
<img src="img/kick.svg" alt="">
</div>
</div>
</div>

<div class="employee-invite">
<span id="employees_invite">EMPLOYEES INVITE</span>
<div class="nearby-players-employee">
<!-- <div class="npe-list">
<span>Brenden Randall</span>
<div class="invite-button-npe"> <span>Invite</span> </div>
</div> -->
</div>
</div>
</div>

<div class="companymenu">
<h1 id="d-title" class="companyfalanbarisoropsu">COMPANY</h1>
<div class="c-dashboard">
<span id="company-balance-text">Company Balance</span>
<p>$ 56.540.000</p>
</div>

<div class="withdraw">
<span class="w-text">WITHDRAW</span>
<input type="number" id="w-amount" placeholder="Amount...">
<button id="w-submit">Withdraw</button>
</div>
<div class="deposit">
<span class="d-text">DEPOSIT</span>
<input type="number" id="d-amount" placeholder="Amount...">
<button id="d-submit">Deposit</button>
</div>
<div class="company-history">
<span class="c-text">COMPANY HISTORY</span>
<div class="history">
<div class="h-list">
<img src="./img/money-green.png">
<span>Money has been added to your account.</span>
<p>$30.000.000</p>
</div>
</div>
</div>
</div>

<div class="customersmenu">
<h1 id="c-title">CUSTOMERS</h1>
<input type="text" id="search-customers" placeholder="Search customers...">
<div class="c-list-title">
<span id="c-name">Name:</span>
<span id="c-rank">When he rented:</span>
<span id="c-salary">Room number:</span>
<span id="c-rankud">Money to Pay:</span>
<span id="c-phonenumber">Phone Number:</span>
<span id="c-action">Action:</span>
</div>
<div class="c-list-body">
<div class="c-customers-list">
<!-- <h2 id="c-c-l-name">Tyler Baris</h2>
<h2 id="c-c-l-date">2023-05-12 22:26:00</h2>
<h2 id="c-c-l-room">1(VIP)</h2>
<h2 id="c-c-l-money">$1</h2>
<h2 id="c-c-l-phone">333-3333</h2>
<div class="c-action-icon">
<img src="img/kick.svg" alt="">
</div> -->
</div>
</div>
</div>

<div class="nearby-players-cat">
<h1 id="n-title">NEARBY PLAYERS</h1>
<div class="n-list-title">
<span id="n-name">Name:</span>
<span id="n-action">Action:</span>
</div>
<div class="n-list-body" id="scrollolacak">
<!-- <div class="n-np-list">
<h2 id="n-n-l-name">Brenden Randall</h2>
<div class="invite-button-np"> <span>Invite</span> </div>
</div> -->
</div>
<div class="np-invite-settings">
<span class="nis-name-text">Name</span>
<span class="nis-name">Brenden Randall</span>
<div class="nis-cizgi"></div>
<span class="nis-id-text">ID</span>
<span class="nis-id">2543</span>

<span class="nis-chooseroom">Choose a Room</span>
<div class="nis-cizgi2"></div>
<span class="nis-select">Select</span>

<div class="nis-rooms" id="scrollolacak">
<div class="nis-rooms-list">
<span class="nrl-text">NO 1 ( VIP )</span>
</div>
</div>

<span class="enterprice">Enter a Price</span>
<input type="number" id="nearby-players-settings-price" placeholder="$5000">

<span class="enterday">Enter a Time (Hour)</span>
<input type="number" id="nearby-players-settings-time" placeholder="1 Hour">

<div class="npc-accept">
<span id="accept-text">Accept</span>
</div>
<div class="npc-cancel">
<span id="cancel-text">Cancel</span>
</div>
</div>
</div>


<div class="motel-care-menu">
<h1 id="motel-care-header2">MOTEL CARE</h1>
<div class="motel-care-room-list" id="motelcare-scrollolacak">
<div class="motel-care-rooms">
<img src="./img/motelcare-backrooms.png">
<span class="motel-care-room-header">VIP MOTEL ROOM</span>
<span class="motel-care-room-descript">One of the best room with VIP access</span>
<span class="motel-core-no-text">NO</span>
<span class="motel-core-oda-no">01</span>
<span class="motel-core-level-text">Lvl</span>
<span class="motel-core-oda-level">2</span>
<div class="motel-care-upgrade-button">
<span>Upgrade</span>
</div>
</div>
<div class="motel-care-rooms">
<img src="./img/motel-care-fixit.png">
<span class="motel-care-room-header">VIP MOTEL ROOM</span>
<span class="motel-care-room-descript">One of the best room with VIP access</span>
<span class="motel-core-fixit-no-text">NO</span>
<span class="motel-core-fixit-no">11</span>
<div class="motel-care-fixit-button">
<span>Fix it</span>
</div>
</div>
</div>
</div>

<div class="motel-care-menu-request">
<h1 id="motel-request-text2">Motel Requests</h1>
<div class="request-list" id="motelcare-scrollolacak">
<!-- <div class="requests">
<img src="" class="barisinbiip">
<span class="r-header">Requests</span>
<span class="requests-text">Theme: Moody -- Extras: Strip, Boze</span>
<div class="r-accept"> <span>Accept</span> </div>
<div class="r-decline"> <span>Decline</span> </div>
</div> -->
</div>
</div>
</div>

<div class="send-room-soru">

<div class="motel-name-container-soru">
<span class="motelname">Motel Name</span>
<span id="motel-name2">Oph3Z Motel</span>
</div>

<div class="motel-name-room-container-soru">
<span class="motelroom">Motel Room Number</span>
<span id="motel-room2">17 ( VIP )</span>
</div>

<div class="motel-name-time-container-soru">
<span class="moteltime">Motel Room Time</span>
<input type="number" id="motel-time-input" placeholder="?">

<span id="motel-time-input-text">0</span>
</div>

<div class="motel-name-price-container-soru">
<span class="motelprice">Motel Room Price</span>
<span id="motel-price-soru">?</span>
</div>

<div class="sri-accept-soru">
<span>Accept</span>
</div>

<div class="sri-decline-soru">
<span>Cancel</span>
</div>
</div>
<div class="send-room-invite">
<span class="sri-text">BRENDEN RANDALL <span>invites you to rent a motel room</span> </span>
<div class="motel-name-container">
<span class="motelname">Motel Name</span>
<span id="motel-name">Oph3Z Motel</span>
</div>

<div class="motel-name-room-container">
<span class="motelroom">Motel Room Number</span>
<span id="motel-room">17 ( VIP )</span>
</div>

<div class="motel-name-time-container">
<span class="moteltime">Motel Room Time</span>
<span id="motel-time">1w 16h</span>
</div>

<div class="motel-name-price-container">
<span class="motelprice">Motel Room Price</span>
<span id="motel-price">$20.000</span>
</div>

<div id="acceptreqq">
<span>Accept</span>
</div>

<div id="closereq">
<span>Cancel</span>
</div>
</div>

<div class="send-room-invite-door">
<span class="sri-text">BRENDEN RANDALL <span>invites you to a motel room</span> </span>
<div class="motel-name-container">
<span class="motelname">Motel Room Number</span>
<span id="motel-name-door"></span>
</div>

<div class="motel-name-room-container">
<span class="motelroom">Motel Type</span>
<span id="motel-room-door"></span>
</div>

<div id="acceptreqq-door">
<span>Accept</span>
</div>

<div id="closereq-door">
<span>Cancel</span>
</div>
</div>

<div class="send-room-invite-friends">
<span class="sri-text">BRENDEN RANDALL<span>He wants to add you friends to a motel room</span> </span>
<div class="motel-name-container">
<span class="motelname">Motel Name</span>
<span id="motel-name-friends"></span>
</div>

<div class="motel-name-room-container">
<span class="motelroom">Motel Room Number</span>
<span id="motel-room-friends"></span>
</div>

<div id="acceptreqq-friends">
<span>Accept</span>
</div>

<div id="closereq-friends">
<span>Cancel</span>
</div>
</div>

<div class="send-motel-transfer">
<span class="sri-text">BRENDEN RANDALL <span>He wants to add you friends to a motel room</span> </span>
<div class="motel-name-container-transfer">
<span class="motelname">Motel Name</span>
<span id="motel-name-transfer"></span>
</div>


<div id="acceptreqq-transfer">
<span>Accept</span>
</div>

<div id="closereq-transfer">
<span>Cancel</span>
</div>
</div>

<div class="fix-room-menu">
<span class="fixmenu-sri-text">You want to fix motel room number ?</span>
<div class="motel-name-container">
<span class="fixmenu-motelroom">Motel Room</span>
<span id="fixmenu-motel-room">07</span>
</div>

<div class="motel-name-room-container">
<span class="fixmenu-motelprice">Motel Fix Price</span>
<span id="fixmenu-motel-price">$10.000</span>
</div>

<div class="sri-accept">
<span>Accept</span>
</div>

<div class="sri-decline">
<span>Cancel</span>
</div>
</div>

<div class="chancestyle-motelrooms">
<img src="img/upgradesari.svg" alt="">

<div class="badrooms-upgrade">
<img src="./img/pwev.svg" alt="" id="squatterimgupgrade">
<span class="text" id="squattertextiste">Squatter's Rooms</span>
</div>

<div class="middlerooms-upgrade" id="motelcare-tiklanma1">
<img src="./img/middle.svg" alt="" id="middleimgprade">
<span id="falanlarhehe2">Middle Rooms</span>
</div>
<div class="viprooms-upgrade" id="motelcare-tiklanma2">
<img src="./img/gray-vip.png" alt="" id="vipimgupgrade">
<span id="falanlarhehe1">VIP Rooms</span>
</div>

<div class="cm-container">
<span id="upgrademenu-no-text">NO</span>
<span id="upgrademenu-no-number">04</span>
</div>


<h1 id="upgrademenu-motelname">VIP MOTEL ROOM</h1>
<span id="upgrademenu-title">ROOM UPGRADE</span>
<span id="upgrademenu-title2">Choose Style</span>
<span id="upgrademenu-title3">Choose Wall</span>
<div class="upgrademenu-styleedit">
<!-- <div class="upgrademenu-stylebar">
<img src="img/upstyle1.png" id="upstyle1" alt="">
<div class="selectbtn">
<h5>Select</h5>
</div>
</div> -->

</div>

<div class="upgrademenu-walledit">
<!-- <div class="upgrademenu-wallbar">
<img src="img/upwalls.png" id="upwalls1" alt="">
<div class="selectbtnwall">
<h5>Select</h5>
</div>
</div> -->
</div>
<div class="upgrademenu-button">
<div class="up-menu-cancel-btn">
<h3 id="up-menu-cancel-txt">Cancel</h3>
</div>
<div class="up-menu-save-btn">
<h3 id="up-menu-save-txt">$50.000</h3>
</div>
</div>
</div>



<div class="motel-isletme-satin-alma-ekrani">
<div class="motel-satinalma-sidebar">
<h1 id="isletme-motelkonum">MOTEL LOCATION NAME</h1>
<span id="isletme-motelname">Baris Motel</span>
<span id="isletme-motelaciklama">Fermentum convallis lacus lectus ut. Posuere augue pellentesque elementum a id sit.</span>
<div class="isletme-odabilgi-kutu1">
<span id="active-motelrooms">Number of active rooms</span>
<span id="active-motelrooms-number">10</span>
</div>

<div class="isletme-odabilgi-kutu2">
<div id="total-motelrooms">Total of rooms</div>
<div id="total-motelrooms-number">16</div>
</div>

<div class="isletme-odabilgi-kutu3">
<div id="damaged-motelrooms">Number of damaged rooms</div>
<div id="damaged-motelrooms-number">6</div>
</div>
<h2 id="isletme-price-txt">PRICE</h2>
<h3 id="isletme-price">$1.250.000</h3>

</div>
<div class="motel-satinalma-btns">
<div class="motel-satinalma-solbtn">
<img src="img/Vector.svg" id="motel-satinalma-vector" alt="">
</div>
<div class="motel-satinalma-motelnumber-txt">
<span id="motel-satinalma-bakilannumber">5</span>
<span id="motel-satinalma-totalnumber">/7</span>
</div>
<div class="motel-satinalma-sagbtn">
<img src="img/Vector.svg" id="motel-satinalma-vector-ters" alt="">
</div>
<div class="motel-satinalma-buybtn">
<span id="motel-satinalma-buybtn-txt">BUY</span>

</div>
</div>
</div>

<div class="send-request">
<!-- <span>You received a job offer from the cardealer, do you want to accept it?</span>
<div class="accept-offer"> <span>Accept</span> </div>
<div class="decline-offer"> <span>Decline</span> </div> -->
</div>

<!-- <div class="send-request2">
<span>You where invited to the room by Brenden Randall</span>
<div class="accept-offer2"> <span>Accept</span> </div>
<div class="decline-offer2"> <span>Decline</span> </div>
</div> -->

<div class="motel-management">
<h1 id="managementheader">Management</h1>
<div class="mm-cizgi"></div>
<div class="management-nearby emrelutfisagolsun" name="tamam" id="management-button">
<span id="nearbyplayersh">Nearby Players</span>
</div>
<div class="management-friends" name="tamam" id="management-button">
<span id="friendsheader">Friends</span>
</div>
<div class="management-requests">
<span id="requestheader">Requests</span>
</div>
<div class="mm-ikincicizgi"></div>

<div class="mm-nearby-players">
<span id="nearbyplayersh">Nearby Players</span>
<div class="mnp-players">
<div class="playersiste">
<span>Brenden Randall</span>
<div class="pi-add"> <span>Add Friend</span> </div>
<div class="pi-invite"> <span>Invite Friends</span> </div>
</div>
</div>
</div>
<div class="mm-friends">
<span id="friendsheader">Friends</span>
<div class="mf-players">
<div class="playersiste2">
<span>Brenden Randall</span>
<div class="pi-kick"> <span>Kick</span> </div>
</div>
</div>
</div>
<div class="time-update">
<span class="time-left">Deadline: 18.05.2023 17:00</span>
<input type="number" class="new-time">
<span class="tu-price">$0</span>
</div>
<div class="mm-save"> <span>Save</span> </div>
</div>

<div class="chancestyle-motelroomsrequest">
<img src="img/upgradesari.svg" alt="">

<div class="badrooms-upgraderequest">
<img src="./img/pwev.svg" alt="" id="squatterimgupgraderequest">
<span class="text" id="squattertextisterequst">Squatter's Rooms</span>
</div>

<div class="middlerooms-upgraderequest" id="motelcare-tiklanma1">
<img src="./img/middle.svg" alt="" id="middleimgpraderequest">
<span id="middleroomslowertext">Middle Rooms</span>
</div>
<div class="viprooms-upgraderequest" id="motelcare-tiklanma2">
<img src="./img/gray-vip.png" alt="" id="vipimgupgraderequest">
<span id="viproomslowertext">VIP Rooms</span>
</div>

<div class="cm-containerrequest">
<span id="upgrademenu-no-textrequest">NO</span>
<span id="upgrademenu-no-numberrequest">04</span>
</div>
<h1 id="upgrademenu-motelnamerequest">VIP MOTEL ROOM</h1>
<span id="upgrademenu-titlerequest">ROOM UPGRADE</span>
<span id="upgrademenu-title2request">Choose Style</span>
<span id="upgrademenu-title3request">Choose Extra</span>
<div class="upgrademenu-styleeditrequest">
<!-- <div class="upgrademenu-stylebarrequest">
<img src="img/upstyle1.png" id="upstyle1request" alt="">
<div class="selectbtnrequestrequest">
<h5>Select</h5>
</div>
</div> -->

</div>

<div class="upgrademenu-walleditrequest">
<!-- <div class="upgrademenu-wallbarrequest">
<img src="img/upwalls.png" id="upwalls1request" alt="">
<div class="selectbtnwallrequest">
<h5>Select</h5>
</div>
</div> -->
</div>
<div class="upgrademenu-buttonrequest">
<div class="up-menu-cancel-btnrequest">
<h3 id="up-menu-cancel-txtrequest">Cancel</h3>
</div>
<div class="up-menu-save-btnrequest">
<h3 id="up-menu-save-txtrequest">$0</h3>
</div>
</div>
</div>
</body>

</html>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@

CREATE TABLE IF NOT EXISTS `oph3z_motel` (
`id` int(11) NOT NULL DEFAULT 0,
`names` text NOT NULL DEFAULT '[]',
`info` text NOT NULL DEFAULT '[]',
`employees` text NOT NULL DEFAULT '[]',
`rooms` longtext NOT NULL CHECK (json_valid(`rooms`)),
`history` text NOT NULL DEFAULT '[]',
`bucketcache` text NOT NULL DEFAULT '[]',
`request` text NOT NULL DEFAULT '[]',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,422 @@
------------------------------ Oph3z-Motels - Installation Guide -----------------------------------

For Support: https://discord.gg/Pnq5R4HszK

---------------------------------------------------------------------------------------------------------------------------------
REQUIREMENTS (
bob74_ipl: https://github.com/Bob74/bob74_ipl
)
---------------------------------------------------------------------------------------------------------------------------------
DO NOT FORGET TO READ THE SQL FILE
oph3z-motel.sql
---------------------------------------------------------------------------------------------------------------------------------
The starting order of the scripts should be as follows;
ensure bob74_ipl
ensure oph3z-motels

---------------------------------------------------------------------------------------------------------------------------------
There is a detailed description in the config files
---------------------------------------------------------------------------------------------------------------------------------
config.lua
You can make general settings of the script in the config.lua file
---------------------------------------------------------------------------------------------------------------------------------
config_motels.lua
In the config_motels file you can add new motels and rooms and change the settings of the rooms, detailed description is at the end of the file
---------------------------------------------------------------------------------------------------------------------------------
config_langue.lua
In the config_langue file you can set and change notifications, to set the notification script you need to edit Config.Notify and Config.ServerNotify in the config.lua file
---------------------------------------------------------------------------------------------------------------------------------
lang.lua
In the lang.lua file, you can edit the text on the UI as you wish or translate it into a different language
---------------------------------------------------------------------------------------------------------------------------------
Detailed explanation for Config.Map in config.lua

The part that says VIP is the room type and the part that says 1 is the motel id. When VIP2 is written, it means the VIP room of motel id number 2.

export name export name of the map in bob74_ipl
["VIP1"] = {
exportName = "GetExecApartment2Object", https://github.com/Bob74/bob74_ipl/blob/master/dlc_executive/apartment2.lua export name export name of the map in bob74_ipl
out = vector3(-779.08, 339.69, 196.69), coordinates for entering and exiting the out room
manage = vector3(-777.21, 331.06, 196.09), manage is where you make room settings for adding roommates and inviting them to the room
stash = vector3(-766.01, 330.97, 196.09), stash is the coordinate of the storage inventory
wardrobe = vector3(-764.74, 329.01, 199.49), wardrobe coordinates
ThemeData = { themeData is the part where you edit the room styles you want for that motel room in the same file as the file you exportname.
modern = {interiorId = 227585, ipl = "apa_v_mp_h_01_b"},
moody = {interiorId = 228353, ipl = "apa_v_mp_h_02_b"},
vibrant = {interiorId = 229121, ipl = "apa_v_mp_h_03_b"},
sharp = {interiorId = 229889, ipl = "apa_v_mp_h_04_b"},
monochrome = {interiorId = 230657, ipl = "apa_v_mp_h_05_b"},
seductive = {interiorId = 231425, ipl = "apa_v_mp_h_06_b"},
regal = {interiorId = 232193, ipl = "apa_v_mp_h_07_b"},
aqua = {interiorId = 232961, ipl = "apa_v_mp_h_08_b"}
}
},
---------------------------------------------------------------------------------------------------------------------------------

Name:
defalut motel name

Location:
Location on the street where the motel is located

Description
Detailed description about Description motel

Job:
Job part is currently disabled
Do not confuse this with the order of the motelid motel in the table.

These appear to be from the purchase of the motel business.
TotalRooms:
write the total number of rooms in the motel

ActiveRooms:
Please specify how many active rooms in the motel

DamagedRooms:
Please specify how many damaged rooms in the motel

Price:
selling price of the motel business

VIPUpgradeMoney:
The amount the room has to pay for the VIP upgrade

MiddleUpgradeMoney:
The amount the room has to pay for the Middle upgrade

CompanyMoney:
Startup money when you buy a motel business

RentMotel:
Coordinate where players should go to rent a motel when there is no motel owner

OpenBossMenu:
Bossmenu coordinate for employees and boss to open

MotelCamDashboard:
Aerial view coordinates during the purchase of the motel business

History:
You do not need to touch the part where the withdrawal and deposit process is kept

Blip: you can turn the blips off and on
BlipSettings = adjust the blip settings https://docs.fivem.net/docs/game-references/blips/
ID = , -- Blip ID
Scale = , -- Blip Size
Color = -- Color of the Blip


Rooms.Coords:
coordinate to enter the room

Room.motelno:
Do not confuse the order of the room in the table, increase order by order

Room.Active:
whether the room will be active at startup

Room.Rent:
whether it was originally leased

Room.type:
initially the type of room VIP-Middle-Squatter

Room.theme:
initially the theme of the walls of the room

Room.wall:
currently disabled

Room.money:
rental price of the room In the absence of a motel owner, the rental fee for a 24-hour room is determined.

Room.fixmoney
no touching

Room.strip
opens and closes the underwear in the room

Room.booze
opens and closes the liquor bottles in the room


[1] = {
Owner = "",
Name = "EXAMPLE MOTEL",
Location = "VINEWOOD",
Description = "lorem",
Job = "motel1",
Motelid = 1,
TotalRooms = 26,
ActiveRooms = 16,
DamagedRooms = 10,
Price = 20000,
VIPUpgradeMoney = 50000,
MiddleUpgradeMoney = 25000,
CompanyMoney = 1000,
RentMotel = vector3(961.55, -193.98, 73.21),
OpenBossMenu = vector3(200.55, -193.98, 73.21),
MotelCamDashboard = vector4(966.35, -190.22, 79.4, 164.43),
History = {},
Employes = {
Name = "",
Salary = 0,
Rank = 0,
Citizenid = "",
},
Blip = true, -- Enable/Disable Blip
BlipSettings = {
ID = 475,
Scale = 1.0,
Color = 29
},
Rooms = {
{
Coords = vector4(953.13, -196.52, 73.22, 64.62),
motelno = 1,
Active = true,
Rent = false,
type = "Squatter",
theme = "modern",
wall = "black",
money = 5000, -- In the absence of a motel owner, the rental fee for a 24-hour room is determined.
fixmoney = "",
strip = false,
booze = true,
Owner = {
Name = "",
Lastname = "",
PhoneNumber = "",
Date = "",
RoomsOwner = "",
MyMoney = "",
Friends = {
Citizenid = nil,
Name = nil,
Lastname = nil,
},
},
StyleMenu = {
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644075303669810/modern.png",
name = "modern",
durum = true,
price = 5000,
},
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644076520030218/seductive.png",
name = "seductive",
durum = false,
price = 5000
},
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644075978969108/moody.png",
name = "moody",
durum = false,
price = 5000,
},
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644074599039027/vibrant.png",
name = "vibrant",
durum = false,
price = 5000,
},
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644076872355973/sharp.png",
name = "sharp",
durum = false,
price = 5000,
},
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644075555340441/monochrome.png",
name = "monochrome",
durum = false,
price = 5000,
},
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644076247388231/regal.png",
name = "regal",
durum = false,
price = 5000,
},
{
type = "style",
png = "https://cdn.discordapp.com/attachments/1095505976725078167/1106644074989113344/aqua.png",
name = "aqua",
durum = false,
price = 5000,
},
{
type = "extra",
png = "https://cdn.shopify.com/s/files/1/0178/2936/3812/products/1_42_1024x1024.png?v=1617035503",
name = "strip",
durum = false,
price = 5000,
},
{
type = "extra",
png = "https://e7.pngegg.com/pngimages/85/460/png-clipart-riga-black-balsam-cocktail-gin-distilled-beverage-alcohol-splash.png",
name = "booze",
durum = true,
price = 5000,
},
}
},
},
}



-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Add these codes to fivem-appearance client.lua file


RegisterNetEvent('fivem-appearance:Oph3zMotel', function()
TriggerEvent('nh-context:sendMenu', {
{
id = 1,
header = "Change Outfit",
txt = "",
params = {
event = "fivem-appearance:pickNewOutfitMotel",
args = {
number = 1,
id = 2
}
}
},
{
id = 2,
header = "Save New Outfit",
txt = "",
params = {
event = "fivem-appearance:saveOutfit"
}
},
{
id = 3,
header = "Delete Outfit",
txt = "",
params = {
event = "fivem-appearance:deleteOutfitMenuMotel",
args = {
number = 1,
id = 2
}
}
}
})
end)

RegisterNetEvent('fivem-appearance:pickNewOutfitMotel', function(data)
local id = data.id
local number = data.number
TriggerEvent('fivem-appearance:getOutfits')
TriggerEvent('nh-context:sendMenu', {
{
id = 1,
header = "< Go Back",
txt = "",
params = {
event = "fivem-appearance:Oph3zMotel"
}
},
})
Citizen.Wait(300)
for i=1, #allMyOutfits, 1 do
TriggerEvent('nh-context:sendMenu', {
{
id = (1 + i),
header = allMyOutfits[i].name,
txt = "",
params = {
event = 'fivem-appearance:setOutfit',
args = {
ped = allMyOutfits[i].pedModel,
components = allMyOutfits[i].pedComponents,
props = allMyOutfits[i].pedProps
}
}
},
})
end
end)

RegisterNetEvent('fivem-appearance:saveOutfitMotel', function()
if Config.UseNewNHKeyboard then
local keyboard, name = exports["nh-keyboard"]:Keyboard({
header = "Name Outfit",
rows = {"Outfit name here"}
})
if keyboard then
if name then
local playerPed = PlayerPedId()
local pedModel = exports['fivem-appearance']:getPedModel(playerPed)
local pedComponents = exports['fivem-appearance']:getPedComponents(playerPed)
local pedProps = exports['fivem-appearance']:getPedProps(playerPed)
Citizen.Wait(500)
TriggerServerEvent('fivem-appearance:saveOutfit', name, pedModel, pedComponents, pedProps)
end
end
else
local keyboard = exports["nh-keyboard"]:KeyboardInput({
header = "Name Outfit",
rows = {
{
id = 0,
txt = ""
}
}
})
if keyboard ~= nil then
local playerPed = PlayerPedId()
local pedModel = exports['fivem-appearance']:getPedModel(playerPed)
local pedComponents = exports['fivem-appearance']:getPedComponents(playerPed)
local pedProps = exports['fivem-appearance']:getPedProps(playerPed)
Citizen.Wait(500)
TriggerServerEvent('fivem-appearance:saveOutfit', keyboard[1].input, pedModel, pedComponents, pedProps)

end
end
end)


RegisterNetEvent('fivem-appearance:deleteOutfitMenuMotel', function(data)
local id = data.id
local number = data.number
TriggerEvent('fivem-appearance:getOutfits')
Citizen.Wait(150)
TriggerEvent('nh-context:sendMenu', {
{
id = 1,
header = "< Go Back",
txt = "",
params = {
event = "fivem-appearance:Oph3zMotel"
}
},
})
for i=1, #allMyOutfits, 1 do
TriggerEvent('nh-context:sendMenu', {
{
id = (1 + i),
header = allMyOutfits[i].name,
txt = "",
params = {
event = 'fivem-appearance:deleteOutfit',
args = allMyOutfits[i].id
}
},
})
end
end)