[PAID] DL SOCIETY - Advanced Job / Company System [VORP / RedEM:RP]




Howdy folks,
im proud to present to you my new Society System.
This System allows you to create and manage Jobs / Companys.

There will be free and paid extensions for this System in the Future.

Get it here: https://drshwaggins-scripts.tebex.io/package/5638677
Subscription Model: https://drshwaggins-scripts.tebex.io/package/5688510
Showcase Video: https://www.youtube.com/watch?v=ET6X3eYkQlA


Feature List

  • :window: | Detailed user interface
    Detailed UI with many Controls

  • :pick: | Create and Place Jobs
    Place your Interaction Points by moving your Job Props freely.

  • :scroll: | Manage your Job
    Manage your Job with various options like a custom paycheckinterval, a custom marker,
    the option to rename your Job or to Sell it to an Employee.

  • :heavy_dollar_sign: | Manage your Wallet
    Deposit or Withdraw money from your Wallet.

  • :pick: | Create and Manage Ranks
    Create as many Ranks as you like with Custom labels, permissions and salarys.

  • :office_worker: | Manage Employees
    Invite new Players to your Job, assign them to created Ranks, Promote them, demote them or Fire them! Even if they are Offline !

  • :gear: | Permission System
    Setup Permissions for each Rank to allow Employees to take specific actions at placed Interaction Points. Allow Employees to Withdraw Money from your Job Wallet or allow them to interact with your Job Storage.

  • :file_cabinet: | Job Inventory
    Deposit or Take Items from your Job Storage.

  • :man_technologist: | Log System
    Discord Log the Job Actions of your Players.

  • :control_knobs: | Custom Configurations
    You can nearly Customize everything including Used Buttons, Commands,
    optional unemployment money, admin permissions, 100% Translateable

  • :hammer: | Various Export Functions
    Containing a List of available functions to manipulate data

Compatible with
- VorpCore Framework
- RedEM:RP Framework


Additional Note:

Job Storage are currently disabled in the RedEM:RP Framework !



Showcase Video


Available Config

Config = {}
Translation = {}

Config.Locale = 'en'  -- Change Language
Config.PositionTimer = 3  -- Job Locations only changable every x days
Config.UseNPlayerSelector = true  -- Otherwise using nearestplayer (if using Menu) or playerID (if using Command)

Config.CreateJobAccess = {'admin'}  -- if empty every user has Access

Config.UseLogger = false  -- Turn if Logging
Config.WalletWebhook = ""
Config.webhookAvatar = ""
Config.WebhookName = "DL-Society"

Config.PayFromCompany = true  -- Pay Salary from Job Wallet
Config.PayUnemployed = false  -- Pay Unemployed Players
Config.UnemployedMoney = 1 -- Pay x$ to Unemployed Players per Interval
Config.UnemployedInterval = 30 -- Paycheckinterval for Unemployed Players in x Minutes

Config.UseProps = true -- Use Props on Interaction Points
Config.TableHash = "p_tablecul01x"  -- Boss Location Table
Config.ArmoryHash = "p_storagebox01x" -- Storage Box Hash
Config.CaseHash = "s_lootablecampcase"  -- Money Case Hash
Config.BalanceAnim = "PROP_PLAYER_OPEN_CASHBOX" -- Put Money in Case Animation

Config.BossMarkerR = 255
Config.BossMarkerG = 255
Config.BossMarkerB = 255

Config.ArmoryMarkerR = 255
Config.ArmoryMarkerG = 255
Config.ArmoryMarkerB = 255

Config.UseMenu = true -- Use MenuApi if false use Commands below
Config.JobMenuCommand = "jobMenu" -- Command to open Boss Menu for placing Interaktion Points or invite Players
Config.ChangeBossLocationCommand = "setJobBossLocation" -- Replace Boss Interaction Point
Config.ChangeArmoryLocationCommand = "setJobArmoryLocation" -- Replace Storage Interaction Point

Config.Keys = {
  BossMenuKey = 0x760A9C6F,
  ArmoryKey = 0x760A9C6F,
  depositCashKey = 0x760A9C6F,
  withDrawCashKey = 0xF3830D8E,
  BuyJobKey = 0x8AAA0AD4,
  OnOffDutyKey = 0xB2F377E8,
}

