Les interfaces graphiques sont des affichages à l'écran que vous pouvez créer pour faire à peu près n'importe quoi. Nous verrons comment créer une interface graphique ForceField simple dans cette leçon que seules les personnes que vous spécifiez peuvent utiliser.
1. Tout d'abord, ouvrez Roblox Studio en ouvrant Démarrer, en cliquant sur Tous les programmes et en faisant défiler jusqu'à ROBLOX. Puis clic gauche sur Roblox Studio. Il se lancera sur la page Jeux, appuyez sur Nouveau pour travailler sur une nouvelle carte.
2. Une fois que vous avez une nouvelle carte, sélectionnez StarterGui en cliquant dessus, puis appuyez sur Insertion > Objet et sélectionnez ScreenGUI puis appuyez sur OK.
3. Une fois que vous avez cela, sélectionnez le ScreenGui, et nous l'appellerons "ForceFieldGUI".
4. Maintenant que vous avez créé et nommé votre ScreenGui, nous allons commencer à ajouter notre premier bouton, sélectionnez le ForceFieldGUI et appuyez sur Insertion > Objet > TextButton, puis appuyez sur OK.
5. Et puis ajoutez un script dans le ForceFieldGUI.
6. Dans le script, insérez ceci :
adminlist = {"Username","Player"} function checkOkToLetIn(name) for i = 1,#adminlist do -- convertit les chaînes en majuscules, sinon nous laisserons entrer -- "Username" mais pas "username" ou " uSERNAME" if (string.upper(name) == string.upper(adminlist[i])) then return true end end return false end local human = script.Parent.Parent.Parent.Character wait(2) if (human ~ = nil ) then local h2 = human:FindFirstChild("Torso") if h2 ~= nil then local h3 = h2:FindFirstChild("roblox") if h3 ~= nil then if h3.Texture == guishirt then --the shirt -- un humain a touché cette porte ! print("tshirt trouvé") -- teste le nom de l'humain par rapport à la liste d'autorisation elseif (checkOkToLetIn(script.Parent.Parent.Parent.Name)) then print("Human a réussi le test") else script.Parent:remove() end fin fin fin
Vous pouvez ensuite saisir les noms que vous souhaitez pouvoir utiliser l'interface graphique.
7. Sélectionnez le TextButton, modifiez ce qui suit à l'intérieur de ces valeurs :
Nom : ForceFieldGUI
Couleur d'arrière-plan3 : 177 ; 177 ; 177
Transparence de l'arrière-plan : 0.4
BorderColor3 : 177 ; 177 ; 177
TailleBordurePixel : 0
Poste : {0, 575}, {0, 10}
Taille : {0, 75}, {0, 20}
Texte : Champ de force
TextColor3 : 17 ; 17 ; 17
Transparence du texte : 0.3
Vous aurez maintenant le bouton de base.
Contenu
- 1 Positionnement Udim2
- 1.1 Bouton Suivant
- 1.2 ForceFieldGUI : (Le bouton, PAS le ScreenGui)
- 1.3 ForceFieldOFF
- 1.4 ForceFieldON
Positionnement Udim2
Avant de continuer, je veux expliquer comment fonctionne UDim Positing.
UDim a 2 façons de positionner l'interface graphique dans chaque axe, échelle et décalage, l'échelle est relative à la taille de l'écran, donc si vous avez dit 0.5 pour l'échelle Y, le haut de l'objet de l'interface graphique serait au milieu de l'écran. La même chose pour X. Offset est le décalage en pixels, il serait donc exactement à la même position tout le temps lorsque ROBLOX est redimensionné.
8. Allez-y et insérez deux autres TextButtons. Modifiez les propriétés sur celles-ci :
Nom : ForceFieldON
Couleur d'arrière-plan3 : 177 ; 177 ; 177
Transparence de l'arrière-plan : 0.4
BorderColor3 : 177 ; 177 ; 177
TailleBordurePixel : 0
Poste : {0, 575}, {0, 10}
Taille : {0, 75}, {0, 20}
Texte : Activé
TextColor3 : 17 ; 17 ; 17
Transparence du texte : 0.3
Visible: Faux
Bouton suivant
Nom : ForceFieldOFF
Couleur d'arrière-plan3 : 177 ; 177 ; 177
Transparence de l'arrière-plan : 0.4
BorderColor3 : 177 ; 177 ; 177
TailleBordurePixel : 0
Poste : {0, 575}, {0, 10}
Taille : {0, 75}, {0, 20}
Texte : Désactivé
TextColor3 : 17 ; 17 ; 17
Transparence du texte : 0.3
Visible: Faux
9. Insérez un script dans les trois boutons et placez le script suivant dans le bon bouton :
ForceFieldGUI : (Le bouton, PAS le ScreenGui)
function onClicked(GUI) h = script.Parent.Parent.Parent.Parent.Character:findFirstChild("Humanoid") if (h ~= nil) then if script.Parent.Parent.ForceFieldOFF.Visible == false then script.Parent .Parent.ForceFieldOFF.Visible = true script.Parent.Parent.ForceFieldON.Visible = true else script.Parent.Parent.ForceFieldOFF.Visible = false script.Parent.Parent.ForceFieldON.Visible = false end else return end end script.Parent .MouseButton1Click:connect(onClicked)
ForceFieldOFF
function onClicked(GUI) script.Parent.Parent.ForceFieldOFF.Visible = false script.Parent.Parent.ForceFieldON.Visible = false f = script.Parent.Parent.Parent.Parent.Character:findFirstChild("ForceField") if (f ~= nil) puis f:remove() else return end end script.Parent.MouseButton1Click:connect(onClicked)
ForceFieldON
function onClicked(GUI) script.Parent.Parent.ForceFieldOFF.Visible = false script.Parent.Parent.ForceFieldON.Visible = false h = script.Parent.Parent.Parent.Parent.Character:findFirstChild("Humanoid") if (h ~= nil) then FF = Instance.new("ForceField") FF.Parent = script.Parent.Parent.Parent.Parent.Character else return end end script.Parent.MouseButton1Click:connect(onClicked)
Bon travail! Vous avez terminé l'interface graphique !
Pour utiliser cette interface graphique :
Ajoutez votre nom au premier script (VIP).
Cliquez sur le bouton ForceField et appuyez sur On ou Off pour allumer ou éteindre votre ForceField.