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