Config.AllowBlips = true  -- Allow Players with Boss Rank to Setup a Blip
Config.Blips = {  -- All Blips allowed to setup by players (Keep in mind you need to have and image with the same name in html/images/blips)
   	-180188163,
   	-507621590,
    -426139257,
    -592068833,
   	-1357626643,
   	-2034972265,
   	233295963,
    1974270787,
   	-1018164873,
    -1103135225,
    1151744703,
    1433472988,
    -1018697504,
    1961764827,
    -963916715,
   	1322310532,
   	-2108463156,
   	-392465725,
   	553094466,
   	1391579593,
    -1741111493,
    -2030232380,
   	-1396905917,
   	-1693203215,
   	-818533067,
   	-1117222502,
   	60954128,
    -235048253,
 	  2123729925,
   	1834871186,
   	-1371003729,
    2119977580,
    354734005,
    263099185,
    2005921736,
    564457427,
    1258184551,
    1735233562,
    -813538438,
    214435071,
    -266617465,
    -569968788,
    90287351,
    2107754879,
    -243818172
}


Translation = {

    ['de'] = {
        ['create_jobalreadyexist'] = 'Ein Job mit diesen Namen existiert bereits',
        ['create_wronginput'] = 'Bitte gebe ein Job Namen und ein Job Label an!',
        ['create_wronginput_off'] = 'Der Jobname darf nicht mit "off_" anfangen!',
        ['create_successfull_created'] = 'Der Job wurde erfolgreich erstellt!',
        ['create_error_grade'] = 'Der Jobgrade konnte nicht erstellt werden',
        ['create_error_job'] = 'Der Job konnte nicht erstellt werden',
        ['not_boss_grade'] = 'Du musst fĂŒr diese Aktion den Boss Rang besitzen!',
        ['locationchange_oncooldown'] = 'Du hast den Standort erst kĂŒrzlich geĂ€ndert, bitte warte noch etwas!',
        ['bossmenutitle'] = 'Firmen Management',
        ['armorymenutitle'] = 'Lager Management',
        ['open_bossmenu'] = 'BossmenĂŒ öffnen',
        ['open_deposit'] = 'Geld einzahlen',
        ['open_withdraw'] = 'Geld abheben',
        ['open_armory'] = 'Lager öffnen',
        ['placement_rotations'] = 'Verschieben',
        ['placement_left'] = 'Links',
        ['placement_right'] = 'Rechts',
        ['placement_front'] = 'Vorne',
        ['placement_back'] = 'ZurĂŒck',
        ['placement_rotate'] = 'Drehen',
        ['placement_place'] = 'Platzieren und Speichern',
        ['invite_job_usernotfound'] = 'Einwohner wurde nicht gefunden',
        ['invite_job_noplayeridea'] = 'Einwohner ID wurde nicht ĂŒbermittelt',
        ['invite_job_youaccepted'] = 'Du hast einen neuen Job!',
        ['invite_job_useraccepted'] = 'Dein Jobangebot wurde angenommen!',
        ['invite_job_userdenied'] = 'Dein Jobangebot wurde abgelehnt!',
        ['not_enough_money'] = 'Du hast nicht so viel Geld!',
        ['not_enough_money_society'] = 'So viel Geld ist nicht auf dem Firmenkonto!',
        ['job_promoted'] = 'Du wurdest befördert!',
        ['job_demoted'] = 'Du wurdest degradiert!',
        ['job_fired'] = 'Du wurdest gefeuert!',
        ['buyJob'] = 'Firma erwerben',
        ['job_paycheck'] = 'Du hast eine Gehaltszahlung erhalten!',
        ['job_paycheck_nomoney'] = 'Deine Firma/Gang kann dir kein Gehalt mehr auszahlen!',
        ['unemployed_paycheck'] = 'Du hast Arbeitslosengeld erhalten!',
        ['negative_amount'] = 'Du musst einen positiven Betrag angeben!',
        ['no_perms'] = 'Dazu hast du keine Berechtigungen!',
        ['bossmenu_title'] = 'BossmenĂŒ Options',
        ['change_bossmenu_position'] = 'BossmenĂŒ Position Ă€ndern',
        ['change_armory_position'] = 'Lagerposition Àndern',
        ['jobInvite'] = 'Einwohner zum Job einladen',
        ['company_buy'] = "Firma zum Verkauf: ",
        ['on_duty'] = "In den Dienst gehen",
        ['off_duty'] = "Außer Dienst gehen",
    },


    ['en'] = {

      ['create_jobalreadyexist'] = 'A job with this name already exists!',
      ['create_wronginput'] = 'Please enter a job name and a job label!',
      ['create_wronginput_off'] = 'The job name must not start with "off_" !',
      ['create_successfull_created'] = 'The job was created successfully!',
      ['create_error_grade'] = 'The job grade could not be created',
      ['create_error_job'] = 'The job could not be created',
      ['not_boss_grade'] = 'You must have the Boss rank for this action!',
      ['locationchange_oncooldown'] = 'You recently changed location, please wait a little longer!',
      ['bossmenutitle'] = 'Company Management',
      ['armorymenutitle'] = 'Storage Management',
      ['open_bossmenu'] = 'Open boss menu',
      ['open_deposit'] = 'Deposit money',
      ['open_withdraw'] = 'Withdraw money',
      ['open_armory'] = 'Open storage',
      ['placement_rotations'] = 'Move',
      ['placement_left'] = 'Left',
      ['placement_right'] = 'Right',
      ['placement_front'] = 'Front',
      ['placement_back'] = 'Back',
      ['placement_rotate'] = 'Rotate',
      ['placement_place'] = 'Place and Save',
      ['invite_job_usernotfound'] = 'Inhabitant was not found',
      ['invite_job_noplayeridea'] = 'Resident ID was not submitted',
      ['invite_job_youaccepted'] = 'You have a new job!',
      ['invite_job_useraccepted'] = 'Your job offer has been accepted!',
      ['invite_job_userdenied'] = 'Your job offer has been rejected!',
      ['not_enough_money'] = 'You dont have that much money!',
      ['not_enough_money_society'] = 'There is not that much money in the company account!',
      ['job_promoted'] = 'You have been promoted!',
      ['job_demoted'] = 'You have been demoted!',
      ['job_fired'] = 'You got fired!',
      ['buyJob'] = 'Acquire company',
      ['job_paycheck'] = 'You have received a salary payment!',
      ['job_paycheck_nomoney'] = 'Your company can no longer pay you a salary!',
      ['unemployed_paycheck'] = 'You received unemployment benefits!',
      ['negative_amount'] = 'You must enter a positive amount!',
      ['no_perms'] = 'You dont have permission to do this!',
      ['bossmenu_title'] = 'Boss Menu Options',
      ['change_bossmenu_position'] = 'Change boss menu position',
      ['change_armory_position'] = 'Change storage position',
      ['jobInvite'] = 'Invite residents to the job',
      ['company_buy'] = "Company for sale: ",
      ['on_duty'] = "Go into service",
      ['off_duty'] = "Go off duty",
    }

}



