[ESX - ENG/DE] myProperties - with Key management, doorbell signs, property wallet, storage and wardrobe (PAID)

Hey guys,

and welcome to my biggest script release since I am on FiveM.
I’ve started building this script, because I had problems with instance on OneSync. But within the time I’ve enhanced it a lot and now I want to present my final version:

Features of myProperties

  • Complete key management included: You can grant your friends key access to your property, so they can enter, leave and access the storage and wallet whenever they want (also when you are offline).
  • In Addition you can set up, that players without key can enter your property. Useful f.e. for offices.
  • Unique house inventory and wallet for each property.
  • Of course all the necessary things for a property script are included:
    → Wardrobe
    → Storage (For items and weapons)
    → Wallet
    → Invite players to enter your property
    Rent is paid every day at a configurable time
  • You can set up a custom doorbell sign for your properties.
  • The script manages the vanishing completely on his own (no instance required)
  • You can set up more apartments in one building (f.e. 10 apartments in the Eclipse Tower → example is given in the default sql file)
  • Complete IPL support, so you can use all different IPLs of an office or apartment as a unique property.
  • You can add new properties with own interiors etc. completely free to your database.
    → You can also set up in the database, whether a property should be buyable or not (When not a realestateagent have to sell it) and whether it is unique or not. When a property is unique it can only be bought one time.

Showcase Video:

General property overview menu:
main

Property overview for properties with multiple apartments:

Door menu:
doormenu

Wardrobe menu:
wardrobe

Key notifications:
keys

To sell properties from another script, you can trigger the follwing (server-)event:

TriggerEvent('myProperties:setPropertyOwned', NAME, PRICE, RENTED (true or false), IDENTIFIER)

As always the script comes with a language config, so you can set up this script in any language you want. English and German configuration is already there.

Escrow

Since the newest update from the 16.01.2022 this script is also managed by the FiveM Keymaster.
Regarding this we paid the highest attention to the opportunity that everybody can simply modify everything without any encryption.
For this matter we only included about 2-3 pretty small functions, which never have to be modified and can’t cause any problems into the escrow file. So I can promise 100% that you will not even notice this protection, when you aren’t willed to leak the script :wink:

