[ESX - ENG/DE/ES] myMapbuilder - Ingame map editing for RP servers (PAID)

A script by Luiiis

No reviews yet.
[ESX - ENG/DE/ES] myMapbuilder - Ingame map editing for RP servers (PAID) main image

Full Description

Hey guys,

with this Script I want to present a perfect a In-Game solution to allow your player to enhance their properties. I wrote this especially for roleplay servers, but there are also a lot different possible uses.

I had this idea, because I thought, that the use of CodeWalker or similar programms is very uncomfortable just to add a couch or a table with some chairs to a garden. Because of this I’ve developed this solution to allow your players to build their maps on their own - without leaving the server.

Features:

  • Completely In-Game
  • You can place, delete, move and turn objects
  • You can say whether an object should be moveable
  • Everything is saved into a database → The objects don’t disappear
  • You can edit placed objects later (turn/move/delete)
  • Perfect for roleplay:
    → You can allow your players to spawn objects from a configurable list of objects. This makes it possible for your players to design their properties on their own.
    → You can set up prices for the different objects
  • Admin functions:
    → As an admin you can see each single placed object in a menu and you can teleport to them and edit them.
    → You can choose every object regardless the configured list.
  • Translation file (English, Spanish and German one is already there)
  • Support for NativeUI and NativeUI Realoaded

Update 19.12.2020: Now you can also move objects up and down!

Showcase

List for objects to set up:
You can add every object you want.

Config.recommendObjects = {
    {object = 'prop_table_para_comb_01', label = 'Table with umbrella', price = 1000},
    {object = 'prop_patio_lounger1', label = 'Patio lounger', price = 1000},
    {object = 'prop_patio_heater_01', label = 'Patio heater', price = 1000},
    {object = 'prop_parasol_01', label = 'Parasol', price = 1000},
    {object = 'prop_table_01', label = 'Table', price = 1000},
    {object = 'prop_table_04_chr', label = 'Chair', price = 1000},
    {object = 'prop_bbq_5', label = 'BBQ', price = 1000},
    {object = 'apa_mp_h_din_table_11', label = 'Couch table', price = 1000},
    {object = 'prop_owl_totem_01', label = 'Totem', price = 1000},
}
Config
Config.Locale = 'en'

Config.useNativeUIReloaded = true -- if you want to disable NativeUIReloaded, you have to activate the dependency in fxmanifest.lua!
Config.Debug = true
Config.Command = 'mapbuilder' -- command to open the menu

Config.KeyUsage = false
Config.Key = 38 -- Key, when Key Usage is enabled.

Config.defaultObject = '~r~Nothing'

Config.OnlyForAdmin = false -- then only people with the group can open the menu
Config.AdminGroup = 'superadmin'

Config.Controls = {
    -- turn controls
    turnright = {
        name = 'INPUT_CELLPHONE_RIGHT',
        key = 175
    },
    turnleft = {
        name = 'INPUT_CELLPHONE_LEFT',
        key = 174
    },
    -- move controls
    moveright = {
        name = 'INPUT_CELLPHONE_RIGHT',
        key = 175
    },
    moveleft = {
        name = 'INPUT_CELLPHONE_LEFT',
        key = 174
    },
    moveup = {
        name = 'INPUT_FRONTEND_UP',
        key = 172
    },
    movedown = {
        name = 'INPUT_FRONTEND_DOWN',
        key = 173
    },
    -- general controls
    fast = {
        name = 'INPUT_FRONTEND_SELECT',
        key = 217
    },
    slow = {
        name = 'INPUT_FRONTEND_LS',
        key = 209
    },
    finish = {
        name = 'INPUT_CELLPHONE_CAMERA_EXPRESSION',
        key = 186
    },
}