Requirements

  • VorpCore (if using VorpCore Version)
  • VorpInventory (if using VorpCore Version)
  • menuapi (optional / (if using VorpCore Version))
  • mega_nplayerselector (optional / (if using VorpCore Version))
  • redem_roleplay (if using RedEM:RP Version)
  • redemrp_charselect (if using RedEM:RP Version)
  • redemrp_menu_base (optional / if using RedEM:RP Version)

Code is accessible No (Only UI)
Subscription-based Both Options
Lines (approximately) 2k
Requirements See Requirements
Support Yes
2 Likes

Convert for rsg-core? :slight_smile:

Hey, there will be updates for other frameworks in near future. I cant tell at the moment if rsg will be one of them

1 Like

New Update 02.05.2023

  • DL Society is now compatible with RedEM:RP Framework
  • Minor Buxfixes

Additional Note:

  • Job Storages are currently disabled for RedEM:RP Framework !

Infinity_Nations (module nation) is using export for make tax going to the city wallet. Its possible make compatible with that?

The society system has exports to add or remove money from job wallets. So you can use the exports to add or remove money from extern scripts:

exports.dl_society:getSocietyMoney(jobName) – Returns Job Wallet Balance

exports.dl_society:getJobEmployees(jobName) – Returns Table of Employees (firstname,lastname,jobgrade,charidentifier)

