Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BEModuleConfig = {}
- BEModuleFunctions = {}
- local Config = BEModuleConfig
- -- General Settings --
- Config.Version = 2.5 -- Which version of DarkRP, don't include second decimals INCORRECT: (2.5.0) Correct: (2.5)
- Config.Style = 2 -- The default VGUI style, players can change theirs (1-4) 1: "Sleek" Dark, 2: Dark/Black, 3: Pink, 4: Red
- Config.Currency = "$" -- The symbol displayed to represent money
- Config.LoadTime = 30 -- How long it takes for the initilization timers to take (to allow other things to load, basically)
- -- Economy Settings --
- Config.Reputation = 50 -- Where the reputation progress starts at (0-100) (reloading the script resets the game value)
- Config.EconomyBank = 20000 -- How much money the bank begins with (reloading the script resets the game value)
- Config.E_HUDPosition = "top" -- Where the economy meter and basic information is located: "top" or "bottom"
- Config.E_HUDHeight = 25 -- The height of the HUD displaying economy, reputation, and money
- Config.E_HUDWidth = 250 -- Same as height, but the width, which is horizontal
- Config.EconomyStyleCommand = "estyle" -- The command used to change the VGUI style, no slash required
- Config.EconomyManagerCommand = "economy" -- The command that allows the mayor to manage the economy
- Config.EconomyManagerQuickKey = true -- If this is enabled, the mayor can press F2 (when not looking at a door) to open the economy manager
- -- Bank Robbing Settings --
- Config.NoRobbingJobs = { "Офицер полиции", "Спецназ", "Патрульный", "ФБР", "Шеф полиции", "Снайпер спецназа", "Дорожная полиция", "Робокоп", "Оружейный барон", "ТТВ", "Житель", "Медик" } -- The job names that aren't allowed to rob, can't use variables such as TEAM_POLICE
- Config.RequiredRobJobs = { "Офицер полиции", "Спецназ", "Патрульный", "ФБР", "Шеф полиции", "Снайпер спецназа", "Робокоп" } -- How many players of one job there should be for robbing to work
- Config.MinimumRequired = 0 -- There must at least be this many required of the jobs above for robbing to work, set 0 to disable
- Config.AutoWant = true -- Want the player when being robbed
- Config.WantMessage = "Расхищает казну!" -- The message displayed when a player begins robbing
- Config.MoneyPickupSpeed = 0.25 -- How fast the player picks up money from money stacks
- Config.MoneyPickupSound = "physics/body/body_medium_impact_soft6.wav" -- The sound each time money is picked up from money stacks, set to "" to disable
- Config.MoneyWorth = 100 -- The worth of each individual money stack
- Config.MoneyStacks = 48 -- How many money stacks are in the money stack
- Config.MoneyRespawn = 2400 -- How many seconds until money stacks respawn again
- Config.MoneyComesFromGovernment = true -- When money stacks are taken, that money will also be deducted from the government's bank
- Config.MoneyEmpty = "У государства нет денег!" -- The message displayed if there isn't any money left (and the above variable is enabled)
- Config.MoneyRespawnDelay = 5 -- The delay after all money has been taken, when it will respawn again
- Config.AlarmSound = "ambient/alarms/alarm1.wav" -- The sound played when the alarm is ringing
- Config.AlarmHealth = 100 -- How much health the alarm has, when it reaches 0 health any alarm will stop
- Config.AlarmSparkOnDamage = true -- When the alarm takes damage it will make spark sounds
- Config.AlarmStartAgain = 30 -- How long before the alarm will start again after being damaged to turn off
- Config.AlarmCooldown = 60 -- How long until the alarm stops (after the last robbing action)
- Config.AlarmLocations = {
- -- Where alarms are put for bank robberies
- -- Remove these to disable alarms
- { map = "rp_califonia_r", model = "models/props_wasteland/speakercluster01a.mdl", pos = Vector(-3055.863037, 3407.066162, 383.804504), ang = Angle(22.736019, 177.275803, 0.000000) },
- }
- Config.MoneyStackLocations = {
- -- Individual money stacks that are placed
- -- Use "models/props_wasteland/speakercluster01a.mdl" as a refrence for placement
- }
- Config.ShelfLocations = {
- -- Shelves of stacks of money
- -- Use "models/props/cs_office/shelves_metal.mdl" as a refrence for placement
- { map = "rp_califonia_r", pos = Vector(-1874.658325, 4153.312500, 192.031250), ang = Angle(26.784014, 85.975739, 0.000000) },
- }
- -- Mayor Settings --
- Config.MayorTeamName = "Мэр" -- The team name of the "mayor team" (economy privledges), can't use variables such as TEAM_MAYOR
- Config.UnacceptableReputation = 15 -- When the reputation is considered "unacceptable," should be less than or equal to 20
- Config.AllowRecall = true -- When the reputation reaches unacceptable, people can recall the mayor (legal demotion)
- -- Hints --
- Config.HintInterval = 180 -- The delay between showning hints
- Config.HintLength = 7 -- How long the hint stays before it fades away
- Config.SayHintBeforeHint = true -- Display "HINT: " before hints.
- Config.Hints = {
- -- Remember to fit these to your configuration's specifications (it doesn't do it automatically)
- "Есть несколько стилей меню экономики. Вы можете изменить его, написав /estyle <ИД стиля>, всего их 1-4.",
- "Мэр принимает решения, которые влияют на репутацию и на общее положение. Если экономика города падает до неприемлимой, то мэра можно выгнать командой /recall.",
- "Случаи, при которых мэр может поднять экономику происходят регулярно. Временами даже верные решения могут дать плохой оборот.",
- "Хорошая экономика позволяет силовым структурам лучше экипироваться. Также, она влияет на зарплату каждого.",
- "Если вы мэр, то нажмите F2 или напишите /economy для открытия меню экономики.",
- "Каждый раз, получая зарплату, с вас будет списывается налог.",
- "Работая сотрудником полиции вы можете улучшать свои навыки, а также, если есть вариант выбирать лучшее снаряжение.",
- }
- -- Taxes --
- Config.EnableTaxes = true -- Whether people are taxed, and that tax money is put into the government's bank
- Config.GovernmentSalary = { "Офицер полиции", "Спецназ", "Патрульный", "ФБР", "Шеф полиции", "Снайпер спецназа", "Робокоп", "Мэр" } -- The team names of people paid using the government's bank, can't use variables such as TEAM_POLICE
- Config.TaxPayers = { "Житель", "Гангстер", "Бандит", "Оружейный барон", "ТТВ", "Механик", "Радио DJ" } -- The team names of jobs that must pay taxes, can't use variables such as TEAM_CITIZEN
- Config.MaxTaxes = 100 -- The, percentage, limit that taxes can be set to (100 being all money can be taken from paychecks)
- Config.DefaultTaxes = 20 -- Where taxes begin
- Config.TaxNotificationLength = 10 -- How long it displays the new taxes for
- -- Loadouts --
- Config.EnableLoadouts = true -- Whether loadouts are enabled, which allows for government to modify their weapons when they spawn
- Config.GovernmentJobs = { "Офицер полиции", "Спецназ", "Патрульный", "ФБР", "Шеф полиции", "Снайпер спецназа", "Робокоп" } -- The team names of government members, can't use variables such as TEAM_POLICE
- Config.PerkNotificationLength = 10 -- How long the notification is displayed for when a perk is bought or expires
- Config.Perks = {
- -- Duration is in minutes
- -- Make sure the ID values for weapon loadouts match
- { id = "primaryWeapons", title = "Основное оружие", cost = 10000, duration = 60, description = [[Открывает дополнительное оружие для всех сотрудников полиции.]] },
- { id = "secondaryWeapons", title = "Вспомогательное оружие", cost = 5000, duration = 60, description = [[Открывает дополнительные пистолеты для сотрудников полиции.]] },
- -- Do not modify these ID values (you can remove the perks, though)
- { id = "upgrades", title = "Улучшения", cost = 10000, duration = 60, description = [[Позволяет полицейским улучшать их параметры, такие как, сила ног, сопротивление урону, броню.]] },
- { id = "reputation", title = "Уважаемый", cost = 25000, duration = 60, description = [[Репутация будет вдвойне увеличена при случае.]] },
- { id = "economy", title = "Лучшая экономика", cost = 5000, duration = 60, description = [[Люди будут получать двойную зарплату.]] },
- }
- Config.WeaponsLoadout = {
- -- In order to remove this from loadouts, just remove all of the tables (not the entire variable, just empty it)
- { id = "primaryWeapons", category = "Основные", reputationRequired = 70, classes = { "m9k_m4a1", "m9k_l85", "m9k_g3a3", "m9k_ithacam37" } },
- { id = "secondaryWeapons", category = "Вспомогательные", reputationRequired = 50, classes = { "m9k_colt1911", "m9k_coltpython", "m9k_deagle", "m9k_model500", "m9k_m92beretta" } },
- }
- Config.UpgradesReputation = 50 -- How low the reputation is allowed for upgrades to be used
- Config.AvailableUpgradePoints = 10 -- How many points are available to be distributed into upgrades (default and minimum value is 1 and the maximum value is 10 for each perk)
- Config.WalkSpeedUpgrade = 50 -- The maximum value that is added to the player's speed when using the leg strength upgrade
- Config.DamageScaleUpgrade = 0.5 -- The maximum scale that is subtracted from the player's damage scale with the resistance upgrade
- Config.UpgradesLoadout = {
- -- WARNING: Do not modify the ID values
- -- You can remove the upgrades or modify the title
- { id = "legStrength", title = "Сила ног" },
- { id = "resistance", title = "Сопротивление урону" },
- { id = "armor", title = "Защитное снаряжение" },
- }
- Config.CurrentPerks = {} -- Used for the current perks, also can work for default perks (use ID)
- -- Opportunities --
- Config.OpportunityInterval = 800 -- The interval between opportunities given to the mayor (make this greater than the sum of the expirations)
- Config.OpportunityNotificationExpiration = 60 -- How long before the question to check the opportunity disappears
- Config.OpportunityDecisionExpiration = 300 -- How long to make an answer
- Config.OpportunityPostNotificationExpiration = 15 -- How long before the message displaying the outcome of the opportunity expires
- Config.OpportunityNotification = "Вам пришел запрос." -- The message displayed
- Config.OpportunitySkipped = 5 -- How much reputation is taken when an opportunity is skipped or there is no mayor
- Config.OpportunityMinPlayers = 1 -- How many players there must be for reputation to actually be lowered for missing an opportunity
- Config.Opportunities = {
- { title = "Исследование",
- description = [[Местный исследовательский центр просит, чтобы вы инвестировали в один из их отделов. Вы можете проигнорировать их запрос, но они имеют большое влияние. Эти исследователи являются одними из лучших в мире, но несомненно, им нужно финансирование. Имеется большой спрос на медицинские технологии, но также они являются довольно рисковыми.]],
- choices = {
- { choice = "Инвестировать в медицину", choiceCost = 5000,
- results = {
- { chance = 50, money = 7500, reputation = 4, message = [[Было сделано несколько открытии в медицине.]] },
- { chance = 20, money = 10000, reputation = 6, message = [[Исследователи сделали очень много открытии.]] },
- { chance = 5, money = 25000, reputation = 10, message = [[Исследовали несколько лекарств от летальных заболевании.]] },
- { chance = 5, money = 15000, reputation = 8, message = [[Научились лечить некоторые нелетальные вирусы.]] },
- { chance = 5, money = 25000, reputation = 2, message = [[Слишком мало было сделано открытии для получения какой-либо прибыли.]] },
- { chance = 5, money = 0, reputation = 0, message = [[Исследователи ничего не достигли.]] },
- { chance = 5, money = 0, reputation = 0, message = [[Возникла авария, в результате которой потерялись все ваши инвестиции.]] },
- { chance = 2, money = 90000, reputation = 15, message = [[Открыли лекарство, которое лечит практически всё.]] },
- { chance = 1, money = 0, reputation = -4, message = [[Случился большой взрыв. Этого могло не случится, если бы вы проигнорировали их запрос.]] },
- { chance = 1, money = 0, reputation = -2, message = [[Кто-то обезумел и использовал ваши инвестиции для того, чтобы убивать людей.]] },
- { chance = 1, money = 0, reputation = -2, message = [[Неспособность следовать плану привела к катастрофе.]] },
- }
- },
- { choice = "Инвестировать в технологии", choiceCost = 5000,
- results = {
- { chance = 45, money = 10000, reputation = 5, message = [[Было открыто несколько технологии.]] },
- { chance = 15, money = 20000, reputation = 8, message = [[Достаточно много технологии было открыто.]] },
- { chance = 10, money = 3500, reputation = 2, message = [[Слишком мало было исследовано, чтобы получить какую-то существенную прибыль.]] },
- { chance = 10, money = 500, reputation = 0, message = [[Что-то исследовали.]] },
- { chance = 5, money = 25000, reputation = 10, message = [[Была изобретена технология сохранения жизни.]] },
- { chance = 5, money = 0, reputation = 0, message = [[Исследователи ничего не достигли.]] },
- { chance = 5, money = 0, reputation = 0, message = [[Случилась авария, которая отбросила все исследования назад.]] },
- { chance = 1, money = 100000, reputation = -4, message = [[Был изобретен источник вечной энергии. К сожалению, не для общественности.]] },
- { chance = 1, money = 10000, reputation = 12, message = [[Был изобретен источник вечной энергии. Общество ликует.]] },
- { chance = 1, money = 0, reputation = -4, message = [[Произошёл серьёзный взрыв. Этого могло не случится, если бы вы не инвестировали]] },
- { chance = 1, money = 0, reputation = -6, message = [[Какой-то безумец создал оружие массового поражения.]] },
- { chance = 1, money = 0, reputation = -2, message = [[Неспособность следовать плану привела к катастрофе.]] },
- }
- },
- { choice = "Игнорировать", choiceCost = 0,
- results = {
- { chance = 50, money = 0, reputation = 0, message = [[Вы проигнорировали запрос, и не получили особых проблем.]] },
- { chance = 25, money = 0, reputation = -5, message = [[Проигнорировав запрос, вы опустились в глазах некоторых людей.]] },
- { chance = 15, money = 0, reputation = -2, message = [[Игнорирование привело к смертям, которых можно было избежать.]] },
- { chance = 5, money = 0, reputation = 2, message = [[Люди думают, что было правильно никуда не инвестировать.]] },
- { chance = 5, money = 0, reputation = 2, message = [[Была обнаружена аномалия, которая могла бы привести к бедам, если бы вы инвестировали.]] },
- }
- }
- }},
- { title = "Терроризм",
- description = [[ Всё шло хорошо, пока кто-то не решил взорвать здание больницы. Какой-то человек говорил, что его знакомый собирается готов взорвать больницу, из-за того, что ему неправильно сделали укол. Что вы собираетесь делать с этим ?]],
- choices = {
- { choice = "Ничего не делать", choiceCost = 0,
- results = {
- { chance = 60, money = 0, reputation = -10, message = [[Здание взорвалось, и погибло много людей.]] },
- { chance = 20, money = 0, reputation = -4, message = [[Ничего не случилось, но люди в ярости от того, что вы ничего не предприняли.]] },
- { chance = 10, money = 0, reputation = 0, message = [[Ничего не произошло и общество ничего не узнало.]] },
- { chance = 10, money = 0, reputation = -6, message = [[Кого-то подозрительно поймали со взрывчаткой, но люди недовольны, что это не ваша инициатива.]] },
- }
- },
- { choice = "Позвонить в ФБР", choiceCost = 5000,
- results = {
- { chance = 80, money = 0, reputation = 10, message = [[ФБР выслеживает и арестовывает челвоека, который собирался взорвать здание.]] },
- { chance = 10, money = 20000, reputation = 8, message = [[ФБР не нашло взрывчатки, но они случайно вышли на склад наркотиков.]] },
- { chance = 5, money = 0, reputation = 2, message = [[ФБР выяснили, что всё это был розыгрыш и арестовали человека, сказавшего об этом.]] },
- { chance = 3, money = 0, reputation = 0, message = [[ФБР ничего не нашли и ничего не произошло.]] },
- { chance = 2, money = 0, reputation = 0, message = [[Агенты облажались. Взрыв унёс множество жизней.]] },
- }
- },
- { choice = "Эвакуировать здание", choiceCost = 0,
- results = {
- { chance = 30, money = 0, reputation = 8, message = [[Здание эвакуировали и нашли бомбу.]] },
- { chance = 30, money = 0, reputation = 0, message = [[Здание эвакуировали, но бомбу не нашли.]] },
- { chance = 20, money = 0, reputation = 10, message = [[Здание эвакуировали, затем произошел взрыв. Никто не пострадал.]] },
- { chance = 20, money = 0, reputation = -4, message = [[Эвакуация провалилась и террорист взорвал бомбу до того, как все успели эвакуироваться.]] },
- }
- }
- }},
- { title = "Пожертвования для дела",
- description = [[Люди собрали 100,000$ для того, чтобы улучшить экономику. Всё зависит от вас. Безработных 10%, эти деньги помогут справиться с их трудообеспечением.]],
- choices = {
- { choice = "Набрать рабочих", choiceCost = 0,
- results = {
- { chance = 80, money = 50000, reputation = 6, message = [[Количество безработных уменьшилось до 4%.]] },
- { chance = 10, money = 125000, reputation = 8, message = [[Количество безработных уменьшилось до 2%.]] },
- { chance = 8, money = 5000, reputation = 2, message = [[Количество безработных всего лишь уменьшилось до 8%.]] },
- { chance = 2, money = 0, reputation = 2, message = [[Ничего не изменилось. Но вы хотя бы попытались. Люди одобряют это.]] },
- }
- },
- { choice = "Оставить деньги", choiceCost = 0,
- results = {
- { chance = 99, money = 100000, reputation = -75, message = [[Вы своровали деньги, и люди никогда не были так разочарованы в вас.]] },
- { chance = 1, money = 100000, reputation = 0, message = [[Похоже, что всем наплевать на это.]] },
- }
- }
- }},
- }
- -- Functions (for versions) --
- Config.GiveMoney = function(ply, amount)
- if Config.Version == 2.5 then
- ply:addMoney(amount)
- elseif Config.Version < 2.5 then
- ply:AddMoney(amount)
- end
- end
- Config.Notify = function(ply, msgType, time, message)
- if Config.Version == 2.5 then
- DarkRP.notify(ply, msgType, time, message)
- elseif Config.Version < 2.5 then
- GAMEMODE:Notify(ply, msgType, time, message)
- end
- end
- Config.NotifyAll = function(msgType, time, message)
- if Config.Version == 2.5 then
- DarkRP.notifyAll(msgType, time, message)
- elseif Config.Version < 2.5 then
- GAMEMODE:NotifyAll(msgType, time, message)
- end
- end
- Config.AddChatCommand = function(command, callback, description, delay)
- if Config.Version == 2.5 then
- if SERVER then
- DarkRP.defineChatCommand(command, callback)
- end
- DarkRP.declareChatCommand{ command = command, description = description, delay = delay }
- elseif Config.Version < 2.5 then
- AddChatCommand("/"..command, callback)
- end
- end
- Config.FormatNumber = function(n)
- if (!n) then
- return 0
- end
- if n >= 1e14 then return tostring(n) end
- n = tostring(n)
- sep = sep or ","
- local dp = string.find(n, "%.") or #n+1
- for i=dp-4, 1, -3 do
- n = n:sub(1, i) .. sep .. n:sub(i+1)
- end
- return n
- end
- Config.ChangeTeam = function(ply, t, force)
- if t == "Default" then
- t = GAMEMODE.DefaultTeam
- end
- if Config.Version == 2.5 then
- ply:changeTeam(t, force)
- elseif Config.Version < 2.5 then
- ply:ChangeTeam(t, force)
- end
- end
- Config.IsDoor = function(entity)
- if Config.Version == 2.5 then
- return entity:isDoor()
- elseif Config.Version < 2.5 then
- return entity:IsDoor()
- end
- end
- Config.IsWanted = function(ply)
- if Config.Version == 2.5 then
- return ply:isWanted()
- elseif Config.Version < 2.5 then
- return ply:IsWanted()
- end
- end
- Config.Wanted = function(ply, reason)
- if Config.Version == 2.5 then
- ply:wanted(ply, reason)
- elseif Config.Version < 2.5 then
- GAMEMODE:PlayerWanted(ply, ply, reason)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement