Bonjour, aujourd'hui je me suis un peu entrainé sur Roblox à faire du Léo, bien sûr je ne suis que débutant, mais je commence déjà à bien démarrer.
Enfin bref allons droit au sujet, et oui je continue à apprendre le C#, mais je veux apprendre aussi le Lua, qui ressemble au C# mais en un peu plus facile.
Exemple les if en C# ressemble a ça :
public bool Cool = true;
public GameObjet Cube;
Void Update(){
if(Cool == true)
{
Cube.enabled = false
}
else
{
Cube.enabled = true
}
}
Utilisation du elseif en C# :
public bool Cool = true;
public GameObjet Cube;
Void Update(){
if(Cool == true)
{
Cube.enabled = false
}
if(Cool == false)
{
Cube.enabled = true
}
}
Alors que en Lua c'est encore plus simple :
Local Cool = true
local Sound = game.WorkSpace.Music.MainMenuMusic
if Cool == true then
Sound:Play()
end
Et en ElseIf :
local Cool = true
local SoundOne = game.Workspace.Music.MainMenuMusic
local SoundTwo = game.Workspace.Music.GamePlayMusic
if Cool == true and SoundOne.Playing then
SoundOne:Stop()
SoundTwo:Play()
elseif Cool == true and SoundTwo.Playing then
SoundTwo:Stop()
SoundOne:Play()
elseif Cool == false and SoundOne.Playing or SoundTwo.Playing then
SoundOne:Stop()
SoundTwo:Stop()
end
Enfin bref, vous voyez comment c'est plus facile, surtout que c'est limite juste de l'anglais.
En début, je vais vous montrer la première chose que j'ai faite dans le jeu, alors j'ai eu une petite idée de créer un UI pour que les joueurs puissent utiliser des emotes en jeu. (Possibilité au joueur de choisir ça version du personnage R6 ou R15).
je vous donne les codes sources, ces cadeaux !
Bouton Affichage/Fermeture de la fenêtre :
local EmoteFrame = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGroundlocal
frame = script.Parent:WaitForChild("BackGround")
script.Parent.MouseButton1Click:Connect(function()
if EmoteFrame.Visible == true then
frame:TweenPosition(UDim2.new(11.932, 0,5, 0), "Out", "Quint",1,true)
wait(0.5)
frame:TweenPosition(UDim2.new(11.932, 0,10, 0), "Out", "Quint",1,true)
wait(0.3)
EmoteFrame.Visible = false
else
EmoteFrame.Visible = true
frame:TweenPosition(UDim2.new(11.932, 0,5, 0), "Out", "Quint",1,true)
wait(0.5)
frame:TweenPosition(UDim2.new(11.932, 0,5.436, 0), "Out", "Quint",1,true)
end
end)
Ouverture R15 / Ferrmeture R6 :
local EmoteR6 = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R6.Framelocal
EmoteR15 = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame
local x = "R15 Visible"
script.Parent.MouseButton1Click:Connect(function()
EmoteR15.Visible = true
EmoteR6.Visible = false
print(x)
end)
Ouverture R6 / Fermeture R15 :
local EmoteR6 = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R6.Framelocal
EmoteR15 = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame
local x = "R6 Visible"
script.Parent.MouseButton1Click:Connect(function()
EmoteR15.Visible = false
EmoteR6.Visible = true
print(x)
end)
Play Animation Emote :
local player = game.Players.LocalPlayerlocal
character = player.Character
repeat wait()
character = player.Character
until character
local hum = character:WaitForChild("Humanoid")
local emote = hum:LoadAnimation(script.Parent.Emote)
playing = false
script.Parent.MouseButton1Click:connect(function()
if playing == false then
emote:play() -- Erreur forum c'est censé écrit emote : Play () tout attaché
hum.WalkSpeed = 0
hum.JumpPower = 0
playing = true
elseif playing == true then
emote:Stop()
hum.WalkSpeed = 16
hum.JumpPower = 50
playing = false
end
end)
Bonus Next Page / Return Page :
local Next = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.ScrollingFrame1local
Return = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.ScrollingFrame2
local NextBtn = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.Next
local ReturnBtn = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.Return
local x = "ScrollingFrame1 is Not Visible"
script.Parent.MouseButton1Click:Connect(function()
Return.Visible = true
ReturnBtn.Visible = true
Next.Visible = false
NextBtn.Visible = false
print(x)
end)
local Next = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.ScrollingFrame1local Return = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.ScrollingFrame2
local NextBtn = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.Next
local ReturnBtn = game.Players.LocalPlayer.PlayerGui.Emote.EmoteBtn.BackGround.R15.Frame.Return
local x = "ScrollingFrame2 is Not Visible"
script.Parent.MouseButton1Click:Connect(function()
Return.Visible = false
ReturnBtn.Visible = false
Next.Visible = true
NextBtn.Visible = true
print(x)
end)
Passons au deuxième sujet, comment faire en sorte que nous puissions faire un profil avec notre Pdp roblot ainsi que l'argent en votre possession en jeu.
Ceci et très simple a faire.
Donc je viens bien évidemment vous partager les codes sources que j'ai créer.
Image de Profil :
--[[local Players = game:GetService("Players")
local player = Players.LocalPlayer
script.Parent.Image = "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=150&Format=Png&username="..player.Name
--]]
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Fetch the thumbnail
local userId = player.UserId
local thumbType = Enum.ThumbnailType.HeadShot
local thumbSize = Enum.ThumbnailSize.Size420x420
local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize)
-- Set the ImageLabel's content to the user thumbnail
local imageLabel = script.Parent
imageLabel.Image = content
Du coup je vous partage aussi le code source pour afficher l'argent.
while wait(.1) do -- wait(.1) shortens the code and stops a game script timeout.
script.Parent.Text = ""..game.Players.LocalPlayer.leaderstats.BeliaRodette.Value -- Changes the text
end
Bonus affichage pseudo en jeu :
local Player = game.Players.LocalPlayerlocal
TextLabel = script.Parent -- Put the location of the label here
TextLabel.Text = Player.Name
Et donc pour la troisième partie, cela va être très simple mais assez intéressant, donc nous allons commencer à faire en sorte que votre personnage puisse courir avec une animation prédéfinie créer par vous-mêmes en R6 et en R15.
Pour que le jeu puisse détecter si votre personnage et en R6 ou en R15, c'est assez simple, mais toujours a indiqué dans les scripts.
En début de script je vous conseille d'ajouter ceci pour que ça fonctionne mieux.
local Player = game.Players.LocalPlayer
local Character = workspace:WaitForChild(Player.Name)
local Humanoid = Character:WaitForChild('Humanoid')
Ensuite pour faire comprendre au jeu si vous voulez que l'animation, la value, ou le bool, etc, soient définie pour un Rig R6 ou R15, il suffit de mettre ceci dans votre ligne de code :
Character.Humanoid.RigType == Enum.HumanoidRigType.R15
Donc en soient après le
Enum.HumanoidRigType.
vous devez ajouter soit R6 soit R15
Code Source Run :
-- By Maxime66410local Player = game.Players.LocalPlayer
local Character = workspace:WaitForChild(Player.Name)
local Humanoid = Character:WaitForChild('Humanoid')
local RunR6Animation = Instance.new('Animation')
RunR6Animation.AnimationId = 'rbxassetid://5359599160'
R6Animation = Humanoid:LoadAnimation(RunR6Animation)
local RunR15Animation = Instance.new('Animation')
RunR15Animation.AnimationId = 'rbxassetid://5359744558'
R15Animation = Humanoid:LoadAnimation(RunR15Animation)
Running = false
function Handler(BindName, InputState)
if InputState == Enum.UserInputState.Begin and BindName == 'RunBind' then
Running = true
Humanoid.WalkSpeed = 25
elseif InputState == Enum.UserInputState.End and BindName == 'RunBind' then
Running = false
if R6Animation.IsPlaying or R15Animation.IsPlaying then
R6Animation:Stop()
-- R15Animation:Stop()
end
Humanoid.WalkSpeed = 16
end
end
Humanoid.Running:connect(function(Speed)
if Speed >= 10 and Running and not R6Animation.IsPlaying or R15Animation.IsPlaying then
if Character.Humanoid.RigType == Enum.HumanoidRigType.R15 then
-- R15Animation:play()
Humanoid.WalkSpeed = 25
elseif Character.Humanoid.RigType == Enum.HumanoidRigType.R6 then
R6Animation:play()
Humanoid.WalkSpeed = 25
end
elseif Speed >= 10 and not Running and R6Animation.IsPlaying or R15Animation.IsPlaying then
if Character.Humanoid.RigType == Enum.HumanoidRigType.R15 then
-- R15Animation:Stop()
Humanoid.WalkSpeed = 16
elseif Character.Humanoid.RigType == Enum.HumanoidRigType.R6 then
R6Animation:Stop()
Humanoid.WalkSpeed = 16
end
elseif Speed < 10 and R6Animation.IsPlaying or R15Animation.IsPlaying then
if Character.Humanoid.RigType == Enum.HumanoidRigType.R15 then
-- R15Animation:Stop()
Humanoid.WalkSpeed = 16
elseif Character.Humanoid.RigType == Enum.HumanoidRigType.R6 then
R6Animation:Stop()
Humanoid.WalkSpeed = 16
end
end
end)
Humanoid.Changed:connect(function()
if Humanoid.Jump and R6Animation.IsPlaying or R15Animation.IsPlaying then
R6Animation:Stop()
R15Animation:Stop()
end
end)
game:GetService('ContextActionService'):BindAction('RunBind', Handler, true, Enum.KeyCode.LeftShift)