#blueprint
402296 messages ยท Page 528 of 403
better than my bps
Pretty clean
Mine is neat.. I can't stand spaghetti
yeah that's how those things go
gotta be fresh when you go into them or else it's just jibberish after a week
i'm so confused
this should only be true if localslottype is 2 right?
then why does it return true when i compare 1 and 2 lol
LocalSlotType is a byte?
Definitely shouldn't happen. It might be the printing logic. What else are you doing there?
litteraly just that
i'm printing localitem type and it's returning 1, so 1 is being compared with 2 but it's still returning it as true...
i'm considering casting it as an int but whyyyy
huh... converting it to an int returns as 1 and 0
Kind of odd. I'm not getting the same result with a simple setup.
Your LocalSlotType is supposed to have a value of one?
Compare it to 5
This alone prints as expected. True if TestVar is 2, false if anything else. And it prints the correct number each time.
very strange...
i solved it with a select
noooo idea why the hell it's doing that in my code
well i mean i did debug, just not with a debugger ๐
too used to hardware debugging where a debugger costs big $$
prints are my friend
not in this case..
i'm a hardware boy not a software boy lol
yeah i really should get used to using the debugger
The Debugger is super helpful
it says no debug object selected but there's no options at all
If you rightclick on the node connection point, you can choose Watch value
And you get a readout
๐
but it still doesn't really help me see the value
i can't set a breakpoint
no i mean i could see the flow
but it doesn't stop when it reaches it
Splat.
I'm fairly sure that most UE4 Enums are bytes.
Yea..they are
Most of the time they're written out as uint8s
so slot 1, 8bytes?
still confused why it would do that, one would assume it would give a binary value of 1 or 2
hahaha nevermind... I might be thinking of something else
but guess not
oh no i'm even dumber than i thought
it just makes an array with index 0 1 2 3 4...
so makes sense that slot 1 is read as 0
and slot 2 is read as 1
Actually it should be comparing 1 as 0 and 2 as 1 in your case.
but at least now the inventory works and i can finally get back to the fun of making a stats system, an equiping system and so on
good night!
thanks for the help
I still don't know why this isn't working. For some reason this for loop body is executing. However the complete loop does.
print out the array index in the for loop
i'm willing to bet it's either null or 0
@quasi frost
you need to make sure your character collision settings are correct
anyways hope that solves it for you, actually going to bed now XD
it is colliding I see the hello from the colliding event
@quasi frost Do you see a blank spot between the two prints. The one that prints before the loop and the one on completed?
If you see a blank spot, that means that GetDisplayName is probably being run on an invalid pointer. Generally you should always check if the array length is greater than zero before performing loop operations.
no there is no blank spot
you can find out if he's right
but appending that particular print
and typing somethign before it
by*
Just double checked. ForEachLoop won't run a loop body without a valid array index.
@quasi frost TLDR, your array has no indexes. Tested this. TestArray has no entries. During doesn't print.
@maiden wadi Hmm so for some reason it isn't saving the overlapped actor in the array? Is there a better way to call overlapped actors in a custom event?
@quasi frost That way is fine. But you should double check both the static mesh's collision, The static mesh component's collision settings, and make sure that the overlapping actor is actually a MasterCardCharacter thing or whatever.
@maiden wadi Well it wouldn't be a mastercard it would be a child of master card. Is that the issue?
Should still work. I use the same function and filter by Character all of the time.
are you actually adding anything to the array
He doesn't need to add anything to the array. It's a function that returns an array of the current overlapping actors, filtered by a class type.
Yeah it's odd. It is printing on collision so it is definitely colliding at the very least.
why aren't you using the overlap event
I only need the event on specific ocasions, not all the time.
You are calling GetOverlapping on the collider, but you are not specifying which character
It seems at the moment, it's picking the first character it finds by default.
I am using the front collider of self and looking for class master card character
yes, but which character ?
All of them that should be colliding.
Looks like he has 4 on the field .. 2 are not colliding?
then use the overlap event and call the custom event from there. and use branches for when you need it
Function just says Get all actors overlapping this component. Filter out any that aren't of this type or that inherit from this type. Do something to everything that remains.
that way you can pass the overlapped actors through the custom event
He doesn't want to do it on overlap. Overlap requires making the component leave the area and return to overlap again for it to fire.
then add the object to the array from the initial overlap
and remove on end overlap
ez pz
i know it's probably not the best way of doing it but it's certainly good for testing what's going wrong
I see what you're saying authaer, but he still needs a reference to the 2 battling characters
He is using the Collider var, but for which character? my guess is he has a reference to one of the other 2 that's standing by.
That's what the function returns. References of overlapping actors.
right, but it's a child of the character
so calling this event from the character on the far left, will return nothing in the array
1 is a child of MasterCardCharacter 2 is Player and 3 is EnemyCommander. So the ones standing by should have no effect, they are completely separate BPs.
Also for the collision event, for now I am only checking front collider
So, try this... from the event, print object name
So from dealdamage, to a print. You print Self>getobjectname
If your capsules are setup correctly, which I think you checked with hello/hello.. then they should return each other in the getall . Since they are not, you may not have the correct characters reference
To make sure that they are registering, you can add a E key in your player controller, GetAllActors of class, cast to ur characters, then get the collider and then use GetAllOverlapping
So from dealdamage, to a print. You print Self>getobjectname
@flat raft It just get's its self here, I guess that is what you expected right?
Yes.
But do the second test first.. the E key
This will tell you for sure if there is a overlap happening
What should I turn this into to connect to print?
Ahh... you don't need the get or cast
Why don't you guys using 'OnBeginOverlapStart' event
Nah like onbeginoverlap
Oh lol
The event you can add in colliders
I think it looses focus when he actually wants it
It's a turn based game so the moment they overlap I won't need anything. I only need it in specific circumstances, hense using an event
Then use blueprint interface
Get overlapping actor and if it implement the interface the do 'interact'
On what? His problem is that his array of pointers is empty.
What's did the E return @quasi frost
Yellow is return from array element (Which seems correct) the 0 is the array index return
Can I see ur E call ?
Correct
No, there could be up to 3 fights. However they don't need to be happening all at the same time. Calling a fight to happen one at a time is fine if it's easier.
I mean 2 capsules overlapping?
I mean the capsules would be seeing friendlies too right? So there could be tons of overlapping going on
u have a bool for enemy
yes
ok.. so on deal damage..
copy paste the E nodes in there
GetAllActors .. to the overlap part
Check if it's overlapping an enemy using ur bool
if so.. do stuff.. whatever comes after
You will have to refactor later
The only thing different between those is his class specifier.
Oh true.. u didn't set a class filter zarz
Even with the filter off this print string is never called
You have to add all the stuff u made in E
the class filter in the E call didn't have anything set
If it's not set, it will return everything, including the battlefield if it's touching
If it's nor working with nothing set, then your input that is calling DealDamageToEnemyCard is likely calling it on the wrong character. Since your GetAllActorsOfClass worked fine. Are you certain you're not trying to call that on one of the two that aren't in the fight?
that's excalty what's happening
Unreal chooses the first character spawned as index 0 I guess..
His index 0 character is probably the player on the far left
the card spawned first is the enemy
How are you calling this event? Through UI, or?
When I click the end turn event it fires to the movement event, if the movement event sees that someone is infront of the card it fires to the deal damage event
And they all move? So your movement is calling on the correct actors?
That is a good point to get references to stuff, no?
Like?
no
well..actually nevermind.. I assume dealdamage will be called again
If the enemy isn't dead
It could be next turn yes
Out of curiosity. If you put this on your Damage event. Does this draw a point above any of your actors?
so, is ur deal damage working?
It doesn't make it past the for loop so nothing after that even matters right now
Lemme see a screen shot
You didn't update it
It's not weird. It just means nothing is in the array. It probably means that the damage event is being called on the wrong actor that doesn't have anything in front of them.
The code you have in E, needs to go here
Oh yea...ur the dude with the chain of casts.. now I remember ๐
No change in behavior
What happens if you tell it to draw a point like that above the actor that the damage event is called on?
Before the GetAllActors part preferably.
Out of curiosity. If you put this on your Damage event. Does this draw a point above any of your actors?
@maiden wadi It draws the sqaure
Over the correct one that should be dealing damage?
idk lol it's literally between them in the middle
Wut?
Just a little square thing. It's nice for debugging vectors.
Or things like this to make sure the correct actor is being called.
wait I got it. Looks like the issue is in movement. For some reason it is moving past the index that it should be stopping on. Which is odd since there is a branch to stop that movement. But by adjusting the collider I can atelast test it. It's now making it past the first loop.
The actor isn't moving but the index array is still doing math
Damage is working! So the issue is the movement index. See how the actor inches forward a little after every end turn. Notice it is no longer inside of the grid square
So, going back to your old code setup..dose it still work?
To be fair. Using collision for this is an odd way to handle this. Since you have a grid, it would be a lot easier to update an array of grid points with actor pointers and use that array to get what you want to damage. Base what you hit on your actor's facing. If in grid space 5/3, if facing is 0,1 then it's facing right. Get actor at grid space 5/3 plus 0/1, so at grid space 5/4.
yea...when cleanup time rolls around.. def do that.. and the chain casts
Art looks cool
Did you do the 2D card art?
Are you going to add a dragon on the battlefield at some point?
Yeah I will do models and landscape stuff once i get all the code working lol
Nice
Hi guys, can somebody help me replace the player location with the location of that cheese actor at the bottom ?
@rugged perch What do you mean by location of the cheese actor? It's in the content browser.
@rugged perch What do you mean by location of the cheese actor? It's in the content browser.
@maiden wadi Im trying to get this blueprint to use the location of that actor class instead of the player, but its not working :/ any tips ?
Do you have an instance of that class in your game world?
Do you have an instance of that class in your game world?
@maiden wadi yes
What is your use case? Do you just want the closest one to the ai?
Do you have an instance of that class in your game world?
@maiden wadi the only way i made it to work is by putting the XYZ manually ๐ฆ I have just one in the level and i plan on having just 1 and i want the AI to go to it
@rugged perch https://docs.unrealengine.com/en-US/Gameplay/HowTo/ReferenceAssets/Blueprints/index.html
A How To Guide for referencing Actors in Blueprints.
Specifically Direct Blueprint Communication Referencing
@rugged perch you know your cast is not being executed right?
@rugged perch https://docs.unrealengine.com/en-US/Gameplay/HowTo/ReferenceAssets/Blueprints/index.html
@haughty ember thx, i've gave it read, and i think i might need to make a variable with the actor somewhere
A How To Guide for referencing Actors in Blueprints.
@rugged perch you know your cast is not being executed right?
@thorny willow yes, i'm trying to figure it out, im ultra noob, i started 1 week ago ๐
https://docs.unrealengine.com/en-US/BlueprintAPI/Interaction/ScrollWheel/index.html
anyone know what unit the scroll delta is?
Scroll Wheel
Hey can anyone help how to show a ui in that particular map
hey guys, not sure if i should ask this here or in the cpp section - I'm working on a plugin that will bring in external data that has a layout that can change during development (so the contents of the data is dynamic, but not necessarily runtime-dynamic) - I'm wondering if there's a way to work with such data structures via blueprints (something like a blueprint node that has dynamic outputs or that outputs an object whose members can change freely?). Is there a general way of working with data like this with blueprints? I guess a json-parser blueprint node could be a bit of a good analogy here.
i just stumbled upon user defined structures, i guess having a function in my plugin that creates/updates such a structure should be doable?
well i can have my plugin connected to the data source and at user request i can build such a structure
yeah it definitely will be done on the cpp side, my question was more on the usability side of things
what if the struct changes drastically?
i don't expect this data to be serialized - and blueprint adjustment should be part of the development process
this sounds fine, thank you
I've made this inventory referring this tutorial
@alpine halo
What I'm looking to do isn't to add a background color behind the inventory slots but behind the whole screen. Kinda like rust does.
i just stumbled upon user defined structures, i guess having a function in my plugin that creates/updates such a structure should be doable?
@misty gull just use structs when you have certain them never will change, and of just basic data types, dont use object types inside struct
blueprints sometimes may get corruption when you change a struct
they will change, that's the point
what i have is another application connected to ue4 via my plugin, the user defines and fills a data structure in the other application and has to be able to use that on the ue side
and the data structure can change
not just its contents, but the layout as well
I've never once had issues modifying a struct, C++ or BP. Well, not unless you use hotreload.
well, the day you get a blueprint corruption due struct, it will be the day you will wish stop using struct for dynamic data
Which won't happen if you don't use hotreload, or remove a data type from a struct without modifying the classes that use that datatype first.
so what would be a good workflow for my users in this case?
Say the user has a vector value exposed in the other application that should be usable in ue4, and they want to replace it by 3 float values - if i auto generate/update a user defined struct in my plugin to reflect the struct in the other application what will this result in?
for vector, consider each vector element a scalar value, with a key
@trim matrix make border in your inventory ui
And the inventory slot border brush color alpha to 0
not my point - my point is a changing structure where a member is removed that's been used before
Will that fill the screen? @alpine halo
Can we modify a particular phyics body within a physics asset from blueprints to change it's mode from kinematic to simulation?
is there a way to prevent an array from shifting?
Example:
Via blueprints, i want to change pink from kinematic to simulate, and also switch blue from simulate to kinematic, and vice versa
This might seem like an odd question but does anyone know how to make a pocket room in unreal,sort of like a room where you can store stuff in the same level and it moves along with the character
@trim matrix nah
Hello guys! I want to open a door in the opposite side but sometimes, some of the doors if I'm at the right side is opening on my side. What is the correct way to check on which side of an actor I am?
The first vector is my FPS forward vector
@fallow fox how is the rest of your door working?
I have room doors which are opening in the correct way. But when I want to open smaller doors, for closets if I'm standing a little bit to the right, it's opening on my side
ah I see
From this location it's opening
But when I'm standing here, the door is opening inside
how are you changing the doors rotation?
r u doing something like this?
hm no clue thats odd
what do you mean it's opening on your side?
look up he shows it
it looks like in your second screenshot that it's doing the closing angle another time after it's closed?
From that angle, the door is closing, not opening
I want to open, because I'm in front of the door
yes
I can't get the correct front of an actor. I'm checking if I'm in front of the actor, or in the back of the actor
Also tried this, but the same
for that door, what is your goal with checking if you're in front or behind?
do you want it to rotate inwards like the 2nd doodle i posted?
I don't have problems with only one door. There are more door
s
which are children from a parent blueprint
you're wanting a door mechanic that always opens the door towards the player, right?
Yes
so that it never open's in the relative forward, but always swings towards the player
gotcha, hmm
are you doing a ray cast of any type during this?
your doors, your just running the trace on the bounding of the model?
Sorry, I don't understand
Btw, if I change the Z rotation of the door to -90, to have the correct way, the rotation is going crazy. It's opening half only and after that 180'
For this door only
Get actor forward, isnt that the issue ?
yea, it's hard to tell what exactly is the frame of reference here since so many things are just "target self" but not knowing what self is
dunno what is the door, or the player, or something else
it looks like you're doing a forward trace from the player
the first actor it hits, it checks to see if it's interactable
if it is, then you store the forward vector of the player?
no
yo'ure storing the forwrad vector of the actor it hit
i don't see you using that store variable though
stored*
well not stored, but what's inside the FPS interact that it's going to rather
Here I'm trying to get the position of the char in front/back of the actor
yea, i was thinking the same, just use the normal, but
yea, i'd use a clamp to clamp to hard 0 within a range
and then also, i'd set it so that if it's 0, do nothing
then don't clamp, and just say if it' close enough to 0 do nothing then
the noise fucks up with exact angles, and often have to give it some forgiveness
pulled my hair out fighting gimbal lock with some omnisurface wall running cuz of it X_X
Q_Q
haven't messed with quat math since college, so scared of it, that i didn't even use it XD
oh?
it works really well, my only problem is i get some violent jitters while it's fighting gimbal lock XD hmmm
no, but i'm going to start my praying to Fquat on google for sure
Hello guys! Quick question: an event created inside blueprint is always created virtual? That is, is always overridable by child?
Is it possible to put a group of buttons inside an array so I can use a "For Each Loop" on them to do something on each one ? (each white square is a button)
Sure
how please ?
You can make a variable with the button's type as an array
or use a make literal array node if you just want one temporarily
for now I have a ref for each button and also a boolean variable for each saying if the button is on or off
ok how do i get the notifier system to link up with data table.
@shut hinge you got to clarify
asking this problem again, sorry all.
just seriously stuck on it.
i am going to chronologically go through my line of code and identify what properties are being read as none.
als_base_char is the parent bp of my actual pawn bp, but it controls most of the actual movements.
looking for someone that can point me in the right direction. I want to implement action rpg inventory with game spark.
this is part of a function that is called every tick to update movement, the error node is the movement curve from the broken movement settings.
finally, here are my errors.
the movement settings refer to a struct that exists and the movement curve references a curve that also exists.
the initializer in the first picture is suppose to initialize those 3 variable component references for my combat component to use.
the stupid part about this entire issue is that i haven't actually messed with anything that i am aware of that would cause such a major issue like this.
The values are not getting set.
they are
this is not even a part of the code i touched. this is all longmire locomotion for als v4
I would assume the issue is with your get target movement settings function then.
Have you tryed print stringing if that function is returning valid references withing that struct?
At the very start of the function?
so take that get target movement settings func and debug it alone to read what my values are?
k, let's see. it's just so fucked that all this is wack now, i've not messed with any of it and it was fine yesterday.
so, i can't check is valid because they are obj references
i can check is valid on the break of the settings for different parts, like the movement curve (which is the error)
yea so break the struct xD
lol i am new
oh alright
well yea break the struct, then check if the refrences are valid
By dragging off them and getting the is valid function
is valid bool or is valid func
bool will be more usefull since it is eaisier to debug with print strings
either would work tho
this is so weird, checking whether they were both valid has me moving again, but my movement is a lot faster than before
either way, i am moving now, so there's that
ty
i have never had to check or mess with any of this code
oh ive had issues like that before to
where things just dont work untill you do basicly anything to the code
just try getting rid of the is valid and trying again to be sure though
lol no, getting rid of the is valid breaks it
checking if it's valid makes it work
even though i've never done it before and it worked fine
ah then it was an issue with the function
That function must be returning invalid references sometimes
lemme look into it, it's als v4's coding, not mine
Hi everyone. Does anybody here have any experience with multiple timelines being synced up to start and end at the same time? This is probably going to sound nuts, but I have a main timeline that runs for 20 seconds, I'll refer to it as MAIN. I then have a timeline for every quarter of a second (0-0.25), which I'll refer to as QUARTERS. When I press a button it will play MAIN from start and the first QUARTER from start. When each QUARTER reaches the end it will play the next QUARTER from start (after setting a couple of boolean variables each time). The thing is, when I reach the end of the final QUARTER, only 18 approx seconds have passed according to a timeline position print string of MAIN. Anybody have any idea what might be going on here?
I do know that timelines and timers are not exactly perfect with there timing. Not sure that would account for a two second difference although.
Anyways do you really need to use so many timelines?
That seems really overkill in pretty much any situation i could ever think of to have to use multiple timelines that need to be synced together.
Im curious then as to why your using multiples?
@primal smelt
@trim matrix @trim matrix thanks for your responses. What I'm doing is having an NPC actor move along a spline that follows the duration of the MAIN timeline. The QUARTERS (of which I indeed have 80) will interpolate between rotation coordinates that will move the NPC's head (the direction it is facing). The reason for this as opposed to having a separate track on the main timeline is that the player can "sight jack" the NPC and look around (with an appropriate clamp applied). As the game I am making is all about manipulating timelines in subtle ways, I want the new coordinates to be stored at every QUARTER so when the player rewinds time the NPC will look in the same direction at those moments in time.
yea use notifys
@trim matrix The thing is, if the extra frame is adding time, how is it the QUARTERS all end up finishing faster?
@trim matrix Ok cool, I'll have a look into AnimNotify. I haven't really touched animations yet as I'm currently just using primitive shapes to build my prototype but now is probably the time to start because I do intend to have fully animated models in place. Thanks for the suggestion ๐
Basically my constructor of the spline elements is triggered twice
oh @primal smelt you would use event track notifys for a timeline
Im not sure where this animation stuff is coming from?
Your working witha timeline right?
Like a blueprint timeline you would put in an event graph or something?
I dont think for a resuable system that controlls ai movements no
If it was like a one off npc movement then for sure a sequencer though
@trim matrix I am yeah. I have a few ideas for what I might need - I'm also considering generating splinepoints but as I understand it using BP to do this will add the splintpoints to the end of the track and I would need to work some magic with arrays to dynamically place a spline point at a precise moment. I was going to try this method last as it seemed the most complex!
The visibility of my teleport node is default on and I can change it in editor through my constructor. But I can't use these teleport nodes in a spline variant since it is always calling the teleport nodes constructor, so I wanted to change the visibility variable in my spline constructor
So wait oldboy let me make sure i understand you right. You have a 20 second timeline and every 5 seconds you want to run some code?
oh every quarter of a second you meant ok
@trim matrix @trim matrix Yeah basically how I have broken up the smaller timelines is somewhat arbitrary. I picked a timeframe I felt wouldn't be noticeable by the player too much if the change in coordinates for the face isn't too noticeable if it doesn't happen precisely the moment the player changes it (they can't move the timeline while they are sightjacking, it pauses while they look around and when they hit play again there'll be a brief fade out/in while the new coordinates are stored)
@trim matrix @trim matrix Yeah I don't think an event tick would be too costly here, the only trouble is I can't dynamically add keyframes to a timeline so - for this method at least - I think I need the QUARTER timelines for positions to lerp between but also they kind of act as exterior keyframes where I can dynamically change the rotation coords
Oldboy this is some sort of rewind time game right?
@trim matrix Yeah time manipulation is a central mechanic to the game
random but did you participate in brackey's recent jam?
theme was rewind in that lol
then you know your idea of making an array to store things sounds like a great idea to me.
@earnest tangle can't say I did, but thanks for making me aware of it. WOuld be cool to see what people came up with!
yeah there was a bunch of interesting ones :)
Im not sure a timeline would be a good place to do the logic to capture the state of actors at intervals
I would think a timer would be a way better option
since you can make those looping and have them run a function each time it completes
@dark haloa well, because the time manipulation isn't going to affect AI in anyway (their paths are all predetermined until the player changes something) I thought timelines may do the trick but I'm now having doubts ๐ฆ
Ofc your timing is never going to be exactly 0.25 seconds with any method.
Ai never changes its path at all?
@trim matrix yeah as long as it's not noticeable to the player then a little imprecision won't be too bad
And never will in your game change for any reason?
Well even if they dont tbh it wouldent matter because im sure there are things in your game that will move around dynamicly and need to be rewinded
@trim matrix I was thinking there will be certain times where, say, if the player moves a character's head to face a point of interest then I could do something like swap out the track to another predetermined path where they follow that point of interest if you see what I mean
yea
@trim matrix I fear you may be right! Thought I'd start with the easiest thing to attempt to see if it works but I'm thinking the answer is no!
I would recomend to you to use a timer to run a function. Which just stores the position/rotation of actors at your 0.25 second intervals
It can store that info in an array
And then later when you need to rewind time
You can make a function where you input a value to rewind time byw
and it will search the array for the closest match to X number of seconds ago
You would have to store the time of each capture in the array also
Does anyone knows how to convert/spawn static mesh of skeletal mesh (last pose) let say on damage/death?
you could also limit the number of entrys in your array to make sure it doesnt get out of hand. And if you create it properly you could even create an actor componet that you can place on any actor to make it work with the rewind time mechanic
@trim matrixOk I think I get what you're saying. I was also going to try using an event track so its on one continuous track where maybe every time the event fires off it gets current timeline position, check a range and apply the change in coordinates at tthe nearest point in time. Problem is I'm still not sure how to transition from the default NPC head movement to the new position.
oh um
Your using a timeline to make your npcs move?
and also a timeline to make your npcs head turn update?
you were doing that right?
@dark haloa @trim matrix Cool if I share some screenshots? Might make it a bit easier to see what I'm attempting
@dark haloa @trim matrix beware, I am still a new so you may wince at things you are about to see! There's plenty I know I'll be able to do more efficiently but as it's a prototype I'm just getting everything in place first
yea its fine
@trim matrix Yeah NPC head moves on a separate timeline to their body. Essentially when the player sightjacks there is an invisible (well, not currently but will be) pawn that the player controls directly. If they are not moving the mouse they can play the timeline and the pawn will follow the head sceneroot component which is what follows a track on a timeline (or as is the case currently, across all those quarter second timelines). When the player moves mouse, timeline pauses, they can reposition and then resume play. At this point new coords are stored so if they play the timeline back they will see the NPC briefly look in that direction.
Sorry still taking screenshots!
oh i see
Well it seems to me like you could really really benifit from using the proper Ai and NPC tools that unreal has.
Using a timeline to controll ai is really not a good way to go
as unreal has very strong ai tools avaliable
I wouldent expect you to have if you are new but have you ever used a behavior tree or the AI controller?
Is it possible to put a group of buttons inside an array so I can use a "For Each Loop" on them to do something on each one ? (each white square is a button)
ah whatever you do you will not be able to get rid of each individual variable for each button
Anyways if your worried about cleaness xD
Do you know about catagorys?
nope ?
You can group your variables into catagorys
Someone talked about TMaps, but I struggle to use that
Ok so this is the maintimeline, can't see it depicted but from here it will move the NPC along the spline track and this bit all works just fine
a Map would be an option yeah
Yeah I know that but I'm talking about the code having it clean like using For each loop instead of assigning each thing to it's own button and all that stuff
Another method would be to create a custom widget blueprint for your buttons
@earnest tangle But I struggle using Map
This way you could have the on/off state held inside that specific blueprint
Ah well the issue is diversity
And then is the first second of the quarter timelines (nothing going in to play from start pin here as that is done remotely via a Play node)
that those variables are auto generated by unreal
So you cant do much to get rid of them and reorder them into a array or map
Unless you create the buttons yourself using code
@primal smelt Press ALT + Screenshot button to screen only 1 of your screen
I created this Map Variable, but I can't assign the button (reference) I created above
Are you doing anything oldboy?
@trim matrix I must admit I have not touched anything to do with AI! I will certainly start down that route though. Does Unreal have anything built in where where you can track pawn movement and input the data into a sequencer or something?
Maybe we can hop on vc and i could help you with it?
Oh yea @main lake you wont be able to assign references like that
@trim matrix very kind of you to offer! Lemme check as I think I'm about to eat, what time zone are you?
oh im PST
Its not late or anything not even 10 am
Anyways thats not really how reference variables work.. @main lake
@trim matrix why, as I made a Button Object reference but in drop down menu it doesn't show me all the buttons I created
yea reference variables dont work like that
Think of it like this sorta
You can only ever set a reference variable in game
Or if the actor exists within the level
You are going to need to make some code that runs in game to fill your array.
But I don't want that I just want thing with key+value
i posted in plugins but just incase i'ma post in here too cuz i'm in need of some help. i'm using the va rest plugin and i'm getting my json and everything and the content comes through as a string but i can't "delve" into the json and get my vars/ objects/ fields
Hi is it possible to have a blueprint contain an instanced uobject? Whenever I add an object reference to my blueprint, it expects an asset. I need to edit these default values inside the uobject at design-time. Thanks
It is not
you can use reference Assets.. like a static mesh or a particle system or something... but instances of an Actor or something only exist at runtime
You can do that if your actors are placed in the level. Direct Blueprint Communication. Besides that you cannot.
You'd have to make one actor spawn the other on it's beginplay, and then use that reference at spawn to set your references if you wanted to do it at runtime automatically.
^
I'm trying to add key value pair for each children but it doesn't show up for me
I mean I can't set it up in a for each loop and don't know why
Question ๐ To add to the list.
I'm trying to spawn a "Press E to Interact" widget over an object when the player is near. In order to keep it modular, the interactibleness is an actor component I can drop onto whatever I want. When I spawn the widget though, it's not over the object as I'd like.
How can I tell a widget what it's transform should be, when it's being created by an actor component?
so i want to change a parameter of a slot material at runtime, is there an equivalent to this for my purposes?
take the return value and you should be able to "set parameter"
"set vector parameter", "set actor parameter"
that stuff
@subtle nova It might be easier to leave the widget as is, and just move the component or actor that has the component in it to where you want it in world space.
@marsh seal the thing is it gets the base material, the parameter gets changed (checked by printing) but i dont see the result of the changed parameter. i figured it was because its a slot material
but this assumption might be wrong
@trim matrix nah
@alpine halo But thats what im looking to achieve :/
I want to have a color that fills the whole screen
then on top of that the inventory window
I want it similar to this. With the light gray background
@main lake did you figure your issue out?
Hi, i am using https://www.youtube.com/watch?v=pwtKcDA-RTI to the iron man flying
But i can`t add a Torque (Normal)
This is my solution for scripting nice feeling Jet like movement in Unreal Engine 4.
Oh, thanks
no worries, it's usually the simplest solutions lol
Lol
does anyone know why a particle system (niagara to be specific) would show up in the PIE, but not in a packaged build? thanks
@crimson swan But i still can`t make a torque node
Ok thanks
I tried making a character pawn that has simulate physics enabled, but when i ran simulation, instead of going to the target point itโs body (a cube) just jumped up and collapsed without doing anymore
you should be able to just put the add torque node
belicure you need to set up a few other settings before it won't just collapse on itself
belicure you need to set up a few other settings before it won't just collapse on itself
@crimson swan like what?
@past girder try unticking context sensitive
belicure to be specific you just want an object to have physics right?
Yeah
ok your issue might be that your mesh has collisions enabled and so does your actor capsule
@crimson swan doesnt work
ok thanks so much
To put things in perspective I followed this tutorial and now I want to make the thing thatโs sliceable move around https://youtu.be/8G3uxbHg89U
Do you need to make a Sword for your VR game in unreal engine?
This Unreal VR tutorial is just what you are looking for.
*
unreal engine VR sword tutorial
Unreal VR sword
*
Welcome in my and new simple Unreal VR tutorial.
You need to get ready your mesh first, so make sure th...
Yeah but then i cant and normal linear velocty
yeah you can
Ops fixed it
i don't think you followed the tutorial very well XD
hahah no worries, it's a learning process
all that matters is that it works ๐
@fathom cobalt So you're basically trying to move the table that he's slicing if i'm understanding?
if I'm honest i don't really get what's going on in your game exactly, when you say your mesh collapsed you mean it became a pancake or just stoped moving etc? If you could get some pictures that would help
Not literally a table. Just something with the same code as the table
gimme a sec ill get pictures or something
@crimson swan here you go
am i looking at the anvil or the white cube
Both the Anvil and the Cube have SimulatePhysics for their meshes and are character actors
yes
they basically suffer from the same problem
ok, the problem i'm seeing is you have a capsule and a mesh
i'm 99% sure both have collision enabled right?
as in both the capsule and mesh on the same actor
they have "pawn" for colluision presets
set your mesh to no collision
it should stop going crazy
or rather to overlapp
that way it can still get cut
Now they just disappear after a second
do you have a node that removes them under some condition?
ok out of curiosity what fi you unlinked the beginplay
would it still dissapear?
because clearly it hits the ground, doesn't spaz out and then vanishes
i mean otherwise i really have no idea. from my limited experience with physics in ue4 the main issues i've had were always two things on one body colliding with ea other
or bad collision settings
hopefully someone who messed around with it some more shows up :/
Is there a way to do regex based validation on textbox input?
new to blueprints, how well would u say this is crafted
im trying to make a system (in multiplayer), where whenever a player enters a trigger box, a song starts playing. And leaving makes the volume fade to zero. But i only want it to work on the player activating it. Any ideas?
if someone could explain to me, how can I get the value of a specific item in a TMap please using a For each loop ?
Hi! how to set vector via config variables? floats, integers, bools are fine.
if someone could explain to me, how can I get the value of a specific item in a TMap please using a For each loop ?
@main lake https://answers.unrealengine.com/questions/574608/help-with-blueprint-map-foreach.html
It doesn't answer my question
I have TMap with 9 buttons as keys and they have each of them assigned a boolean value, I want to use a for each loop to modify the background color of the button pressed by the user and switching the boolean to true if it was false, and false if it was true but again only for the button pressed (wich is in TMap as key)
I'm trying to get this to make the character move in the direction on the cursor (top-down). Before I had a node set up that checked for the hit location, but that gave me trouble with the navmesh. The set up I have here kinda works in the way I want it to, there isn't any annoying pathfinding, but the character will only move forward and will sway left or right depending on the mouse location until it falls off the map.
@near crag im not sure what the Add Movement Input would do, try getting rid of that
Simple Move To Location will handle the movement using pathfinding, manually calling Add Movement Input will only cause problems
The character won't move at all without the add movement input, it's the same with my old set up:
The above works, but it uses the navmesh which makes the character move in directions I don't want it to when the cursor hovers above areas not covered by the navmesh
ah, so you want the player to walk directly at the cursor location, regardless of obstacles?
Yes
i havent done character stuff in a while so im gonna hop in engine real quick brb
give this a try:
^that's how you're supposed to do it
it's what i have, except i'm not sure i'd put it on tick if it's a multiplayer game
but then again if it was that wouldn't work to begin with
Ah that works perfectly! Thanks!
no problem ๐
How do I make objects (capsule for example) not collide with very specific objects?
Make a collision preset
In settings/project settings, there's collision panel
And after make your capsule to ignore collisions for that preset
Hey yyoooo
Hey
I'm thinking more specific than thaty
like, if I only want a sword or anything like the sword to penetrate the capsule, how do I do that?
hey can someone help, im trying to create a text obfustication effect as can be seen in minecraft (example below)
oh wait crap its not doing the thing
Ah, here it is, the effect in action
(if you open the original it should work)
sorry for the hamfisted explaination
currently have this, however its only displaying the last string
@ripe drift game instance isnt replicated so it only exists on the server
Does anyone know how to spawn the player after the Main menu start button is pressed?
cant i just use restart player
When my character is standing on a blocking volume, all ai in my game stops following my character, but when my character is standing on anything else, my ai will follow. Navmesh surrounds my whole level. Anyone know why?
I am trying to get a start menu implemented in my game. So instead of just starting and spawning the pawn automatically from the player start. I actually have to press the start button
@hearty moss
are you talking about a basic main menu system?
use the 'open level' node on button press
so make sure you have 2 levels. one for the main menu, and one for your level. i always use a new blank level for the main menu
I found a solution but its awfully janky, are there any improvements that could be made?
@robust gull why don't you use a timer
im assuming you want the text to change every so often
yes or set timer by function name
run that timer on begin play and set it to loop
then connect your blueprint code stuff to the custom event you make
wait can you show me your blueprints
okay well it runs with a Set Timer by Fuction, but i dont get that rapid changing effect
here it is currently
Oohhhh
the 'DisplayNumber' event you see there is a custom event. you add those by right clicking and using 'create custom event'
then in the 'set timer by function name' node, make sure 'function name' is the name of the custom event you make
this will also loop indefinitely like how you want
Hi, I'm new to Unreal and am using it to get realistic screenshots for ml dataset. I'm trying to automate getting screenshots using blueprints from different camera views. Blueprint picture attached. Any thoughts on why nothing shows up in default saved screenshots folder?
@wintry storm im not sure myself about that stuff but from the forum posts ive found apparently that node just doesnt work? you'll have to use a console command https://answers.unrealengine.com/questions/725935/why-doesnt-my-screenshot-save.html
i'd suggest possessing the cameras from within your for each loop and replacing the 'take automation screenshot' node with a console command
@hearty moss Thank you! I guess I will try that.
anything wrong with using json?
Its going good, though I never actually intended for it to go indefinitely. Its supposed to be used as a sort of animation.
but now that i have that working I can probably work through it
oh yeah ill probably just use a bool for that
you can actually use 'pause timer by function name' to stop it from looping
good to hear :)
you can also use 'clear timer by function name' if you dont need it to resume again
there is one more thing i'd like to ask, is it possible to get the number of digits in an integer? So for example, 100 returns 3
uhh im not actually sure if theres a node for that. you could run a while loop and divide the integer by 10 until the value you're testing is less than 10, and increment another integer every loop
there may be a better way of doing it but this should work
actually this will get 1 less digit i think
yeah. change the 10 to a 1
this works for me
@robust gull
if u have any questions lmk
where did the digits integer come from?
it's just a new integer
Any value or do i leave it blank?
because so far when i run it it just adds by 2 each time
it should be 0
the ++ node it's connected to is the 'increment int' node which just increases the value by 1
so if it were anything higher than 0 then the value would be wrong
if you're gonna run it multiple times, make sure you reset digits back to 0 before running the loop again
Ahhh okay there was the issue
if you need to keep the value, you can store it in an array
Wouldnt it be easier to go int to string -> length?
huh that would have worked easier wouldntve it
๐ would think so
Dunno if theres a length node for strings or if you need to go via char array or smth but in essence it should work
haha yeah it worked
wow
its funny how we can overlook the simple things
anyway, ive despaghetti'd my code and the entire system works flawlessly now. Thanks for all the help!
Perfect.
guys do you know how to fix this?
Im using a basic ik setup(fabrik node) with effector target the hand_r, hand_l as the tip bone and upperarm_l for the root bone. For some reason it messes up the animations. Any ideas?
without ik
with ik
@queen meadow you can adjust the effector location in the anim blueprint itself, check the viewport and you will see a diamond shaped socket on the forearm , you can adjust it
it doesnt let me do that. It locks in place
how do I get a media Texture into an Image?
for some reason an Image in my MainMenu UI isnt accepting it
is there a simple solution to randomly pick a pair from a Map ?
@jaunty dome get the Keys array from the map and pick a random Int between 0 and Last Index. Use that key to get the value from the Map.
Or use directly the Values array with the same procedure.
thank you, I figured it out sometime ago (using the same technique)
I created an PlayerCameraPawn but when I hit play Unreal is not using my camera.
What I already tried:
- I changed the default Pawn and the player controller in the world settings.
- I also selected my PlayerCameraPawn and changed auto possess to 'Player 0'.
- I also removed the standard mannequin from the scene
What could be the solution?
@north bay Is there any Player Start in the level?
Hey, does anyone know if it's possible to assign actor component references in the blueprint properties panel? For some reason I am unable to do so, as they don't show up, but at the same time if I hook them up via construction script, they work just fine. I'd just like to avoid the whole wiring construction script step and assign them directly in the properties panel instead.
Green is what I'd like to do, red is what I currently have to do. :/
I am kinda confused why would the blueprint properties panel have an asset picker UI element for actor components when nothing can be picked anyway.
in content I double clicked on /thirdpersonBP/ then the character on left, edited the 'mesh' on left i components, and altered scale to my need, and after compile and save, I got compile error, is this an issue or did I edit wrong file ?
@granite forge the UI picker is meant to set references from the Asset Browser, so someone else (e.g. an artist) can use your Blueprint and tweak the visuals without changing the code. You expect more a Unity-like behaviour. You already have a reference to the Static Mesh Component which you can drag to the Event Graph. If you want a copy of that reference within your custom component you can set it as you did (Construction Script or Begin Play).
@charred berry what's the error?
compile error is all I recall
it was last night so
Ive altered scale of character before but it never did this
I looked in console still in bp and the errors had nothing to do with my altering the scale of char. mesh
let me look one sec
here is one Pin for variable 'Crouching Input Open?' recreated, but the variable is missing.
got that after hitting play for game
Pin for variable 'Output_Get' recreated, but the variable is missing.
@charred berry usually there is a visual in the Blueprint showing where the error is. Sometimes it is necessary to delete an outdated pin (which appears in red) and reconnect it properly.
So scan your Blueprint, find where the error is and follow the visual cues.
ya but why all this after just changing mesh scale
I'll look ty
am I altering wrong component ?
@charred berry no idea. Maybe that affected something else. It may be easier if you post some screenshots of what you did and what the error looks like. If you restore the mesh scale to its original value does the error go away?
lets see
it doesn't oddly, all I did last night, and will here is restart without saving, honestly I think its a bug
but not being a awesome programmer I felt I should come here first ๐
anyway as asked earlier :
maybe I am altering wrong component, seems it doesn't like I messed with mesh component...
Hey, I'm trying to create a little 3D drawing tool (nothing too fancy) in VR using spline meshes. I might be using it wrong, the result is all over the place and I'm not sure why https://puu.sh/GrBnD/d203e27914.webm
This would be the relevant BP, i've tried changing spline dir, but it doesn't fix anything ๐
Essentially I'm just creating a spline mesh between every pair of points. The tangents are just terrible at the minute, but that's not the result I expect even without proper tangents
What is that one node called? The like node which opens links/internet addresses?
launch url
Thanks!
If I have a set of widgets (checkbox + a bool value) in a grid, How can I check when a widget is pressed as I can't use the OnPressedButton as the button is not there and it's in a Grid, so I don't know, help please
Anybody have any experience with generating splines using arrays? I'm not trying to create a spline mesh, I just want to use the construction script to generate the spline using a vector array so when I place the spline bp into the level I can have the number of spline points I want at the tangents I want and at the appropriate length. Every tutorial I can find is about setting up a spline mesh component which you can then drag out manually in the editor window but this is not what I am after.
probably an easy one
How do I check if user is within trigger box? I see on overlap begin, overlap end, but not one for isUserOverlapping?
is there a way to debug infinite loop in blueprints ?
it is giving me a callstack, however I cannot print the variables that might cause it
@uneven whale use the OnBeginOverlap , this will be true until the player leaves the trigger
@jaunty dome if you know where it is happening, you can make a loop counter and check its value, then branch out if it is > max loops. Put a break point there so you can debug.
sadly while loops don't have breaks
however i just found out about Blueprints debugger
Adding a breakpoint has helped me find where the issue is
thank you ๐
Anybody know what node that is on the far right?
It's an ADD() to an array, probably of type SplinePoint struct or something.
Great, thanks!
@jaunty dome that's what I was recommending above. To add a breakpoint.
Glad you solved it anyway.
can i somehow save a whole row of a data table in a struct and not just the handle?
please help
@main lake override OnMouseDown
From when you start the game, what is the earliest possible event trigger that I can override to bind a delegate function from my World Subsystem? LevelBlueprint::BeginPlay()?
Should be noted that, of course, the subsystem will need to be initialized, of course. Is there a PostInitialize for subsystems? Gonna look that up lol...
if you don't have an inherited BP class
binding delegates is fairly safe
its the blueprint initialization that overwrites the dynamic multicast delegate invocation lists when it deserializes
so you lose anything bound to those delegates before the BP was initialized
@tight venture
@twilit heath Wait how overriding OnMousebuttonDown will know wich widget has been pressed ?
because its a function on the widget
But I have to do it on my main widget containing a grid of my checkbox widget or in the checkbox widget ?
if you want checkbox to react to mouse down, then in checkbox
the thing is in the checkbox I have the event "OnCheckStateChanged" but in my main widget containing 9 checkbox it's not there
and as I tried to use that event in the checkbox to call a function in my main widget, I can't because it needs a target and it has to be the same type as my main widget, but I don't have an object to cast tho
@granite forge the UI picker is meant to set references from the Asset Browser, so someone else (e.g. an artist) can use your Blueprint and tweak the visuals without changing the code. You expect more a Unity-like behaviour. You already have a reference to the Static Mesh Component which you can drag to the Event Graph. If you want a copy of that reference within your custom component you can set it as you did (Construction Script or Begin Play).
@atomic salmon Hmm, I don't think that is right. I tried to create Static Mesh Component based asset within the content folder, but it still does not show up on that list. So the mystery continues, I still have no clue what is point of that UI list picker ๐
@granite forge Try with a Static Mesh, which corresponds to the visible content of a Static Mesh Component.
I have tons of static meshes in my content folder, so they'd show up ๐
It's literally reference to a static mesh component, not the static mesh asset. It's very confusing though, as I have no clue what are the conditions for anything to show up in there.
@twilit heath Oh okay. No, I don't have a BP subclass of the world subsystem. So, in a LevelBlueprint, in BeginPlay(), is my world subsystem guaranteed to be initialized by that point?
I'm only asking about BeginPlay() because I really just don't know where else to be binding the delegate
The WorldSubsystem is acting as a LevelGenerator, using a DataAsset to generate the floor/walls in a maze-like level
I just need to "pass" the delegate the correct data asset to use to generate the next level (which I guess I'll be pulling from GameState or GameInstance, I dunno yet)
or really, I guess I just need the "next level" data asset to always be available in the game instance/state <-- which one? and then, as soon as the subsystem is initialized, it can go ahead and wipe the old level (if there is one) and create the new one and display it
Dunno exactly the timing of how that should go down, but I'm getting there...
i wouldn't even allow BeginPlay
until the world is fully generated and ready for play
makes sense, so then when should I generate it?
oh
its LevelActor is your level BP
as long as it has a c++ base, you can execute functions on it directly from WorldSubsystem
WorldSubsystem also has a working GetWorld() function
Is it safe to call at the end of Initialize()?
I had heard that that function should be completed before using the subsystem at all
don't know the eact order of execution
By "it", I mean GenerateLevel(UDataAsset const& level)
hmmm
allowing ReadyToStartMatch to return true only after procedural is done
you can start it after Super in InitGameState from GameMode
practically writing this for me lol
basically - until GameMode is ready to start match
it won't allow DispatchBeginPlay to be called on World
so no Actor can call BeginPlay as a result
by the time your GM calls InitGameState
World, WorldSUbsystem and LevelActor are all fully operational (with exception LevelActor not having called BeginPlay yet)
How did you learn all this? I have searched for stuff like "ue4 game play startup sequence" kinda stuff, haven't found all that info
Just wondering if there was some sort of reference page I missed, or you just learned it all by experience
after its loaded
nvm, continue...
by that time World is there, World Subsystem is there, and all actors from the package are there
so anything preplaced on the level is there by the time GM initializes GS
"the package"?
that includes LevelScriptActor
okay
(which can be subclassed and set as a parent class for level BP)
and i read a lot of source code
Hello. We have the ability to replace the parent class for the widget. Is there some way to also replace the class for the button? I know that you can create a custom button, but I would just like to replace the class for the existing one. thank
Really, just create a new Widget Blueprint and make your own button, afaik, it's simple and I've done it before, it works.
Or you could do it in C++ by subclassing UUserWidget? I think <--? Or you could go hardcore and use Slate and customize everything about the button hehe
it still wouldn't replace the UButton
I need extend UButton from c++, yeah
only engine alteration could do that
Oh... okay, you want to replace it?? Oh... Nvm forget I said anything, I dunno
yeah, but there is nothing automatically populating widgets with UButtons
so you might just as well use UCustomButton isntead
E.g. I have some projects, projects have complete UI, I need replace already exist buttons to my custom buttons
unless what you're after is retroactively changing every UButton in your UI with UCustomButton
that would not be easy, why do you need a custom button for
for manipulation UI from my plugin
Is there some sort of Replace References function in the editor?... I mean, it does exactly that when you delete an asset. Hey! Maybe, create your custom button widget, then copy the Engine's UButton class to a safe place, then delete it, and have the editor replace all the references with your custom one, then just copy the Engine's original UButton back where it was! @stable plover
oh
lol ^ kinda crazy idea, but was just spitballin for ya
Step 1 : Create custom class wrap UButton
Step 2: Go to widget & select needed button
Step 3: RMB -> Replace with...
If all okay & custom class exist - you can change it
yeah, no all buttons of course
not every UButton, in every widget
yep, it's work, but slow & need to do it manually
that's probably your safest bet.
best way in dreams - replace all UButtons to custom, but idk now how to do it
my idea was a little looney, but just thought, maybe it would work lol
need to be tested, thx
I suppose if your custom button had as a part of it a UButton then my idea wouldn't work, cuz then the custom button would break when you delete the original UButton
A blueprint that was moved/deleted months ago is still showing up in the list of actors. I've tried using fix up redirectories but that's not fixed it! anyone know how to remove the reference completely?
what's wrong with actor component config variables? I can't set it via game.ini. All other config variables work just fine except one actor component.
can someone help me solve this ?
I've been trying the dot product and atan method but it's not working : /
for the speed of the walk is it 600cm/s? or 600cm/hr?
I would assume it's the former
so I'm talking about the max walk speed of the 3rd person example character
@fallen glade dot product I believe is what you want
@proven mason per second. 600cm/hr is about the speed of an ant. A slow ant.
so ya former indeed.
what I don't get is the max acceleration by default is set to 2048 cm/s
What about it?
I wouldn't call myself a physics expert but I don't think accerlation rate would be higher than the max walk speed of the character which is 600cm/s
Well, presuming that it is 2048 acceleration per second, consider that if you limit that to 600, it'll take a full second to reach max speed. With that same logic, 2048 acceleration reaches full speed in 0.292 seconds.
I was looking up the average speed as well as the average velocity for an average athelete
based on this https://trackspikes.co.uk/average-sprinting-speed/#:~:text=Of A Human-,Average Sprinting Speed Of A Human,will be running around 26mph.
the avearge speed is 24 km/hr so if you translate that into Unreal Units it would be around 666.66 cm/s
close enough to max walk speed.
NEwayz I'm just trying to be releastic when it comes to numbers for speed and acceleration.
I think you can tweak the curve of an acceleration using the "add timeline" node
so imagine I'm using an analog stick and tap the stick quickly to a scale of 1 and continue to hold at that scale the dude would have an explosive accerlation only for a few seconds.
Hey ๐ So I have this weapon sway system that uses lerp rotation and I noticed that when I have low fps, the weapon sway isnt updating as fast as it should. Also yes, I multiplied the lerp alpha with world delta seconds.
is there any way to fix this?
Hey guys, how are you doing today?
Quick question, I have a behavior tree that when enemy can't see player he will move around randomly and when he sees the player he will chase him, the problem i have is that only when he arrives to the random location he will start chasing the player and lets just say i want him to like break from the "patrolling" state and move to the chase instant before he will arrives to the random location, how do i do that?
I've hit a tiny roadblock (more like a traffic cone). How do I convert this colour? I'm just making text go from green to red as an enemy's health drops.
I get this. But that's the same as recombining my structs. I'm not quite sure what's happening with this conversion. But in game it goes from green to yellow and then stays yellow.
The alpha is definitely updating properly.
@crystal mural check with a Print String
Cool, let's see...
I watched the colour value and it's coming out right. But not sure what this conversion is doing to it. I think maybe I need to do a material on the text rather than this.
quick question i'm having a brain fart. what is the node called to get the first few characters of a string (specified by one of the inputs)
@stiff hatch I saw a tut by the good Mathew Wadstein. It has somdthing in one of this String tutorials. Select String maybe?
OMG you're a life saver. that wasnt it but it jogged my memory. it was "get substring"
Split string?
anyone would know why i can't cast my generic class to derived class?
I have class B inheriting from A inheriting from Actor.
When i cast Actor ref to B or A it fails..
@native terrace I don't believe you can cast references. Pretty sure that "Foo&" must refer to an object of type Foo, and can't be coerced into being treated as a subclass. You'll need to use a pointer instead.
i'm talking blueprints, not c++ tho, there are no pointers in blueprints. the casting node fails for no reason

lol
heck this shit will be simplier to implement in c++ if i don't make this node work
this is damn stupid. The "is child of" node returns true, so the engine has correctly set the parenting, but casting fails 
post the graph where it has the error
actually I'm not 100% sure on that:
https://discordapp.com/channels/187217643009212416/221798862938046464/754074059838455809
you can probably cast references, c++ allows for a lot of stuff 
Well, I am and I ain't... What I said I'm pretty sure is true, but I wonder if you could "cast" it when you assign the reference
hang on for the graph
a la Foo& foo_ref = SomeSubclassOfFooObject;
not sure if that would compile or not. I'm still thinking no, that's not allowed...
well, it's probably the other random actor then
you said there are 2 actors in this array?
it's probably failing on the one that's not actually a... whatever that says
BP_ItemBaseInteractive
Try using your actor class filter

