Limite général de voiture

  • Initiateur de la discussion El Chapo
  • Date de début
  • Initiateur de la discussion
El Chapo

El Chapo

Geek suprême
Messages
84
Score réaction
25
Points
120
Bonjoir !

Sa fait déjà quelques jours que je tourne en rond sur ce problème ; mettre une limite de véhicule sur le serveur.

J'ai cherché en vain sur internet mais rien trouvé à ce sujet, c'est pourquoi je me tourne vers vous.
Quelqu'un a la solution ? (Je vous en pris vous l'avez)

J'ai demandez à freemmaann si il était possible de faire ça avec le VCMOD, j'espère que oui.
 
Ant00ine

Ant00ine

Geek suprême
Messages
455
Score réaction
225
Points
150
Mettre une limite? Le nombre de véhicule spawnable?
 
  • J'aime
Réactions: loulou gaming09
  • Initiateur de la discussion
El Chapo

El Chapo

Geek suprême
Messages
84
Score réaction
25
Points
120
Non pas les spawnable, celle qui sorte du Car Dealer, pour ma part c'est Willam's Car Dealer.
Je pense que seul le Car dealer peut gérer ça ?
Ou alors on peut le limiter autrement mais je sais vraiment pas comment.
 
Ant00ine

Ant00ine

Geek suprême
Messages
455
Score réaction
225
Points
150
D’accord, tape !wcd en jeu. Tu devras alors aller dans la partie config (elle s’ouvre automatiquement dessus) et mettre 1 au nombre de véhicule qu’un joueur peut sortir.
 
  • Initiateur de la discussion
El Chapo

El Chapo

Geek suprême
Messages
84
Score réaction
25
Points
120
Toujours pas ce que je veux faire,
je veux une limite général des voitures.

Par exemple pas plus de 10 voitures dans la map.
J'ai démarché VCMOD et WCD pour voir si ils peuvent inclure ça à leurs addons
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Code:
-- Basé sur la documentation disponible
-- http://www.busan1.com/cardealer/index.php?p=code
local vehicleLimit = 10
local vehicleCount = 0
hook.Add("EntityRemoved", "WCD_Cars_count", function(ent) if ent.WCD_GetId then vehicleCount = vehicleCount - 1 end
end)
hook.Add("WCD::SpawnedVehicle", "WCD_Cars_count", function(ply, veh) vehicleCount = vehicleCount + 1
end)
hook.Add("WCD::AllowedToSpawnVehicle", "WCD_Cars_Limit", function(ply, id, class) if !ply:IsAdmin() and vehicleCount >= vehicleLimit then return false, "Limite de véhicules dans la map atteinte." end
end)
Pour VCmod ca devrait être encore plus simple car la doc est plus complète. (VCMod Dev Corner)
 
  • J'aime
Réactions: Wabel, Ant00ine, Membre supprimé 98332 et 1 autre personne
  • Initiateur de la discussion
El Chapo

El Chapo

Geek suprême
Messages
84
Score réaction
25
Points
120
Alors ça c'est pour WCD ?

C'est toi qui a fait le code ? Si oui comment puis-je l'intégrer au mien ?
Et est-il possible de rajouter une variable pour certains job ?

Par exemple les policiers etc ne sont pas soumis à la limitation.
Merci beaucoup
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
El Chapo à dit:
Alors ça c'est pour WCD ?

C'est toi qui a fait le code ? Si oui comment puis-je l'intégrer au mien ?
Et est-il possible de rajouter une variable pour certains job ?

Par exemple les policiers etc ne sont pas soumis à la limitation.
Merci beaucoup
Oui c'est pour WCD, vu que tu as mentionné que c'est ce que tu utilisais.

Oui c'est moi qui ai fait le code, pour l'intégrer,
tu peux par exemple le mettre dans un dossier /addon/mon_addon/lua/autorun/server/sv_custom_vehicle_limit.lua
ou alors dans /lua/autorun/server/sv_custom_vehicle_limit.lua

Pour ce qui est des conditions, tout est possible mais il faut que tu te poses la question si les voitures de police comptent dans le total de véhicules du serveur etc.

Code:
-- Basé sur la documentation disponible
-- http://www.busan1.com/cardealer/index.php?p=code
local vehicleLimit = 10
local vehicleCount = 0
hook.Add("EntityRemoved", "WCD_Cars_count", function(ent) if ent.WCD_GetId then vehicleCount = vehicleCount - 1 end
end)
hook.Add("WCD::SpawnedVehicle", "WCD_Cars_count", function(ply, veh) vehicleCount = vehicleCount + 1
end)
hook.Add("WCD::AllowedToSpawnVehicle", "WCD_Cars_Limit", function(ply, id, class) -- Pas de limite pour les admins ou les policiers if (!ply:IsAdmin() or ply:isCP()) and vehicleCount >= vehicleLimit then return false, "Limite de véhicules dans la map atteinte." end
end)
 
  • J'aime
