Skip to content

β›Ί Camp builder ​

Documentation relating to the kd_campbuilder.

1. Installation ​

kd_campbuilder works with RedEM:RP and VORP. Be sure you installed one of them before to use this script.

  • Drag and drop the resource in your resources folder
    • kd_campbuilder
  • Add this ensure in your server.cfg
    • ensure kd_campbuilder
  • Edit the redemrp_inventory to allow kd_campbuilder to add items dynamically.

In redemrp_inventory > client > cl_main.lua add :

lua
RegisterNetEvent("redemrp_inventory:UpdateItems")
AddEventHandler("redemrp_inventory:UpdateItems", function(_items)
    Config.Items = _items
end)

In redemrp_inventory > server > sv_main add :

lua
RegisterServerEvent("redemrp_inventory:CreateCustomItem")
AddEventHandler("redemrp_inventory:CreateCustomItem", function(name, data)
    local source = source
    Config.Items[name] = data
    TriggerClientEvent("redemrp_inventory:UpdateItems", source, Config.Items)
end)
  • Create the table in database
sql
CREATE TABLE IF NOT EXISTS `camps` (
  `id` int NOT NULL AUTO_INCREMENT,
  `identifier` varchar(50) NOT NULL,
  `characterid` int NOT NULL,
  `propsetModel` varchar(100) NOT NULL,
  `coordinates` varchar(100) NOT NULL,
  `lastrefresh` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
  • Congratulation, the Camp builder script is ready to be use !

2. Usage ​

Go to the shop (maker in the map) to buy your camp. You will be able to preview them by pressed E.

To place your camp, use the item in your inventory. A preview of the camp will appears. You can rotate it with the mouse wheel . Press Enter to validate the location.

A boxes will appears instead of your camp. Wait the countdown to have your camp.

To remove your camp, use the command /campunbuild near than it. A countdown will be display again. Wait the end to take it with the command /camptake . The camp will be back in your inventory.

3. Config.lua ​

lua
--@param test
Config = {}
-- Choose your framework
Config.framework = "VORP" -- can be "RedEM", "VORP"

-- Distance to spawn the seller
Config.distanceSpawnPed = 50.0
-- Distance to display the prompt to open the shop
Config.distanceOpenShop = 3.0
-- Distance to spawn camp
Config.distanceShowCamp = 50.0
-- Distance to show countdown
Config.distanceShowTimer = 20.0

-- Key to open the shop (https://www.rdr2mods.com/forums/topic/1575-list-of-keyboard-enums/)
Config.keyOpenShop = 'INPUT_JUMP'
-- Blip icon for shops
Config.blip = "blip_region_caravan"
-- Blip name for shops
Config.blipName = "Boutique de campement"

Config.menu = {}
-- Menu title
Config.menu.title = 'Campement'
-- Menu position
Config.menu.align = 'top-left'

-- Countdown to build camp
Config.durationBuild = 10000
-- Countdown to unbuild camp
Config.durationUnbuild = 10000

-- Fire animation
Config.ptfx = {
  swap = {
    dict = "scr_dm_ftb",
    name = "scr_mp_chest_spawn_smoke",
    scale = 2.0
  }
}

-- Boxes propset
Config.boxes = {
  small = {
    model = 'pg_mp_possecamp_tent_trader01x_b',
    sizeVegModifier = 1.0
  },
  medium = {
    model = 'pg_mp_possecamp_tent_trader03x_b',
    sizeVegModifier = 1.0
  },
  big = {
    model = 'pg_ls_soldier2_01x',
    sizeVegModifier = 1.0
  },
}

-- Shops configuration
Config.shops = {
  {
    -- Identifier of the shop
    name = "shop1",
    -- Configuration of the ped
    ped = {
      netID = 0,
      entityID = 0,
      model = "A_M_M_RANCHER_01",
      coords = vector4(2738.53, -927.25, 42.22, 216.48)
    },
    -- Configuraiton of the preview
    preview = {
      spawn = vector4(2729.02, -930.6, 43.24, 210.75),
      distance = 5.0,
    }
  },
}

-- Camp available
Config.items = {
  ['Camp'] = {                                             --Category name (can be edited)
    {
      label = "Campement 1",                               -- Name of the item
      price = 500,                                         -- Price of the camp
      shops = { 'shop1' },                                 -- List of shops where the camp can be buy
      propsetModel = "pg_ambcamp01x_tent_canvas_leanto04", -- Propset model (https://github.com/femga/rdr3_discoveries/blob/master/objects/propsets_list.lua)
      sizeVegModifier = 5.0,                               -- Size of the vegetation modifier
      size = "small"                                       -- type of boxes when build/unbuild (defined in Config.boxes)
    },
    { label = "Campement 2", price = 500, shops = { 'shop1' }, propsetModel = "pg_ambcamp01x_tent_plaid_lean01", sizeVegModifier = 5.0, size = "small" },
    { label = "Campement 3", price = 500, shops = { 'shop1' }, propsetModel = "pg_ambcamp01x_tent_plaid_lean02", sizeVegModifier = 5.0, size = "small" },
    { label = "Campement 4", price = 500, shops = { 'shop1' }, propsetModel = "pg_ambcamp01x_tent_sticks_tall", sizeVegModifier = 5.0, size = "small" },
    { label = "Campement 5", price = 500, shops = { 'shop1' }, propsetModel = "pg_ambcamp01x_tent_string_lean", sizeVegModifier = 2.0, size = "small" },
    { label = "Campement 6", price = 500, shops = { 'shop1' }, propsetModel = "pg_ambcamp01x_tent_string_tarp", sizeVegModifier = 5.0, size = "small" },
  },
  -- ['New category'] = {
  --   {label = "feu 1", price = 100, shops = {'shop1'}},
  --   {label = "feu 2", price = 200, shops = {'shop2'}}
  -- }
}

Last updated: