For a while now I have been searching around on how to make a guild or clan system in studio, and there’s not really anything open-source systems I can use…
I figure I’d have to make one from scratch myself, but I have no idea where to begin and how to organize or really do it at all.
What I want the system to have:
1 or more currency for each guild/clan such as clan points
An invite system to invite other players
Something to display all members’ names and avatar headshot
A kick feature
Roles and display for roles (Manager, Co-owner, etc.)
Permissions for each role (all preset roles and permissions for each role like ability to kick and send invites)
Group shout
Guild Icon can be made by inserting image asset ID
I know that this is a lot so I’m not going to expect a full-on tutorial, but it would be nice to have at least some help on how to structure it… And if someone is willing to go the mile perhaps make a customizable module to make it easier for others to implement similar systems too… Thanks, I’m honestly asking for as much as people are willing to give. LMK
I don’t have very much experience as a developer but I still really would like this for my game.
If I understand your question correctly, you could try using Roblox’s Team system. You can store team data and players using datastores + modules and most of the features you wanted here aren’t actually that hard (in my opinion)
Could there be other options aswell? I don’t want to try to go down a path that might lock me out of what I can with what I’ll be able to do but I don’t think that’ll happen with teams but I’m still cautious
Well I’ve never made a clan or guild system. But a long while ago I did a little work on a party system.
Basic set up I think would be a dictionary on the server like this (mind you I haven’t done any scripting in a long time)
local Guilds = { --Server holds a dictionary containing the names of all guilds or all guilds currently in the server
GuildName = { --Saves guilds by their names (probably bad news if 2 people want to name their guild the same thing)
Leader = "LeaderUsername", --Saves the leader of the guild
Currency = "Amount", --Your currency as a number. The server will retrieve this any time it needs it
Members = {"MemberName","MemberRole1", --A table containing the names of members and their roles. Table[i] == MemberName and Table[i + 1] == MemberRole
"MemberName2","MemberRole2",
"MemberName3","MemberRole3"},
}
}
An invite or kick system usually uses a GUI with player names (you probably will use different GUI for inviting and kicking) and a button that sends information on both the inviter/kicker and the invitee/kicked to the server through a remoteevent or remotefunction.
Display names or icons, whether in a GUI or above their heads, is just using a remotefunction(?) to ask the server for guild info that the client uses to change lables or prompt the server to create labels in a 3D space.