[ESX][QB] Custom Motel | Owner, Customer, Employee Systems | Meta | UI |

4.0 [LATEST VERSION]

DEPRECATED NO LONGER SUPPORTED

Today I decided to put a script I wrote for people who love diversity for sale.

The minimum supported by the motel is ESX version 1.2.0, if your infrastructure is lower than this, you can’t use the motel.

What is this motel?

  • The motel has 3 main branches: Motel Owner, Motel Employee, Motel Customer.

Features

  • There are 8 motels and 127 motel rooms in total.
    [NOTE] Support is provided for the motel, but not for the maps. (Motels will be provided with their maps, but map editing will not be made, for your information.)
    It is very simple to add a motel in our system. You can easily add or delete them via BuildData.

  • If you want, you can make motels purchasable through config and players can buy motels. Admins or motel officials you specify can add motel owners.

  • Phone Support:
    GCPHONE
    [NOTE] “Optional.” Only in motel rentals, time-related messages, etc. In cases, a message is sent via phone.

  • Notification Supports:
    The requested notification supports all available notifications. mythic, np, pNotify etc.

  • SQL Supports:
    ghmattimysql and mysql

  • Identifier supports:
    Citizenid and identifier

  • Language Support:
    English and Turkish

  • Meta system:
    Optional. If you want to use it Req linden_inventory.

  • Wardrobe Support:
    qb-clothing and esx_skin

  • Inventory Support:
    qb-inventory, disc-inventoryhud and linden_inventory

  • Log system:
    There is a standard log system. Information captured by this system:
    Name,
    In-game id,
    Steam id,
    License

  • If you think this information will be insufficient, you can get mx-logsystem.
    Information pulled by mx-logsystem:
    Name,
    In-game id,
    Steam id,
    Steam url,
    License,
    Discord,
    IP address,
    Steam information
    Privacy status,
    Profile creation date,
    Fivem playing time,
    Steam name

Logs:

  • Creating an Invoice,
    Paying bills,
    Accepting a Request,
    Reject a Request,
    Leaving the Motel Room,
    Rent Payment,
    Adjusting employee pay,
    Contributing to the employee,
    Dismissing the employee,
    Creating a new key,
    Employee authorization update,
    Adding a motel employee,
    Renew a person’s rent,
    Deleting a motel room,
    Deposit money,
    Withdraw money,
    Do not give motel owner [via command.],
    Changing the person’s room,
    Expiry of the lease,
    Motel room rental

What can a person do after owning a motel?
The person now becomes the manager of that motel.
He can take employees with him, and he himself chooses how much he will pay to his employees.

What information can the owner of the motel edit as an employee?

  • It can fire the person.
  • Can send a message to the person.
  • It can update the person’s salary.
  • It can award the person.
  • It can give / receive authorization to the person.

Motel owner can

  • Can kick the client out of the room,
  • Changing the customer’s room,
  • Renewing the customer’s time,
  • Send a message to the customer,
  • Creating a new key for the customer [linden_inventory required],
  • Room rental to the customer,
  • Viewing the customer’s requests,
  • Receiving money from the safe,
  • Depositing money in the safe,
  • It can suspend or remove motel room.

What Can a Motel Employee Do?

  • First of all, when there is a motel employee, it is the person who works on the motel’s own infrastructure. So you can be both a motel employee and a police.
  • The motel employee receives a salary for the period you specify.
  • Can interact with the menu according to the authorization given by the owner of the motel.

How Does The Motel Rental System Work?

  • The person who will rent the motel is the owner or employee of the motel.
  • He sees the list of actors next to him and chooses from here.

Things u can

  • How many hours / minutes the person can stay.
  • You can withdraw money for the amount of hours that the person determines, and you can set the limit for this.
  • You can set the minimum and maximum rent for each motel. In hours or minutes! For example: You said that motel A can rent a minimum of 1500 hours and a maximum of 3500 hours.
  • The person will pay $ 1500 between 10 minutes and 60 minutes. If a person does it on an hourly basis, for example, he can pay for 1 hour, minimum 1500 and maximum 3500.
    Or if he makes 2 hours, these numbers are multiplied by 2, so a minimum 3000 and a maximum of 7000 will be paid.

Room Rental

  • The motel owner sends the person a menu.
  • The person can accept or refuse
  • If the person leaves the room on time without paying the bill for a motel room, this will go to the person who will rent the motel as a warning.

