" Bloquer " un métier

  • Initiateur de la discussion RayZz
  • Date de début
  • Initiateur de la discussion
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Bonjour,

Je me pose une question.

Nous avons la possibilité d'être Terroriste, et je désire savoir si il existe ou bien il est possible de créer un petit code afin d'empêcher de prendre ce " métier " tant qu'il n'y a pas un certain nombre de joueur connecté sur le serveur.

Merci d'avance
 
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Pas sûr que ça fonctionne
Code:
customCheck = function(ply) return CLIENT or if #player.GetAll() > 5 then return true end
end,
CustomCheckFailMsg = "Manque de joueurs."
 
  • J'aime
Réactions: ALTA
  • Initiateur de la discussion
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Wasied à dit:
Pas sûr que ça fonctionne
Code:
customCheck = function(ply) return CLIENT or if #player.GetAll() > 5 then return true end
end,
CustomCheckFailMsg = "Manque de joueurs."


Bonsoir,

Ne fonctionne point.

Merci tout de même
 
ptibrack

ptibrack

Athos Community
Messages
170
Score réaction
19
Points
125
Il me semble tu peu faire en système de % en m’etent 1.5 mais pas sûr à 1000%
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Ruby:
TEAM_EXEMPLE = DarkRP.createJob("Team exemple", { color = Color(255, 255, 255, 255), model = { "models/player/Group03/Female_01.mdl", "models/player/Group03/Female_02.mdl" }, description = [[Ce texte sert en description de la team.]], weapons = {"weapon_p2282"}, command = "example", max = 0.7, -- 70% des joueurs peuvent avoir le job. Mettez un nombre entier pour fixer une limite absolue. salary = 45, admin = 0, vote = false, hasLicense = false, customCheck = function(ply) return #player.GetAll() > 5 end, CustomCheckFailMsg = "Pas assez de joueurs", candemote = true, mayor = false, chief = false, medic = false, cook = false, hobo = false, category = "Citizen", -- Le nom de la catégorie. Note : La catégorie doit être créée !
})
 
  • Initiateur de la discussion
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
While True à dit:
Ruby:
TEAM_EXEMPLE = DarkRP.createJob("Team exemple", { color = Color(255, 255, 255, 255), model = { "models/player/Group03/Female_01.mdl", "models/player/Group03/Female_02.mdl" }, description = [[Ce texte sert en description de la team.]], weapons = {"weapon_p2282"}, command = "example", max = 0.7, -- 70% des joueurs peuvent avoir le job. Mettez un nombre entier pour fixer une limite absolue. salary = 45, admin = 0, vote = false, hasLicense = false, customCheck = function(ply) return #player.GetAll() > 5 end, CustomCheckFailMsg = "Pas assez de joueurs", candemote = true, mayor = false, chief = false, medic = false, cook = false, hobo = false, category = "Citizen", -- Le nom de la catégorie. Note : La catégorie doit être créée !
})

Bonsoir,

Désolé du temps de réponse. Cela marche parfaitement ! Merci !

En revanche j'ai une petite question :

Comment faire lorsque l'on a déjà un custom check pour les VIP ?

Merci d'avance
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
RayZz à dit:
Comment faire lorsque l'on a déjà un custom check pour les VIP ?
Il faut combiner les deux, si tu veux qu'il y ait une limite ET que la personne soit VIP, cela donnerait un truc du genre :
Ruby:
customCheck = function(ply) return (ply:IsAdmin() or ply:IsUserGroup("VIP")) and #player.GetAll() > 5 end,
CustomCheckFailMsg = "Pas assez de joueurs ou vous n'êtes pas VIP",
Il n'y a pas de moyen simple pour séparer les deux conditions et utiliser cette fonctionnalité de base du customCheck.
Si vraiment tu en as le besoin, il faudrait faire un petit script qui gère les tentatives de changement de métier, via les hook CanChangeTeam etc, il faudrait étudier l'effet possible sur les autres addons, gestion des compatibilités, un peu comme les addons de whitelist quoi. bref...
 
  • Initiateur de la discussion
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
While True à dit:
Il faut combiner les deux, si tu veux qu'il y ait une limite ET que la personne soit VIP, cela donnerait un truc du genre :
Ruby:
customCheck = function(ply) return (ply:IsAdmin() or ply:IsUserGroup("VIP")) and #player.GetAll() > 5 end,
CustomCheckFailMsg = "Pas assez de joueurs ou vous n'êtes pas VIP",
Il n'y a pas de moyen simple pour séparer les deux conditions et utiliser cette fonctionnalité de base du customCheck.
Si vraiment tu en as le besoin, il faudrait faire un petit script qui gère les tentatives de changement de métier, via les hook CanChangeTeam etc, il faudrait étudier l'effet possible sur les autres addons, gestion des compatibilités, un peu comme les addons de whitelist quoi. bref...

Le système en soit fonctionne très bien, mais pas pour les grades Staff... Avez vous une idée s'il vous plait ?

Puis j'ai une dernière question :

Est-il possible de faire un petit code permettant de resteindre par exemple le métier " Pyromane " lorsqu'il n'y a pas au moins une personne en métier " Pompier " ? Si oui comment ?

Merci d'avance
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
RayZz à dit:
Le système en soit fonctionne très bien, mais pas pour les grades Staff... Avez vous une idée s'il vous plait ?

Puis j'ai une dernière question :

Est-il possible de faire un petit code permettant de resteindre par exemple le métier " Pyromane " lorsqu'il n'y a pas au moins une personne en métier " Pompier " ? Si oui comment ?

Merci d'avance
Pour les staff, il faut ajouter chaque groupe qui n'est pas "Admin", tels que "modo" etc.

Dans le métier pyromane : ( VIP, +5 joueurs sur le serveur ET 1 pompier minimum pour avoir le job)

customCheck = function(ply) return (ply:IsAdmin() or ply:IsUserGroup("modo") or ply:IsUserGroup("VIP")) and #player.GetAll() > 5 and team.NumPlayers( TEAM_POMPIER ) > 0 end,
 
  • J'aime
Réactions: NoaGamingFR
Discord d'entraide
Rejoignz-nous sur Discord