❆ Freeze Module - Make a Cool Frozen Effect ❅

Thank you for this awesome resource!

This is the smoothest public resource for a freeze debuff I’ve seen. Your contribution to the community is much appreciated! Good luck to all developers who use this resource for their games, and good luck to you Thunder for your future projects. :slight_smile:

1 Like

Very cool effect!

Space frozen!

Thank you very much for sharing it!

4 Likes

Awesome I gonna use this right now!

1 Like

:snowflake: Thank you all for the kind feedbacks and especially the extremely cool demo of using this module! I really like them and I hope this module can help you guys as well! :cool:

To clear up some confusions (Apologize for that), I just added some extra info about the Freeze Module

  • Examples (There are 3 examples that come along with the module, I’ll add more soon and make the script easier to customize)
  • Check Code snippets spoiler part to see 2 of them
    image
  • Improved the ice layer!
  • New very simple settings!
    image
2 Likes

I cannot figure out how to scale/position the SpecialMeshes and MeshParts properly so there will be some parts that aren’t completely covered in the ice layer
Also it’ll just be an ice block if the Target has CharacterMesh (Old R6 stuff)
Any help would be really nice if you know how to fix that

to do that you should check out the humanoidDescription.
or you can calculate the new size based off a coparison of the original size sample and the new size sample. Divide the new size by the original size. This ratio will reflect the scale difference. So if you NPC has a Left Arm of 10 units x and the orignal is 1 units x the scale would be 10.
I also wrote some code that will scale pretty much anything including bones, welds, humanoids, hipheight, motor6Ds and particles.

2 Likes

Final update for the Freeze Module!

  • Now can also freeze/stop Player’s animations
  • 1 more example script (Parented in the module like the other 3)

image

1 Like

Important bug fix!
Make sure you get the current version from this post or the marketplace model (Updated)

  • Fixed the bug that would let players continue moving if they were holding a tool/gear
  • New setting for disabling tool/gear scripts (Not recommended so it’s false by default)

image

Also, thank you all so much for the support! :D

Update: Added a limit for the CharacterSize calculation so that it cannot crash the game in case the character is too massive or its body parts fling off

It seems that the effect can somehow crash you if it’s too big
I’ve changed the max size from 100 to 20 (Yes once again)

if CharacterSize >= 20 then
	CharacterSize = 20
end

Changed “Part” on line 173 to “BasePart”
I did not think about rigs that use WedgePart & Sphere parts, also just learned this recently

for _, v in ipairs(Target:GetDescendants()) do
			-- If we find a part, cover it in a randomized ice mesh
			if v:IsA("BasePart") and not v:FindFirstChildOfClass("SpecialMesh") then

IsA("Part") --> IsA("BasePart")

Now also freezes the animation of a rig without Humanoid object by checking their AnimationController

elseif Target:FindFirstChildOfClass("AnimationController") then
			local AnimationController = Target:FindFirstChildOfClass("AnimationController")
			local Animator = AnimationController:WaitForChild("Animator", 10)

			for i, v in pairs(Animator:GetPlayingAnimationTracks()) do
				v:AdjustSpeed(0)
				v:Stop()
			end
			
			task.wait(Duration)	
			-- Continue playing the animation
			for i, v in pairs(Animator:GetPlayingAnimationTracks()) do
				v:AdjustSpeed(1)
			end
		end

Before:
image

After:
image

Huge update!
Since someone asked me, I spent quite a while to make this, introducing…
The secondary, modified version that comes with an UNFREEZE function (No duration)

  • Separate Freeze & Unfreeze functions, so there’s no duration in this version
  • Targets’ Walkspeed & JumpPower are stored in a weak table (No worries they don’t overlap each other) and then set back to the stored WS & JP when you call the unfreeze function on the same targets

Make sure to check the new examples (Parented inside the modified module) if you don’t know how to use!

Frozen:
image
The mech has no Humanoid, just an AnimationController, works perfectly

Unfrozen:
image
Walkspeed & JumpPower were randomly assigned before running, and they went back to the original values without any issues!

Note: This modified version has nothing to do with the first version. Both are up-to-date without issues from my play testing. The choice is yours, feel free to modify them to your liking

1 Like

I’m well impressed at how well-made this is.


But you should at least make it readable, like this:


Compared to this:


And add sections:


Ngl, for a modeler, you earned my respect. I can’t be bothered reading the entire ModuleScript but the first few blocks of code impressed me a lot.

1 Like

I see, will try to make it more readable soon
Thanks for the feedback

1 Like

Hi,

I am trying the new version and it jacks up my pants after being frozem

Looks like they are somehow twisted…

How they look normally

image

It does not happen every time but is repeatable to see the issue

1 Like

Hi
Thanks for reporting
It seems like Roblox layered clothing is quite weird so after doing some testing for an hour, I decided to exclude them from the freezable parts and added an extra setting

They will always be buggy while being frozen if an extra part is added to the character
But they return to normal after being unfrozen so I think that shouldn’t be a problem
Who needs to freeze clothes anyways?
image

(Yes I used your character and also wore some layered clothes)
image

Update:

  • Added the function that store the character’s old Walkspeed & JumpPower values in a weak table to set back later (From the modified version)
  • Also added an extra settings to let you change freezable parts (TrussPart, WedgePart, etc…)
  • Fixed ice cubes being very big due to the “Part to BasePart” from the previous update. Now meshes shouldn’t look like a cube anymore

Removed amogus
image

Added giga mech
image

1 Like

Cool, thanks for checking it out! Is there collision turned on on the ice parts? could that be wacking it out?
I’ll also check out the latest version.

1 Like

Nope, and there is also a setting for it
I think the new type of accessories just change their shape depending on the parent

Ngl I was a bit skeptical about it adapting to any kind of rig so I just tested it and it actually works extremely well to my surprise, since I’m working on a kind of UT/DR game I will use it, its a pretty good module ngl, good job mate!

Incase you might wanna know what I used it for, here it is lol

External Media
1 Like