------------------------------ 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)