Aller au contenu

Le menu patron

Une application pour quiconque dirige une entreprise : qui y travaille, qui est embauchĂ©, qui est renvoyĂ©, qui monte en grade, ce qui se trouve sur le compte en banque, et qui doit de l’argent Ă  l’entreprise.

Rien Ă  l’intĂ©rieur ne rĂ©implĂ©mente votre framework. Les embauches, renvois et grades sont les opĂ©rations propres au framework, sollicitĂ©es Ă  travers le bridge et revĂ©rifiĂ©es Ă  l’arrivĂ©e — ESX, QBCore et QBox, chacun avec ses propres mĂ©canismes.

L’application ne s’affiche pas sur l’écran d’accueil de quelqu’un qui ne dirige rien. Elle apparaĂźt d’elle-mĂȘme la prochaine fois qu’un nouveau patron ouvre son tĂ©lĂ©phone, et repart de la mĂȘme maniĂšre.


La plupart des serveurs l’indiquent dĂ©jĂ  : ESX marque un grade avec is_boss, QB marque un job avec isboss. Si le vĂŽtre le fait, ce fichier ne nĂ©cessite rien.

Config.Apps.Boss.Bosses dans shared/config/boss.lua s’adresse Ă  ceux qui ne le font pas — et Ă  ceux pour qui ĂȘtre aux commandes ne correspond pas Ă  un rang unique mais Ă  plusieurs Ă©chelons, chacun ayant un peu plus de pouvoirs que le prĂ©cĂ©dent :

Bosses = {
mechanic = 4, -- grade 4 and above, everything
police = { -- a ladder, where each rung adds to the ones below it
[3] = { 'Hire', 'Promote' }, -- a Sergeant may hire and promote, and nothing else
[4] = { 'Account', 'Invoice' }, -- a Lieutenant may also see the account and bill people
[5] = true, -- a Captain may do everything left in Actions
},
}

Les Ă©chelons se cumulent, c’est ce qui fait qu’une hiĂ©rarchie se comporte comme telle : un rang peut faire tout ce que le rang en dessous peut faire, plus ce qui est Ă©crit sur sa propre ligne. Personne ne rĂ©pĂšte une liste complĂšte Ă  chaque grade, et personne ne perd de pouvoir en recevant une promotion.

Un grade associĂ© Ă  une liste vide reste un grade aux commandes : il ouvre l’application et voit qui travaille dans l’entreprise, ce qui est la dĂ©finition minimale de diriger.

Config.Apps.Boss.Actions constitue le plafond pour toute la ville — aucun paramĂštre dans Bosses ne peut accorder un pouvoir qui y est dĂ©sactivĂ©. C’est le moyen le plus direct de retirer un pouvoir Ă  toutes les entreprises simultanĂ©ment.

Actions = { Hire = true, Fire = true, Promote = true, Account = true,
Deposit = true, Withdraw = true, Invoice = true },

Un pouvoir dĂ©sactivĂ© n’est ni affichĂ© Ă  l’écran, ni acceptĂ© par le serveur, dans cet ordre. Un bouton qui est simplement absent visuellement n’est pas dĂ©sactivĂ©.


Les rĂšgles avec lesquelles l’écran ne peut pas nĂ©gocier

Section intitulĂ©e « Les rĂšgles avec lesquelles l’écran ne peut pas nĂ©gocier »
  • L’embauche se fait Ă  proximitĂ© directe d’une personne. La liste regroupe quiconque se trouve Ă  quelques mĂštres, et cette mĂȘme distance est vĂ©rifiĂ©e Ă  nouveau lorsque le nom est envoyĂ© ; un nom prĂ©sent dans cette liste est donc un nom qui sera encore acceptĂ© un instant plus tard. Un menu capable d’embaucher n’importe qui dans la ville en devinant un ID serveur est un menu qui sera dĂ©tournĂ© pour faire exactement cela.
  • Personne ne peut modifier son propre statut ni celui de quiconque Ă  son rang ou au-dessus. Ces deux cas sont explicitĂ©s sur l’écran plutĂŽt que d’ĂȘtre des boutons qui Ă©chouent silencieusement.
  • Le grade est choisi dans la hiĂ©rarchie envoyĂ©e par le serveur, jamais saisi manuellement.
  • Les identifiants ne transitent jamais sur le rĂ©seau. Chaque membre de l’effectif est reprĂ©sentĂ© par un ticket qui n’a de sens que pour cette session.
  • L’argent se dĂ©place sous un verrou, par entreprise, et est restituĂ© si l’autre volet de la transaction Ă©choue.