Config.recommendObjects = {
    {object = 'prop_table_para_comb_01', label = 'Table with umbrella', price = 1000},
    {object = 'prop_patio_lounger1', label = 'Patio lounger', price = 1000},
    {object = 'prop_patio_heater_01', label = 'Patio heater', price = 1000},
    {object = 'prop_parasol_01', label = 'Parasol', price = 1000},
    {object = 'prop_table_01', label = 'Table', price = 1000},
    {object = 'prop_table_04_chr', label = 'Chair', price = 1000},
    {object = 'prop_bbq_5', label = 'BBQ', price = 1000},
    {object = 'apa_mp_h_din_table_11', label = 'Couch table', price = 1000},
    {object = 'prop_owl_totem_01', label = 'Totem', price = 1000},
}
Translations
Translation = {
    ['en'] = {
        ['menu_title'] = 'Map Builder',

        ['get_object_distance'] = 'Placed objects',

        ['controls'] = 'Controls',
        ['turn_right'] = ' ~s~to ~b~turn ~s~the object ~b~right',
        ['turn_left'] = ' ~s~to ~b~turn ~s~the object ~b~left',
        ['turn_fast'] = ' ~s~to ~b~turn ~s~the object ~b~faster',
        ['turn_slow'] = ' ~s~to ~b~turn ~s~the object ~b~slower',
        ['move_forward'] = ' ~s~to ~b~move ~s~the object ~b~forwards',
        ['move_backwards'] = ' ~s~to ~b~move ~s~the object ~b~backwards',
        ['move_right'] = ' ~s~to ~b~move ~s~the object ~b~right side',
        ['move_left'] = ' ~s~to ~b~move ~s~the object ~b~left side',
        ['move_fast'] = ' ~s~to ~b~move ~s~the object ~b~faster',
        ['move_slow'] = ' ~s~to ~b~move ~s~the object ~b~slower',
        ['back_to_menu'] = ' ~s~to go ~b~back ~s~to main menu',

        ['only_for_admins'] = '~r~This function can only be used by staff members!',

        ['spawn_object'] = 'Spawn object',
        ['spawn_object_final'] = '~g~Spawn object',
        ['spawn_object_final_desc'] = '~g~Object will be created at your current location',
        ['move_object'] = 'Move object',
        ['turn_object'] = 'Turn object',
        ['delete_object'] = '~r~Delete object',
        ['delete_object_desc'] = 'Delete object from map',
        ['save_object'] = '~g~Save object',
        ['save_object_desc'] = 'Save object to your database',
        ['enter_objectname'] = 'Object:',
        ['enter_objectname_desc'] = 'Click to enter an object name',

        ['obj_tp'] = 'Teleport',
        ['obj_tp_desc'] = 'Teleport to this object',
        ['obj_hide'] = 'Hide',
        ['obj_hide_desc'] = 'Hide this object (only for you)',
        ['obj_replace'] = '(Re-)Spawn',
        ['obj_replace_desc'] = 'Spawns this object again (Undo Hide)',
        ['obj_already_exists'] = '~r~The object is still there. Hide it first and then you could respawn it.',
        ['obj_permdelete_desc'] = 'The object will be permanently removed from database!',
        ['obj_removed'] = '~g~The object was removed from database.',
        ['obj_savechanges'] = '~g~Save changes.',
        ['obj_savechanges_desc'] = 'Your changes will be saved and applied for all players.',
        ['obj_saved'] = '~g~Your changes were saved!',

        ['set_moveable'] = 'Freeze object?',
        ['set_moveable_desc'] = 'Should it be possible to push/move this object?',
        ['moveable_state_changed'] = '~g~Freeze state changed to ~w~',
        ['set_description'] = 'Description',
        ['set_description_desc'] = 'Makes it easier to find your object in the menu.',

        ['recommend_objects'] = 'Available objects',
        ['recommend_objects_desc'] = 'List of useful objects',
        ['select_object_desc'] = 'Buy object ~b~',

        ['selectObject_help'] = 'Now enter your object using ~y~/selectObject [~g~OBJECT~y~]~s~.',
        ['invalid_object'] = '~r~Invalid object!',
        ['not_enough_money'] = '~r~You do not have enough money!',
        ['no_object'] = '~r~No object!',
        ['cant_save'] = '~r~Object was not saved! Restart your game to to edit this object.',
        
    },
    ['de'] = {
        ['menu_title'] = 'Map Builder',

        ['get_object_distance'] = 'Platzierte Objekte',

        ['controls'] = 'Bedienung',
        ['turn_right'] = ' ~s~um das Objekt ~b~nach rechts ~s~zu drehen',
        ['turn_left'] = ' ~s~um das Objekt ~b~nach links ~s~zu drehen',
        ['turn_fast'] = ' ~s~um das Objekt ~b~schneller ~s~zu drehen',
        ['turn_slow'] = ' ~s~um das Objekt ~b~langsamer ~s~zu drehen',
        ['move_forward'] = ' ~s~um das Objekt nach ~b~vorne ~s~zu ~b~bewegen.',
        ['move_backwards'] = ' ~s~um das Objekt nach ~b~hinten ~s~zu ~b~bewegen.',
        ['move_right'] = ' ~s~um das Objekt nach ~b~rechts ~s~zu ~b~bewegen.',
        ['move_left'] = ' ~s~um das Objekt nach ~b~links ~s~zu ~b~bewegen.',
        ['move_fast'] = ' ~s~um das Objekt ~b~schneller ~s~zu ~b~bewegen.',
        ['move_slow'] = ' ~s~um das Objekt ~b~langsamer ~s~zu ~b~bewegen.',
        ['back_to_menu'] = ' ~s~um zum ~b~Hauptmenu ~s~zurückzukehren.',

        ['only_for_admins'] = '~r~Nur Admins können beliebige Objekte verwenden!',

        ['spawn_object'] = 'Objekt spawnen',
        ['spawn_object_final'] = '~g~Objekt spawnen',
        ['spawn_object_final_desc'] = '~g~Das Objekt wird an deiner Position spawnen',
        ['move_object'] = 'Objekt bewegen',
        ['turn_object'] = 'Objekt drehen',
        ['delete_object'] = '~r~Objekt löschen',
        ['delete_object_desc'] = 'Lösche das Objekt',
        ['save_object'] = '~g~Objekt speichern',
        ['save_object_desc'] = 'Speichert das Objekt in der Datenbank',
        ['enter_objectname'] = 'Objekt:',
        ['enter_objectname_desc'] = 'Klicke, um eine Beschreibung hinzuzufügen',

        ['obj_tp'] = 'Teleport',
        ['obj_tp_desc'] = 'Teleportiere dich zu diesem Objekt',
        ['obj_hide'] = 'Ausblebende',
        ['obj_hide_desc'] = 'Blende das Objekt aus (Nur für dich unsichtbar)',
        ['obj_replace'] = 'Einblenden',
        ['obj_replace_desc'] = 'Blende das Objekt wieder ein',
        ['obj_already_exists'] = '~r~Das Objekt sollte noch sichtbar sein.',
        ['obj_permdelete_desc'] = 'Das Objekt wird permanent aus der Datenbank gelöscht!',
        ['obj_removed'] = '~g~Das Objekt wurde aus der Datenbank entfernt.',
        ['obj_savechanges'] = '~g~Änderungen speichern.',
        ['obj_savechanges_desc'] = 'Deine Änderungen werden gespeichert und für alle Spieler synchronisiert.',
        ['obj_saved'] = '~g~Deine Änderungen wurden gespeichert!',

        ['set_moveable'] = 'Objekt einfrieren?',
        ['set_moveable_desc'] = 'Soll das Objekt bewegt werden können?',
        ['moveable_state_changed'] = '~g~Freeze-Status geändert: ~w~',
        ['set_description'] = 'Kommentar',
        ['set_description_desc'] = 'Dadurch kann das Objekt leichter wiedergefunden werden.',

        ['recommend_objects'] = 'Verfügbare Objekte',
        ['recommend_objects_desc'] = 'Nützliche Objekte',
        ['select_object_desc'] = 'Objekt kaufen~b~',

        ['selectObject_help'] = 'Wähle ein anderen Objekt mit ~y~/selectObject [~g~OBJECT~y~]~s~ aus.',
        ['invalid_object'] = '~r~Unbekanntes Objekt!',
        ['not_enough_money'] = '~r~Du hast nicht genügend Geld!',
        ['no_object'] = '~r~Kein Objekt!',
        ['cant_save'] = '~r~Änderungen nicht gespeichert! Bitte starte das Spiel neu.',
        
    }
}

Dependecies

  • (ESX) - A standalone version is also included: This works with a Steam whitelist.
  • NativeUI or NativeUIReloaded

Price: 6€ / 7,50$ (tax included)
Download at: https://luis-scripts.tebex.io/package/4223168