Skip to content

Commit 240a29e

Browse files
committed
Simple Gui & Modal
1 parent e22fa57 commit 240a29e

15 files changed

Lines changed: 11 additions & 4 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"Folder","name":"ClassName","valueType":"string"},{"value":"Events","name":"Name","valueType":"string"},{"value":[{"value":"1b5eaf11-f38b-4f4a-a8b7-923a3fbac4cb","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"RemoteEvent","name":"ClassName","valueType":"string"},{"value":"modalEvent","name":"Name","valueType":"string"},{"value":[{"value":"dad40f57-6971-4814-bbc8-f1a243aa21a6","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]

ReplicatedStorage/Shared/Hello

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"ModuleScript","name":"ClassName","valueType":"string"},{"value":"","name":"LinkedSource","valueType":"string"},{"value":"events","name":"Name","valueType":"string"},{"value":"local eventsModule = {}\n\n-- Services\nlocal ReplicatedStorage = game:GetService(\"ReplicatedStorage\")\n\n-- Static\nlocal eventsFolder = ReplicatedStorage:WaitForChild(\"Events\")\nlocal modalEvent : RemoteEvent = eventsFolder:WaitForChild(\"modalEvent\")\n\n-- Module functions\n\n-- server side force-fire.\nfunction eventsModule:fireModal(text : string, player : Player?)\n if player then\n modalEvent:FireClient(player, text)\n else\n modalEvent:FireAllClients(text)\n end\nend\n\nreturn eventsModule","name":"Source","valueType":"string"},{"value":[{"value":"52254494-b6e4-4a8a-b7e7-30c627c185ba","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"ModuleScript","name":"ClassName","valueType":"string"},{"value":"","name":"LinkedSource","valueType":"string"},{"value":"round","name":"Name","valueType":"string"},{"value":"local Round = {}\nRound.__index = Round\n\n-- Modules\nlocal chairModule = require(script.Parent.chair)\nlocal utilsModule = require(script.Parent.utils)\nlocal mapsModule = require(script.Parent.maps)\n\n-- Services\nlocal Players = game:GetService(\"Players\")\n\n-- Return spawn part for map\nlocal function returnSpawnPartOfMap(mapModel)\n return mapModel.Floor:FindFirstChild(\"Spawn\") or mapModel.Floor\nend\n\n-- Create a new round (OOP)\nfunction Round.new()\n local self = setmetatable({}, Round)\n\n self.currChairs = {}\n self.seatedHumanoids = {}\n self.map = nil\n self.connections = {}\n\n return self\nend\n\n-- reset info for round\nfunction Round:ResetRoundInfo()\n self.currChairs = {}\n self.seatedHumanoids = {}\nend\n\n-- parent all chairs\nfunction Round:ParentAllChairs(parent, chairTable)\n for _, chair in ipairs(chairTable) do\n chair.Parent = parent\n end\nend\n\n-- move chairs to a random position on part\nfunction Round:MoveChairsToRandomPosition(partToPos, chairTable)\n for _, chair in ipairs(chairTable) do\n chair:MoveTo(utilsModule:GetRandomPointOnPart(partToPos))\n end\nend\n\n-- setup the connections for each chair\nfunction Round:SetupChairConnections(chairTable)\n for _, chair in ipairs(chairTable) do\n chairModule:setupConnections(chair)\n end\nend\n\n-- clone a certain amount of chairs\nfunction Round:CloneChairAmount(amountOfChairs, chairType)\n local chairTable = {}\n amountOfChairs = (amountOfChairs > 0 and amountOfChairs) or 2\n\n for i = 1, amountOfChairs do\n table.insert(chairTable, chairModule:cloneInChair(chairType))\n end\n\n return chairTable\nend\n\n-- setup the chairs ingame\nfunction Round:SetupChairs(amountOfChairs, mapModel, chairType)\n local chairTable = self:CloneChairAmount(amountOfChairs, chairType)\n self:ParentAllChairs(workspace.chairsFolder, chairTable)\n self:MoveChairsToRandomPosition(returnSpawnPartOfMap(mapModel), chairTable)\n self:SetupChairConnections(chairTable)\n\n self.currChairs = chairTable\nend\n\n-- setup the player spawns\nfunction Round:SetupSpawns(map)\n local spawnPart = returnSpawnPartOfMap(map)\n\n for _, player in ipairs(Players:GetPlayers()) do\n local character = player.Character\n local hrp = character and character:FindFirstChild(\"HumanoidRootPart\")\n\n if character and hrp then\n character:MoveTo(utilsModule:GetRandomPointOnPart(spawnPart))\n end\n end\nend\n\n-- setup the round itself\nfunction Round:Setup(testChairNum)\n self:ResetRoundInfo()\n\n self.map = mapsModule:cloneInMap(\"Test\", workspace.clonedMaps)\n self:SetupChairs(testChairNum or (#Players:GetPlayers() + 1), self.map)\n self:SetupSpawns(self.map)\nend\n\n-- return the amount of humanoids seated\nfunction Round:GetSeatedCount()\n local count = 0\n\n for _humanoid, _chair in pairs(self.seatedHumanoids) do\n count += 1\n end\n\n return count\nend\n\n-- get the amt of remaining chairs\nfunction Round:GetRemainingChairCount()\n return #self.currChairs - self:GetSeatedCount()\nend\n\n-- is humanoid seated on chair?\nfunction Round:IsHumanoidSeated(humanoid)\n return self.seatedHumanoids[humanoid] ~= nil\nend\n\n-- bind our bindableevents\nfunction Round:BindChairEvents()\n table.insert(self.connections, chairModule.HumanoidSeated.Event:Connect(function(humanoid, chair)\n self.seatedHumanoids[humanoid] = chair\n print(self:GetRemainingChairCount(), self:GetSeatedCount())\n end))\n\n table.insert(self.connections, chairModule.HumanoidUnseated.Event:Connect(function(chair)\n for humanoid, seatedChair in pairs(self.seatedHumanoids) do\n if seatedChair == chair then\n self.seatedHumanoids[humanoid] = nil\n break\n end\n end\n end))\nend\n\n-- destroy our round! (finished)\nfunction Round:Destroy()\n for _, connection in ipairs(self.connections) do\n connection:Disconnect()\n end\n\n self.connections = {}\n\n if self.map then\n self.map:Destroy()\n self.map = nil\n end\n\n for _, chair in ipairs(self.currChairs) do\n if chair and chair.Parent then\n chair:Destroy()\n end\n end\n\n self.currChairs = {}\n self.seatedHumanoids = {}\nend\n\nreturn Round","name":"Source","valueType":"string"},{"value":[{"value":"3a37d6de-41e6-4519-9dab-34432e77a8c0","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]
1+
[{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"ModuleScript","name":"ClassName","valueType":"string"},{"value":"","name":"LinkedSource","valueType":"string"},{"value":"round","name":"Name","valueType":"string"},{"value":"local Round = {}\nRound.__index = Round\n\n-- Modules\nlocal chairModule = require(script.Parent.chair)\nlocal utilsModule = require(script.Parent.utils)\nlocal mapsModule = require(script.Parent.maps)\nlocal eventsModule = require(script.Parent.events)\n\n-- Services\nlocal Players = game:GetService(\"Players\")\nlocal ReplicatedStorage = game:GetService(\"ReplicatedStorage\")\n\n-- Return spawn part for map\nlocal function returnSpawnPartOfMap(mapModel)\n return mapModel.Floor:FindFirstChild(\"Spawn\") or mapModel.Floor\nend\n\n-- Create a new round (OOP)\nfunction Round.new()\n local self = setmetatable({}, Round)\n\n self.currChairs = {}\n self.seatedHumanoids = {}\n self.playersInGame = {}\n self.map = nil\n self.connections = {}\n\n return self\nend\n\n-- reset info for round\nfunction Round:ResetRoundInfo()\n self.currChairs = {}\n self.seatedHumanoids = {}\n\n ReplicatedStorage:SetAttribute(\"isRound\", false)\n ReplicatedStorage:SetAttribute(\"isIntermission\", false)\n\n for _, player in self.playersInGame do\n player:SetAttribute(\"inGame\", false)\n end\n\n self.playersInGame = {}\nend\n\n-- parent all chairs\nfunction Round:ParentAllChairs(parent, chairTable)\n for _, chair in ipairs(chairTable) do\n chair.Parent = parent\n end\nend\n\n-- move chairs to a random position on part\nfunction Round:MoveChairsToRandomPosition(partToPos, chairTable)\n for _, chair in ipairs(chairTable) do\n chair:MoveTo(utilsModule:GetRandomPointOnPart(partToPos))\n end\nend\n\n-- setup the connections for each chair\nfunction Round:SetupChairConnections(chairTable)\n for _, chair in ipairs(chairTable) do\n chairModule:setupConnections(chair)\n end\nend\n\n-- clone a certain amount of chairs\nfunction Round:CloneChairAmount(amountOfChairs, chairType)\n local chairTable = {}\n amountOfChairs = (amountOfChairs > 0 and amountOfChairs) or 2\n\n for i = 1, amountOfChairs do\n table.insert(chairTable, chairModule:cloneInChair(chairType))\n end\n\n return chairTable\nend\n\n-- setup the chairs ingame\nfunction Round:SetupChairs(amountOfChairs, mapModel, chairType)\n local chairTable = self:CloneChairAmount(amountOfChairs, chairType)\n self:ParentAllChairs(workspace.chairsFolder, chairTable)\n self:MoveChairsToRandomPosition(returnSpawnPartOfMap(mapModel), chairTable)\n self:SetupChairConnections(chairTable)\n\n self.currChairs = chairTable\nend\n\n-- setup the player spawns\nfunction Round:SetupSpawns(map)\n local spawnPart = returnSpawnPartOfMap(map)\n\n for _, player in ipairs(Players:GetPlayers()) do\n local character = player.Character\n local hrp = character and character:FindFirstChild(\"HumanoidRootPart\")\n\n if character and hrp then\n character:MoveTo(utilsModule:GetRandomPointOnPart(spawnPart))\n end\n end\nend\n\n-- Setup players in-game\nfunction Round:SetupPlayers()\n for _, player in Players:GetPlayers() do\n player:SetAttribute(\"inGame\", true)\n table.insert(self.playersInGame, player)\n end\nend\n\n-- setup the round itself\nfunction Round:Setup(testChairNum)\n self:ResetRoundInfo()\n ReplicatedStorage:SetAttribute(\"isRound\", true)\n\n self.map = mapsModule:cloneInMap(\"Test\", workspace.clonedMaps)\n self:SetupChairs(testChairNum or (#Players:GetPlayers() + 1), self.map)\n self:SetupSpawns(self.map)\n self:SetupPlayers()\n\nend\n\n-- return the amount of humanoids seated\nfunction Round:GetSeatedCount()\n local count = 0\n\n for _humanoid, _chair in pairs(self.seatedHumanoids) do\n count += 1\n end\n\n return count\nend\n\n-- get the amt of remaining chairs\nfunction Round:GetRemainingChairCount()\n return #self.currChairs - self:GetSeatedCount()\nend\n\n-- is humanoid seated on chair?\nfunction Round:IsHumanoidSeated(humanoid)\n return self.seatedHumanoids[humanoid] ~= nil\nend\n\n-- bind our bindableevents\nfunction Round:BindChairEvents()\n table.insert(self.connections, chairModule.HumanoidSeated.Event:Connect(function(humanoid, chair)\n self.seatedHumanoids[humanoid] = chair\n print(self:GetRemainingChairCount(), self:GetSeatedCount())\n end))\n\n table.insert(self.connections, chairModule.HumanoidUnseated.Event:Connect(function(chair)\n for humanoid, seatedChair in pairs(self.seatedHumanoids) do\n if seatedChair == chair then\n self.seatedHumanoids[humanoid] = nil\n break\n end\n end\n end))\nend\n\n-- destroy our round! (finished)\nfunction Round:Destroy()\n for _, connection in ipairs(self.connections) do\n connection:Disconnect()\n end\n\n self.connections = {}\n\n if self.map then\n self.map:Destroy()\n self.map = nil\n end\n\n for _, chair in ipairs(self.currChairs) do\n if chair and chair.Parent then\n chair:Destroy()\n end\n end\n\n self.currChairs = {}\n self.seatedHumanoids = {}\nend\n\nreturn Round","name":"Source","valueType":"string"},{"value":[{"value":"3a37d6de-41e6-4519-9dab-34432e77a8c0","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]
File renamed without changes.

StarterGui/status/.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"value":true,"name":"AutoLocalize","valueType":"boolean"},{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"ScreenGui","name":"ClassName","valueType":"string"},{"value":true,"name":"ClipToDeviceSafeArea","valueType":"boolean"},{"value":0,"name":"DisplayOrder","valueType":"number"},{"value":true,"name":"Enabled","valueType":"boolean"},{"value":"status","name":"Name","valueType":"string"},{"value":false,"name":"ResetOnSpawn","valueType":"boolean"},{"value":["SafeAreaCompatibility","FullscreenExtension"],"name":"SafeAreaCompatibility","valueType":"EnumItem"},{"value":["ScreenInsets","DeviceSafeInsets"],"name":"ScreenInsets","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorDown","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorLeft","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorRight","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorUp","valueType":"EnumItem"},{"value":false,"name":"SelectionGroup","valueType":"boolean"},{"value":["ZIndexBehavior","Sibling"],"name":"ZIndexBehavior","valueType":"EnumItem"},{"value":[{"value":"bc178f6d-40fe-48e8-ab31-ba38d501b177","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"value":false,"name":"Active","valueType":"boolean"},{"value":{"Y":0.5,"X":0.5},"name":"AnchorPoint","valueType":"Vector2"},{"value":true,"name":"AutoLocalize","valueType":"boolean"},{"value":["AutomaticSize","None"],"name":"AutomaticSize","valueType":"EnumItem"},{"value":{"B":0.066667,"G":0.066667,"R":0.066667},"name":"BackgroundColor3","valueType":"Color3"},{"value":0,"name":"BackgroundTransparency","valueType":"number"},{"value":{"B":0,"G":0,"R":0},"name":"BorderColor3","valueType":"Color3"},{"value":["BorderMode","Outline"],"name":"BorderMode","valueType":"EnumItem"},{"value":0,"name":"BorderSizePixel","valueType":"number"},{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"Frame","name":"ClassName","valueType":"string"},{"value":false,"name":"ClipsDescendants","valueType":"boolean"},{"value":false,"name":"Draggable","valueType":"boolean"},{"value":["InputSink","None"],"name":"InputSink","valueType":"EnumItem"},{"value":true,"name":"Interactable","valueType":"boolean"},{"value":0,"name":"LayoutOrder","valueType":"number"},{"value":"modal","name":"Name","valueType":"string"},{"value":{"Y":{"Scale":0.03,"Offset":0},"X":{"Scale":0.5,"Offset":0}},"name":"Position","valueType":"UDim2"},{"value":0,"name":"Rotation","valueType":"number"},{"value":false,"name":"Selectable","valueType":"boolean"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorDown","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorLeft","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorRight","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorUp","valueType":"EnumItem"},{"value":false,"name":"SelectionGroup","valueType":"boolean"},{"value":0,"name":"SelectionOrder","valueType":"number"},{"value":{"Y":{"Scale":0.08,"Offset":0},"X":{"Scale":0.25,"Offset":0}},"name":"Size","valueType":"UDim2"},{"value":["SizeConstraint","RelativeXY"],"name":"SizeConstraint","valueType":"EnumItem"},{"value":["FrameStyle","Custom"],"name":"Style","valueType":"EnumItem"},{"value":true,"name":"Visible","valueType":"boolean"},{"value":1,"name":"ZIndex","valueType":"number"},{"value":[{"value":"0ec56404-5976-4bbb-906c-0df2d157854a","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]

StarterGui/status/modal/TextLabel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"value":false,"name":"Active","valueType":"boolean"},{"value":{"Y":0.5,"X":0.5},"name":"AnchorPoint","valueType":"Vector2"},{"value":true,"name":"AutoLocalize","valueType":"boolean"},{"value":["AutomaticSize","None"],"name":"AutomaticSize","valueType":"EnumItem"},{"value":{"B":1,"G":1,"R":1},"name":"BackgroundColor3","valueType":"Color3"},{"value":1,"name":"BackgroundTransparency","valueType":"number"},{"value":{"B":0,"G":0,"R":0},"name":"BorderColor3","valueType":"Color3"},{"value":["BorderMode","Outline"],"name":"BorderMode","valueType":"EnumItem"},{"value":0,"name":"BorderSizePixel","valueType":"number"},{"value":null,"name":"Capabilities","valueType":"SecurityCapabilities"},{"value":"TextLabel","name":"ClassName","valueType":"string"},{"value":false,"name":"ClipsDescendants","valueType":"boolean"},{"value":false,"name":"Draggable","valueType":"boolean"},{"value":{"Family":"rbxasset://fonts/families/RobotoMono.json","Style":["FontStyle","Normal"],"Weight":["FontWeight","Regular"]},"name":"FontFace","valueType":"Font"},{"value":["InputSink","None"],"name":"InputSink","valueType":"EnumItem"},{"value":true,"name":"Interactable","valueType":"boolean"},{"value":0,"name":"LayoutOrder","valueType":"number"},{"value":1,"name":"LineHeight","valueType":"number"},{"value":-1,"name":"MaxVisibleGraphemes","valueType":"number"},{"value":"TextLabel","name":"Name","valueType":"string"},{"value":"","name":"OpenTypeFeatures","valueType":"string"},{"value":{"Y":{"Scale":0.48494,"Offset":0},"X":{"Scale":0.5,"Offset":0}},"name":"Position","valueType":"UDim2"},{"value":false,"name":"RichText","valueType":"boolean"},{"value":0,"name":"Rotation","valueType":"number"},{"value":false,"name":"Selectable","valueType":"boolean"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorDown","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorLeft","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorRight","valueType":"EnumItem"},{"value":["SelectionBehavior","Escape"],"name":"SelectionBehaviorUp","valueType":"EnumItem"},{"value":false,"name":"SelectionGroup","valueType":"boolean"},{"value":0,"name":"SelectionOrder","valueType":"number"},{"value":{"Y":{"Scale":0.45,"Offset":0},"X":{"Scale":1,"Offset":0}},"name":"Size","valueType":"UDim2"},{"value":["SizeConstraint","RelativeXY"],"name":"SizeConstraint","valueType":"EnumItem"},{"value":"intermission","name":"Text","valueType":"string"},{"value":{"B":1,"G":1,"R":1},"name":"TextColor3","valueType":"Color3"},{"value":["TextDirection","Auto"],"name":"TextDirection","valueType":"EnumItem"},{"value":true,"name":"TextScaled","valueType":"boolean"},{"value":27,"name":"TextSize","valueType":"number"},{"value":{"B":0,"G":0,"R":0},"name":"TextStrokeColor3","valueType":"Color3"},{"value":1,"name":"TextStrokeTransparency","valueType":"number"},{"value":0,"name":"TextTransparency","valueType":"number"},{"value":["TextTruncate","None"],"name":"TextTruncate","valueType":"EnumItem"},{"value":true,"name":"TextWrapped","valueType":"boolean"},{"value":["TextXAlignment","Center"],"name":"TextXAlignment","valueType":"EnumItem"},{"value":["TextYAlignment","Center"],"name":"TextYAlignment","valueType":"EnumItem"},{"value":true,"name":"Visible","valueType":"boolean"},{"value":1,"name":"ZIndex","valueType":"number"},{"value":[{"value":"0eb7fdaa-46c0-41a6-8b2e-79cf855bc866","name":"_rogit_id","valueType":"string"}],"name":"_attributes","valueType":"_attributes"}]

0 commit comments

Comments
 (0)