#blueprint
402296 messages · Page 798 of 403
can my items still have more than one tag this way?
like with, for example a fence, there are different heights, lengths, materials, etc
You "could" include as much information as youd like to, but nesting with structs, enums, etc. is always sketchy in Blueprints
in fairness, this only has to be done once, and updated when unlocking anything new
or would it HAVE to be called each time the build menu is opened?
I guess you only need to refresh it then, but by sketchy I refer to the actual development process
Adjusting settings after you made some changes to the variables can lead to bugs (well at least it did for me often enough)
BP structs are horrible
prone to bugs and errors
relatively hard to work with aswell just adds icing to the cake
I do find them inconvenient too, lol
I can't why I can't just have a normal data table, lol
Gameplay tags right?
yeah
like if you search for a type of wood or metal relevant build pieces will show up
Youve got layers is the thing
what stops you with regular datatable?
and on the right will be grouped by tags
Cant edit the values of a data table, but u want that right?
filter the filtered db rows for the tags
I am not sure I will need to edit anything
if you do need to, db is not the road to victory
i'll be tracking whether they have unlocked it in a different table I think
Well if you commit to dt you cant 😋
I have no udea
by different means*, not a table i hope
just brainstorming at the mo, lol
All build data could live inside a db
its static, known,
and has a set of rules for filters
this is what I suspected
Maybe just check out gtags
will do!
In case you decide you need to edit things
which basicly just enables some db row
Maybe something like:
Datatable holds all building information (un-editable)
Map Variable holds "currently" possible buildable objects
Other variable holds resources
just a guess
I'd just to tag 😄
(Map is not possible for multiplayer btw.)
instead of map
sorry for the noob Q but whats the key different between a data tab;e and map?
oooh, I want MP eventually, lol
a map is a pair of something
A map is basically two columns
so as part of the save file, I will simply list the ID for each research?
could do that
but if its an id
you dont need a map
you can just stuff it in a int array
if the id exist, the thing has been researched
quicker to process?
less checks i suppose
I want TONS of items eventually ... maybe even a marketplace, lol
Parallel arrays?
sounds like you're way out of scope
multiplayer, tons of items ,
Mp use GAS
we're discussing a datatable vs Map 😛
Point in case ^^
lol
Good night then
if its just a binary state, then a single array would suffice
Jw if thats what you meant
I'd consider dataTable for the build info, and some gameplaytag on the rows for checking if the player has researched it or not
datatable would also contain an enum for sorting into categories
or
you'd use the gameplay tag as a row lookup
Wasnt there some nice method there for grabbing the bigger categories...
nvm, im mixing the last part there with something else 😄
I'm learnin
kinda
😛
a lot more than I knew before even though still a little lost
when it's time to scale up ... it will be fun finding a solution
oooooh, sexy code!
not knowing how you want it, you may or may not want to show stuff that is to be researched
not kidding ... a little harder to digest, lol
Just do yourself a favour and really think what you need / want
Such systems can easily cost you a lot of time by having to rework them 10 times
indeed
bookmarked
easiest way to book mark discord chats, lol
this was a tad more complete
didnt care to create a new struct just to show an example , so you gotta live with my transportrequest 😛
lol
Has Tag
thats related to the tag mechanic rather than Tag exisiting in the dataset?
its related to gameplaytags
thank you Mr Squizel
nice
another nice thing about these is that they are way easier to keep track off imo
since they can be grouped and separated and listed like this
nice!
instead of some manual input type
I'm still experimenting with them so this setup could be completely flawed , but i have yet to experience why 😄
loooooooooooool
How can i make these variables as an array in my struct?
As I have multiple materials
Click the little O icon and change it to the array one.
🙂
Thanks!
nice neat box BTW lol
lol thanks
better than I would have done
hi guys
virtual default joystick is not appearing in my gamemode(GameMode_1) but its appearing in another gamemodes(GameMode_2)
whats the reason will be?
try checking they have the same playercontroller class
controls are stored in playercontroller, not GM
morning, is there any issue that can be caused from calling a macro from within a function?
In CPP I often "pass by reference" to avoid copying structures on the stack. The goal is memory efficiency.
Should I apply this logic to Blueprint too or is "pass by reference" just in case you want to modify the input?
specifically, I'm using interface to call damage calculation... but within "damage calculation" there can be instances of "damage over time"
which I think would need to run via a function
i mean a macro sorry
because of the timer aspect of that
Use timers
yes i know that bit
I am not sure of the answer to your question but if you are using macro guessing you use delays
xD
use timers
like because you can't use timers within a macro
get used to them
i mean a function
you can
sorry its early
ok and if I use a function to call that within a macro
the timer will still work as intended?
i know I can just write this and test it out etc etc but just wanted to ask before I put in the work
ok great
I think thats what I was worried about
you can also choose to not loop etc
i thought that functions had "timing" issues but they can still run timers its just delays
they cant call
hmmm
well actually
while we're on that subject
what I have done
is set an attack speed value
by using a delay
and after the delay it turns on a boolean
ya they have the same player controller class
1 sec I'll show you the code
just avoid delays its not a good practice
it can work for you sure
timer like this makes alot of sense for dots imo
it doesnt make it a good choice though
cycle an array of current dot's -> subtract from remaining time -> apply damage each tick interval
attackspeed of 2 would mean -1 delay
Hello everyone i have a problem with spawning the default pawn, all i did was i changed the static mesh which resulted the mesh to be a little lower as shown in first and second image and now it doesnt spawn, tho i can easily posses the same BP which is in the level with no problem.
I also get this error "Accessed None trying to read property CallFunc_K2_GetPawn_ReturnValue" i think its because the pawn didnt spawn.
When i change the mesh to the default one its spawns with no problem
any help will be appreciated.
If I spam attack
and not hold it down
You will not be able to fire again with this I think
not sure tho
yea it was just planning for the damage application part of it
no worries 🙂
thank you
Might be worth trying to quickly disable the collision to check whether this is causing issues
Yeah its actually the collision now it spawns
i dont know why thats the problem?any better way to fix it?i have no idea what its colliding with
Id first try to just spawn it in a clear area with just a floor (and move the spawn further up from the ground)
wait i think its the pawn when i ignored it it now spawns lol how is that possible
As you have two different meshes they collided with themselves
Can someone plz tell me how I can save my character?
What do you mean by save your character
I have a modular character
With different parts like hands, torso, pants, etc
All having multiple materials
I want to save my character with a press of a button
So that the same character can be used in any level
In short how to save my character after customisation
Id go for a GameInstance
Save the selected stuff in there and retrieve it when necessary
Yes I did
I also created a structure
To save the modular parts and the materials
But idk how to make it work
You could for example
On Begin Play call the gameinstance and retrieve the information and set it on your character
Saw somewhere that mentioned blueprint nativization running 10x faster, which makes sense but I could only find info from 3 years ago from when this was introduced. Is it still best practice to nativize heavily used blueprints (Like player characters)?
oh wow ok thanks, so I shouldnt at all worry about it?
haha gotcha, thanks for saving me headaches :)
Hey!
Any tip how to access cpp inherited field/methods from a blueprint (base class -> child actor -> blueprint)?
Currently, I use child actor class as a proxy to expose base methods. Do we have any other way?
This is my widget bp
I want to save my modular character with all the materials in the *CharGameInstance
Is it possible that the materials can be changed? Otherwise set it directly on the mesh so you dont need to save them
Hello. I'm very new to profiling and just ran some traces after optimizing some things and now I'm trying to interpret the results and I'm a bit shocked. The bottom picture is before and the top picture is after. If you look at the Incl tab to the right it says the old results did 1.3s over something (a tick or something else?) and now it does 85ms. Does this say that I improved performance? I do notice a 10FPS framerate raise in the editor. But I'm new to this so I might need some help on this.
The change I made was a stationary light set to static and substepping from 2 to 1
@bitter helm somethings off with your character reference in GOK_Base
Hmm
I mean you call a function within GOK_Base is there even a need to plug the char ref in
No lol
I did that now
I didnt make references to game instance and character properly
@eternal reef it still doesn’t work
Its not giving any errors
You need to be more specific, what exactly does not work
I mean did you manage to save all settings correclty?
Yes
Its not giving any errors now so I think yes
Is this enough to carry the changes made to another level?
Or do i need to load the changes somehow
Okay for your understanding
Basically what happens
The Character which you set up with your customization is not the same when you transition levels anymore as a "new copy" is created
Therefor you have saved the settings of your first character, but you need to apply them to your "new copy"
Ok
So you need to set up the logic that on spawn of your character it checks what you have picked in the customization
Basically what you can do is in your character:
Event Begin Play -> Get Gameinstance -> Get Settings -> Apply on character
How can I do that?
Event Begin Play -> (Get GameInstance) -> Cast To GameInstance (Or Interface) -> Get Saved Parts -> Set Skeletal Mesh / Mateirals of all your different slots
Hmm
And you might need to consider as when first loading up the character there is nothing set in the game instance
Therefor you might need to set default objects into the Saved Parts Object
Ok let me try
I did make a package build but I did a development shipping configuration because otherwise the insight tools don't work.
I've got a Vive Tracker controller that I want to use as a camera. Due to design constraints, I can't position the tracker like the image attached, but rotated 90 degrees so that the X axis is facing upwards and the Y axis is facing backwards. How do I implement this offset? I tried adding 90 degrees to the Orientation but it's still showing some funky behaviour.
Is this a case where simply adding or subtracting an offset won't work? Or I just haven't stumbled on the right amounts
Wow, I tested it again with substepping 1 vs substepping 2 and it improved by 1/3!
But how do I set default mesh?
No problem, good to hear
Just click on the save variable in the gameinstance in there you see the free slots
hey, is there a way to enable or disable a material slot?
E.g. you can hide a component of a blueprint with a boolean and a set visibility node in the constructor.
But how about materials? I've realised that in my door blueprints, there are some doors that take two materials and the others only take one. This is the source of those map check errors talking about overriding 2 materials to 1 slot.
Ok I figured it out. Branch node to the rescue lol.
How can I use this animated button as it only has the “on visibility changed” and its s widget bp
Hey there, wanted to share a thing, not sure if I did it right, but I am still proud of it
I think that if it is a custom widget, you need to expose o create the proper custom events
I needed a subsystem to calculate health inside of different Character classes, but since I am an ignorant in C++ I couldn't make one... But turns out I am no normal person either so I coded a Macro in Blueprints instead and I'll use it as if it was a subsystem
simple question, hopping someone could help me with it:
when i call "Spawn Actor" node with an actor, does "Spawn Actor" calls the actor's constructor in parallel execution order? like if i have a lot of code inside of the class constructor, when i spawn the class with "Spawn Actor" node, will the node wait for the constructor to finish constructing the object before executing the code after it? or will it just do it in parallel? (sorry i'm kind of new to UE and programming in general and idk the technical term for parallel execution)
If I get it right, you have a lot of code connected to the input of Spawn actor, right?
If so, It will wait to all the code before it to be executed, from left to right, if you want your node to be executed in parallel you should use a sequence, on Then 0 you connect Spawn Actor, on Then 1 the other lot of code
I might be wrong though, I am not that expert, only 4 months of experience
haha it's okay, yeah no i'm not talking about code in blueprint (and code execution order in general), i meant the constructor inside of the class that i want to spawn
Ah
but thanks for the help!
I think it spawns the thing first then it executes the code inside of it
yeah i think that's exactly what's happing in my case
You would like it to execute before it spawns? On the beginning of the game?
i have to use a delay of one tick to get some of the functions inside of the class when i spawn them
You need a delay of only one tick, right?
yeah
I think that delay set on 0.0 should do the job
i can't use the "overlaping actor" node right after the spawn actor node, so i'm guessing that the actor is not yet been fully constructed
IDK
ahh it's ok i guess i'll need to look up in the UE docs to get what i'm looking for (but i don't know the technical term for it)
Yeah, otherwise Google will help for sure
Or atleast its overlap is not considered untill next frame
Whats the usecase anyways?
i think yeah
just for general knowledge, i just need to know how it works in execution order before i play around with it 😄
Hi. I wonder how I can calculate the direction a player is moving in. So when moving forward he is at 0, when hes moving right he's at 90, back at 180/-180 etc..
And not take into account what rotation he has.
or 0-360 if thats easier.
not sure how you'll do that in blueprint but in c++ i used this:
FRotator MovementRotation = UKismetMathLibrary::MakeRotFromX(PlayerCharacter->GetVelocity());```
@trim matrix *
pretty sure there is a "Make Rotation from x" node in blueprint
If I had a list view in my UE4 widget that looks like this: https://screenshots.foxy.rip/p9RAumzK
How would I make one of those list items tinted blue?
@trim matrix Thank you thank you thank you! That worked perfectly!
All the class is is an image with some text on top
Anyone know how I would do it?
doesnt the textblock widget get constructed ( so construction script is used?) Then you can use that to alter its looks i suppose
Uh....
I have a request admin system in game to basically play a sound to all online admins in game, and then I want to make their name in that admin player list view blue
So just make that image tint blue
guess you'd use the interface call you're already using then, since its called on tick
you're already using the interface to update their names
you could also fetch their status, compare to whatever broadcast you got going for the sound , and use that to update the color/tint
is there a way to check if an actor has a specific struct from a different component or class and modify it remotely?
you mean if it has a variable ?
you can use interfaces to check maybe
or tags even
Any idea why this never hits when the value is -130?
have you debugged it with breakpoints?
Nevermind.. I'm just a moron
@lost solstice I don't think there's a way to loop through all variables and get one by type. Like Koala suggested you need to interface it somehow, like make a function that gets it, or put the variable in a shared parent class and cast to the parent
I wonder how can I control animation rate with character movement speed
@gentle urchin Would something like this work?: https://screenshots.foxy.rip/bWSW7hlU
I have an array of "admin requested players" in the player proxy which is set here: https://screenshots.foxy.rip/OvGKIZls
Would appear like you're on the right track atleast
Alright
Cool, will test it out in VR and then will come back to you with the results :)
How can I control my animation rate according to the player movement speed?
is there an easy way to restrict character movement on a certain axis
The character movement component provides the possibility to constrain the moveable axis
Ok so @gentle urchin that doesnt work whatsoever
It plays the request admin sound like usual - but it just doesnt make the button blue

blendspaces?
I generally feel like this is more #multiplayer. What's the idea behind the list if i may ask? Are players able to see which admin is online, and request them ?
The player list is just a list of players in the game currently (that is updated every tick) that only admins can see in the admin menu widget
And then in the inventory widget which everyone can see - at the top there is a request admin button.
Right now, I have it so that when you press that button - it plays the request admin sound to all of the currently online admins.
So that all works fine - I just can't make their button blue that corresponds to their player
oof I hope theres a built in cooldown for that
Yeah
Added a 20 second one
Does that when pressed
Thats the conditions at the start to use the button
So yeah
"their" button blue?
Sounds like you want the player who has requested an admin to turn blue?
I guess the position of the player is based on some sort of array
Which means if player 3 in your array requests support, pick the 3rd block in the widget?
The background to be white
the players are already connected to the list
Yuh
so all i think is needed is some bool in the playerstate to say if they're waiting for an admin
bool, or enum , for "state" if there are multiple possible states (especially between admins)
Like "None" , "Open Request", "Waiting for assigned Admin", "In progress"
or whatever state is appropriate
Nah I just add their player state reference to an array https://screenshots.foxy.rip/ypM7VfaK
Exactly
Well...
dont you already have a playerstate array?
so all you need is a replicated boolean
"bRequestedAdmin"
Im so confused
Can you explain like I am 5 😂
Basically, right now this doesn't work at all: #blueprint message
Wouldnt you be required to constantly run the Event Tick for both, updating the list but also checking their state by this logic?

Or only update when someone leaves, joins or sends a request
Exactly
Well the main player list needs to be done on tick because of the way the modkit I am using works
It does have on leave server, on join etc but it doesn't work in this modkit as it should do
I mean you could do that with some custom events fairly easy
Yeah no I know
But I would like to keep my onTick logic that I have now
All I want to do is basically just when the player presses that button, target that specific player's button in the list view and set the tint of the image in the background to blue
This is now purely based on assumptions:
The players get put in your Widget List based on the position of the array
If this is true, you can just use their position in the array for the position in the widget list and colour it that way I assume
For the first point - what?! 😂
Uh
Can I not just like
Cast to the button which is used in the list view with the target as the players name or something?
Just speaking out loud 😂
hai
anyone know how to enable setting draw distance on a SplineMeshComponent so that unreal doesn't draw the entire spline at once?
the LandscapeSpline has that feature built in
but you'd have to loop through to set it
since each mesh will have a different distance
all the meshes should have the same draw distance
@trim matrix
Uhh... no idea
To just clarify my point:
You have 3 Players in the Game
Player Array: Player 0, Player 1, Player 2
Your Widget retrieves those Players from the array and displays them in the same order
Which means Widget displays: Player 0, Player 1, Player 2
Now Player 1 requests help, he has the second position in your array and in your widget list
Thereby you can coloir the second position of the list blue
i tried looping over the static meshes but it doesnt let me set the DrawDistancr
Ahhh ok, yeah I think that might work
Do you know how I would do this?
Or even TRY and getting around to do this?
But as I said, this is just a guess
I dont really do much stuff with widgets so not really
Id first find out how exactly your widget list works and whether you can reference each single "block"
I do think list views work on indexes (I believe)
There must be some way to reference it I guess, but no clue, maybe someone else is more familiar with that stuff
List View
Seems like it has an index
No idea if this is really efficient, but:
Get the requesting player
Compare it with your array of players and see which position he is in
Use that index for "Get Item At" and I guess then just colour it
And as there could potentially be multiple requesting players I guess you would need to create an array of "Requesting Players"
Check their position in the Player List and retrieve their position
Afterwards you have a list of lets say {2,3}
And you basically just loop through the array of positions that need to be coloured
Yeah I get that
That actually sounds great
But then when I get the element at that index
How would I change the color?
That is a very good question I dont have an answer for 😅
Ah alright
Lemme experiment hold on
Would something like this work do you think? (ignore the perma 0 index for testing purposes)
Then that custom event just does this: https://screenshots.foxy.rip/39vjcDS3
I mean you can just try it
Just make a fake player list that gets fed into your Widget and on begin play directly colour them blue or so
Well there is always gonna be a player (me) when I test it lol. Will test it alone in VR, will hook it up to my button and then test it.
Be right back.
How do i change text on a button press?
Make the text a variable and use settext on the text element variable in the graph
Then set it to whatever
Like that kind of
@eternal reef sorry to disturb but can you tell me how can I increase the animation rate with player movement speed
So basically:
The faster you run the faster the animation should play?
Exactly
Do you use a blendspace?
Yes
And is it working? Because that should be handled by the blendspace basically
All you need is some animations like
Idle -> Walking -> Running
You set Idle to 0
Walking to 300 for example
And Running to 600
Use that blendspace in your Animation Blueprint and feed in your movement speed float
Like this basically
Episode 14 | 30 Day Tutorial Series
★ Come join the Team Beard Discord: https://discord.com/invite/hhv4qBs ★
★Check out my Marketplace Asset: https://www.unrealengine.com/marketplace/en-US/product/flexible-combat-system ★
★ Ways to Support The Channel ★
Patreon: https://www.patreon.com/JonBeardsell?...
Buy Me A Coffee: https://www.buymeacof...
I think its easier this way
Ah your using a 3d blendspace, I mean playing around with the animations / speed values is best if you check a YouTube tutorial for that
Kind of hard to guide you through that here
Is your character movement max speed identical to the max speed in your blendspace?
Doesnt make sense to set the character movement speed to 2000 but the blendspace handles values from 0 to 100 or so
The values need to reflect what you have set in your character
This seems to work
So Abaddon, dont know if your done or not but this doesn't work when placed in the widget which has the list view using this logic: https://screenshots.foxy.rip/L1UEirny
And there is always at least 1 item in that list view
So IDK what is going wrong lol
But why does my character start slow?
Acceleration
You usually do not want a character to instantly run at insane speeds
Character Movement, just edit the acceleration
Cant really help you out on that one
Maybe just make the widget appear instantly in editor and play around with the different settings available, have not really worked with this stuff
What worked best for me is just look what the colour settings are called in the editor and search it when dragging away from that specific widget
usually you find what you need like that
@trim matrix
https://www.youtube.com/watch?v=JyMEAx8-nbY
Maybe this vid helps you out
In the "ListViewEntry" he defines an Image and a Text, if you additionally add a blue background which is usually hidden and you just reference that and unhide it, wouldnt that work?
I've used the ListView Widget before, so I thought I remembered how to use it. Lol. Here's the reminder to my future self so that I don't waste another couple of hours in forum posts and google-holes.
This example was created with UE 4.25 but should apply to 4.23 and later (this was when Epic changed the UserObjectListEntry interface).
#ue4 #...
Uh
That sounds doable (ish)
Yeah
Right i'll try that in a bit
Is anyone able to get the "Export Anim Sequence" blueprint to work? Does anyone have an example of it working? It keeps crashing whenever I use it
can you in someway set the time in timeline?
for example set the time to start at .5 and do the rest of the curve till you reach the end (which is 1 second in my case)
apperently not look at this for example
idk you might remember this from yesterday but trying to make a zipline
give me a min gonna record
sorry haha
so i want to set the time to start at 0.5 seconds
wait so i have to plug in the same var twice?
ok
gonna try that
is it bc i set it to play from start?
instead of play
sorry for the crispy video haha
i set the time to be 0.5 that means that it should start from the middle of the zipline
hang on, so i cant just set the new time inside the timeline block to 0.5 i need to use an extern block or node (dont know what its called) for that
oh that complicated
why is it so weird lol
alright
haha yeah
for the help
lmao
haha 😄
Why do the objects never equal each other when they should? I think it's because of the variable types are different and if so, how would I make it so they do equal each other?
@feral ice isnt it better to provide the actual start vector, and not some midpoint lerp alpha?
What's that component and what's the chosen one, and why in good gods name are you casting instead of using an interface
sorry i didnt get a notification
What do you mean?
Instead of doing some start time stuff, just provide the proper start vector ?
Not linestart but overlap location or whatever you're using to trigger it
you mean so i lerp between the players location and the end loc?
I am struggling to find the error here but it is supposed to tick every second and change the value for the cloud opacity, the starting value is 0.7 and the target is 6.0. So its suppose to start at .7 and go up by .1 until it hits 6.0 but it just between .8 and .9 like .8 .9 .8. 9 and so on. Does anyone see the issue here?
Idk what I am doing wrong, but I tried doing this: https://screenshots.foxy.rip/EPPrQXmq
And it just does not work
The blue layer/image just stays as hidden
Wondering if anyone could help me with the attached? I'm trying to set up a freelook camera when holding ALT that allows you rotate around the third person character (similar to PUBG). Feel like this should be working and its driving me mad!
Set up an interface, send an event to do what you want and then have the zoidbutton handle the event in its own blueprint
fun fact, I needed it like 5 mins after you asked, so by asking you helped me XD
An interface?
Havent used those before on my own
A masterclass series going in-depth in all there is to know about certain topics. More videos like this coming soon!
The methods mentioned are:
- Cast To
- Blueprint Interface
- Event Dispatcher
3.a. Multi Blueprint Interface - Actor Component
0:00 Intro
1:05 Cast to
8:54 Child actor
16:27 Interface method
20:10 Calling on an interfa...
Casting is pain, don't cast
Yeah, a lot of people tell me to use casting all the time - and it only works like 20% of the time
Legit
I think i see what you are getting at here
Casting is pain unless casting to a c++ class
What do you mean lorash? It comes right out of the addition node
Someone explained to me that casting is how you talk between different actors 💀
It is, but it's like if I asked your name and you shouted all your information to me, like everything
Unnecessary amount of data
Component is overlapped component in On Component overlap (trigger). Chosen one is whatever trigger is chosen and Im not sure
Do i add my interface here
Well, object goes in, entire object goes out if its the same
Which tends to be overkill
The ue5 demo animbp is like gigabytes in size for no reason due to a cast
The location will be different and to lerp between end and players pos will result in different speeds. If the player is 10000 units away the speed will be 10000units/second. If the player is 100 units away the velocity will be 100units/second. Thats why you said that ysterday that i need a set velocity so whever the player is the speed will remain the same. Gonna try it your way.
Thats why we adjust playrate*
playrate compensate for lerp distance being different
takes speed into account
ok gonna have a look if this is easier
how many times it should update?
no thanks haha
haha
Interpto would work aswell, but requires some manual checks
i feel like i know to little to use interpto constant and interpto. Gonna have to read and watch a video on how to use it properly
ok
gonna send a reference video if thats ok
im trying to make it look like this, i misspelled together
thats true about the acceleration but ill start with just getting it to work the speed i will deal with later i guess
The timeline could accelerate it
but cant i just mix with the playrate
Curve always starting at 0 would give you predictable acceleration, but would account for any existing speed
Interpto is surely better overall in this scenario i think
Yeah valid points
The original request didnt mention acceleration (or zip-jumping),
So its just guesswork when proposing anything really
it works thank you 😊
do inputaction's only work with one blueprint at a time?
i have an inputaction connected to two different blueprints but only one works at a time
If you don't uncheck Consumes Input on the event, yes.
how do i do that?
Click on the events in both blueprint and check out the Details panel.
Np
@smoky marsh/ @trim matrix back to my interface thingy, if I try and do this but want to access the event in the zoidhelpbutton widget event graph, what the hell do I put in my target?: https://screenshots.foxy.rip/f3TGrGAa
This is what is in that widget's event graph
Hey folks, just a question about blueprint components. Is there any other way to attach data to a primitive component other than component tags?
Asset User Data seems like it might be what I want, but I can't create new classes of that in a blueprint-only project 😦
(Specifically data that can be accessible within blueprints, not the material)
The dream would be to provide a reference to another component belonging to the same actor, along with some int/name variable.
You'd need to input a reference to the thing you want to execute the interface - so if it's a widget that is going to execute the code, you need a reference to that widget to feed into the interface call.
So would I just make a new variable called like the blueprint name
And then that's the reference?
Nope. That would only be a variable that can contain a reference to a widget and not the actual reference to the widget unless you set the value of that variable to the widget that will be executing the code.
It's like if you had an integer variable, but never set it's value, it'll always be the default value of 0. Unless you set the value, then it wouldn't point to the actual value you're wanting.
So how would I 'reference' that widget then?!
Hi! i'm attaching one of my cameras to one actor and i want the camera rotation to stay the same and the position to move along with the character. The problem i'm having is that the camera rotates with the character.
Am i missing something?
How are you creating the widget? If you're using the create widget node, then that gives you a return value which is the reference to the widget.
The zoidhelpbutton is used as an entry class in a list view as shown here: https://screenshots.foxy.rip/hhKarnHD
@indigo bough I don't believe that's possible without some framework. If you want another component's data from the same actor parent, you could just use GetOwner->FindComponent. There are a couple of ways to filter components, FName Tags, Class, etc.
Found it, i needed to remove the "inherit pitch/yaw/roll" on the spring arm of my camera.
So you provided a screenshot of the parent widget. I've not really messed with ListView objects, but you'd have to get the Listview_148 object, and then get the reference to the specific item in the list you're wanting to change. Something like this. The return values would be the reference to the actual widget object.
how would I sort an array of Blueprints after their priority which is an integer?
Thank you, yeah getting the components is relatively easy, but I'm trying to set up a animblueprint script which sets two bone locations based on the world location of another component, however I need to set which two components this animblueprint should be getting the world location of.
So far I've been using component tags, basically two component tags on the first object which correspond to 'target' component tags.
If component tag 0 = "A1", Find component with tag "Target_A1", get world location.
The problem with this is it's just a web of component tags, especially when something is both a target and a source 😦
Perhaps a custom Asset User Data is the only way,
But basically how my thing works is that the thing I am running using this interface is called from a different widget
That button in one widget
Calls that interface-based event inside of the zoidhelpbutton
The event never touches the parent widget's event graph
Doesn't matter where it's called from. In order to use an interface you need a reference to the object itself that you're wanting to run the code on.
How you get to that is up to you and the logic you have and what you have to work with.
But how I go about getting the reference is the hard part for me
And it's the next to impossible thing to explain as it all depends on how things are set up for you specifically.
Like if you have a master "window" widget, and that request admin button exists on it, and if there's another widget that contains the list that exists on that master, you use the master window to find the reference to the list.
Ah, another day, another bug.
Yesterday I saved and closed Unreal with my player movement working perfectly, and when I load up the project today, the player doesn't move.
It'll change direction, but velocity prints as 0.000,0.000,0.000 :T
Basically, I have one widget with the admin button thingy, and then in another widget I have the admin player list (the blue listview 148)
And I need to access one of the buttons inside of that list view
Which the class is called zoidhelpbutton
Er...I just fixed it. Apparently turning on physics prevents the AddMovement node from working.
I just want to make an image layer visible when a button is pressed in a different widget basically
So e.g:
I press the request admin button:
- The corresponding player's button in the admin panel widget turns blue
Very rarely are you going to encounter actual bugs with the engine like that
They are almost always user error, as you found out
Your best bet is to use version control to revert back to a time in which it last worked, and work your way up forward to there
What would I do Daytura?
You're closer but I might ask in #legacy-physics if I were you. But note that this is a question a little off the beaten path for most of us, don't be surprised if it takes you longer to get an answer than the average person tripping over some standard blueprint bullshit. It's a little esoteric
Was you going to say something Daytona?
Scenario:
The actor class Enemy_Base has a vector variable called Knockback.
The player is hit by actor class Enemy_Base_Child.
Can I simply cast to Enemy_Base to get the value for Knockback?
Instead of casting to Enemy_Base_Child
Bro you still typing 😂
https://screenshots.foxy.rip/9tgFguxZ - I don't know what you are trying to say here @dawn gazelle but it should really be a bit simple, I just want to be able to reference ANOTHER widget from one
Shouldn't the solution be a bit simple?!
have fun figuring it out.
Well it's simple right?
So what makes you think that I am any more an expert than you? Perhaps I'm taking some time to actually think about your problem, and properly construct something that could help you?
I'm so sorry if I came off as impatient - I really am trying not to be, it was more of the stress of not being able to figure it out that kind of made me say that.
I apologise and would accept any solution/help you can give.
Rule #2 in the discord my dude... Be patient.
Yeah - i'm sorry 😂
Now, how I would approach your problem is much different.
I would have an "admin state" as an enumerator replicated variable in the playerstate. It can have 3 possible values: StandardPlayer, AdminRequested, AdminPlayer. By default, the "admin state" should be set to "StandardPlayer".
When a player requests admin by clicking your "Request Admin" button, the RPC goes to the server, and the server sets the "admin state" on the appropriate playerstate to "AdminRequested"
Your list view widgets should likely be generating from the list of playerstates, so from that, you should be able to pull the "admin state" value and you could just bind to the "admin state" to change the appearance of the buttons.
No needing to call one widget from another, just simple variables changing that then drives changes in other widgets.
How would I do the "enumerator replicated variable in the playerstate" part?
I get everything else
You create an enumerator like so. Double click and open it after creating and you can set the values.
Then in your playerstate, you can add a new variable of the type of whatever you named your enumerator.
In my player state?
Then you can set/get the value by referencing that variable.
Is that the name of the enumerator 
I dont have a player state, I have a Player Proxy as I am using the Pavlov game modkit
So all actions run on the player would be in the player proxy
...right?
I'm not familiar with it.
But then how would I access the player state?
Based on the video I found, the "player info class" is a wrapper for the playerstate.
So you'd put that enumerator in there.
the player proxy is the pawn of the player, or the thing they are controlling in the game.
How would I access the player info class then?
what happend why is my camera so weird what should i do??
Couldn't tell you. That's specifically to do with that Pavlov kit.
Alright
how can I sort an actor array by priority/value inside the actor?
Loop it -> insert in a cached array at the right spot -> return cached array
find a heuristic to sort by
and pick a sorting algorithm
doesn't array by default implement a quicksort?
this?
I've never seen that but there you go
I don't think it's standard
ive never seen it either
Would be nice if it was
the heuristic is the comparator anyway
if you pull that out and use CreateEvent
you can create an event that compares values
not that I would know how to use it
you have to use some sort of heuristic
a value
just comparing actors or objects isn't going to give you anything
if you have values stored in the actors that's good enough
how would I do that tho. I have an int in the actor which acts as priority
How would one return a result?
and how do I put it back into the array?
no clue, I thought it would be by ref tbh
may still be
maybe the custom UI doesn't distinguish between ref pins and normal pins
wait so how do I put them back sorted into the array after getting the int from Object A and B?
just a step in the right direction...ill figure it out by myself
why did I never find this. I looked for a question on the answerhub but didnt find it
thansks
thanks
literally first result on google
I can't even find that node <_<;;
it's low entry
Ah
i swear i didnt find it
I kinda tried something similar but I always failed on an infinite loop...I really have issues with for each loops. May I snippity snap this?
because look at the spaghetti you have to make to make it work
hm u really dont like spaghetti do u
Yea in a function it kinda sucks. If you had it out in the event graph you could call an event to break it XD
fair enough
The problem with an infinite loop is that the Tick function is already a place to run code on an infinite loop
Like that's what tick is, every time the whole sim loops, tick gets called, forever
my rule is only break a loop with a return
Like if you're looking for something in a list, it's cool to break it when you return that.
if you return you don't need to break
aye, I believe that's what they tried to do in LE
Well, you're still breaking the loop, just not using a break statement
with the comparator
Couldnt one make a bool for break in the macro instead
you'd still have to set it
you'd still need the wires?
Would look more like how youd do it in cpp i guess
oh you mean like the bool would be checked
Y
Basically let the macro check the bool with an 'or' statement for the length of the array
Seems to work. Drawback is the extra bool handling
Any recommendations on what to learn for creating a advanced locomotion system?
Is there a way to "Make Array" from the items you have selected?
And automatically connect them to the node
c++
I've got a question. I'm using Third Person Character setup and I disabled UsePawnControlRotation on the camera boom and the camera, but the view is still rotating when I move the mouse. Is there something else I have to disable?
mouse input for camera?
That's disabled too
This might be more of a design question but it kind of gets into blueprint. I have a vehicle building game much like Kerbal space program. I've been thinking about how to do the controls. Right now, I just have direct mapping from input to vehicle parts which respond to that input, and the vehicle part is configurable by how much it responds.
I'm thinking about making it a little bit more flexible and diagetic. I would like vehicle part controls to be wired up in as simple a manner as Minecraft's Redstone or GarrysMod WireMod or Starbase.
Here's my current idea. Every part has named control fields. Every field is in the (-1,1) range. A wheel hub might have Brake and Steer, while an engine would have Throttle, a clutch would have Engagement, etc.
In wire mode, click-dragging from a part to a part creates an output->input connection (wire). The simplest vehicle would have direct mappings from the cockpit (Brakes, Throttle, Steering) to the vehicle parts, while a more complex setup would have intermediary ADD and MULTIPLY and AVERAGE (along with others) nodes. All the nodes exist as physical parts (ECU) and can be damaged.
Does this seem like an ok approach or too complex?
how do i set game speed slower for debugging? i cant find set speed anywhere 😦
Set time dilation
Reminds me of Scrap Mechanic
Might be worth a look
But to me it seems logical
I played a little bit of scrap mechanic. Going for a similar game feel but a little bit more simulator
Doing actual drivetrain and power and control graphs instead of just more engine equal more faster
thanks!
It's worth knowing how much WORK ksp's SAS is doing to keep your rocket going in the right direction when CoT and CoD don't line up with the direction of travel
It'll automatically vector your thrust to compensate for torque on the vehicle and keep it both going the right direction AND aligned correctly
And it's very difficult to play without it
Any chance I can modify these EDs to also send the refs of the buttons pressed (w/o cpp)? This is an edited template I made creating a bp class from the button class of the engine.
You could make a custom button class that wraps Button and dispatches a custom event that includes the param
yep, that i know 😛 so, basically no, not w/o cpp i take it.
wiat no you can do all I said in BPs
all u said i know, I have those setup
I'm so confused where you think C++ factors into this
well, i'm guessing I can edit these EDs in their source and change them in the engine (like I change my foreach loop to always also have a start index)
i'd like to have this on all button event dispatchers - send their refs. Then again, now that I think of it, it's no use lol Jesus I'm dumb... 🤦♂️
nvm, thanks @flat coral 🙂
I have this mess here, made by my "artist" 😒 and ofc the buttons are overlapping, So I just wanted a quick fix, when I hover any of them, get their refs, check against an array of the others and set the others as hit invisible to avoid situations in which the player clicks on the overlapping area, the button is ofc hovered, but the click doesn't go through for either and it looks like a sloppy bug
or I could just search for a proper artist and do what I actually asked: 2.5D view+extensible of a trippy/darkcloister interior - nvm...
Sounds like avoiding overlap is a better fix 😅
Yeah it seems to me that fixing this problem is like 20x easier than whatever you were about to do lol
gimme a God damned artist, been struggling with the one I "collab" with, hoping he'll get better - he doesn't... and never listens
The everlasting issue
i can do my 3d stuff and cheat that - not with illustrations tho
I wanted thronebreaker pov + style + atmo, dark, something that makes sense, he makes this gibberish and calls it a day fml
Thronebreaker? 😅
I love that pov! And some of that style
uhhh.... ouch! 😐 sorry about that
Nvm, its my current working title 😂
Well its not a good name anymore, not suited for the game at all so
hehe, this crap I'm working on was called nameless until I got the steam app application, then I named it lol
But yeha getting decent people to collab with can be troublesome
Quite a few half doers
They're still better than no-doers but sigh...
well, I've struggled to teach/even studied for him and send him bits and pieces, did research, feck me i learned 3D myself in the process - he still sucks at 90% of the stuff - We're talking 3 years man... srsly. Anyway, gave up on him totally, so I guess I'll need to find me some illustrators to make some stuff. The rest falls on me 😦
now THAT is something i hate from the bottom of my heart! Better say you won't do it than make a mockup of the work...
or at least listen & take into account my references. I send you a flower and you draw a dragon - like wtf. Then they're like "well, i thought it'll be more suited" lol wut?!
nvm, bitching here instead of doing work, besides, wrong channel - sry everyone! 😅
😂
On an unrelated note im gonna do my own path correction since navmesh doesnt give me what i want
Getting way out of my original scope for the movement but oh well
I want it nice
Correcting it with a ton of linetraces 😱😫
Oh wait... wtf, this is weird. Overlap isn't the problem, the click doesn't fire in this area o.O
any ideas? I'm out of ideas 😐
Daym that looks oddly specific
so you are virtually correcting the movement based on math done on distance from trace hit to the moving actor? 🤦♂️
that's a whole lotta work man 😄
Hello, does anyone have an example on how to code a projectile that will hit the clicked mouse location with a parabolic trajectory (easiest behavior example would be Ziggs' bombs).
Im doing double linetrace along the face of the landscape^^
If it hits, i add a path point and adjust my new trace angle according to the face i hit
oh but that's not so bad, I imagined many traces at various angles (porcupine-style) around the character to correct trajectory... on tick 🤣 Seen that somewhere on some free marketplace stuff - think it was flight nav. Was funny
😂😂😂 on tick for sure
Jk
Its done once per path request
Shouldnt be horrible but maybe
Depends on how oddly shaped the landscape is
Mostly flat so not gonna give me a ton of points
Worst case would be the amount of faces over a given distance , if all faces had a different direction/rotation or whatever you'd call it
@dense yew *ue4 parabolic projectile *on youtube returns a fair amount of results
Try this short one - nothing to loose, it's 6 mins
https://www.youtube.com/watch?v=Zhz20-_loWQ&ab_channel=UnrealSolver
Though if they want it to be angled up so that it impacts where the cursor is, that's harder...
yeah I can get a parabolic trajectory working and make it shoot towards my cursor
Have you considered that, with a fixed projectile speed/weight, some objects will not be hittable with it?
what I cannot figure out is how to make it hit the exact cursor location
What i'm saying is there is a max range to account for
oh yes, sorry was caught up reading. There'll be a max range
trying to make a grenade work in an isometric camera, or MOBA style
also even with a fixed projectile speed, for almost all distances there will be two possible paths
Direct and indirect, sort of
like if I can throw a baseball 1 kilometer (being conservative), if you're 100m away from me, I can either throw it towards you with a slight upward so it hits directly, or I can throw it almost 1km into the air (again, being conservative with my abilities) so it lands where you are
Usually you'd want the shorter path ^^
Unless obv obstructed
Or low accuracy
If any of the latter then the long route may be more desirable
Exactly my point, especially regarding the obstruction
So all this is tricky fuckin math... except there's no way in hell that's what like League is doing. They are for 1000% sure, faking the shit out of this.
Mhmm, I see, let's say for now I want only want it to collide with the ground
yeah, I want the league cheat hahahahahahaha
The math isnt that complicated tho
All you do is send it from A to B on a straight line, and then have the height of it given by a parabola that you have stored in a curve somewhere. And then you scale the parabola by the distance, so farther shots go higher
hmmmmmmmmmmmmmmmm
That's not like the real math but it's close enough that anyone would have to squint real close to see how it was wrong
that's much more clever than what I was attempting with real math
gotta admit, I'm actually a vfx guy, so I want to learn projectiles so i can make some fancy stuff
next on the list are projectiles with random trajectories
Hi! is there any way to get a random point (vector) given a collision box?
Random point in box?
thank you @flat coral @gentle urchin
I have an "OnHit" event that is triggering before "BeginPlay" on an actor blueprint
is there a way to fix it?
WAIT NO mine is for a beam trace 🙂
have it not register hits by default, then set it so on begin play
like a charm, thanks!
Also saved those screenshoots, I'm sure they'll help me hahahaha
Also it's worth knowing when to physics something and when to fake it
This is with homeing 😂
They are custom functions 😅
Grinnings idea will work for the randomness tho!
Just rotate the curve 😄
The advantage to physics is that it will look 100% right to the viewer and is pretty easy to do usually. But the disadvantage is it can be very difficult to tweak for gameplay purposes
Thank you all, will be sure to show the results later
For example if you wanted to increase shot-to-target time by 30% for gameplay balance reasons, with the physics approach you could be back to the fuckin drawing board with the math. And there will be an odd, parabolic relationship between target distance and shot time
Yeah, I thought about that too
But with the "fake it" approach, you can just make the speed a float and have it in your calculation as a constant
it looks good enough as well
y not have a single trajectory on a spline (or whatever, a few splines which get selected), pick points in it's proximity with a certain variation and spawn splines connecting those points, then have the projectiles follow them? Idk, It's how I'd approach it, but I'm bad at programming & physics, so maybe I'm talking smack 🤷♂️
Often the right approach is to separate the gameplay and visuals a liiiittle bit. For example, weapon that APPEARS to shoot a super fast projectile, for visual purposes, but is actually hitscan behind the scenes and the projectile doesn't DO anything
I've been learning that slowly
At least in GTA V and maybe COD games, that is the case
Miniguns are one of the greatest lies in videogames lmao
Because like... if how it looks and how it plays are inextricably linked, what do you do when it looks good but feels wrong, or feels good but looks bad?
I don't even bother with projectiles in my game (not a shooter/projectile focused tho). I just spawn the emitter when a skill is shot by a bow, then the emitter on impact - looks decent, if it doesn't even give it more impact
The ability to tweak the look and the feel separately is often important
eh I'm learning projectiles so I can control the trajectories
and apply it into the game i'm working on
I guess the questions for you are things like "should terrain block the projectile realistically, or in a more abstract way?"(eg no shooting around lane edges) and "if the target is on a higher elevation, does the projectile impact sooner or is the weapon always the same shot-to-target time by distance?"
yep
I'm currently working on a tower defense so it's even a tad simpler
but there's still some height variations
I'm doing something that is SUPER physics-based, but even I'm often finding that the separation is still necessary
we'll have to deal with that when we start applying some crazy trajectories
Also I pretty much love physics in games, hopefully in my next game I'll be able to work with ragdolls and destruction 🙂
@dense yew If you wanted whats inside the node
Oh I recognize the formula
I just can't get it, can't find anything on the internet either. My button - and only that button - doesn't trigger when pressed in that particular area.
Thank you
At that point, just make a custom button class
and watch how the mystery resolves itself
but the exact same button class works for all the other buildings 😮
i even looked at the texture - no difference between them, none...
someting else lives in the widget space?
nope
override
they work 100% perfectly
but do they respond within that given circle?
the click even sets the state properly but won't fire the ED
yes
as in, the mouse never leaves the button?
i'll check, fair point
nope, it enters, only leaves when I click, but doesn't fire the ED
i know... I don't get it
and if it left and I keep clicking all over the button, at a certain point it will "enter" again - nothing predictable tho...
weird, but good i suppose
I don't even care it isn't "standard"
custom buttons are safer imo 😛
cpp custom buttons or?
nah just userwidgets representing a button
just some borders with images and EDs on click - ye, meh, I could do that...
Exactly
buttons can,. but needs some special special handling
Mouse enter and leave is just hover,
and a few overrides
lol my hover is a FL function for all buttons
well daym
but never thought to do it like that, u got a point 🙂
has worked great so far atleast
probably got it wrong with the focus part but im not doing gamepad controller anytime soon
you can ofcourse make dispatchers for every event if you want the main widget to handle it somehow
- it's easier to set states for them if you don't do - idk how fancy you'd need to go to require that whole state struct.
never used the state struct 😂
figures, it's a pain in the arse really
in my case the click event relies on mouse button up, after being down
expecially for dynamic buttons -fml
ye, saw it
but that's a good idea indeed. My next project i'll use custom ones instead
clearly more can be added
well, u make a class ONCE and have it forever really
Exactly
now here's a nice use for that feature in ue5 for adding modular feature packs - things like this
How can you setup variables on the gamemode blueprint? Like, I got the variable setup but I don't know how can I set up its value on?
Any reason to specifically doing it on Game Mode?
Not really. Perhaps you can point me a better way? I have a camera setup in the scene. I just want that when the game starts it set itself as the camera of the player. I know I can reference objects directly in the level blueprint, but I figured out that the camera was somehow related to the gamemode? Given I could have multiplayer (multiple cameras?)
@icy dragon I'm quite new, so any feedback is of help
Like, what if the camera is diferent on that level depending on the gamemode you are willing to play?
Typically you're dealing with Pawn and not directly to a camera component.
With GameMode, you set the default pawn to spawn and possess, as opposed to have already placed pawn auto possessed (and won't work on multiplayer scenario)
Humm right, so what if I wanted to control a pawn that's on the grown, and have the camera above it (think this)
How can I relate the top-view camera with the player-controlled pawn (tank) ?
I'm thinking to have the pawn to have the saying on what camera to be set active, as opposed to the game mode.
TBH I'm not that versed on #multiplayer
Right, makes lots of sense for single player. Thanks mate!
@gentle urchin @flat coral thank you! Got it working: https://gyazo.com/24f5182d8e8158673e7047143da7b3f7
now time to work on the vfx itself lmao
also some vfx showoff there with the gunshots, heh. Have a great night
is there a way to have a field in the details panel which accepts a class's method pointer somehow? Or better a blueprint library's function
As with everything in life, you get what you pay for.
@faint pastureWe got the same money man... The game we made was on a grant. Not big money for either of us. I ended up doing 80%+ of all the work, including his. Cos he was a "slow learner"... But yea. I sucked bad, I learned hard. He... didn't, so that's that, i'll just do all of it myself this time 🤷♂️ I have no thousands of $$ to sped, I'd like to but don't.
do you pay your artist?
You have the start and end points, there are up to 2 solutions to the initial velocity. Choose the shallower one.
oh I see
@odd emberI wrote the damned grant... So yea, I paid his salary for 2 years 😔