Arksie // DevLog: #4

Welcome! If you’re new, you should read the past 3 devlogs, too Arksie is basically Roblox inside of Roblox.
Arksie // DevLog: #1
Arksie // DevLog: #2
Arksie // DevLog: #3
If not, welcome back!

Development of Arksie has caused me way too much mental pain. :laughing: Share this with your friends! Let’s get the word out. Also make sure to join the group here. And now finally, with the devlog.

I finally (probably, hopefully) got the user id system. Thanks, @7z99.
image

I haven’t worked much on Arksie Studio. I wanna save that for last. Also, my datastore script is wayyy too long. 104 lines. I also have to add a search user feature, but I’ll work on that tomorrow.

I added a label that displays your amount of bits.

Looking for testers

Want to help test Arksie and give feedback? Well, I’m looking for testers! Message me and join the group. Let me know what time works for you, and I’ll tell everyone to join the testing game.

2 Likes

Sure, I can also help you get the ui even nicer looking (If you want) I also had an idea for arksie studio, Rather than have full fledged scripting to start with I would do “Node Paths” or in simpler terms premade modules and functions that players can connect together to do complex stuff without complex code behind it. Anyway Id be glad to help if i can :slight_smile:

Tbh, I kinda like the UI the way it is. Plus, it’s early in development, so it can change whenever, and for node paths, I’m not THAT advanced in scripting, but I see what you mean. Let me know what time works for you.

This is a prototype ui for a game I was working on with a friend similar to arksie though its cancelled now

A test ui because I wanted to make something

Okay, that’s actually amazing. For future updates, of course. We can have different themes. Dark, light, presets (those), and custom.

Id be glad to help out if you need it :D, Im not that great at scripting either, Just ui and effects

I would be glad to help you with scripting this game! I have an intermediate experience in doing scripting! Also, I love the idea of your experience and you are progressing REALLY well!

Message me some of your work, please.

104 lines isnt long…
Well, thats dependant on the situation and im not a roblox dev so i got no idea how big a datastore script should be so …

Why did i open this beak of mine? :joy:

I mean, compared to my other scripts, it’s much longer.

1 Like

Aight. Understandable, have a good day.

1 Like

Hmmm… What kind of work would you like me to send? I am not good at writing portfolios, so I can just script something for you?

Anything. Just send me a script ig.

Here is a simple script that gets your friends and clones them to workspace!
local Players = game.Players
local dummy = game.ServerStorage.Dummy

local function iterPageItems(pages)
	return coroutine.wrap(function()
		local pagenum = 1
		while true do
			for _, item in ipairs(pages:GetCurrentPage()) do
				coroutine.yield(item, pagenum)
			end
			if pages.IsFinished then
				break
			end
			pages:AdvanceToNextPageAsync()
			pagenum = pagenum + 1
		end
	end)
end

game.Players.PlayerAdded:Connect(function(player)
	wait(5)
	local friends = Players:GetFriendsAsync(player.UserId)
	local usernames = {}
	for i, v in iterPageItems(friends) do
		table.insert(usernames, i.Username)
		print(i.Username)
		wait(0.01)
		local dummyClone = dummy:Clone()
		dummyClone.Parent = workspace
		dummyClone.HumanoidRootPart.Position = Vector3.new(0, 10, 0)
		local HumanoidDesc = Players:GetHumanoidDescriptionFromUserId(i.Id)
		dummyClone.Humanoid:ApplyDescription(HumanoidDesc)
		dummyClone.Name = i.Username
	end
	
end)

Here is a snippet of a script that loops through a player’s inventory and displays it onto UI:
for i = 1, numOfKnives, 1 do
if i == 1 then
box = knifeItem
else

	box = knifeItem:Clone()
	box.Name = "Item" .. i
	box.Parent = knifeItemFrame

	if (i - 1) / (numOfItemsInRow * numOfRows) == 1 then
		-- Add a new row
		numOfRows += 1
		box.Position = UDim2.new(Padding_X, 0, box.Position.Y.Scale, 0) + UDim2.new(0, 0, Dropdown_Y * (numOfRows - 1))
	else
		-- Move in the X axis
		box.Position = knifeItemFrame["Item" .. (i - 1)].Position + UDim2.new(Dropdown_X, 0, 0, 0)
	end

end

box.MouseButton1Click:Connect(function()
	for _, v in pairs(itemViewport:GetChildren()) do
				--[[if not v:IsA("UICorner") then
					v:Destroy()
				end
				if not v:IsA("Frame") then
					v:Destroy()
				end]]--
	end

	local itemViewCam = Instance.new("Camera")
	itemViewCam.Parent = itemViewport

	local handle = game.ReplicatedStorage.WeaponModels:WaitForChild("KnifeModels"):FindFirstChild(availableKnives[i][1] .. "Handle"):Clone()
	handle.Parent = itemViewport

	itemViewport.CurrentCamera = itemViewCam
	itemViewCam.CFrame = CFrame.new(handle.Position + Vector3.new(0, 0, 3), handle.Position)

	local owned = game.ReplicatedStorage.Functions.KnifeCheck:InvokeServer(availableKnives[i][1])
	local result = game.ReplicatedStorage.Functions.CheckEquipKnife:InvokeServer(availableKnives[i][1])

	if result == "Unequipped" then
		equippedItem.Value = ""
	else
		equippedItem.Value = availableKnives[i][1]
	end

	if equippedItem.Value == availableKnives[i][1] then
		informationFrame.Cost.Text = "Owned" -- Placeholder. Change to desc if possible
		informationFrame.Equip.Text = "Unequip"
	elseif owned == true then
		informationFrame.Cost.Text = "Owned" -- Placeholder. Change to desc if possible
		informationFrame.Equip.Text = "Equip"
	end

	informationFrame.ItemName.Text = availableKnives[i][2]
	selectedItem.Value = availableKnives[i][1]

end)

local fakeCamera = Instance.new("Camera")
fakeCamera.Parent = box.VPF
local handle = game.ReplicatedStorage.WeaponModels:WaitForChild("KnifeModels"):FindFirstChild(availableKnives[i][1] .. "Handle"):Clone()
handle.Parent = box.VPF
box.VPF.CurrentCamera = fakeCamera
fakeCamera.CFrame = CFrame.new(handle.Position + Vector3.new(0, 0, 3), handle.Position)
knifeItemFrame["Item" .. i].ItemName.Text = availableKnives[i][2]

end

Hope this is good enough!

Are you going to add scripting? And if so, will it be text based or visual?

Probably not. It would be really difficult, if not, impossible to rewrite Luau to fit for this “engine”.

who said it had to be roblox lua

The same goes for making my own language.

not necessarily if you keep it simple

tbh most games that have scripting on roblox use visual scripting which is fine but I think text based is a lot better lol just for authenticity and most developers are just more comfortable with it