I love your tutorials so far. I’ve had no knowledge on scripting before halo Infinites forge, so a slow explanation on what things are, and how they interact with each other is perfect for me to understand how to script effectively. Most tutorials force you to frustratingly guess around with partial information which isn’t fun. Keep up the great work!
Fantastic. There’s a lot of great Forgers out there, but you’re the only one that takes the time to actually explain how things are interacting with each other and why they’re necessary. Exemplary work, sir. I hope you continue. And good heavens, if you could explain spawning and launching items at player aiming vectors, I would forever be in your debt.
I absolutely love how thorough and carefully you went through this. PLEASE do more forge tutorials. Too many other people go way too fast without explaining anything. I subscribed!
Just want to say thank you for all the detailed tutorials you put out! I think I took parts from each one to make my secret room and weapon to work. Took me a solid night to strings all these techniques together. What's great I was able to come up with a different health system of my own to accomplish my goal. For each time you inflect damaage on specific object, the counter goes up by one. Once the counter hits X times, a secret weapon (with custom config) spawns on my map. Hit over or less than X times, it doesn't spawn. I feel my script might be a little janky (and could be cleaned up), but it works!
Oh cool, I assumed the On Object Damaged node was only for destructible objects; if it can be used on anything dynamic, that's fantastic! I was frustrated by the lack of scriptable invisible targets like H5F had; this will certainly help fill that niche.
i haven't even made it half way through the video but i love how you do your videos standing there and explaining and then showing the full screen of the game and explaing it as well. Very unique style of video that i haven't seen before which is awesome 😎
I’ve been waiting for someone to make this kind of tutorial for weeks! Im trying to make a map with destructible bridges so that it changes the map flow when the pillars are destroyed. Thought it would be a lot simpler, just apply a health variable on an object and have it despawn when that variable subtracts to zero. Clearly not “:^) Still, THANK YOU for making this tutorial, you’re a life saver XD
Your page is amazing man, glad I found you. Helped me create my "drop pod" experiment. I'll continue to follow as I'm eager to learn more! One thing I'd like to see, if you're taking requests, is how to script a prefab, if it's even possible. Seems like it isn't currently in S3 of Infinite, but a workaround I've been playing with is to "weld" parts to a core object, then script the welded item. The issue I'm running into now is that the welded object's physics don't perform well in the global environment.
So a possible option to get around the health limitation of the bookcase could actually make it a static object then when the value hits a certain number delete the bookcase then spawn a new dynamic bookcase in the same spot which can create the illusion that it took more shoots to break it.
Can you spawn in an indestructible version of that bookshelf and then after so many shots swap the object to its destructible counterpart? I’m just spit balling.
I haven't tried this yet, but you made me think so I figured I'd ask you first: Did you try setting the book case to 100% each time it's shot, then tracking health separately until your desired health hits 0, in which case you stop healing it? My thinking is that if increasing its maximum health didn't work to make it take more than the base 2 shots to destroy it, then the damage dealt to the book case must be in percentages. As in, when a gun shoots the book case, the book case takes 50% of its maximum health in damage, so no amount of increasing that max value will increase the number of shots it takes to destroy the book case. Increasing it from whatever it is at base, let's say 10, up to something like 50 will just mean it goes from taking 5 damage each time to 25 damage, both being 50% of the total. Now, again, I'm saying this from a position of trying to help troubleshoot the issue, not actual knowledge. I haven't tried it. This may not be the way it works, but it's probably worth a try to test it out. If this is the case, to solve it would just be like I said. Track your separate health like you did for the crate, but each time the book case takes damage you immediately reset its health to max. That way when it takes 50% of its health in damage a second time, it goes back to half health, and you reset it again to prevent it from breaking yet. Once it takes enough damage in your separate crate style damage tracker, that's when you suddenly reduce its health to 0, or simply stop resetting its health to full so that 1 more shot will destroy it. Anyway, your video was great and thought provoking, so I had to comment. It did seem a bit under-baked on the editing, but I for one got through that to finish out the video. Great stuff!
How are you getting a number back that isn't 0 from the pallet? All non-destructible items return 0 damage from the On Object Damaged event. Did you weld the pallet to the target dummy?
Hey, wondering if someone can help me out with my script. I have an area monitor using "on object entered area" when a fusion coil is dropped in the area I want to do something. The problem is, I can only get the logic to trigger when either: 1. Any object enters the area, players, grenades, weapons etc. 2. A specific fusion coil enters the area. I want to check for Type == Fusion coil. Not if the fusion coil is a specific fusion coil. I'm considering a list with a ton of fusion Coils in it, but was hoping for a more elegant solution. Hopefully that makes sense and someone can help! 🤞
I’m wondering if you could change the delete object action to change object type. Switching from static to dynamic or switching from fixed to normal. Causing an object to fall apart something like a brick wall. If the objects are in static then immediately switching to dynamic it should cause them to repel against each other which would be pretty cool.
I've been thinking about this scripting language. Have you written in any other programming language? What if you placed the elements more top-down rather than left to right. I'm only thinking it would help readability. The links would be annoying to follow, but I'm trying to make this read more like a normal language.
You want the code to flow from left to right. This is common in other visual programming languages like LabVIEW. The problem with his script is that he's passing a node value to too many nodes. It is better to use Advanced Variables to store the node's output to a variable and then use multiple instances for 'Get Variable' to minimize the number of connections that cross. You can also 'On Custom Event' and 'Trigger Custom Event' for modular parts of the code or break code into different chunks, because you do not want the code string to be too long.
Thanks you so much for your knowledgeable insight, it has helped me tremendously. As a thanks I would like to see a possible video of how to script a crane that can move objects in play mode with a controller or switches.
I assume to have multiple of breakable pallets in this example you would need multiple health bars, but could the damage script be treated as a custom script event to minimize copy pasting?
Can someone please tell me where "destructables" are located? I can't for the life of me find them in the menus EDIT: They are under "accents" for some reason
i sort of understand why they are there (as in things you'll find in the MP environment) but why not their own category its infuriating but something we have to live with
I love your tutorials so far. I’ve had no knowledge on scripting before halo Infinites forge, so a slow explanation on what things are, and how they interact with each other is perfect for me to understand how to script effectively. Most tutorials force you to frustratingly guess around with partial information which isn’t fun. Keep up the great work!
Glad to help!
Wow, it’s like I’m actually attending a lecture at uni on Halo forge! I love it
Fantastic. There’s a lot of great Forgers out there, but you’re the only one that takes the time to actually explain how things are interacting with each other and why they’re necessary. Exemplary work, sir. I hope you continue. And good heavens, if you could explain spawning and launching items at player aiming vectors, I would forever be in your debt.
Glad to help
I absolutely love how thorough and carefully you went through this. PLEASE do more forge tutorials. Too many other people go way too fast without explaining anything. I subscribed!
Just want to say thank you for all the detailed tutorials you put out! I think I took parts from each one to make my secret room and weapon to work. Took me a solid night to strings all these techniques together. What's great I was able to come up with a different health system of my own to accomplish my goal. For each time you inflect damaage on specific object, the counter goes up by one. Once the counter hits X times, a secret weapon (with custom config) spawns on my map. Hit over or less than X times, it doesn't spawn. I feel my script might be a little janky (and could be cleaned up), but it works!
Oh cool, I assumed the On Object Damaged node was only for destructible objects; if it can be used on anything dynamic, that's fantastic! I was frustrated by the lack of scriptable invisible targets like H5F had; this will certainly help fill that niche.
i haven't even made it half way through the video but i love how you do your videos standing there and explaining and then showing the full screen of the game and explaing it as well. Very unique style of video that i haven't seen before which is awesome 😎
by far the best Infinite Forge Tutorials on youtube. This is how all tutorials should be! Thanks Pengi!!!
I’ve been waiting for someone to make this kind of tutorial for weeks! Im trying to make a map with destructible bridges so that it changes the map flow when the pillars are destroyed. Thought it would be a lot simpler, just apply a health variable on an object and have it despawn when that variable subtracts to zero.
Clearly not “:^)
Still, THANK YOU for making this tutorial, you’re a life saver XD
Your page is amazing man, glad I found you. Helped me create my "drop pod" experiment. I'll continue to follow as I'm eager to learn more! One thing I'd like to see, if you're taking requests, is how to script a prefab, if it's even possible. Seems like it isn't currently in S3 of Infinite, but a workaround I've been playing with is to "weld" parts to a core object, then script the welded item. The issue I'm running into now is that the welded object's physics don't perform well in the global environment.
So a possible option to get around the health limitation of the bookcase could actually make it a static object then when the value hits a certain number delete the bookcase then spawn a new dynamic bookcase in the same spot which can create the illusion that it took more shoots to break it.
Good idea
Can you spawn in an indestructible version of that bookshelf and then after so many shots swap the object to its destructible counterpart? I’m just spit balling.
This is awesome! This is gonna help me make breaching walls! Thank you for helping me figure it out!
I haven't tried this yet, but you made me think so I figured I'd ask you first:
Did you try setting the book case to 100% each time it's shot, then tracking health separately until your desired health hits 0, in which case you stop healing it? My thinking is that if increasing its maximum health didn't work to make it take more than the base 2 shots to destroy it, then the damage dealt to the book case must be in percentages. As in, when a gun shoots the book case, the book case takes 50% of its maximum health in damage, so no amount of increasing that max value will increase the number of shots it takes to destroy the book case. Increasing it from whatever it is at base, let's say 10, up to something like 50 will just mean it goes from taking 5 damage each time to 25 damage, both being 50% of the total.
Now, again, I'm saying this from a position of trying to help troubleshoot the issue, not actual knowledge. I haven't tried it. This may not be the way it works, but it's probably worth a try to test it out.
If this is the case, to solve it would just be like I said. Track your separate health like you did for the crate, but each time the book case takes damage you immediately reset its health to max. That way when it takes 50% of its health in damage a second time, it goes back to half health, and you reset it again to prevent it from breaking yet. Once it takes enough damage in your separate crate style damage tracker, that's when you suddenly reduce its health to 0, or simply stop resetting its health to full so that 1 more shot will destroy it.
Anyway, your video was great and thought provoking, so I had to comment. It did seem a bit under-baked on the editing, but I for one got through that to finish out the video. Great stuff!
How are you getting a number back that isn't 0 from the pallet? All non-destructible items return 0 damage from the On Object Damaged event. Did you weld the pallet to the target dummy?
Sick script Pengi!
Is there a way to add that to multiple objects?
Example: An object list of 20 objects created by an Monitor Area.
Hey, wondering if someone can help me out with my script. I have an area monitor using "on object entered area" when a fusion coil is dropped in the area I want to do something.
The problem is, I can only get the logic to trigger when either:
1. Any object enters the area, players, grenades, weapons etc.
2. A specific fusion coil enters the area.
I want to check for Type == Fusion coil. Not if the fusion coil is a specific fusion coil.
I'm considering a list with a ton of fusion Coils in it, but was hoping for a more elegant solution.
Hopefully that makes sense and someone can help! 🤞
Can you save scripts and copy it to other objects, or would you have to create the script from scratch every time you want to have one for an object?
I’m wondering if you could change the delete object action to change object type. Switching from static to dynamic or switching from fixed to normal. Causing an object to fall apart something like a brick wall. If the objects are in static then immediately switching to dynamic it should cause them to repel against each other which would be pretty cool.
HOW DO WE DO THIS FOR MUTIPLE the sscript just breaks when i dupe it or even change the name
Does it get destroyed instantly by a rocket or does it still require the same amount of shots from a rocket
Hey downloaded the prefab and went to open the script and nothing was in there 😰
I've been thinking about this scripting language. Have you written in any other programming language? What if you placed the elements more top-down rather than left to right. I'm only thinking it would help readability. The links would be annoying to follow, but I'm trying to make this read more like a normal language.
You want the code to flow from left to right. This is common in other visual programming languages like LabVIEW. The problem with his script is that he's passing a node value to too many nodes. It is better to use Advanced Variables to store the node's output to a variable and then use multiple instances for 'Get Variable' to minimize the number of connections that cross. You can also 'On Custom Event' and 'Trigger Custom Event' for modular parts of the code or break code into different chunks, because you do not want the code string to be too long.
Thanks you so much for your knowledgeable insight, it has helped me tremendously. As a thanks I would like to see a possible video of how to script a crane that can move objects in play mode with a controller or switches.
Sure thing!
I assume to have multiple of breakable pallets in this example you would need multiple health bars, but could the damage script be treated as a custom script event to minimize copy pasting?
yes, it could be!
Great tutorials! Could you make an auto-turret that fires rockets?
the Prefab doesnt have a script ?
I am also having this issue any luck?
@@will6580 no luck guess it’s a bug also like prefabs stretching your best bet is to copy him
Ty bro subbed 4 more forge vid pls
Tysm
Can someone please tell me where "destructables" are located? I can't for the life of me find them in the menus
EDIT: They are under "accents" for some reason
i sort of understand why they are there (as in things you'll find in the MP environment) but why not their own category
its infuriating but something we have to live with
Lol your goofs at 10 minutes.