Language Config
Translation = {
    ['de'] = {
        ['blip_available_prop'] = 'Verfügbare Immobilie',
        ['blip_prop_owned'] = 'Immobilie in Besitz',
        ['blip_keyowner_unknown'] = 'Fremde Immobilie',
        ['blip_keyowner'] = 'Immobilie von ~g~',
        ['show_info'] = 'Drücke ~g~E~s~, um Infos anzuzeigen',
        ['leave_prop_infobar'] = 'Drücke ~g~E~s~, um die Immobilie zu verlassen',
        
        ['access_wardrobe'] = 'Drücke ~g~E~s~, um auf den Kleiderschrank zuzugreifen',
        ['prop'] = 'Immobilie',
        ['manage_keys'] = 'Schlüssel verwalten',
        ['remove_key'] = 'Klicke, um den ~r~Schlüssel ~s~zu ~r~entziehen~s~',
        ['give_key'] = 'Schlüssel vergeben',
        ['give_key_desc'] = 'Klicke, um ~b~',
        ['give_key_desc2'] = ' ~s~einen Schlüssel weiterzugeben',
        ['wardrobe'] = 'Kleiderschrank',
        ['outfin_use'] = 'Outfit anziehen',
        ['outfit_remove'] = 'Outfit entfernen',
        ['outfit_removed'] = 'Das Outfit ~y~',
        ['outfit_removed2'] = ' ~s~wurde gelöscht.',
        ['store'] = 'Lager',
        ['weaponary'] = 'Waffenschrank',
        ['ammo'] = ' ~b~x ~s~Munition',
        ['insert_withdraw'] = 'Wie viel soll entnommen werden?',
        ['store_item'] = 'Gegenstand einlagern',
        ['insert_deposit'] = 'Wie viel soll weggelegt werden?',
        ['wallet'] = 'Konto',
        ['credit'] = 'Guthaben:',
        ['current_credit'] = 'Dein aktuelles Guthaben beträgt ~b~',
        ['money_deposit'] = 'Geld einzahlen',
        ['money_withdraw'] = 'Geld abheben',
        ['currency'] = '$',
        ['invite'] = 'Jemanden einladen',
        ['invite_player'] = 'Klicke, um ~b~',
        ['invite_player2'] = '~s~einzuladen',
        ['invited_player'] = 'Du hast ~g~',
        ['invited_player2'] = ' ~s~eingeladen.',
        ['lock_only_key'] = 'nur mit Schlüssel',
        ['lock_open'] = ' für jeden offen',
        ['doorlock'] = 'Türschloss',
        ['doorlock_desc'] = 'Entscheide, wer die Immobilie betreten darf',
        ['doorlock_changed'] = '~g~Türschloss-Status geändert auf: ~w~',
        ['doorbell'] = 'Klingelschild ändern',
        ['doorbell_desc'] = 'Ändere dein Klingelschild, sodass dich der Postbote immer findet.',
        ['leave_prop'] = ' verlassen',
        ['leave_prop_pre'] = '~s~',
        ['collector_propamount'] = ' Wohnungen',
        ['owned_prefix'] = '~y~In Besitz: ~s~',

        ['info_owned'] = 'In Besitz:',
        ['info_yes'] = '~g~Ja',
        ['info_no'] = '~r~Nein',
        ['info_type'] = 'Art:',
        ['info_name'] = 'Name:',
        ['info_adress'] = 'Adresse:',
        ['unique'] = 'Einzigartig:',
        ['enter_prop'] = 'Eigene Wohnung betreten',
        ['owner'] = 'Besitzer: ',
        ['enter_key_prop'] = 'Fremde Wohnungen betreten',
        ['prop_of'] = 'Wohnung von ',
        ['have_key'] = 'Du besitzt einen ~b~Schlüssel~s~!',
        ['open_for_everybody'] = 'Die Wohnung ist für ~g~jeden geöffnet~s~!',
        ['buy'] = 'Kaufen: ',
        ['rent'] = 'Mieten: ',
        ['rent_per_day'] = '$ / Tag',
        ['cancel_rent'] = 'Mietvertrag kündigen',
        ['rented'] = 'Gemietet:',
        ['cancel_prop'] = '[~r~!~s~] Kündigen',
        ['sell_prop'] = 'Immobilie verkaufen',
        ['confirm'] = '[~r~!~s~] Bestätigen',
        ['confirm_desc'] = '~s~Du erhältst ~g~',
        ['confirm_desc2'] = '$ ~s~zurück',
        ['invitation_expired'] = 'Die Einladung ist ~r~abgelaufen~s~!',
       
        ['has_entered_prop'] = ' hat die Wohnung ~g~betreten~s~!',
        ['doorbell_title'] = 'Türklingel',
        ['invite_msg'] = 'Du wurdest in ~y~',
        ['invite_msg2'] = ' ~s~eingeladen. Drücke ~g~E~s~, um die ~g~Einladung anzunehmen~s~.',
        ['got_key'] = 'Du hast einen ~g~Zweitschlüssel ~s~erhalten.',
        ['removed_key'] = 'Dir wurde ein ~y~Zweitschlüssel ~s~entzogen.',
        ['got_permission'] = 'Berechtigung erteilt',
        ['remove_permission'] = 'Berechtigung entzogen',
        ['remove_key'] = 'Du hast ~y~',
        ['remove_key2'] = ' ~s~den ~y~Zweitschlüssel ~s~entzogen.',
        ['give_key_msg'] = 'Du hast einen ~g~Zweitschlüssel ~s~an ~g~',
        ['give_key_msg2'] = ' ~s~weitergegeben.',
        ['too_heavy'] = 'Du kannst nicht so viel tragen!',
        ['not_enough_stored'] = 'Du hast nicht genügend davon gelagert.',
        ['need_restart_addoninventory'] = '~y~Häuserinventar wurde nicht korrekt geladen! Bitte verbinde dich erneut.',
        ['wrong_input'] = 'Falsche Einagbe!',
        ['prop_successfully_'] = 'Du hast eine Wohnung für ~g~ ',
        ['bought'] = '$ gekauft',
        ['rented'] = '$ gemietet',
        ['prop_canceled'] = 'Du hast eine Wohnung gekündigt!',
        ['not_enough_money'] = '~r~Nicht genügend Geld!',
        ['rent_paid'] = 'Miete i.H.v. ~g~',
        ['rent_paid2'] = '$ ~s~bezahlt',
        ['money_added_to_wallet'] = '$ ~g~in den Safe gelegt.',
        ['money_withdraw_from_safe'] = '$ ~g~aus dem Safe entnommen.',
        ['not_enough_money_in_wallet'] = '~r~Nicht genügend Geld in dem Haus liegen!',
        ['doorbell_changed'] = '~g~Klingelschild zu ~w~',
        ['doorbell_changed2'] = ' ~g~geändert.',
    },

    ['en'] = {
        ['blip_available_prop'] = 'Available property',
        ['blip_prop_owned'] = 'Owned property',
        ['blip_keyowner_unknown'] = 'Property of a friend',
        ['blip_keyowner'] = 'Property of ~g~',
        ['show_info'] = 'Press ~g~E~s~, to show information',
        ['leave_prop_infobar'] = 'Press ~g~E~s~, to leave the property',
        
        ['access_wardrobe'] = 'Press ~g~E~s~, to access the wardrobe',
        ['prop'] = 'Property',
        ['manage_keys'] = 'Manage keys',
        ['remove_key'] = 'Click, to revoke ~r~key access',
        ['give_key'] = 'Give keys',
        ['give_key_desc'] = 'Click, to give ~b~',
        ['give_key_desc2'] = ' ~s~a key',
        ['wardrobe'] = 'Wardrobe',
        ['outfin_use'] = 'Put on clothes',
        ['outfit_remove'] = 'Remove clothes',
        ['outfit_removed'] = 'The outfit ~y~',
        ['outfit_removed2'] = ' ~s~was removed.',
        ['store'] = 'Storage',
        ['weaponary'] = 'Weaponry',
        ['ammo'] = ' ~b~x ~s~ammo',
        ['insert_withdraw'] = 'How much should be withdrawn?',
        ['store_item'] = 'Store item',
        ['insert_deposit'] = 'How much should be inserted?',
        ['wallet'] = 'Wallet',
        ['credit'] = 'Wallet:',
        ['current_credit'] = 'You currently have ~b~',
        ['money_deposit'] = 'Deposit money',
        ['money_withdraw'] = 'Withdraw money',
        ['currency'] = '$',
        ['invite'] = 'Invite somebody',
        ['invite_player'] = 'Click, to invite ~b~',
        ['invite_player2'] = '~s~',
        ['invited_player'] = 'You have invited ~g~',
        ['invited_player2'] = '~s~.',
        ['lock_only_key'] = 'only with key',
        ['lock_open'] = ' open for everybody',
        ['doorlock'] = 'Doorlock',
        ['doorlock_desc'] = 'Set up, who can enter the property',
        ['doorlock_changed'] = '~g~Doorlock state changed to: ~w~',
        ['doorbell'] = 'Change doorbell sign',
        ['doorbell_desc'] = 'Change your doorbell sign.',
        ['leave_prop'] = '~s~',
        ['leave_prop_pre'] = 'Leave ',
        ['collector_propamount'] = ' properties',
        ['owned_prefix'] = '~y~Owned: ~s~',

        ['info_owned'] = 'Is owned:',
        ['info_yes'] = '~g~Yes',
        ['info_no'] = '~r~No',
        ['info_type'] = 'Type:',
        ['info_name'] = 'Name:',
        ['info_adress'] = 'Adress:',
        ['unique'] = 'Unique:',
        ['enter_prop'] = 'Enter own property',
        ['owner'] = 'Owner: ',
        ['enter_key_prop'] = 'Enter other properties',
        ['prop_of'] = 'Property of ',
        ['have_key'] = 'You own a ~b~key~s~!',
        ['open_for_everybody'] = 'The property is open ~g~for everybody~s~!',
        ['buy'] = 'Buy: ',
        ['rent'] = 'Rent: ',
        ['rent_per_day'] = '$ / day',
        ['cancel_rent'] = 'Cancel rental agreement',
        ['rented'] = 'Rented:',
        ['cancel_prop'] = '[~r~!~s~] Cancel',
        ['sell_prop'] = 'Sell property',
        ['confirm'] = '[~r~!~s~] Confirm',
        ['confirm_desc'] = '~s~You will get ~g~',
        ['confirm_desc2'] = '$ ~s~back',
        ['invitation_expired'] = 'The invitation~r~expired~s~!',
       
        ['has_entered_prop'] = ' has entered the ~g~property~s~!',
        ['doorbell_title'] = 'Doorbell',
        ['invite_msg'] = 'You have been invited to ~y~',
        ['invite_msg2'] = ' ~s~. Press ~g~E~s~, to ~g~accept the invitation~s~.',
        ['got_key'] = 'You got a ~g~key~s~.',
        ['removed_key'] = 'Your key access was ~y~revoked~s~.',
        ['got_permission'] = 'Permission granted',
        ['remove_permission'] = 'Permission revoked',
        ['remove_key'] = 'You have revoked ~y~',
        ['remove_key2'] = ' ~s~s ~y~key access~s~.',
        ['give_key_msg'] = 'You gave a ~g~key ~s~to ~g~',
        ['give_key_msg2'] = '~s~.',
        ['too_heavy'] = 'You can not carry that much!',
        ['not_enough_stored'] = 'You do not have that much in storage.',
        ['need_restart_addoninventory'] = '~y~Property inventory was not loaded correctly. You need to restart your game.',
        ['wrong_input'] = 'Wrong input!',
        ['prop_successfully_rented'] = 'You have rented a prop for ~g~ ',
        ['prop_successfully_bought'] = 'You have bought a prop for ~g~ ',
        ['bought_2'] = '$',
        ['rented_2'] = '$',
        ['prop_canceled'] = 'You have canceled the property!',
        ['not_enough_money'] = '~r~Not enough money!',
        ['rent_paid'] = '~g~',
        ['rent_paid2'] = '$ ~s~rent paid.',
        ['money_added_to_wallet'] = '$ ~g~put into the safe.',
        ['money_withdraw_from_safe'] = '$ ~g~taken from the safe.',
        ['not_enough_money_in_wallet'] = '~r~There is not enough money in the house!',
        ['doorbell_changed'] = '~g~Doorbell sign changed to ~w~',
        ['doorbell_changed2'] = '~g~.',
    }

}

