forked from Simnation/Main
423 lines
15 KiB
Markdown
423 lines
15 KiB
Markdown
![]() |
------------------------------ 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)
|
||
|
|