Réactions: NoaGamingFR
  • Initiateur de la discussion
El Chapo

El Chapo

Geek suprême
Messages
84
Score réaction
25
Points
120
Merci beaucoup @While True !

Ce qui pourrait être cool c'est au lieu d'avoir !ply:IsAdmin() CP etc avec TEAM_CEQUETUVEUX1,2,3..
Sa pourra service à ceux qui utilise WCD.

Pour ma part je bascule tout sur VCMOD donc je vais devoir trouver à peut près la même chose.
 
Hosgor

Hosgor

Geek suprême
Messages
209
Score réaction
60
Points
130
El Chapo à dit:
Merci beaucoup @While True !

Ce qui pourrait être cool c'est au lieu d'avoir !ply:IsAdmin() CP etc avec TEAM_CEQUETUVEUX1,2,3..
Sa pourra service à ceux qui utilise WCD.

Pour ma part je bascule tout sur VCMOD donc je vais devoir trouver à peut près la même chose.
Si tu souhaites, faire pour un certains nombres de métiers. Tu vas de voir faire un tableau avec tes jobs et après faire une vérification !
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
El Chapo à dit:
Merci beaucoup @While True !

Ce qui pourrait être cool c'est au lieu d'avoir !ply:IsAdmin() CP etc avec TEAM_CEQUETUVEUX1,2,3..
Sa pourra service à ceux qui utilise WCD.

Pour ma part je bascule tout sur VCMOD donc je vais devoir trouver à peut près la même chose.
Théoriquement compatible VCMod et WCD:
-- Basé sur https://vcmod.org/devcorner/
-- http://www.busan1.com/cardealer/index.php?p=code
local CAR_DEALER = "vcmod" -- "vcmod" or "wcd"
local VEHICLE_LIMIT = 10 -- Limite de vehicules
local IGNORE_CP = true -- Ignore la limite pour les policiers
-- Illimité pour les jobs
local IGNORE_JOBS = { TEAM_CITIZEN = true, TEAM_GUN = true,
}
-- Illimité pour les groupes
local IGNORE_USERGROUPS = { "admin" = true, "moderateur" = true,
}
-- Slots en plus pour VIP (par usergroup)
local VIP_USERGROUPS = { "donateur" = 2, "vip" = 1
}
--[[====================== END OF CONFIG ======================]]--
local vehicleCount = 0
local function getCustomLimit( ply ) local group = ply:GetUserGroup() if ply:IsSuperAdmin() or IGNORE_USERGROUPS[group] or (IGNORE_CP and ply:isCP()) then return -1 end return VIP_USERGROUPS[group] or 0
end
local func_identifier
local spawnedVehicle
local canSpawnVehicle
if (CAR_DEALER == "vcmod") then func_identifier = "VC_CD_getVehicleID" spawnedVehicle = "VC_CD_spawnedVehicle" canSpawnVehicle = "VC_CD_canSpawnVehicle"
else func_identifier = "WCD_GetId" spawnedVehicle = "WCD::SpawnedVehicle" canSpawnVehicle = "WCD::AllowedToSpawnVehicle"
end
hook.Add("EntityRemoved", "Vehicle_limit", function(ent) if ent[func_identifier] then vehicleCount = vehicleCount - 1 end
end)
hook.Add(spawnedVehicle, "Vehicle_limit", function(ply, veh) vehicleCount = vehicleCount + 1
end)
hook.Add(canSpawnVehicle, "Vehicle_limit", function(ply) if vehicleCount >= VEHICLE_LIMIT then local custom_limit = getCustomLimit(ply) if custom_limit != -1 and vehicleCount >= VEHICLE_LIMIT + custom_limit then return false, "Limite de véhicules dans la map atteinte. (" .. vehicleCount .. ")" end end
end)
J'ai néanmoins un doute sur le comportement du script lorsqu'un admin spawn un véhicule depuis le menu de spawn (sans passer par un car dealer donc), j'ignore si la fonction veh:VC_CD_getVehicleID est définie sur tous les véhicules, renvoie nil sur les véhicules spawnés ou autre...
 
  • Initiateur de la discussion
El Chapo

El Chapo

Geek suprême
Messages
84
Score réaction
25
Points
120
Ah bah encore mieux @While True !

En ce qui concerne les voitures spawnable dans le menu il y a que moi qui a accès donc ça devrait pas poser de problèmes.

Encore un gros merci pour l'aide ! :D
 
Patouuu

Patouuu

Geek suprême
Messages
35
Score réaction
1
Points
105
Question savez vous comment limiter le nombre de voiture par personne avec le cardealer du vcmod ?
 
Discord d'entraide
Rejoignz-nous sur Discord