When you also use myMultichar you can now select each of your properties as a spawn location:
dwa

Dependencies:

  • ESX (all versions supported)
    → esx_addoninventory (if ox_inventory used not required)
    → esx_datastore (if ox_inventory used not required)
    Modified versions of esx_addoninventory and esx_datastore are included to make unique house inventories for each property possible.
  • NativeUI

Price: 13,99€ + tax
Download at https://luis-scripts.tebex.io/package/4234924

24 Likes

Which ESX version?

Hey,

ESX v1.1 will work, and we are currently also testing v1.2.

The script just uses some ESX Callbacks and two Events:

  • ESX.Game.GetPlayersInArea(currentPropertyData.entering, 10.0)

  • and the esx:showNotification Event.

So when this is still useable in your version, it should work

1 Like

i don’t use “ESX.Game.GetPlayersInArea(currentPropertyData.entering, 10.0)” or “esx:showNotification Event.”. I have version v.1.1.0.

Can you make a version for my version of ESX?

You don‘t have to use it. But your ESX should have this functions. ESX v1.1.0 should work fine

1 Like

myProperties - Fix - 26.12.2020

  • Added a missing string in the German translation
  • Added support for ESX Weight system.
1 Like

i use the final version of exs works for me without any problem?

For those who get such an error:


I was weird, as I’ve created the .sql File:

Please rename the column last_prop in users to last_property. This will fix your error. Iam sorry :confused: Or just perform this in your Database:

ALTER TABLE `users` ADD COLUMN `last_property` VARCHAR(255);

And remove the old last_prop column

2 Likes

can you update your main sql with this fix

2 Likes

it works for me ESX [v1-final] ??

If you download the newest file also the SQL File is updated.

1 Like

I’ve wrote you a PM. If you want we can test it together.

Works perfect!
Very fast support and the best script!

2 Likes

Maybe it is also interessting for anybody else: We’ve tested it and it worked fine on esx v1-final

1 Like

Yes is working I have a question the old Esx_Property script has a garage can you add for these houses a garage too ?

Yeah, I‘ll add an optional garage addon soon. Also with key access.

Can you make a screen of resmon?

Can a player F8 quit in the house and “wake up” in the house? Or no

Yeah this is saved in the database, and the player will wake up again in his home