Well it's in three files here
group_commands[server]
-- Create a Gang
function addGroup (thePlayer,cmd,groupByName)
local player = isPedInVehicle(thePlayer)
if player then
outputChatBox("Can't make a group inside a vehicle!",client,255,255,0)
elseif groupByName then
local qh = dbQuery( connection, "INSERT INTO table_name VALUES (?)", "'" .. tostring(gangName) .. "'" )
dbPoll (qh,0)
outputChatBox("Group System : You successfully created group : " "".. tostring(groupByName) .."" ,client,255,255,0)
setElementData(root,"groupName", ..tostring(groupByName).. )
else
outputChatBox("Invalid syntax. Syntax is /creategroup ",255,255,0)
end
end
groups.lua [server]
connect = dbConnect("sqlite","groups.db")
if connect then
outputDebugString("connectionn Success")
end
c_groups.lua [client]
-- The main gui and the client core of the resource
local groupName = getElementData(localPlayer,"groupName")
tab = {}
scrollpane = {}
combo = {}
scroll = {}
window = {}
grid = {}
button = {}
edit = {}
label = {}
memo = {}
addEventHandler("onClientResourceStart", resourceRoot,
function()
window.Group = guiCreateWindow(0.25, 0.15, 0.50, 0.65, "Group System", true)
guiWindowSetMovable(window.Group, false)
guiWindowSetSizable(window.Group, false)
tabPanel = guiCreateTabPanel(0.05, 0.22, 0.91, 0.74, true, window.Group)
tab.Tab = guiCreateTab("Group Info", tabPanel)
label.groupName = guiCreateLabel(0.05, 0.04, 0.88, 0.18,"" .. tostring(groupName) .. "", true, tab.Tab)
guiSetFont(label.groupName, "sa-header")
guiLabelSetHorizontalAlign(label.groupName, "center", false)
guiLabelSetVerticalAlign(label.groupName, "center")
label.MembersInfo = guiCreateLabel(0.07, 0.28, 0.42, 0.13, "Members : ", true, tab.Tab)
guiSetFont(label.MembersInfo, "clear-normal")
guiLabelSetHorizontalAlign(label.MembersInfo, "center", false)
guiLabelSetVerticalAlign(label.MembersInfo, "center")
label.MoneyInfo = guiCreateLabel(0.51, 0.29, 0.37, 0.12, "Money : ", true, tab.Tab)
guiSetFont(label.MoneyInfo, "clear-normal")
guiLabelSetHorizontalAlign(label.MoneyInfo, "center", false)
guiLabelSetVerticalAlign(label.MoneyInfo, "center")
label.BaseInfo = guiCreateLabel(0.08, 0.82, 0.83, 0.13, "Base : ", true, tab.Tab)
guiSetFont(label.BaseInfo, "clear-normal")
guiLabelSetHorizontalAlign(label.BaseInfo, "center", false)
guiLabelSetVerticalAlign(label.BaseInfo, "center")
button.setMotdInfo = guiCreateButton(0.34, 0.72, 0.30, 0.07, "Set MOTD", true, tab.Tab)
guiSetProperty(button.setMotdInfo, "NormalTextColour", "FFAAAAAA")
label.MotdInfo = guiCreateLabel(0.19, 0.45, 0.57, 0.04, "Message of the Day (MOTD)", true, tab.Tab)
guiLabelSetHorizontalAlign(label.MotdInfo, "center", false)
guiLabelSetVerticalAlign(label.MotdInfo, "center")
memo.motd = guiCreateMemo(0.13, 0.53, 0.70, 0.16, "", true, tab.Tab)
tab.Members = guiCreateTab("Members", tabPanel)
scrollpane.getOnlinePlayers = guiCreateScrollPane(0.56, 0.02, 0.41, 0.80, true, tab.Members)
grid.onlinePlayers = guiCreateGridList(0.00, 0.00, 1.00, 1.00, true, scrollpane.getOnlinePlayers)
guiGridListAddColumn(grid.onlinePlayers, "Name", 0.9)
scroll.onlinePlayers = guiCreateScrollBar(0.88, 0.12, 0.06, 0.83, false, true, grid.onlinePlayers)
button.Invite = guiCreateButton(0.59, 0.87, 0.34, 0.08, "Invite Player", true, tab.Members)
guiSetProperty(button.Invite, "NormalTextColour", "FFAAAAAA")
scrollpane.members = guiCreateScrollPane(11, 7, 303, 276, false, tab.Members)
grid.membersGroup = guiCreateGridList(0.00, 0.00, 1.00, 1.00, true, scrollpane.members)
guiGridListAddColumn(grid.membersGroup, "Name", 0.5)
guiGridListAddColumn(grid.membersGroup, "Rank", 0.5)
scroll.mem = guiCreateScrollBar(0.88, 0.10, 0.07, 0.82, false, true, grid.membersGroup)
label.setRank = guiCreateLabel(0.03, 0.88, 0.18, 0.06, "Set Member Rank : ", true, tab.Members)
combo.setRank = guiCreateComboBox(0.23, 0.87, 0.11, 0.09, "", true, tab.Members)
guiComboBoxAddItem(combo.setRank, "1")
guiComboBoxAddItem(combo.setRank, "2")
guiComboBoxAddItem(combo.setRank, "3")
guiComboBoxAddItem(combo.setRank, "4")
guiComboBoxAddItem(combo.setRank, "5")
tab.rules = guiCreateTab("Rules", tabPanel)
memo.rules = guiCreateMemo(0.02, 0.02, 0.96, 0.86, "", true, tab.rules)
button.editRules = guiCreateButton(0.36, 0.89, 0.28, 0.08, "Edit Rules", true, tab.rules)
guiSetProperty(button.editRules, "NormalTextColour", "FFAAAAAA")
tab.settings = guiCreateTab("Settings", tabPanel)
label.warn = guiCreateLabel(0.08, 0.04, 0.87, 0.05, "Note : Only the set group skin is available for group members the rest settings are for leader only!", true, tab.settings)
guiLabelSetHorizontalAlign(label.warn, "center", false)
guiLabelSetVerticalAlign(label.warn, "center")
button.setskin = guiCreateButton(0.35, 0.14, 0.30, 0.10, "Set Group Skin", true, tab.settings)
guiSetProperty(button.setskin, "NormalTextColour", "FFAAAAAA")
label.playerMotdRank = guiCreateLabel(0.09, 0.32, 0.32, 0.06, "Player rank required to edit MOTD :", true, tab.settings)
combo.setMotd = guiCreateComboBox(0.41, 0.30, 0.09, 0.07, "", true, tab.settings)
guiComboBoxAddItem(combo.setMotd, "1")
guiComboBoxAddItem(combo.setMotd, "2")
guiComboBoxAddItem(combo.setMotd, "3")
guiComboBoxAddItem(combo.setMotd, "4")
guiComboBoxAddItem(combo.setMotd, "5")
label.setPlayerAddMoneyRank = guiCreateLabel(0.09, 0.40, 0.40, 0.04, "Player rank required to add money in group :", true, tab.settings)
combo.AddMoneyRank = guiCreateComboBox(0.49, 0.40, 0.09, 0.06, "", true, tab.settings)
guiComboBoxAddItem(combo.AddMoneyRank, "1")
guiComboBoxAddItem(combo.AddMoneyRank, "2")
guiComboBoxAddItem(combo.AddMoneyRank, "3")
guiComboBoxAddItem(combo.AddMoneyRank, "4")
guiComboBoxAddItem(combo.AddMoneyRank, "5")
label.takeMoney = guiCreateLabel(0.09, 0.51, 0.47, 0.04, "Player rank required to withdraw money from group : ", true, tab.settings)
combo.takeMoney = guiCreateComboBox(0.57, 0.50, 0.09, 0.07, "", true, tab.settings)
guiComboBoxAddItem(combo.takeMoney, "1")
guiComboBoxAddItem(combo.takeMoney, "2")
guiComboBoxAddItem(combo.takeMoney, "3")
guiComboBoxAddItem(combo.takeMoney, "4")
guiComboBoxAddItem(combo.takeMoney, "5")
button.leaveGroup = guiCreateButton(0.37, 0.67, 0.29, 0.12, "Leave Group", true, tab.settings)
guiSetProperty(button.leaveGroup, "NormalTextColour", "FFAAAAAA")
button.deleteGroup = guiCreateButton(0.37, 0.84, 0.29, 0.12, "Delete Group", true, tab.settings)
guiSetProperty(button.deleteGroup, "NormalTextColour", "FFAAAAAA")
tab.money = guiCreateTab("Money", tabPanel)
label.groupMoney = guiCreateLabel(0.31, 0.02, 0.34, 0.10, "Group Money", true, tab.money)
guiLabelSetHorizontalAlign(label.groupMoney, "center", false)
guiLabelSetVerticalAlign(label.groupMoney, "center")
label.showMoney = guiCreateLabel(131, 49, 340, 109, "", false, tab.money)
edit.addMoney = guiCreateEdit(0.06, 0.76, 0.28, 0.09, "", true, tab.money)
button.addMoney = guiCreateButton(0.06, 0.89, 0.28, 0.07, "Add Money", true, tab.money)
guiSetProperty(button.addMoney, "NormalTextColour", "FFAAAAAA")
edit.takeMoney = guiCreateEdit(0.68, 0.76, 0.28, 0.10, "", true, tab.money)
button.takeMoney = guiCreateButton(0.68, 0.88, 0.28, 0.07, "Withdraw Money", true, tab.money)
guiSetProperty(button.takeMoney, "NormalTextColour", "FFAAAAAA")
label.MainName = guiCreateLabel(0.05, 0.06, 0.91, 0.15,"" .. tostring(groupName) .."" , true, window.Group)
guiSetFont(label.MainName, "sa-header")
guiLabelSetHorizontalAlign(label.MainName, "center", false)
guiLabelSetVerticalAlign(label.MainName, "center")
end
)
addEventHandler("onCLientResourceStart",resourceRoot,
function ()
triggerServerEvent("createGroup",source)
end
)
-- This will spawn when someone decides to leave thwe group!
button = {}
window = {}
label = {}
addEventHandler("onClientResourceStart", resourceRoot,
function()
window.leaveGroup = guiCreateWindow(0.30, 0.21, 0.40, 0.48, "", true)
guiWindowSetMovable(window.leaveGroup, false)
guiWindowSetSizable(window.leaveGroup, false)
guiSetAlpha(window.leaveGroup, 0.82)
label.leaveGroup = guiCreateLabel(0.04, 0.10, 0.92, 0.10, "Are you sure you want to leave the group?", true, window.leaveGroup)
guiLabelSetHorizontalAlign(label.leaveGroup, "center", false)
button.leaveGroup = guiCreateButton(0.26, 0.33, 0.50, 0.19, "Yes", true, window.leaveGroup)
guiSetProperty(button.leaveGroup, "NormalTextColour", "FFAAAAAA")
button.stay = guiCreateButton(0.26, 0.63, 0.50, 0.16, "No", true, window.leaveGroup)
guiSetProperty(button.stay, "NormalTextColour", "FFAAAAAA")
end
)
-- THis will give warning when deleting group
button = {}
window = {}
label = {}
addEventHandler("onClientResourceStart", resourceRoot,
function()
window.deleteGroup = guiCreateWindow(0.33, 0.28, 0.36, 0.39, "", true)
guiWindowSetMovable(window.deleteGroup, false)
guiWindowSetSizable(window.deleteGroup, false)
label.deleteGroup = guiCreateLabel(0.02, 0.09, 0.96, 0.14, "Are you sure you want to delete the group!!!", true, window.deleteGroup)
guiLabelSetHorizontalAlign(label.deleteGroup, "center", false)
guiLabelSetVerticalAlign(label.deleteGroup, "center")
button.deleteGroup = guiCreateButton(0.29, 0.36, 0.42, 0.17, "Yes", true, window.deleteGroup)
guiSetProperty(button.deleteGroup, "NormalTextColour", "FFAAAAAA")
button.donotDelete = guiCreateButton(0.30, 0.63, 0.41, 0.18, "No", true, window.deleteGroup)
guiSetProperty(button.donotDelete, "NormalTextColour", "FFAAAAAA")
end
)
I have just started with the resource.