exports.dl_society:getJobGrades(jobName) – Returns Table of Ranks (grade,grade_label,salary,isBoss,armoryAccess,withDrawBalance)

exports.dl_society:getPlayerBossStatus(playerID) – Returns if player has Boss Status at his current Job (boolean)

exports.dl_society:getPlayerArmoryStatus(playerID) – Return if player has Storage Access at his current Job (boolean)

exports.dl_society:getPlayerWithDrawStatus(playerID) – Return if player has Withdraw Access at his current Job (boolean)

exports.dl_society:addSociteyMoney(jobName,amount) – Adds amount to Job Wallet

exports.dl_society:removeSociteyMoney(jobName,amount) – Remove amount of Job Wallet

Because i got asked i create a Monthly Subscription Model
https://drshwaggins-scripts.tebex.io/package/5688510

New Update

  • Added the Option to edit the Alpha Channel of Markers
  • Options for upcoming Advanced Stores Script
  • Option to Setup a max Salary of Grades
  • Option to Setup Max Amount of items in Armory/Stach
  • Options to allow / disallow weapons in Armory/Stach
  • Export Functions to set player On/Off Duty

New Update:

  • New Admin Features
    -View Table Panel of every Job via Command from anywhere (Doesent need to have the Job)
    -Replace Every Job Position (Ignore Cooldown, Doesent need to have the Job)
    -View Inventory of every Job via Command from anywhere (Doesent need to have the Job, Vorpcore Only)
    -Delete Jobs via Command

  • Players can now change the Color of Job Blips
    19 Selectable Colors added

  • More Selectable Blips added

hi do you have discord? i wanna ask you about this script

Yeah my discord is linked on tebex and YouTube. I cant advertise my discord Here sadly

New Patch:

  • Fixed a Sync Bug after changing Paycheck interval. The new Interval should now update on all employees without reconnect needed.
  • Added an Client Side Export function to check the current On/Off Duty status of the player in his current Job → See Readme
1 Like

New Patch

  • Added Option to set exceptions for blips to you can turn off blips for everybody but allow blips for selective jobs. This also works in reverse.

  • Added Option to change BlipScale

  • Added Editing Options for Draw Markers like MarkerType and MarkerScale

  • Added Options to change distance Marker are Drawn and Interactions are available

  • Added Option to set exceptions for the PayFromCompany setting. This allows to setup salary payment from “nothing” instead of the job ledger for certain jobs if payfromcompany is set to true. For example every job pays his salary from his job wallet except the sherrif job which salary payments are not removed from the ledger.

  • Added the Option to setup static Job Positions in the config. This allows certain jobs to have multiple Table and Storage Positions.

  • Fixed a Bug where Salary got paid multiple times in one salary period

hello, im having issues with getting this to work on the live server. worked fine on the testserver i built.

it says error parsing line in the server.lua file. and trouble with verifying protected resource?

any tips?

Hey Looks like you used a server key which is not from the cfx account you used to buy the script. You should check your server key on your live server

i figured it out, it wasnt the key but i had to upload the script with WinSCP and not filezilla :slight_smile: now i have trouble with getting the dl_advancedstores to work with society :smiley: ill try to figure it out

Hello,
Is there a known bug with the Config.CreateJobAccess = {‘admin’} parameter?

When I set the group I get the message that I don’t have permission to execute this action.
The group means the group from the vorp charakter table right?

Hey because its a permission group mostly assigned to Server staff. The Server staff should have access with every Character to the commands. So the group has to be assigned in the “users” Table Not the characters Table

1 Like

i want to use the npc stores also that are in the script, cant seem to get them to work. the npc spawns but no option to open shop
 any ideas?

All Script functionality for the Stores are mainly done in the dl_advancedstores Script so you can Open a Ticket on my discord so i can help you in Detail.