Gpo is a abbreviation of a games name which is Grand Piece Online
And what is that “cool rocks” effect? How does it relate with “gpo”?
When someone uses an ability like in this gif: https://gyazo.com/acea92aa20437d1404c7ccf41c3d21df.
It just represents an impact on the ground, like a crater of some sort
this is very confusing there are multiple scripts I’m confused about where they each go?
I’m pretty sure your supposed to put this script in a part so like if your game has a ground smash then if there was a hitbox maybe with this script it could make a cool rock effect
To clear up some confusion, this is the script you copy and paste into a local script,
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Debris = game:GetService("Debris")
local Tween1 = TweenInfo.new(.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false,0)
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = {workspace}
raycastParams.FilterType = Enum.RaycastFilterType.Whitelist
local Amount,Max = 20, 2.5 ---Amount of rocks and max length upwards
local FirstDuration, RocksLength = .5, 3--- How long it takes to tween and when it goes away
local Cframe,Iteration = workspace.Part.CFrame, 20 --- Where the part spawns and how much it expands outwards
local Angeled360 = 360 / Amount
local RockModel = Instance.new("Model", workspace.World.Visuals)
Debris:AddItem(RockModel, RocksLength + .25)
for Index = 1, Amount do
--// Calculations
local SizeCalc = math.sin(math.pi / Amount) * Iteration * 2 * 1.01
local PositionCalc = Cframe * CFrame.Angles(0, math.rad(Index * Angeled360), 0) * CFrame.new(0, 0, Iteration) * CFrame.Angles(math.rad(45), 0, 0)
local YAndZ = Max * math.random(50, 120) / 100
local RandomizedForCalc = 5 + Max * 2
local RaycastToSet = CFrame.new(PositionCalc.Position) * CFrame.new(0, RandomizedForCalc, 0)
local Target, Position, Surface = workspace:FindPartOnRayWithWhitelist(Ray.new(RaycastToSet.p, RaycastToSet.upVector * (-RandomizedForCalc * 2)), { workspace.World.Map,})
local InstancedPart = script.Part:Clone()
InstancedPart.CanCollide = false
InstancedPart.Size = Vector3.new(SizeCalc, YAndZ, YAndZ)
if Target then
InstancedPart.Color = Target.Color
InstancedPart.Material = Target.Material
local Mult = 1
if Position.Y < PositionCalc.Position.Y then
Mult = -1
end
local MagZX = PositionCalc * CFrame.new(0, (PositionCalc.Position - Position).Magnitude * Mult, 0)
local ToReturn = CFrame.new(Position, Position + Surface) * CFrame.Angles(math.rad(90), 0, 0)
InstancedPart.CFrame = Cframe * CFrame.Angles(0, math.rad(Index * Angeled360), 0) * CFrame.new(0, 0, Iteration / 2)
InstancedPart.Parent = RockModel
local X, Y, Z = Cframe:components()
local Ax, Ay, Az, A1, A2, A3, A4, A5, A6, A7, A8, A9 = ToReturn:components()
local Tween = TweenService:Create(InstancedPart,TweenInfo.new(FirstDuration, Enum.EasingStyle.Quad, Enum.EasingDirection.Out,0,false,0), {CFrame = CFrame.new(ToReturn.Position, CFrame.new(X, Y, Z, A1, A2, A3, A4, A5, A6, A7, A8, A9).Position) * CFrame.Angles(math.rad(math.random(20, 50)), 0, 0)})
Tween:Play()
Tween:Destroy()
coroutine.resume(coroutine.create(function()
wait(RocksLength)
if InstancedPart then
local Tween = TweenService:Create(InstancedPart.Mesh,TweenInfo.new(.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out,0,false,0), {["Scale"] = Vector3.new(1, 0, 0)})
Tween:Play()
Tween:Destroy()
local Tween = TweenService:Create(InstancedPart,TweenInfo.new(.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out,0,false,0), {CFrame = InstancedPart.CFrame * CFrame.new(0, -Max * 1.25, 0)})
Tween:Play()
Tween:Destroy()
end
end))
else
InstancedPart:Destroy()
end
end
then put the local script in startergui/
Can u tell us , What we need to put in workspace for things like workspace.World.Visuals and workspace.World.Map
Are those folders or models ?
folders, World is a folder in workspace, map is a folder inside world, visuals is also a folder inside world
Can you explain add a mesh inside of what? since I’m having a trouble understanding them.
also can you make a place and just make it uncopylocked.
great tutorial, however if a dev wants everyone to see the effect, then wouldn’t it only work if its placed in a ServerScript!?
Yoo this is nice but there was few problems but I changed it and decided to make it into a module script because I was bored, I also gave you credits I just need your permission to make it public
https://www.roblox.com/library/9180223679/RocksModule
I don’t even know what kind of “rock effect” you mean. It just looks like some colored bricks in the image. I wish you’d give some context as to what you’re referring to. Are they animated? If so, please attach a video.
Now after adding some people, I think you mean after a jump or something the rocks move outward.
by the way how do i put the rocks into the mesh / part i wanted like explosion
It’s a crater. New anime games have these when there are explosions and stuff like that
i used your script yet it doesnt make any parts into the rock model, do you know why?
i figured out the problem well not really after it creates the rockmodel the script breaks i have no idea
why.
What is “Cool rocks stuff like gpo?” can you please provide an exampel?
it appears the ray cast doesnt detect any part
How could I make this align to surfaces like a wall