Guild / Clan System

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

  • Guild Name & Icon display above head


I have a few references on what I’m after:

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.

1 Like

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)

Maybe I can help you on this?

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.

Permissions is beyond my knowledge or experience.

1 Like

I think remote function might be how you do it. I’m not too familar with scripting yet

1 Like

It’s a complex system that uses lots of datastore values, i have in mind the whole system design but it’s too long to explain

1 Like