Currently, I am open to commissions. [0/3]
About Me
I am an experienced programmer & animator and I’ve been scripting as well as animating for 3 years working on numerous projects and have also made several successful games.
I have experience in Lua, C++, HTML and CSS.
I specialize In effect design for all kinds of attacks and special effects, but I can make almost anything.
Game showcase
Open for game showcase
An unsuccessful FPS game with many useful assets and hours of scripting:
Robot Rampage - Roblox
A silly physics game that I made recently, gained attention
push people simulator [THEME PARK] - Roblox
A story game I made in the past
Picnic[STORY] - Roblox
Another physics game
lasso people simulator [release!] - Roblox
Script showcase
Open for code showcase
An unsuccessful FPS game with many useful assets and hours of scripting:
Robot Rampage - Roblox
A silly physics game that I made recently
push people simulator [THEME PARK] - Roblox
A ultra instinct mode to showcase the use of animations and VFX use.
source code for the ultra instinct
–local
local plr = game.Players.LocalPlayer
local plrgui = game.Players.LocalPlayer.PlayerGui
local mouse = plr:GetMouse()
local equipdb = false
local equipped = false
local tpcool = false
local ultrapunchcool = false
local flashtepcool = false
local ds = false
local ballcool = false
local boolpunch = false
local punch = plr.Character:WaitForChild(“Humanoid”):LoadAnimation(script:WaitForChild(“punch”))
local punch1 = plr.Character:WaitForChild(“Humanoid”):LoadAnimation(script:WaitForChild(“punch1”))
local throw = plr.Character:WaitForChild(“Humanoid”):LoadAnimation(script:WaitForChild(“ball throw”))
mouse.KeyDown:Connect(function(key)
if equipdb == true then return end
if ds == true then return end
if key == “z” then
equipdb = true
if equipped == false then
equipped = true
script.Events:FireServer(“Activate”)
plrgui.Movelist.Frame.Visible = true
else
equipped = false
script.Events:FireServer(“Deactivate”)
plrgui.Movelist.Frame.Visible = false
end
wait(5)
equipdb = false
end
end)
mouse.KeyDown:Connect(function(key)
if equipped == false then return end
if key == “1” then
if tpcool == true then return end
if ds == true then return end
tpcool = true
script.Events:FireServer(“Teleport”)
wait(.4)
tpcool = false
elseif key == “2” then
if ultrapunchcool == true then return end
if ds == true then return end
ds = true
ultrapunchcool = true
if boolpunch == false then
punch:Play()
boolpunch = true
else
punch1:Play()
boolpunch = false
end
wait(.05)
script.Events:FireServer(“UltraPunch”)
wait(.05)
ds = false
wait(.05)
ultrapunchcool = false
elseif key == “3” then
if flashtepcool == true then return end
if ds == true then return end
ds = true
flashtepcool = true
script.Events:FireServer(“Flashstep”)
wait(1.3)
ds = false
wait(5)
flashtepcool = false
elseif key == “4” then
if ds == true then return end
if ballcool == true then return end
ballcool = true
ds = true
throw:Play()
script.Events:FireServer(“ball”,mouse.Hit + Vector3.new(0,9,0))
wait(1.2)
ds = false
wait(.5)
ballcool = false
end
end)
–serverside
local ts = game:GetService(“TweenService”)
function findNearestTorso(plr)
local dist = 700
local target = nil
local besttargetdist = 10000
for i,v in pairs(workspace:GetChildren()) do
local humanoid = v:FindFirstChild(“Humanoid”) or v:FindFirstChild(“POGGERNOID”)
local head = v:FindFirstChild(“Head”)
if humanoid and (humanoid.Health > 0) and head and v.Name ~= plr.Name then
if (head.Position - plr.Character.Head.Position).magnitude < dist then
local dist = (head.Position - plr.Character.Head.Position).magnitude
if besttargetdist > dist then
besttargetdist = dist
target = head
end
end
end
end
return target
end
function magdamage(mag,dmg,plr)
for i,v in pairs(workspace:GetChildren()) do
local humanoid = nil
if v:FindFirstChild(“Humanoid”) then
humanoid = v:FindFirstChild(“Humanoid”)
else
humanoid = v:FindFirstChild(“POGGERNOID”)
end
local head = v:FindFirstChild(“Head”)
if head and humanoid and v.Name ~= plr.Name then
local mag = (v.HumanoidRootPart.Position - mag.Position).magnitude
if mag < 35 then
local BV = Instance.new(“BodyVelocity”,v.HumanoidRootPart)
BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
BV.Velocity = Vector3.new(0,50,0)
game.Debris:AddItem(BV,.4)
humanoid:TakeDamage(dmg)
end
end
end
end
function sh(plr)
local shk = game.ReplicatedStorage.effects.Shockwave:Clone()
shk.Parent = workspace
shk.CFrame = plr.Character.HumanoidRootPart.CFrame
shk.Position = shk.Position + Vector3.new(0,-2,0)
ts:Create(shk,TweenInfo.new(2,0,0),{Transparency = 1,Size = Vector3.new(14.13, 4.63, 14.52)},Enum.EasingStyle.Quint,Enum.EasingDirection.In):Play()
game.Debris:AddItem(shk,3)
end
script.Parent.OnServerEvent:Connect(function(plr,command,mousepos)
pcall (function()
if command == “Activate” then
for i,v in pairs(plr.Character:GetChildren()) do
if v:IsA(“Part”) or v:IsA(“MeshPart”) then
local aura1 = script.Parent.Parent.aura:Clone()
local aura2 = script.Parent.Parent.aura2:Clone()
local aura3 = script.Parent.Parent.aura3:Clone()
local aura4 = script.Parent.Parent.small:Clone()
aura1.Parent = v
aura2.Parent = v
aura3.Parent = v
aura4.Parent = v
end
end
plr.Character.Humanoid.MaxHealth = 500
plr.Character.Humanoid.Health = 500
local theme = script.UltraTheme:Clone()
theme.Parent = plr.Character.Head
theme:Play()
elseif command == “Deactivate” then
plr.Character.Head.UltraTheme:Destroy()
for i,v in pairs(plr.Character:GetChildren()) do
if v:IsA(“Part”) or v:IsA(“MeshPart”) then
v.aura.Enabled = false
v.aura2.Enabled = false
v.aura3.Enabled = false
v.small.Enabled = false
end
end
wait(.7)
for i,v in pairs(plr.Character:GetChildren()) do
if v:IsA(“Part”) or v:IsA(“MeshPart”) then
v.aura:Destroy()
v.aura2:Destroy()
v.aura3:Destroy()
v.small:Destroy()
end
end
plr.Character.Humanoid.MaxHealth = 100
plr.Character.Humanoid.Health = 100
elseif command == “Teleport” then
local head = findNearestTorso(plr)
local tele = script.Teleport:Clone()
tele.Parent = plr.Character.Head
tele:Play()
game.Debris:AddItem(tele,.5)
local effect = game.ReplicatedStorage.effects.m1:Clone()
effect.Parent = workspace
effect.Position = plr.Character.HumanoidRootPart.Position - Vector3.new(0,1.5,0)
ts:Create(effect,TweenInfo.new(.7,0,0),{Transparency = 1,Size = Vector3.new(22.943, 4.97, 21.912),Orientation = Vector3.new(-1.09, 149.99, 1.02),Position = effect.Position + Vector3.new(0,.5,0)}):Play()
plr.Character.HumanoidRootPart.CFrame = head.Parent.HumanoidRootPart.CFrame + head.Parent.HumanoidRootPart.CFrame.lookVector * -2
plr.Character.HumanoidRootPart.Orientation = head.Orientation
game.Debris:AddItem(effect,1)
wait(0.01)
local effect = game.ReplicatedStorage.effects.m1:Clone()
effect.Parent = workspace
effect.Position = plr.Character.HumanoidRootPart.Position - Vector3.new(0,1.5,0)
ts:Create(effect,TweenInfo.new(.7,0,0),{Transparency = 1,Size = Vector3.new(22.943, 4.97, 21.912),Orientation = Vector3.new(-1.09, 149.99, 1.02),Position = effect.Position + Vector3.new(0,.5,0)}):Play()
game.Debris:AddItem(effect,1)
elseif command == “UltraPunch” then
local head = findNearestTorso(plr)
local mag = nil
if head then
mag = (plr.Character.HumanoidRootPart.Position - head.Position).magnitude
end
local tele = script.heavyhit:Clone()
tele.Parent = plr.Character.Head
tele:Play()
game.Debris:AddItem(tele,.7)
local effect = game.ReplicatedStorage.effects.m1:Clone()
local effect2 = game.ReplicatedStorage.effects.m2:Clone()
effect.Parent = workspace
effect2.Parent = workspace
effect.Position = plr.Character.HumanoidRootPart.Position - Vector3.new(0,1.5,0)
effect2.Position = plr.Character.HumanoidRootPart.Position
ts:Create(effect2,TweenInfo.new(0.5,0,0),{Transparency = 1,Size = Vector3.new(18.567, 11.82, 19.958),Orientation = Vector3.new(0.7, 120, 1.32),Position = effect2.Position + Vector3.new(0,2,0)}):Play()
ts:Create(effect,TweenInfo.new(0.5,0,0),{Transparency = 1,Size = Vector3.new(22.943, 4.97, 21.912),Orientation = Vector3.new(-1.09, 149.99, 1.02),Position = effect.Position + Vector3.new(0,.5,0)}):Play()
if mag < 6 then
local hum =nil
if head.Parent:FindFirstChild(“Humanoid”) then
hum = head.Parent.Humanoid
else
hum = head.Parent.POGGERNOID
end
local BV = Instance.new(“BodyVelocity”,head.Parent.HumanoidRootPart)
BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
BV.Velocity = plr.Character.HumanoidRootPart.CFrame.lookVector* 90
game.Debris:AddItem(BV,.4)
hum:TakeDamage(40)
end
game.Debris:AddItem(effect,2)
game.Debris:AddItem(effect2,2)
elseif command == “ball” then
local sphere = game.ReplicatedStorage.effects.Fireball:Clone()
sphere.Parent = workspace
sphere.CFrame = plr.Character.HumanoidRootPart.CFrame + Vector3.new(0,15,0)
ts:Create(sphere,TweenInfo.new(1.2,0,0),{Transparency = .1,Size = Vector3.new(20,20,20)},Enum.EasingStyle.Quint,Enum.EasingDirection.In):Play()
plr.Character.Humanoid.WalkSpeed = 0
wait(1.2)
plr.Character.Humanoid.WalkSpeed = 16
local rat = ts:Create(sphere,TweenInfo.new(.4,0,0),{Transparency = 1, CFrame = mousepos + mousepos.lookVector},Enum.EasingStyle.Quint,Enum.EasingDirection.In)
rat:Play()
wait(.4)
local sphere2 = game.ReplicatedStorage.effects.Fireball:Clone()
sphere2.Parent = workspace
sphere2.CFrame = sphere.CFrame + Vector3.new(0,-3,0)
local ring = game.ReplicatedStorage.effects.Ring:Clone()
ring.Parent = workspace
ring.Position = sphere2.Position
local rat = ts:Create(ring,TweenInfo.new(1.2,0,0),{Transparency = 1, Size = Vector3.new(160.15, 1.821, 163.34)},Enum.EasingStyle.Quint,Enum.EasingDirection.In)
rat:Play()
game.Debris:AddItem(ring,1.2)
local ring = game.ReplicatedStorage.effects.SHCKS:Clone()
ring.Parent = workspace
ring.Position = sphere2.Position + Vector3.new(0,6,0)
local rat = ts:Create(ring,TweenInfo.new(.8,0,0),{Transparency = 1, Size = Vector3.new(97.896, 46.506, 125.626)},Enum.EasingStyle.Quint,Enum.EasingDirection.In)
rat:Play()
game.Debris:AddItem(ring,.8)
sphere2.Transparency = .2
game.Debris:AddItem(sphere2,2)
ts:Create(sphere2,TweenInfo.new(2,0,0),{Transparency = 1,Size = Vector3.new(100,100,100)},Enum.EasingStyle.Quint,Enum.EasingDirection.Out):Play()
local sound = script.bomb:Clone()
sound.Parent = sphere2
sound:Play()
game.Debris:AddItem(sound,1)
local head = findNearestTorso(plr)
magdamage(sphere2,75,plr)
wait(.3)
sphere:Destroy()
elseif command == “Flashstep” then
for i,v in pairs(plr.Character:GetChildren()) do
if v:IsA(“Part”) or v:IsA(“MeshPart”) then
v.aura.Enabled = false
v.aura2.Enabled = false
v.aura3.Enabled = false
v.small.Enabled = false
v.Transparency = 1
end
if v:IsA(“Accessory”) then
v.Handle.Transparency = 1
end
end
plr.Character.Humanoid.WalkSpeed = 60
plr.Character.Head.face.Transparency = 1
local tele = script.Teleport:Clone()
tele.Parent = plr.Character.Head
tele:Play()
game.Debris:AddItem(tele,.5)
for i = 1,4 do
local effect = game.ReplicatedStorage.effects.m1:Clone()
effect.Parent = workspace
effect.Position = plr.Character.HumanoidRootPart.Position - Vector3.new(0,1.5,0)
ts:Create(effect,TweenInfo.new(.7,0,0),{Transparency = 1,Size = Vector3.new(22.943, 4.97, 21.912),Orientation = Vector3.new(-1.09, 149.99, 1.02),Position = effect.Position + Vector3.new(0,.5,0)}):Play()
game.Debris:AddItem(effect,1)
wait(0.32)
end
plr.Character.Humanoid.WalkSpeed = 16
plr.Character.Head.face.Transparency = 0
local tele = script.Teleport:Clone()
tele.Parent = plr.Character.Head
tele:Play()
game.Debris:AddItem(tele,.5)
for i,v in pairs(plr.Character:GetChildren()) do
if v:IsA(“Part”) or v:IsA(“MeshPart”) then
v.aura.Enabled = true
v.aura2.Enabled = true
v.aura3.Enabled = true
v.small.Enabled = true
v.Transparency = 0
if v.Name == “HumanoidRootPart” then v.Transparency = 1 end
end
if v:IsA(“Accessory”) then
v.Handle.Transparency = 0
end
end
end
end)
end)
Explosion! A pet project of mine, took a while to make but was worth it.
source code for the explosion (server side only)
local ts = game:GetService(“TweenService”)
local ef = game.ReplicatedStorage.effects
function magdamage(mag,dmg,plr)
for i,v in pairs(workspace:GetChildren()) do
local humanoid = nil
if v:FindFirstChild(“Humanoid”) then
humanoid = v:FindFirstChild(“Humanoid”)
else
humanoid = v:FindFirstChild(“POGGERNOID”)
end
local head = v:FindFirstChild(“Head”)
if head and humanoid and v.Name ~= plr.Name then
local mag = (v.HumanoidRootPart.Position - mag).magnitude
if mag < 60 then
local BV = Instance.new(“BodyVelocity”,v.HumanoidRootPart)
BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
BV.Velocity = Vector3.new(0,50,0)
game.Debris:AddItem(BV,.4)
humanoid:TakeDamage(dmg)
end
end
end
end
function makerocks(pos)
spawn (function()
for i = 1,200 do
local crock = ef.rocksmall:Clone()
crock.Size = Vector3.new(math.random(1,3),math.random(1,3),math.random(1,3))
crock.Parent = workspace
crock.Position = pos + Vector3.new(math.random(-25,25),-3.5,math.random(-25,25))
game.Debris:AddItem(crock,1)
ts:Create(crock,TweenInfo.new(0.8,0,0),{Transparency = 1, Position = crock.Position + Vector3.new(0,9,0),Orientation = crock.Orientation + Vector3.new(90,0,160)}):Play()
wait(0.01)
end
end)
end
game.ReplicatedStorage.expevent.OnServerEvent:Connect(function(plr,hitpos)
workspace.exp:Play()
for i = 1,10 do
game.Lighting.Brightness -= .2
wait(0.01)
end
local char = plr.Character
local hrp = char.HumanoidRootPart
hrp.Anchored = true
local staff = ef.Staff:Clone()
staff.Parent = char
local bcirc = ef.circleblack:Clone()
bcirc.Parent = workspace
bcirc.Position = hrp.Position - Vector3.new(0,2.8,0)
ts:Create(bcirc,TweenInfo.new(.6,0,0),{Transparency = 0}):Play()
for i,v in pairs(bcirc:GetChildren()) do
if v:IsA(“MeshPart”) then
v.Position = bcirc.Position - Vector3.new(0,0.1,0)
ts:Create(v,TweenInfo.new(.7,0,0),{Transparency = .4}):Play()
if v.Material == Enum.Material.Neon then
v.Position = bcirc.Position - Vector3.new(0,.2,0)
end
end
end
wait(1)
local light = Instance.new(“SurfaceLight”,hrp)
light.Brightness = 5
light.Color = Color3.new(1, 0.666667, 0)
game.Debris:AddItem(light,.5)
local circ1 = ef.circlemagic:Clone()
local circ2 = ef.circlemagic:Clone()
local circ3 = ef.circlemagic:Clone()
circ1.Parent = workspace
circ2.Parent = workspace
circ3.Parent = workspace
circ1.Position = bcirc.Position
circ2.Position = bcirc.Position
circ3.Position = bcirc.Position
ts:Create(circ1,TweenInfo.new(.9,0,0),{Position = circ1.Position + Vector3.new(0,11,0),Transparency = 0}):Play()
wait(.4)
ts:Create(circ2,TweenInfo.new(.55,0,0),{Position = circ2.Position + Vector3.new(0,7,0),Transparency = 0}):Play()
ts:Create(light,TweenInfo.new(0.5,0),{Brightness = 0}):Play()
wait(.4)
ts:Create(circ3,TweenInfo.new(.35,0,0),{Position = circ3.Position + Vector3.new(0,2.5,0),Transparency = 0}):Play()
wait(.9)
local st = ef.explosionswirl:Clone()
st.Parent = workspace
st.Position = hrp.Position
local ambience = ef.exambience:Clone()
ambience.Parent = workspace
ambience.Position = hrp.Position + Vector3.new(0,6,0)
ts:Create(st,TweenInfo.new(.4,0,0),{Transparency = 0.3,Size = Vector3.new(114.151, 90.761, 107.879)}):Play()
wait(.8)
for i,v in pairs(staff.Handle.Orb:GetChildren()) do
v.Enabled = true
end
spawn(function()
local ring1 = ef.explosionmark2:Clone()
ring1.Parent = workspace
ring1.Position = hitpos
ts:Create(ring1,TweenInfo.new(0.5,0,0),{Transparency = 0, Size = Vector3.new(110.029, 0.716, 110.028)}):Play()
wait(.8)
local ring2 = ef.explosionmark:Clone()
ring2.Parent = workspace
ring2.Position = ring1.Position + Vector3.new(0,85,0)
ts:Create(ring2,TweenInfo.new(0.4,0,0),{Transparency = 0}):Play()
wait(4.4)
ts:Create(ring1,TweenInfo.new(0.4,0,0),{Transparency = 1, Size = Vector3.new(64.546, 0.42, 64.546)}):Play()
ts:Create(ring2,TweenInfo.new(0.4,0,0),{Transparency = 1, Size = Vector3.new(149.434, 115.894, 149.435)}):Play()
game.Debris:AddItem(ring1,.6)
game.Debris:AddItem(ring2,.6)
wait(.4)
local dirteffect = ef.dirteffect:Clone()
dirteffect.Parent = workspace
dirteffect.Position = hitpos - Vector3.new(0,3,0)
ts:Create(dirteffect,TweenInfo.new(.3,0,0),{Transparency = 0,Size = Vector3.new(41.354, 170.003, 171.244),Position = dirteffect.Position + Vector3.new(0,5,0)},Enum.EasingDirection.In):Play()
wait(.1)
local ex1 = ef.exp1:Clone()
local ex2 = ef.exp2:Clone()
local ex3 = ef.exp3:Clone()
local ex4 = ef.exp4:Clone()
ex1.Parent = workspace
ex2.Parent = workspace
ex3.Parent = workspace
ex4.Parent = workspace
ex1.Position = ring2.Position + Vector3.new(0,10,0)
ex2.Position = ring2.Position + Vector3.new(0,10,0)
ex3.Position = ring2.Position + Vector3.new(0,7,0)
ex4.Position = ring2.Position + Vector3.new(0,10,0)
ts:Create(ex1,TweenInfo.new(2,0,0),{Transparency = 1,Size = Vector3.new(180.01, 159.68, 170.284),Position = ex1.Position - Vector3.new(0,20,0)},Enum.EasingDirection.In):Play()
ts:Create(ex2,TweenInfo.new(2,0,0),{Transparency = 1,Size = Vector3.new(222.841, 195.833, 204.751),Position = ex2.Position - Vector3.new(0,20,0)},Enum.EasingDirection.In):Play()
ts:Create(ex3,TweenInfo.new(2,0,0),{Transparency = 1,Size = Vector3.new(150.225, 159.012, 150.354),Position = ex3.Position - Vector3.new(0,20,0)},Enum.EasingDirection.In):Play()
ts:Create(ex4,TweenInfo.new(2,0,0),{Transparency = 1,Size = Vector3.new(195.218, 71.354, 189.094),Position = ex4.Position - Vector3.new(0,20,0)},Enum.EasingDirection.In):Play()
game.Debris:AddItem(ex1,2)
game.Debris:AddItem(ex2,2)
game.Debris:AddItem(ex3,2)
game.Debris:AddItem(ex4,2)
game.Debris:AddItem(ex4,8)
game.Debris:AddItem(dirteffect,9)
magdamage(hitpos,90,plr)
wait(8)
ts:Create(dirteffect,TweenInfo.new(.4,0,0),{Transparency = 1,Size = Vector3.new(28.915, 118.867, 119.735),Position = dirteffect.Position - Vector3.new(0,5,0)},Enum.EasingDirection.In):Play()
end)
makerocks(hrp.Position)
wait(5.5)
for i,v in pairs(staff.Handle.Orb:GetChildren()) do
v.Enabled = false
end
wait(.5)
for i,v in pairs(bcirc:GetChildren()) do
if v:IsA(“MeshPart”) then
ts:Create(v,TweenInfo.new(.5,0,0),{Transparency = 1}):Play()
end
end
ts:Create(bcirc,TweenInfo.new(.4,0,0),{Transparency = 1}):Play()
ts:Create(circ1,TweenInfo.new(.4,0,0),{Transparency = 1}):Play()
ts:Create(circ2,TweenInfo.new(.4,0,0),{Transparency = 1}):Play()
ts:Create(circ3,TweenInfo.new(.4,0,0),{Transparency = 1}):Play()
ts:Create(st,TweenInfo.new(0.4,0,0),{Transparency = 1}):Play()
wait(.4)
bcirc:Destroy()
circ1:Destroy()
circ2:Destroy()
circ3:Destroy()
st:Destroy()
hrp.Anchored = false
ambience.o.Enabled = false
ambience.t.Enabled = false
staff:Destroy()
wait(1)
ambience:Destroy()
for i = 1,10 do
game.Lighting.Brightness += .2
wait(0.01)
end
workspace.exp:Stop()
end)
Cutscene version:
Sword slashes:
Animation showcase
Open for animation showcase
These are some animations I have made for games of mine:
Availability
I am Available almost every single day! I should be able to contact you almost immediately through discord and if I am busy I will get back to you in at least 8 hours
I work for about 1-2hrs a day.
Contact
you can either contact me right here on the forum
or you can contact me on my discord at based#9944. -discord is preferred
Payment
Small projects cost 400-1000
Medium projects cost 1000-3000
Large projects cost 3000+
You can also pay me with the Paypal equivalent.
Thank you for Reading!