Harrison Basil - Consultant
I learn a lot from working at Systems
About Me
- I am Computer Science major.
- I longboard often.
- You may see me around campus with an abnormally long board that looks like a giant skateboard.
- I edit videos as a hobby and try to make fun stuff for my friends and I.
- I am a Roblox developer in my free time.
- I have contributed to a few games and only released 2-ish myself.
- If you have never played Roblox or have never played the game "DOORS" go check it out.
Interests
- I am a big fan of anything declarative, I'm spending time learning Nix(OS) and I love seeing everything turn green on Ansible.
- I am a Vim (NeoVim) user, first out of necessity, then out of fun.
- I sometimes forget the Vim motions.
- Reading Manga and watching Anime (read The Promised Neverland)
Fun Facts
- I am not the first in my family to work at Systems
- I am a fan of the Drakengard/NieR series
Contact
- Staff E-Mail:
hbasil@odu.edu
creating a door in Roblox
local PlayerService = game:GetService("Players")
local PlayerConnections = {}
PlayerService.PlayerAdded:Connect(function(player: Player)
if PlayerConnections[player] then
return
end
PlayerConnections[player] = {}
PlayerConnections[player]["DoorList"] = {}
PlayerConnections[player]["Chatted"] = player.Chatted:Connect(function(message: string)
local primaryPart = player.Character and player.Character.PrimaryPart
if not primaryPart or not primaryPart.Parent then
return
end
local lower = message:lower()
if not lower:find("door") then
return
end
local newDoor = Instance.new("Part")
newDoor.Size = Vector3.new(10, 15, 3)
newDoor.CFrame = primaryPart.CFrame * CFrame.new(0,newDoor.Size.Y/2,-5)
newDoor.Anchored = true
newDoor.Color = Color3.fromRGB(61, 27, 6)
local clickDetect = Instance.new("ClickDetector")
local debounce = false
clickDetect.MouseClick:Connect(function(clickedPlayer: Player)
if debounce then
return
end
if clickedPlayer ~= player then
return
end
debounce = true
newDoor.CanCollide = false
newDoor.Transparency = 0.75
warn("PLAY DOORS")
task.delay(1.5, function()
newDoor.CanCollide = true
newDoor.Transparency = 0
debounce = false
end)
end)
clickDetect.Parent = newDoor
newDoor.Parent = workspace
table.insert(PlayerConnections[player]["DoorList"], newDoor)
end)
end)
PlayerService.PlayerRemoving:Connect(function(player: Player)
if PlayerConnections[player] then
for i, door in PlayerConnections[player]["DoorList"] do
if door and door.Parent then
door:Destroy()
end
end
table.clear(PlayerConnections[player]["DoorList"])
PlayerConnections[player]["Chatted"]:Disconnect()
table.clear(PlayerConnections[player])
PlayerConnections[player] = nil
end
end)