What is the timing when a person rents a motel room?

  • As long as the person is in the game,
    his time will decrease.
    So there is no cron system. Everyone has their own time.
    If the person does not pay the rent until half of the time, the motel room will be suspended for half of the time.
    If the person still has not paid 60% of his time, money will be sanctioned at the percentage you specified. Default: 10%
    If the person still has not paid 70% of his time, the person will be sanctioned with the percentage you specified. Default: 13%
    If the person still has not paid 80% of his time, the person will be sanctioned with the percentage you specified. Default: 15%
    If the person still has not paid 90% of his time, the person will be sanctioned with the percentage you specified. Default: 20%
    If the person has not paid when the time is up, the floor sanction you specified will be applied to the person. Default: 2 times the amount due.
    If the person has paid his / her rent, a notification will be sent for information when 50% 60% 70% 80% 90% of the time is up.

What can a person do after buying the motel?

  • Can leave the room.
  • Can see his remaining time.
  • Can make a request to the motel management.
  • Can Pay the Rent.
  • Requests Can Be Found: Key Renewal Request [linden_inventory required]
  • Motel Room Change
  • Request Authorized Personnel Call
  • Request Time Extension Request

PREVIEWS

Resmon

  • idle

  • nearby text

  • in menu

Differences between Log System

SHOWCASE [Before 3.5 VER]

Info

  • When you buy the script, a mega link will be sent to your e-mail address. If there is an update or error correction in the future, it will be written as a comment on the subject. To benefit from the update, you can write privately via cfx or contact via discord. With your Tebex purchase code
  • The script is completely open source. You can access all codes.

3.5

  • Fixed the change room issue on ESX
  • Made a simple redesign
  • Added qtarget supporting
  • Added multiple door locking
  • Added qbphone supporting
  • Added oxmysql supporting

For Purchase

Price: $99 [Out Of Tax]
https://moxha.tebex.io/package/4483267

8 Likes

GG , very good!

1 Like

Nice to see it in here after long time, keep it up ^^

1 Like

good work

Nice, but 100$ bucks is a little too far out there for me. I could see this being sold allot more if it were cheaper. Nice work though.

4 Likes

a few questions,

can any MLO be added to work as a hotel room?

Can people break in and rob the rooms? can you setup for a long term rent. like 14 days, 1 month, 3 months etc?

Can you update to add bt-target style menus. better for streamers.

can any MLO be added to work as a hotel room?

  • What? If you want to add mlo as an extra, you can add it. But I don’t know how to do mlo as an extra, and I don’t provide add support as an extra.

Can people break in and rob the rooms? can you setup for a long term rent. like 14 days, 1 month, 3 months etc?

  • Yes, it can be done from the time zone. For example, 168 hours for 1 week.

Can you update to add bt-target style menus. better for streamers

  • Good idea, I may bring it in the next update. Maybe in the next update, I can divide the room rental into minutes, hours, weeks, months.

Timing is done in utc time, Not with the game time.

if there is qbus version i will buy it immediately

what is the max number of rooms you can have on the script, if we have more then 8 full MLO motel offerings around the Map, We have a few buildings with 100-250 Hotel rooms.

1 Like

Hmm, yes I can

There is no maximum number. You can increase as many motel rooms as you want. Example Code

