2020-07-26 17:50:20

Création d'un UI Profil et Emote, Animation Run R6 et R15


Roblox R6 & R15



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).

50-cf7a3a47850fde1dae96054921122bf5.gif



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.

51-0404b1666883b785ae9d59e5b89d10e5.gif



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)


- Maxime66410 0 Like

Retour


Commentaires






Bootstrap