VRPex

You will receive the script in keymaster.fivem.net profile, after this click in blue "download" button.

After download, put the script in your server files.

Remeber:

You need to be logged with the same cfx.re account you used to buy in my tebex store.

  1. Install all dependencies, and follow their respective installation instructions.

Dependencies Part

Download all the scripts by clicking on their respective names, put them in the server files and ensure in server.cfg

Webhooks

JPR Phone System uses webhooks for photo system, video system and audios files. All you need to do is replace the default webhooks, via config.lua Our log system works for regular players as well as more detailed logs for staff.

For more info how to create a discord webhook follow this tutorial: https://www.youtube.com/watch?v=fKksxz2Gdnc&t=7s&ab_channel=NoIntroTutorials

Integration with the home system

Due to the huge variety of home systems for VRPex, if you want to make your system compatible with the phone system, you should follow and adapt following template:

This part is a template of our callback to house script owners being able to be supported by us, just need to adapt this little callback and everything will work perfect: (Should be added inside server_config.lua of Phone System.)

function GetPlayerHouses(serie)
    local src = source
    local Player = GetPlayerSource(src)
    local user_id = getUserId(Player)
    local MyHouses = {}
    local CitizenId = MySQL.Sync.fetchAll('SELECT * FROM vrp_homes_permissions WHERE user_id = ?', {serie})

    if (CitizenId[1]) then
        local houseInfo = {}
        local houseList = Config.house.houseList

        for k, v in pairs(CitizenId) do
            local home = v.home
            local id = v.user_id

            for k, v in pairs(houseList) do
                if k == home then
                    table.insert(houseInfo, {house = v.name,type = v.type,Entrance = v.entrada})
                end        
            end
        end

        if houseInfo then
            local finalInfo = {}
            for k, v in pairs(houseInfo) do
                local tempVar = {}
                tempVar.house = v.house
                tempVar.citizenid = id
                tempVar.HouseData = {
                    coords = {
                        enter = {
                            x = v.Entrance.x,
                            y = v.Entrance.y,
                        }
                    },
                    adress = v.house,
                }
                tempVar.tier = v.type
                tempVar.label = v.house

                table.insert(finalInfo, tempVar)
            end

            return finalInfo
        else
            return nil
        end
    else
        return nil
    end
end

MDT ⚠️

MDT app has all its code open, the filtering part is in openFunctions.js and the part that takes information from SQL is in client_config and server_config. Any change to your SQL can affect the way MDT works, so if you have the programming skills to adapt it to your server or it's already working (most of them) use it, otherwise disable it in the config.

Permissions to JPR Phone System

JPR Phone System needs permissions to record your voice, so you can send audio messages and record videos with audio by the phone.

If you receive a message like this, click F8, "Allow".

This message appears only once.

SQL

Execute JPR - Phone System.sql file in your SQL

This is mandatory!

Inventory

To create new items we provide some help:

cfg - items.lua:

["phone"] = { "Phone",0.3 },
["phone_white"] = { "White Phone",0.3 },
["phone_gold"] = { "Gold Phone",0.3 },
["phone_red"] = { "Red Phone",0.3 },
["phone_blue"] = { "Blue Phone",0.3 },
["phone_green"] = { "Green Phone",0.3 },
["phone_pink"] = { "Pink Phone",0.3 },
["phone_green_light"] = { "Green Light Phone",0.3 },
["powerbank"] = { "Powerbank",0.3 },

modules - inventory.lua:

["phone"] = { index = "phone", nome = "Phone", type = "usar", desc = "Smartphone" },
["phone_white"] = { index = "phone_white", nome = "White Phone", type = "usar", desc = "White Smartphone" },
["phone_gold"] = { index = "phone_gold", nome = "Gold Phone", type = "usar", desc = "Gold Smartphone" },
["phone_red"] = { index = "phone_red", nome = "Red Phone", type = "usar", desc = "Red Smartphone" },
["phone_blue"] = { index = "phone_blue", nome = "Blue Phone", type = "usar", desc = "Blue Smartphone" },
["phone_green"] = { index = "phone_green", nome = "Green Phone", type = "usar", desc = "Green Smartphone" },
["phone_pink"] = { index = "phone_pink", nome = "Pink Phone", type = "usar", desc = "Pink Smartphone" },
["phone_green_light"] = { index = "phone_greenLight", nome = "Green Light Phone", type = "usar", desc = "Light Green Smartphone" },
["powerbank"] = { index = "powerbank", nome = "Powerbank", type = "usar", desc = "Powerbank" },

Phones item usage:

TriggerClientEvent('jpr-phonesystem:client:openPhoneSystem', source)

Powerbank item usage:

elseif itemName == "powerbank" then
    TriggerEvent('jpr-phonesystem:server:usedPowerbank', source)
end

Follow this little video to know how to use Fivemanage for media uploads ( avoid discord future problems ) with our Phone System:

(If you dont want this and keep "risking", we provide old system at same, just turn on UseOtherUploadSystem to true, UseFivemerrSystem to false and UseFiveManageSystem to false)

Using Fivemerr

Follow this little video to know how to use Fivemerr for media uploads ( avoid discord future problems ) with our Phone System:

(If you dont want this and keep "risking", we provide old system at same, just turn on UseOtherUploadSystem to true, UseFivemerrSystem to false and UseFiveManageSystem to false)

You can choice what system you want to use, Fivemanage or Fivemerr, they both work great, Fivemerr is know to have more space with free plans, so choice one of them and follow the video tutorial.

Last updated