[How To] Make Item Requests!

How to make an Item to be added Request!

In the spirit of keeping things open for ideas, I have make a smallish way of making a post in order to gather ideas for items within the RP server.

Please note that any balancing that may need to be done will take place without input from anyone else, this is just a way to speed up the process for us to get stuff organised and to include the community in the process.



Getting Started


You have a great idea, and want to share it? Awesome!
Please find the below, its a basic data table written in the lua language, known for its ease of learning. If you have never seen any form of programming language before, don’t be scared of it, we will go through it together!

Look for the “–” lines within the code block below to see my comments for you to read and understand (hopefully) what i am talking about!

Just note that capitalization of letters matters, so for the sake of anything you provide, just use lowercase and we can fix what we need too.


-- This box below with the " " quotations is a Key, and its Value is the table within = { } It should be the name of the Item you want to make.
    [""] = {
        Name = "", -- The display name of the item you want too add.
        Degrade = false, -- This will reflect if you want the item to slowly loose its value/has a time limit on it existing within the world. can be either true or false
        DegradeRate = 0.0, -- if you have listed true, please make a choise between 0.0 and 5.0, think of 5.0 being about a day in game time before it breaks.
        Quality = 100, -- You can leave this one
        Quantity = 1, -- You can leave this one
        Cost = 1, -- Think of cost to make, what business may need in order to make the item etc. Must be a number.
        Value = 1, --The sale price fo the item, prior to discounts or favours, Must be a number
        Weight = 0, -- Try and be realistic the the weight of things please! Must be a number, can be a decimal number
        Weapon = false, -- No custom weapons will be added at this stage, so false for now.
        Meta = false, -- the meta table is capable of containing data that can be used on the front user interface, to give items meaning or unique features. Please see below for an example. Is either a table or false.
        Data = false, -- This is used as a reference to external functions to provide data for the item, in example, I have another resource that pulls default information from the vanilla game for the item, to spare the time calling native functions around it, basically a small cache of data.
        Craftable = false, - true or false
        Recipe = false, -- true or false, you can learn recipes to make things, some jobs will know things as needed, but recipes can be learned by anyone to do the same crafting.
        Materials = false, -- if above is true then see the example below of how to format, is either a table or false
        Stackable = true, -- only false if it is independent, like a weapon
        Consumeable = false, -- true or false, will it be eaten or used with a single use.
        Hotkey = false, -- true or false, can it be bound to a hotkey slot to use quickly
        Image = ".png" -- if you have an image to provide for the item, it would be handy, otherwise we can source one.
    },


Example of the Meta and Materials tables


    ["WEAPON_KNIFE"] = {
        Name = "Knife",
        Degrade = false,
        DegradeRate = 0.0,
        Quality = 100,
        Quantity = 1,
        Cost = 20,
        Value = 35,
        Weight = 1,
        Weapon = "2578778090",
        Meta = {
            Ammo = false,
            Attachments = {},
            SerialNumber = false,
            BatchNumber = false,
            Crafted = false,
            Registered = false,
            About = "A sharp tool used for skinning." -- This is the main feild to provide informaiton around the item in general speaking.
        },
        Data = weapon_dump["2578778090"],
        Craftable = true,
        Recipe = true,
        Materials = {{ -- Each material required is a table of two key and value pairs, ItemRequired and Quantity
            ItemRequired = "Rubber",
            Quantity = 1
        }, {
            ItemRequired = "Blade",
            Quantity = 1
        }},
        Stackable = false,
        Hotkey = true,
        Consumeable = false,
        Image = "WEAPON_KNIFE.png"
    },

Consumable Item: Like Food

    ["Coffee"] = {
        Name = "Cup-o-Joe",
        Degrade = false,
        DegradeRate = 0.0,
        Quality = 100,
        Quantity = 1,
        Cost = 1,
        Value = 3,
        Weight = 0,
        Weapon = false,
        Meta = {
            About = "Just a cup of Joe's finest."
        },
        Data = {
            -- Modifiers change the rate of degridation
            -- 1 - 10
            Modifiers = {
                Hunger = 2, -- number 1-10
                Thirst = 1, -- number 1-10
                Stress = 2 -- number 1-10
            },
            -- Status removes or adds the amount as intended out of 100
            Status = {
                Hunger = -1, -- number -100 - 100
                Thirst = 18, -- number -100 - 100
                Stress = -5 -- number -100 - 100
            },
        },
        Craftable = false,
        Recipe = false,
        Materials = false,
        Stackable = true,
        Consumeable = true,
        Hotkey = true,
        Image = "Coffee.png"
    }

Putting it all together

The post below this one will have a template to copy and paste for the body of your idea to edit and use as needed.

Add a reason as to why you think it will be a really good idea to add the item, pros and cons, if it should be restricted to crafting by a particular job or role, any anything else you can think of with the table of data and image, if you have one, and make a post within the #development:request-zone with the heading of [Item] Request, with the tag, item

Item to be added:


Reason: Be as descriptive as possible and try to avoid conflicts of interest if any exist.


Item Data:

    [""] = {
        Name = "",
        Degrade = false,
        DegradeRate = 0.0,
        Quality = 100,
        Quantity = 1,
        Cost = 1,
        Value = 1,
        Weight = 0,
        Weapon = false,
        Meta = false,
        Data = false,
        Craftable = false,
        Recipe = false,
        Materials = false,
        Stackable = true,
        Consumeable = false,
        Hotkey = false,
        Image = ".png"
    },

Image: if any.