MX = {
    ["Sunny Side Motel"] = { -- Attention! If you change the name of it, you must give the motel keys from the beginning.
        blip = { -- https://docs.fivem.net/docs/game-references/blips/
            active = true,      -- Active ?
            name = "Sunny Side Motel",
            scale = 0.7,
            color = 4,
            sprite = 475,
            coords = vec3(324.27, -211.35, 54.09),
        },
        opened = true,                              -- DON'T TOUCH
        purchasable = true,                        
        price = 5000000,
        owner = "",                                 -- Citizenid or identifier must be entered here! If you want to give from the game: / setmotelowner you can give it by typing id motel name.
        reception = vec3(325.06, -229.72, 54.22),   -- Reception coords
        selfMan = vec3(313.38, -225.05, 54.21),
        salary = {min = 1, max = 500000},          -- Minimum and maximum money that motel staff will salary
        expense = {min = 100, max = 250},         -- Per hour: values ​​between minimum and maximum are calculated. For example, if 2 hours are entered, the maximum value is multiplied by 2. For minutes: Minimum 0 Maximum becomes the minimum value you entered. For example: if the person enters 10 minutes, the minimum value will be multiplied by 10.
        takeKeyExp = 75,                          -- The motel has to withdraw this money from the storage.
        sell = false,                                -- If you make this place false, it will close the sale. Or if you enter a number here, it gets 0.50 half for example.
        warningExpense = {first = 0.13, second = 0.14, three = 0.15, four = 0.16, final = 2},    -- If the rent is not paid, how much will the invoice amount increase?  Attention: you must write the value as a percentage. Example: 10% = 0.10 the final method is different from the others.  It determines how much the rental price will be if payment is not made.  Example 2x = 2
        doors = {                                   -- Attention ! Single door can be locked and if you specify 1 as the id, for example, the information for the 1st room will be.
            [1] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(307.57, -213.29, 54.22), h = 68.9096},
            [2] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(311.36, -203.46, 54.22), h = 68.9096},
            [3] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(315.79, -194.79, 54.22), h = 338.946},
            [4] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(315.84, -219.66, 58.02), h = 158.946},
            [5] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(307.35, -213.24, 58.02), h = 68.9096},
            [6] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(311.22, -203.35, 58.02), h = 68.9096},
            [7] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(315.78, -194.62, 58.02), h = 338.946},
            [8] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(339.20, -219.47, 54.22), h = 248.909},
            [9] = {locked = true, obj = nil, hash = -1156992775, coords = vec3(342.93, -209.50, 54.22), h = 248.909},
            [10]= {locked = true, obj = nil, hash = -1156992775, coords = vec3(346.78, -199.66, 54.22), h = 248.909},
            [11]= {locked = true, obj = nil, hash = -1156992775, coords = vec3(335.00, -227.38, 58.02), h = 158.946},
            [12]= {locked = true, obj = nil, hash = -1156992775, coords = vec3(339.27, -219.49, 58.02), h = 248.909},
            [13]= {locked = true, obj = nil, hash = -1156992775, coords = vec3(343.08, -209.54, 58.02), h = 248.909},
            [14]= {locked = true, obj = nil, hash = -1156992775, coords = vec3(346.69, -199.66, 58.02), h = 248.909},
        },
        gardrobes = {
            [1] = {locked = true, coords = vec3(302.58, -207.35, 54.22)},
            [2] = {locked = true, coords = vec3(306.32, -197.45, 54.22)},
            [3] = {locked = true, coords = vec3(321.79, -189.81, 54.22)},
            [4] = {locked = true, coords = vec3(308.85, -224.63, 58.02)},
            [5] = {locked = true, coords = vec3(302.52, -207.23, 58.02)},
            [6] = {locked = true, coords = vec3(306.33, -197.41, 58.02)},
            [7] = {locked = true, coords = vec3(321.73, -189.70, 58.02)},
            [8] = {locked = true, coords = vec3(344.24, -225.47, 54.22)},
            [9] = {locked = true, coords = vec3(348.01, -215.56, 54.22)},
            [10]= {locked = true, coords = vec3(351.86, -205.67, 54.22)},
            [11]= {locked = true, coords = vec3(328.99, -232.40, 58.02)},
            [12]= {locked = true, coords = vec3(344.21, -225.51, 58.02)},
            [13]= {locked = true, coords = vec3(347.95, -215.52, 58.02)},
            [14]= {locked = true, coords = vec3(351.77, -205.64, 58.02)},
        },
        stashes = {
            [1] = {locked = true, coords = vec3(306.71, -208.50, 54.22)},
            [2] = {locked = true, coords = vec3(310.51, -198.61, 54.22)},
            [3] = {locked = true, coords = vec3(320.45, -194.13, 54.22)},
            [4] = {locked = true, coords = vec3(310.17, -220.36, 58.02)},
            [5] = {locked = true, coords = vec3(306.78, -208.53, 58.02)},
            [6] = {locked = true, coords = vec3(310.64, -198.74, 58.02)},
            [7] = {locked = true, coords = vec3(320.51, -194.11, 58.02)},
            [8] = {locked = true, coords = vec3(339.93, -224.19, 54.22)},
            [9] = {locked = true, coords = vec3(343.61, -214.35, 54.22)},
            [10]= {locked = true, coords = vec3(347.34, -204.44, 54.22)},
            [11]= {locked = true, coords = vec3(330.27, -228.04, 58.02)},
            [12]= {locked = true, coords = vec3(339.85, -224.16, 58.02)},
            [13]= {locked = true, coords = vec3(343.63, -214.27, 58.02)},
            [14]= {locked = true, coords = vec3(347.49, -204.41, 58.02)},
        },
    },

so i’m waiting for yah

RELEASE 3.0

  • QBCORE is supported.
  • Mysql Queries have been optimized.
  • Performance improvements
  • It will now appear as days in the remaining time
    8-1

Is this obfuscated script ?

Read the first post…

  • The script is completely open source. You can access all codes.

3.3

  • Added PEPECORE support
  • Fixed the issue of not adding more than 20 days of time. [MySQL has been modified]
  • Fixed the issue where the time was not updating sometimes.
  • Added some code for qtarget. qtarget will be supported soon.
  • Fixed the issue where sometimes the data was not loaded when logging in on QBcore.
  • Motel Notification window is now symmetrical

@MOXHA Can this script be used in any custom mlo?>

Yeah.

1 Like

Is there an AI ran option, or is this strictly player owned?

1 Like

only player