background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "Create a Role playing game in Unreal Engine Part 21 - Ability tags"

input logo icon
Video tags
|

Video tags

Unreal Engine 4
Unreal Engine 5
Game system
Game development
Tutorial
Ability
Abilities
Create a game system
Beginner
Intermediate
Advanced
Damage
Great
XP
Experience points
Animation
Animations
Status effects
Free course
RPG
Role playing game
Combat
Component
Flexible
Scalable
Good practice
Buffs
Debuffs
Stats
Attributes
Properties
Gameplay tags
Full game
Foundation
Create a game
Experience
Status effect
Class
Statuseffect
Buff
Debuff
Ability tags
Subtitles
|

Subtitles

subtitles menu arrow
  • ruRussian
Download
00:00:01
[Music]
00:00:05
before we continue with the video if you
00:00:07
like what i'm doing here on this channel
00:00:09
please consider subscribing it helps the
00:00:11
channel a lot
00:00:12
anyway let's get back to the video
00:00:15
welcome back to my create on rpg series
00:00:18
in this episode we will be enhancing our
00:00:20
abilities further by having it be able
00:00:23
to add properties uh to your character
00:00:28
just like we have for status effects for
00:00:30
example
00:00:31
so let's jump into it we'll open up our
00:00:35
blueprint for ability base
00:00:38
and what we want to do here is
00:00:40
essentially
00:00:41
make use of
00:00:42
our pre-step now
00:00:44
so first off let's do this we'll um
00:00:48
actually let's organize this a little
00:00:49
bit we'll take the use required tag here
00:00:52
and put it in a category called
00:00:54
tag functionality
00:00:57
and then we'll do the same with the use
00:00:59
prevention tags and put it in there as
00:01:01
well
00:01:02
and then we'll create a variable which
00:01:04
we will be calling
00:01:06
uh use
00:01:07
adding
00:01:08
types is okay name i think and we want
00:01:12
this one
00:01:14
to be
00:01:15
off the type gameplay tag
00:01:18
not container gaming play tag
00:01:21
and we want it to be an array
00:01:24
now
00:01:27
this is essentially going to be
00:01:29
something that
00:01:32
gives if your ability gives you a
00:01:34
property while it is being used let's
00:01:37
say
00:01:38
maybe you have a dodge
00:01:41
you could make an ability for a dodge
00:01:43
and that ability is supposed to give you
00:01:45
invulnerability frames
00:01:47
uh you can essentially set up that it
00:01:50
gives you an invulnerability tag while
00:01:52
you're doing the dodge and then remove
00:01:54
the tag afterwards and then your dodge
00:01:56
is actually working like in dark souls
00:01:58
for example
00:02:00
so
00:02:01
it's pretty easy what we're going to be
00:02:03
doing we're going to be getting our use
00:02:06
adding tags over here
00:02:07
and we're going to be looping on them
00:02:11
in our usability preset is where we want
00:02:14
to be adding this so it's
00:02:16
something we add just before we start
00:02:18
using the ability and then we want to
00:02:19
remove it when we're done using the
00:02:21
ability
00:02:22
so the usability is going to run from
00:02:24
when we have completed adding all of
00:02:26
these them
00:02:27
and these we want to encapsulate in sort
00:02:29
of a function so we'll create a function
00:02:31
for this we'll call this
00:02:33
add ability
00:02:36
tags
00:02:37
or let's call it tag since it's one
00:02:40
since we're looping on it essentially
00:02:43
and this one will be taking a gameplay
00:02:45
tag then
00:02:46
as a type because that's what we're
00:02:48
looking on
00:02:52
and call this ability tag
00:02:55
like so
00:02:58
and
00:03:00
what we want to do now is we want to
00:03:02
have our owner
00:03:04
the one that's using the ability we want
00:03:06
to get its
00:03:08
component by cloth
00:03:11
we want to get the gameplay
00:03:14
tags component
00:03:17
we want to make sure that it is valid
00:03:19
because we're going to try and interact
00:03:21
with it
00:03:24
if it is valid we want to get this and
00:03:27
say add a tag
00:03:33
and that's it and then we just need to
00:03:34
hook up the tag that we want to add
00:03:39
and then we create an origin as well
00:03:41
because that's something that we
00:03:42
sometimes make use of right
00:03:46
so the the actor in this case will be
00:03:48
the owner that we have
00:03:53
and the controller can get the
00:03:55
instigator
00:03:57
controller
00:03:59
send that out there
00:04:03
now we are actually also let's be proper
00:04:06
here and have a return here because it's
00:04:08
clean and nice
00:04:10
uh like so so now we have the ability to
00:04:12
add a tag so actually let's go back to
00:04:14
our loop again and we'll just call the
00:04:16
add ability tag
00:04:18
like so and hook in the array element in
00:04:21
there
00:04:22
so now when we get to the point of we're
00:04:24
attempting to use an ability we try to
00:04:27
use it if we're able to use it we call
00:04:28
the pre-step
00:04:29
the pre-step will be done going through
00:04:31
all the adding tags
00:04:33
and it will be looping through them
00:04:35
adding it to the component if we have
00:04:37
one and then once it's done with that it
00:04:39
will use stability using the ability
00:04:41
will then go through and do all of the
00:04:42
animation stuff in this case and then
00:04:44
which we'll call end ability
00:04:47
and ability is a step where we actually
00:04:49
want to undo whatever we have done then
00:04:52
so if we added a tag
00:04:54
and we wanted to remove that tag so
00:04:56
we'll just
00:04:57
loop on this again
00:05:00
loop
00:05:06
like so
00:05:07
and then we want to do the same thing we
00:05:09
did before but in reverse so we will
00:05:11
duplicate this and say instead of add
00:05:14
ability tag we call it
00:05:17
removability tag
00:05:19
like so
00:05:21
and inside of here we want instead of
00:05:23
adding the tag we want to remove
00:05:26
the type right
00:05:28
remove that
00:05:30
so hook it up if it's valid
00:05:35
pick up the origin hook up the tag that
00:05:37
we're sending
00:05:39
and we're pretty happy like that
00:05:43
there we go okay so
00:05:45
going back again we have our
00:05:47
removability tag now we can call
00:05:50
we will hook in the ability like so
00:05:54
and that's done
00:05:55
so let's see how this works then so we
00:05:57
have some debug information that writes
00:05:59
in the top left if we are adding and
00:06:00
removing tags right so we can just go to
00:06:03
our
00:06:04
ability slash which is currently our
00:06:06
sort of debug ability at this
00:06:09
point in time
00:06:11
and we have the use adding tags over
00:06:13
here
00:06:14
so we can say here for example that we
00:06:16
were going to add a tag adding a tag
00:06:19
called
00:06:20
let's create a new tag
00:06:22
let's call it
00:06:25
let's see here gameplay tags and let's
00:06:26
say
00:06:28
um
00:06:33
state dot
00:06:35
attacking or something like that
00:06:37
okay
00:06:38
post that down we go to our slash
00:06:41
we say we want to add the state
00:06:44
for attacking when we are actually doing
00:06:46
an attack
00:06:48
that makes sense right
00:06:49
so if we press f11 we press e you can
00:06:52
see in the top left we get on a tag we
00:06:54
get an attacking tag we get the
00:06:55
attacking tag removed that's the what
00:06:57
the number represents like one and then
00:06:59
zero
00:07:00
um so now we can see that we're actually
00:07:02
getting
00:07:03
uh that happening
00:07:04
however you can see that for example i
00:07:06
can spam my
00:07:08
e key a lot and it will run
00:07:11
multiple times or it will like start
00:07:14
adding multiple tags and stuff like that
00:07:16
and there's no interruption
00:07:18
one simple way to use something like
00:07:20
this is to have something like
00:07:22
um our ability slash here we can say
00:07:26
it's
00:07:30
my blind
00:07:35
where are our
00:07:43
where are our tags
00:07:47
and the required text prevention tags
00:07:55
all right we put them in a category
00:07:57
right yeah so type functionality that
00:08:00
maybe wasn't the most brilliant thing
00:08:01
ever but yeah so let's do this using
00:08:04
adding tags we put this in the same
00:08:06
category
00:08:08
as tag functionality so at least
00:08:11
these things are all grouped
00:08:13
that makes sense now we can say that
00:08:15
for example prevention tag here we can
00:08:17
say that the state of attacking it would
00:08:19
be preventing
00:08:21
this ability from being used which means
00:08:23
that
00:08:24
if i now spam the e key it doesn't
00:08:27
really matter because if i put the
00:08:29
attacking tag on once i won't be able to
00:08:31
initiate the
00:08:33
ability until that tag is removed
00:08:35
essentially so if you want to have a
00:08:37
game where
00:08:38
you are committed once you've used an
00:08:40
ability then that's one way to go about
00:08:42
having
00:08:43
that sorted out in that manner
00:08:46
while we are enhancing the base ability
00:08:49
let's just hook in some other
00:08:51
functionality as well
00:08:54
we do have the functionality here of can
00:08:56
usability which is
00:08:58
something you could overload but you
00:09:00
might want to have it like a little bit
00:09:01
more granular so what we could do is we
00:09:03
could also add
00:09:05
[Music]
00:09:07
another
00:09:08
function here which
00:09:10
checks if you're allowed to use an
00:09:12
ability
00:09:13
so you could do something like
00:09:17
um
00:09:18
final use
00:09:20
allowance
00:09:22
thick
00:09:25
so essentially what's happening here is
00:09:27
when we check if we can use an ability
00:09:29
we have the ability to checks against if
00:09:31
we have prevention tags if we're
00:09:32
required tags but you might want to have
00:09:34
something else also checking if you have
00:09:36
enough mana or enough stamina or
00:09:38
whatever
00:09:40
and in that case
00:09:42
you
00:09:44
may want to have that
00:09:48
be the one that actually is overloaded
00:09:50
or or overwritten in the children so you
00:09:52
like don't touch any of these and you
00:09:54
don't want to touch they can use ability
00:09:56
you can just uh oh sorry i tried out
00:09:58
this one
00:09:59
i mean this one
00:10:01
you can just use this ability to have as
00:10:04
your last check if you're allowed to use
00:10:06
an ability right
00:10:07
so just add some functionality here we
00:10:09
will
00:10:10
make sure that it sends out an output of
00:10:13
a boolean
00:10:16
important here make sure that this one
00:10:17
is true
00:10:18
because
00:10:19
in the default here in the base class we
00:10:21
won't actually be using this this is
00:10:23
just for overloading in other children
00:10:25
so we call this
00:10:27
allowed reuse
00:10:31
which means that it will always be true
00:10:33
in unless you actually overload this in
00:10:35
in some functionality later on
00:10:37
uh and if it is true we want to continue
00:10:40
and check the other things if it is not
00:10:42
true
00:10:43
we just go out here and say we can't use
00:10:45
stability
00:10:48
this this way we have some flexibility
00:10:50
for our
00:10:51
children
00:10:53
later down the line essentially
00:10:56
yeah i think that might be a good place
00:10:58
to stop for now so let's save everything
00:11:01
and i hope to see in the next episode
00:11:04
hopefully found this video helpful if
00:11:06
you liked the video leave a like if you
00:11:08
did not like it leave a dislike leave
00:11:10
any suggestions or comments you have
00:11:11
down below subscribe and share this
00:11:13
video if you want to see more like it in
00:11:14
the future that is all for now keep on
00:11:17
learning take care
00:11:19
[Music]
00:11:29
you

Description:

This is the series to watch if you want to create a role playing game in Unreal engine with rich, deep RPG systems and advanced functionality. In this episode we will be creating ability tags to allow for deep customizing of functionality. Beginner tutorial series: https://www.youtube.com/playlist?list=PLNBX4kIrA68nyGfIKgyizftebllhKc4ZX Creating game systems: https://www.youtube.com/playlist?list=PLNBX4kIrA68lvWElEzhRaCOtCjZ7L05xv Join the Discord server here: https://discord.com/invite/zBeebU7uv3 Support the work of LeafBranchGames on Patreon here: https://www.patreon.com/LeafBranchGames

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "Create a Role playing game in Unreal Engine Part 21 - Ability tags" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "Create a Role playing game in Unreal Engine Part 21 - Ability tags" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "Create a Role playing game in Unreal Engine Part 21 - Ability tags" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "Create a Role playing game in Unreal Engine Part 21 - Ability tags" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "Create a Role playing game in Unreal Engine Part 21 - Ability tags"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "Create a Role playing game in Unreal Engine Part 21 - Ability tags"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.