Companies System
- Resource
fh_companies- Version
- 1.0.0
- Framework
- ESX
Companies System styrer virksomheder fra tabletten. Chefer ansætter, forfremmer og lønner fra firmakontoen, ansatte tager kundeopkald og sender fakturaer, og hver virksomhed har sit eget lager, omklædning, garage og butik.
Installation
Installer Tablet System først, og start scriptet efter tabletten:
ensure fh_tablet
ensure fh_companiesTabellerne oprettes automatisk, og de kolonner, scriptet mangler i ESX' tabeller, bliver tilføjet.
1. Slå ESX' løn fra
Companies System udbetaler lønnen. Slå ESX' egen løn fra i es_extended/shared/config/main.lua, så ansatte ikke får løn to gange:
Config.EnablePaycheck = false2. Opret en virksomhed
En virksomhed bygger på et job, der allerede findes i ESX' tabel jobs. Kør dette i databasen:
INSERT INTO fh_companies (job_name, type, category) VALUES ('mechanic', 'private', 'mechanic');
UPDATE jobs SET whitelisted = 1 WHERE name = 'mechanic';| Felt | Beskrivelse |
|---|---|
job_name | Jobbets navn i ESX |
type | private betaler løn fra firmakontoen. public betales af staten |
category | Branchen, se listen herunder |
Brancher: mechanic, restaurant, bar, shop, cardealer, realestate, taxi, security, news, legal, police, ems og other.
3. Sæt løn og chefer
Lønnen er pr. time og står i job_grades.salary. Chef-rang er markeret med job_grades.isBoss. Ved første start bliver ESX-rang med navnet boss automatisk chefer.
UPDATE job_grades SET salary = 250 WHERE job_name = 'mechanic' AND grade = 0;
UPDATE job_grades SET isBoss = 1 WHERE job_name = 'mechanic' AND grade = 3;4. Tilføj steder
Lager, omklædning, garager og butik er rækker i fh_company_locations:
INSERT INTO fh_company_locations (job_name, type, label, x, y, z, min_grade)
VALUES ('mechanic', 'stash', 'Lager', -347.2, -133.4, 39.0, 0);type | Sted |
|---|---|
stash | Lager. Brug slots og max_weight for størrelsen |
wardrobe | Omklædning |
garage | Garage til biler |
heli | Garage til helikoptere |
shop | Butik med eget lager. Brug slots og max_weight |
En garage bruger også kolonnerne vehicles og spawns:
INSERT INTO fh_company_locations (job_name, type, label, x, y, z, heading, vehicles, spawns)
VALUES ('mechanic', 'garage', 'Værkstedsbiler', -356.1, -114.9, 38.7, 70.0,
'[{"model":"towtruck","label":"Kranvogn","grade":0}]',
'[{"x":-368.2,"y":-107.4,"z":38.7,"h":70.0}]');Genstart scriptet med restart fh_companies, eller vent, til scriptet selv henter ændringerne, som standard hvert 5. minut. Billeder af køretøjerne lægges i garage/images/<model>.png.
Sådan bruges det
- Virksomhed-appen: Oversigt, personale, opkald, fakturaer og regnskab.
- Ansættelse: Chefer ansætter spillere i nærheden. Personen skal selv sige ja.
- Fakturaer: Ansatte på arbejde sender fakturaer med ox_target på kunden og får provision. Kunden betaler med det samme eller senere i appen Fakturaer.
- Opkald: Kunder ringer til virksomheden fra appen Fakturaer, og ansatte på arbejde tager opkaldene.
- Garage: Parkér ved at køre hen på en holdeplads og trykke
E. Hver ansat kan have én bil og én helikopter ude ad gangen.
Indstillinger
Indstillingerne ligger i config.lua.
| Indstilling | Standard | Beskrivelse |
|---|---|---|
Config.PayInterval | 15 | Minutter mellem lønudbetalinger |
Config.SalaryAccount | 'bank' | Konto, lønnen går til: bank eller cash |
Config.ReloadInterval | 5 | Minutter mellem hver indlæsning fra databasen |
Config.DefaultStash | 50 pladser, 100 kg | Lager uden egen størrelse |
Config.Hire.distance | 3.0 | Afstand i meter ved ansættelse |
Config.Hire.timeout | 30 | Sekunder til at svare på et jobtilbud |
Config.Invoices.commission | 10 | Procent til den ansatte, der sender fakturaen |
Config.Invoices.maxAmount | 500000 | Højeste fakturabeløb |
Config.Invoices.distance | 5.0 | Afstand i meter til kunden |
Config.Invoices.account | 'bank' | Kontoen, kunden betaler fra |
Config.Orders.expireHours | 2 | Timer, før et opkald lukker af sig selv |
Config.Orders.messageLength | 300 | Højeste antal tegn i et opkald |
Config.Garage | Se filen | Nummerplader, brændstof og parkeringsafstande |
Config.ShopAccounts | Kontanter, bank | Betalingsformer i butikken |
Config.MaxPrice | 100000 | Højeste pris i butikken |
For udviklere
Alle exports er på serveren.
-- Er spilleren på arbejde hos en mekaniker?
local company = exports.fh_companies:GetPlayerCompany(source, 'mechanic')
-- Læg penge på firmakontoen
exports.fh_companies:AddMoney('mechanic', 5000, 'Reparation')| Export | Beskrivelse |
|---|---|
GetCompany(job) | Giver en virksomhed |
GetPlayerCompany(source, category) | Giver spillerens virksomhed, eventuelt kun i én branche |
GetCompaniesByCategory(category) | Giver alle aktive virksomheder i en branche |
GetCategories() | Giver alle brancher |
IsOnDuty(source, job) | Er spilleren på arbejde? |
GetBalance(job) | Giver saldoen på firmakontoen |
AddMoney(job, amount, reason) | Lægger penge på firmakontoen |
RemoveMoney(job, amount, reason) | Trækker penge fra firmakontoen |
SendInvoice(source, targetId, amount, description) | Sender en faktura fra en ansat på arbejde |
CreateCall(source, job, message, shareLocation) | Opretter et kundeopkald |
CancelCall(source, orderId) | Annullerer et kundeopkald |
LogActivity(job, action, entry) | Skriver en linje i virksomhedens aktivitet |
Reload() | Indlæser virksomhederne igen fra databasen |
Ændringer
1.0.0 (1. november 2026)
- Første udgivelse.