Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AddCSLuaFile()
- if SERVER then
- resource.AddWorkshop( "712302008" )
- end
- -- http://steamcommunity.com/sharedfiles/filedetails/?id=712302008 (add this to your server collection it is already added to the client files)
- -- IF YOUR METAL BARS FLOAT THEN YOU DID NOT DO THIS ^^^
- -- ATTENTION!!!!!! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- -- If you do not do the above the ores and pickaxe will be errors~!
- -- YOU MUST USE THE Mining Locations WEAPON IN ORDER TO PLACE ROCK SPAWNS CORRECTLY
- -- IF YOU DONT WANT PLAYERS TO SPAWN REFINERIES AND CRAFTING TABLES (not Recomended) THEN PLACE THEM ON MAP AND USE COMMAND BELOW
- --[[ Console Commands
- mining_resaverocks = Resaves the position of all rocks on the map allowing you to move rocks that the tool does not position correctly (allows you to remove single rocks by simply removing a rock and then saving)
- mining_savenpc = Spawn a npc and position it then save it with this command
- mining_saverefineries = Save Refineries (Dont use if your players have spawned refineries as it saves ALL refineries)
- mining_savecraftingtables = Same as above but with crafting tables
- mining_clearorebag PLAYERS64BITSTEAMID! = Clears the player's orebag who matches the 64bit steamid provided
- ]]--
- SMS.SellAllButton = true -- Add a button to the ore seller to sell all ore at once (will add a "are you sure" prompt to this later)
- SMS.Debug = false
- SMS.PickDamage = 15 -- How much damage the pickaxe does to npcs and players
- --REMOVED ADD TO EACH ORE ----------- SMS.RefinedValueMult = 1.7 -- How much more can you sell refined ore for compaired to raw ore (1.7 is 70% more then raw)
- SMS.GiveOrebagOnSpawn =true-- Should players spawn with the orebag (recomended as the orebag saves and you only need one to drop the ores)
- SMS.MaxDroppedRocks = 10 -- Maximum number of rocks a player can drop at one time
- SMS.OnlyOwnerRefinery = false -- Prevent all but the owner from using their refinery (do not use if you are using permanent refineries)
- --Rocks are no longer solid if you use this feature VVVV to counteract players getting stuck in respawning rocks
- SMS.RocksBreak = true -- Should rocks break after a number of hits? Each rock uses more resources, dont use this with a ton of rocks. Suggested max rocks while using this is about 25-30
- SMS.RockRespawnDelay = 10 -- How long before the rocks regain ore (after 10 seconds the rock will get 1 ore back so if you hit it 3 times, and the ore has a max ore of 10 then there are 7 ore left, after 10 seconds there will be 8)
- -- Experiance gain using https://github.com/vrondakis/Leveling-System WILL ERROR IF YOU DONT HAVE THIS ADDON
- SMS.GiveXPForMining = false -- Should experiance be given when a rock is successfully mined?
- SMS.GiveXPForCrafting = false -- Should experiance be given when crafting an item?
- SMS.OnlyOreOwnerCanTake =false-- Taking unfinished ores out of refinery (rock owner only?)
- SMS.UseFuel = false -- Should fuel be require? (cola is default fuel) fuel must be in both the SMSFuel and SMSRocks (if set to false coal can be smelted into bars otherwise it just fuels the refinery)
- -----------------------------------Place in config_mining
- -- Ranks listed here have access to the mining_addrocks command.
- -- mining_addrocks partofplayersname rockname state-Raw-or-Refined quantity
- -- Example: mining_addrocks void Tin Raw 100
- SMS.RankCanEditOrebag = {
- "owner",
- "superadmin",
- }
- -- Ranks that are allowed to view a players orebag
- -- mining_view Playername Example: mining_view Void
- SMS.RankCanViewPlayerOres =
- {
- "owner",
- "superadmin",
- }
- SMSFuel["Coal"] = {
- NumberOfSmelts = 10 -- how many ores should be smelted on one ore
- }
- -- Translation
- SMS.Language = "french" -- Language, must be a file in lua/mining_languagefiles
- SMS.Currancy = "$"
- -- First example is showing all the possible changes, rest of the examples show the minimal requirements
- -- First example is showing all the possible changes, rest of the examples show the minimal requirements
- -----------Rock Types-----------
- SMSRocks["Cuivre"] = { -- Type of rock
- Color = Color(255,150,50), -- Color of rock
- Value = 0, -- How much you can sell raw material for
- Refinedmultiplier = 1.7, -- How much you can sell refined material for (multiplyer) NEW
- Difficulty = .60, -- How likely you are to get a rock on a single hit (1.0 will give you a rock every hit (max))
- XPReward = 1, -- How much experiance is rewarded for crafting?(You can leave out for 0 experiance)
- Smelttime = 3, -- How long does it take to refine ore? If 3 or nil the time will be 3 seconds
- MineRefined = false, -- Do you want this ore to not have to be refined?
- CustomRockModel = nil, -- "models/props/cs_militia/militiarock05.mdl" for a more round rock that you mine from
- CustomRawOreModel = nil, -- If you want the Raw ore to have a custom model put here (Keep it small or it messes with refinery view)
- CustomRefinedOreModel = nil,-- Same thing as above but with Refined Ore
- RefinedOreMaterial = nil, -- Material Overwrite for refined ore (if set nil then its shiny)
- RawOreMaterial = nil, -- Set to "models/shiny" for a shiny rock and ore
- MaxHits = 3, -- Max number of hits before rock breaks if "SMS.RocksBreak = true" (default number is 10 if none is set)
- }
- SMSRocks["Etain"] = {
- Color = Color(200,200,200),
- Value = 0,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = .60,
- XPReward = 5,
- }
- SMSRocks["Metal"] = {
- Color = Color(100,100,100),
- Value = 2,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = .20,
- XPReward = 2,
- }
- SMSRocks["Mithril"] = {
- Color = Color(0,255,255),
- Value = 8,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = .05,
- XPReward = 5,
- RawOreMaterial = "models/shiny",
- }
- SMSRocks["Adamantium"] = {
- Color = Color(255,0,255),
- Value = 14,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = .01,
- XPReward = 5,
- RawOreMaterial = "models/shiny",
- }
- SMSRocks["Bar de Bronze"] = { -- this ore is not mineable (used for seconday recipees allowing for multi teir crafting) dont place rocks on map for this ore
- Color = Color(250,200,0),
- Value = 1,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = 0,
- Smelttime = 6,
- XPReward = 5,
- }
- SMSRocks["Bar de Metal"] = { -- this ore is not mineable (used for seconday recipees allowing for multi teir crafting) dont place rocks on map for this ore
- Color = Color(100,100,100),
- Value = 15,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = 0,
- Smelttime = 11,
- XPReward = 5,
- }
- SMSRocks["Bar de Mithril"] = { -- this ore is not mineable (used for seconday recipees allowing for multi teir crafting) dont place rocks on map for this ore
- Color = Color(250,200,0),
- Value = 30,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = 0,
- Smelttime = 20,
- XPReward = 5,
- }
- SMSRocks["Bar de Adamantium"] = { -- this ore is not mineable (used for seconday recipees allowing for multi teir crafting) dont place rocks on map for this ore
- Color = Color(250,200,0),
- Value = 50,
- Refinedmultiplier = 1.7, ----- MUST BE HERE!@
- Difficulty = 0,
- Smelttime = 30,
- XPReward = 5,
- }
- SMSRocks["Coal"] = {
- Color = Color(0,0,0),
- Value = 0,
- Difficulty = 1,
- Refinedmultiplier = 1,
- XPReward = 5,
- }
- -- RECIPES -- Add and create recipes for the crafting table (uses refined ore)
- -- Weapons
- SMS.Recipes["lockpick"] = { -- Classname
- displayname = "Lockpick", -- Display name
- model = "models/weapons/w_crowbar.mdl", -- Model to display
- needed = {Bar de Metal = 6}, -- Ore Needed, (be sure to give it the same capitalization as you did above)
- Type = "weapon", -- Can be "weapon", "rawore", or "refinedore" or nothing for an entity
- jobs = {TEAM_FORGERON}, -- Restricted Jobs
- SortOrder = 1, -- Order it appears in crafting table
- XPReward = 1, -- How much experiance is rewarded for crafting?(You can leave out for 0 experiance)
- }
- SMS.Recipes["item_ammo_crossbow"] = { -- hl2 crossbow bolts
- displayname = "Carreaux d'arbalète",
- model = "models/Items/CrossbowRounds.mdl",
- needed = {Bar de Metal = 3},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["ent_bs_kite"] = { -- hl2 crossbow bolts
- displayname = "Bouclier de Bertwick",
- model = "models/weapons/w_bs_shield_kite.mdl",
- needed = {Bar de Mithril = 6},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["ent_bs_scutum"] = { -- hl2 crossbow bolts
- displayname = "Bouclier de Cortium",
- model = "models/weapons/w_bs_shield_scutum.mdl",
- needed = {Bar de Mithril = 6},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["ent_bs_targe"] = { -- hl2 crossbow bolts
- displayname = "Bouclier de Bandit",
- model = "models/weapons/w_bs_shield_targe.mdl",
- needed = {Bar de Mithril = 6},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["weapon_bs_greatsword"] = { -- hl2 crossbow bolts
- displayname = "Greatsword",
- model = "models/weapons/w_bs_greatsword.mdl",
- needed = {Bar de Mithril = 8, Bar de Adamantium = 6, Bar de Bronze = 100},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["weapon_bs_raider"] = { -- hl2 crossbow bolts
- displayname = "Raider Sword",
- model = "models/weapons/w_bs_raider.mdl",
- needed = {Bar de Mithril = 5, Bar de Adamantium = 3, Bar de Bronze = 90},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["weapon_bs_longsword"] = { -- hl2 crossbow bolts
- displayname = "Long Sword",
- model = "models/weapons/w_bs_longsword.mdl",
- needed = {Bar de Metal = 8, Bar de Adamantium = 1, Bar de Bronze = 70},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["weapon_bs_longsword"] = { -- hl2 crossbow bolts
- displayname = "Long Sword",
- model = "models/weapons/w_bs_longsword.mdl",
- needed = {Bar de Metal = 6, Bar de Mithril = 5, Bar de Bronze = 70},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["weapon_bs_scimitar"] = { -- hl2 crossbow bolts
- displayname = "Scimitar",
- model = "models/weapons/w_bs_scimitar.mdl",
- needed = {Bar de Metal = 4, Bar de Mithril = 2, Bar de Bronze = 60},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["weapon_bs_broadsword"] = { -- hl2 crossbow bolts
- displayname = "Broadsword",
- model = "models/weapons/w_bs_broadsword.mdl",
- needed = {Bar de Metal = 10, Bar de Bronze = 50},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["models/weapons/w_bs_gladius.mdl"] = { -- hl2 crossbow bolts
- displayname = "Gladius",
- model = "models/weapons/w_bs_gladius.mdl",
- needed = {Bar de Metal = 3, Bar de Bronze = 40},
- jobs = {TEAM_FORGERON},
- SortOrder = 3,
- XPReward = 1,
- }
- SMS.Recipes["Bar de Bronze"] = { -- This is the oretype if Type = "refinedore",
- displayname = "Bar de Bronze",
- model = "models/mining/metalbar.mdl",
- needed = {Cuivre = 1, Etain = 1},
- Type = "refinedore",
- jobs = {TEAM_FORGERON},
- SortOrder = 22,
- XPReward = 5,
- }
- SMS.Recipes["Bar de Metal"] = { -- This is the oretype if Type = "refinedore",
- displayname = "Bar de Metal",
- model = "models/mining/metalbar.mdl",
- needed = {Metal = 2, Coal = 5},
- Type = "refinedore",
- jobs = {TEAM_FORGERON},
- SortOrder = 22,
- XPReward = 5,
- }
- SMS.Recipes["Bar de Mithril"] = { -- This is the oretype if Type = "refinedore",
- displayname = "Bar de Mithril",
- model = "models/mining/metalbar.mdl",
- needed = {Mithril = 3, Coal = 8},
- Type = "refinedore",
- jobs = {TEAM_FORGERON},
- SortOrder = 22,
- XPReward = 5,
- }
- SMS.Recipes["Bar de Adamantium"] = { -- This is the oretype if Type = "refinedore",
- displayname = "Bar de Adamantium",
- model = "models/mining/metalbar.mdl",
- needed = {Adamantium = 4, Coal = 12},
- Type = "refinedore",
- jobs = {TEAM_FORGERON},
- SortOrder = 22,
- XPReward = 5,
- }
- ------- Do Not Edit Below Line--------
- SMS.LangTab = {}
- include("mining_languagefiles/"..string.lower(SMS.Language)..".lua")
- AddCSLuaFile("mining_languagefiles/"..string.lower(SMS.Language)..".lua")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement