- Initiateur de la discussion
F
Fun-Script Garry's Mod
Nouveau né
- Messages
- 9
- Score réaction
- 0
- Points
- 15
.
Dernière édition:
Créer par toi et toi seul ? ^^Fun-Script Garry's Mod à dit:
Bonjour :
Description :
- Ce script fait un effet de clignotant multicolore sur le phisigun. Se script change su bleu dégelasse qu'on à de base. Le script est gratuit et accessible à tous. Le script ne contient aucune backdoor je vous laisse vérifier par vous même. Le script est téléchargeable par MediaFire et est compresser en .rar .
Lien de téléchargement :
- https://www.mediafire.com/file/rk0hrphdrgd348z/multicolore_physgun.rar
Name :
- Multicolore PhisicGun
Prix :
- Gratuit
Yoh Sambre ♪ à dit:Et genre le workshop ? Non ?
Essaye de faire un upload plus stable aussi car perso même le ZIP que tu fournit il est impossible a ouvrir de mon côtéFun-Script Garry's Mod à dit:Tu veux que je le post sur le workshop ? Pas de pb mais j'ai une connection de merde donc j'attend de l'avoir plus stable
Ok je vais essayer mais normalement il peut etre dl après je vais voir mais j'arrive à peine à ouvrir une page web donc imagine pour reupload une connerie dans le geore ...Yoh Sambre ♪ à dit:Essaye de faire un upload plus stable aussi car perso même le ZIP que tu fournit il est impossible a ouvrir de mon côté
Attends ôte moins d'un doute ,Fun-Script Garry's Mod à dit:Ok je vais essayer mais normalement il peut etre dl après je vais voir mais j'arrive à peine à ouvrir une page web donc imagine pour reupload une connerie dans le geore ...
function AddGroups() -- code
end
hook.Add( "Initialize", "load rbpg groups", AddGroups);
function AddGroups()
multi_physicgun_allowed_groups={}
multi_physicgun_allowed_users={}
if not table.HasValue( multi_physicgun_allowed_groups, group ) then
table.insert(multi_physicgun_allowed_groups, group)
end
--------------------------------------
if (table.HasValue(multi_physicgun_allowed_groups, v:GetUserGroup()) or table.HasValue(multi_physicgun_allowed_users, v:SteamID()))
if (table.HasValue(multi_physicgun_allowed_groups, v:GetUserGroup()) or table.HasValue(multi_physicgun_allowed_users, v:SteamID())) or (v:SteamID() == 'STEAM_0:0:00000000') then
local groups = { ['superadmin'] = true, ['admin'] = true
}
local groups = { -- groupes ayant le physgun multicolore ['superadmin'] = true, ['admin'] = true, ['operator'] = true,
}
local users = { -- steamid des personnes ayant le physgun multicolore ['STEAM_0:00000000'] = true
}
local function Multicolore_physgun_loop() for k, v in pairs(player.GetAll()) do if groups[v:GetUserGroup()] or users[v:SteamID()] then v:SetWeaponColor( Vector(math.random(), math.random(), math.random()) ) end end
end
-- Création d'un "timer"
timer.Create("Multicolore_physgun_timer", 0.1, 0, Multicolore_physgun_loop)
Makss à dit:Vérifié sans backdoor, voila ma petite critique ( a prendre bien si possible ) :
Le code est peu optimisé mais customisable
Ton code est vraiment très peu optimisé :
- 2 fichiers alors que tu peux n'en faire que 1
- Fonctions global :
- Le hook.Add est utilisé avant que la fonction ne soit déclaré :Code:function AddGroups() -- code end
- Variables globales :Code:hook.Add( "Initialize", "load rbpg groups", AddGroups); function AddGroups()
- Il faut évité d'utiliser table.HasValue / table.insert :Code:multi_physicgun_allowed_groups={} multi_physicgun_allowed_users={}
- Il y a un steamid inutile ( ça doit être pour le fondateur, mais tu ne l'as pas précisé ) :Code:if not table.HasValue( multi_physicgun_allowed_groups, group ) then table.insert(multi_physicgun_allowed_groups, group) end -------------------------------------- if (table.HasValue(multi_physicgun_allowed_groups, v:GetUserGroup()) or table.HasValue(multi_physicgun_allowed_users, v:SteamID()))
- Le mettre en shared alors que c'est un script serveur ne sert à rienCode:if (table.HasValue(multi_physicgun_allowed_groups, v:GetUserGroup()) or table.HasValue(multi_physicgun_allowed_users, v:SteamID())) or (v:SteamID() == 'STEAM_0:0:00000000') then
- Il n'y a pas de customisation disponible quand on fait juste local rnd_red = math.random(0,255)/200
- ce n'est pas math.random divisé par 200 mais 255 car il faut une valeur égal ou en dessous de 1 pour SetWeaponColor
- math.random retourne déjà une valeur entre 0 et 1, pas besoin de diviser par 200 ou 255EDIT : Bah mince j'ai mis longtemps à écrire mes conseils il supprimé son post- D'abord pas besoin de faire plusieurs fichiers, tu peux mettre le contenu du config.lua dans multi_physicgun.lua
- Pas besoin de mettre 1000 sauts de lignes entre chaque ligne de code x)
- Mettre le hook.Add au bon endroit
- Mettre les fonctions en local
- Mettre les variables en local
- Utiliser les tables comme ceci :
- Enlever les fonctions inutilesCode:local groups = { ['superadmin'] = true, ['admin'] = true }
- Enlever les variables de customisation inutile
- utiliser math.random comme il faut
Au final en appliquant mes conseils le fichier multi_physicgun.lua ressemble à ça à la fin :
Mon avis et mes conseils ne sont pas à prendre comme des vérités inconditionnelles, je fais des erreurs et j'en ferais toujoursCode:local groups = { -- groupes ayant le physgun multicolore ['superadmin'] = true, ['admin'] = true, ['operator'] = true, } local users = { -- steamid des personnes ayant le physgun multicolore ['STEAM_0:00000000'] = true } local function Multicolore_physgun_loop() for k, v in pairs(player.GetAll()) do if groups[v:GetUserGroup()] or users[v:SteamID()] then v:SetWeaponColor( Vector(math.random(), math.random(), math.random()) ) end end end -- Création d'un "timer" timer.Create("Multicolore_physgun_timer", 0.1, 0, Multicolore_physgun_loop)